Blame view

pages-sub/daily/patrol-manage/add-patrol-record.vue 18.2 KB
a2702f6d   刘淇   巡查计划
1
  <template>
37c26bd3   刘淇   巡查计划
2
    <view class="u-page">
25904bec   刘淇   养护重新改
3
4
5
6
7
8
9
10
11
12
      <!-- 原有模板内容不变,仅调整表单校验相关配置 -->
      <view class="inspect-form-content commonPageLRpadding">
        <up-form label-position="left" :model="inspectForm" ref="inspectFormRef" labelWidth="200rpx">
          <!-- 1. 巡查描述 -->
          <up-form-item label="巡查描述" prop="content" class="form-item" required>
            <up-textarea v-model.trim="inspectForm.content" placeholder="请输入巡查描述" maxlength="200" count></up-textarea>
          </up-form-item>
          <!-- 2. 上传图片 -->
          <up-form-item label="上传图片" prop="images" required border-bottom class="form-item">
            <up-upload :file-list="imagesList" @after-read="(event) => uploadImgs(event)"
bc215493   刘淇   考勤记录
13
              @delete="(event) => deleteImg(event)" @on-exceed="handleExceed" multiple :max-count="3" upload-text="选择图片"
25904bec   刘淇   养护重新改
14
15
16
17
18
              del-color="#ff4d4f" class="upload-wrap" width="70" height="70"></up-upload>
          </up-form-item>
          <!-- 3. 转为工单 -->
          <up-form-item label="转为工单" prop="isWorkOrder" required class="form-item">
            <up-radio-group v-model="inspectForm.isWorkOrder" active-color="#1989fa" direction="row" class="radio-group"
bc215493   刘淇   考勤记录
19
              @change="handleWorkOrderChange">
25904bec   刘淇   养护重新改
20
              <up-radio :custom-style="{ marginRight: '40rpx' }" v-for="(item, index) in radioList" :key="index"
bc215493   刘淇   考勤记录
21
                :label="item.label" :name="item.value">
420cb443   刘淇   快速工单列表
22
                {{ item.label }}
25904bec   刘淇   养护重新改
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
              </up-radio>
            </up-radio-group>
          </up-form-item>
          <!-- ========== 【新增】业务线(单选框,对齐参考页面) ========== -->
          <up-form-item v-if="inspectForm.isWorkOrder === '2'" label="业务线" prop="busiLineCn" border-bottom required
            class="form-item">
            <up-radio-group v-model="inspectForm.busiLineCn" placement="row" @change="handleBusiLineChange">
              <up-radio v-for="item in busiLineOptions" :key="item.name" :label="item.name" :name="item.name"></up-radio>
            </up-radio-group>
          </up-form-item>
          <!-- ========== 【新增】问题类型(级联选择器,对齐参考页面) ========== -->
          <up-form-item v-if="inspectForm.isWorkOrder === '2'" label="问题类型" prop="orderName" border-bottom required
            class="form-item" @click="openCascader(); uni.hideKeyboard()">
            <up-input v-model="inspectForm.orderName" disabled disabled-color="#ffffff" placeholder="请选择问题类型"
              border="none"></up-input>
            <template #right>
              <up-icon name="arrow-right" size="16"></up-icon>
            </template>
          </up-form-item>
          <!-- 紧急程度(仍为必填) -->
          <up-form-item v-if="inspectForm.isWorkOrder === '2'" label="紧急程度" prop="pressingTypeName" border-bottom required
            class="form-item" @click="handleActionSheetOpen('pressingType')">
            <up-input v-model="inspectForm.pressingTypeName" disabled disabled-color="#ffffff" placeholder="请选择紧急程度"
              border="none"></up-input>
            <template #right>
              <up-icon name="arrow-right" size="16"></up-icon>
            </template>
          </up-form-item>
          <!-- 希望完成时间(移除 required 属性,改为非必填) -->
          <up-form-item v-if="inspectForm.isWorkOrder === '2'" label="希望完成时间" prop="expectedFinishDate" class="form-item"
bc215493   刘淇   考勤记录
53
            @click="show = true; uni.hideKeyboard()">
25904bec   刘淇   养护重新改
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
            <up-input v-model="inspectForm.expectedFinishDate" border="none" readonly placeholder="点击选择时间">
            </up-input>
            <template #right>
              <!-- 核心修复:用view包裹图标,添加双重@click.stop -->
              <view v-if="inspectForm.expectedFinishDate" @click.stop>
                <up-icon name="close" size="16" @click.stop="clearExpectedFinishDate"></up-icon>
              </view>
              <up-icon name="arrow-right" size="16" v-else></up-icon>
            </template>
          </up-form-item>
        </up-form>
      </view>
      <!-- 底部提交按钮 -->
      <view class="fixed-bottom-btn-wrap">
        <up-button type="primary" text="提交" @click="submitInspect"
bc215493   刘淇   考勤记录
69
          :style="{ width: '100%', height: '88rpx', fontSize: '32rpx', borderRadius: 0 }"></up-button>
25904bec   刘淇   养护重新改
70
71
72
      </view>
      <!-- 紧急程度下拉弹窗 -->
      <up-action-sheet :show="showActionSheet" :actions="pressingTypeList" title="请选择紧急程度" @close="handleActionSheetClose"
bc215493   刘淇   考勤记录
73
        @select="handlePressingTypeSelect"></up-action-sheet>
25904bec   刘淇   养护重新改
74
75
      <!-- ========== 新增级联选择器组件 ========== -->
      <up-cascader v-model:show="showCascader" v-model="cascaderValue" :data="cascaderOptions" title="选择问题类型"
bc215493   刘淇   考勤记录
76
        :auto-close="false" @confirm="cascaderConfirm"></up-cascader>
25904bec   刘淇   养护重新改
77
78
      <!-- 完成时间选择器 -->
      <up-datetime-picker :show="show" v-model="datetimeValue" mode="datetime" :min-date="new Date()"
bc215493   刘淇   考勤记录
79
        @cancel="show = false" @confirm="expectedFinishDateConfirm"></up-datetime-picker>
25904bec   刘淇   养护重新改
80
    </view>
a2702f6d   刘淇   巡查计划
81
  </template>
420cb443   刘淇   快速工单列表
82
  <script setup lang="ts">
bc215493   刘淇   考勤记录
83
  import { ref, getCurrentInstance } from 'vue'
420cb443   刘淇   快速工单列表
84
  import type { UniFormRef } from '@/uni_modules/uview-plus/types'
bc215493   刘淇   考勤记录
85
86
87
88
  import { useUserStore } from '@/pinia/user';
  import { getDictLabel, getDictValue } from '@/common/utils/dict';
  import { getProblemListByType } from '@/api/common'
  const { proxy } = getCurrentInstance()!
420cb443   刘淇   快速工单列表
89
  const inspectFormRef = ref<UniFormRef>(null)
bc215493   刘淇   考勤记录
90
91
92
93
94
95
96
97
98
99
100
  const userStore = useUserStore();
  const BUSI_LINE_DICT_TYPE = 'business_line';
  const CJK_RE = /[一-龥]/;
  
  // 级联选择器变量
  const showCascader = ref(false);
  const cascaderValue = ref([]);
  const cascaderOptions = ref([]);
  
  // 打开级联弹窗
  const openCascader = () => {
25904bec   刘淇   养护重新改
101
102
103
104
    const busiLineEn = getBusiLineEnByCn(proxy.$data.inspectForm.busiLineCn)
    if (!busiLineEn) {
      uni.showToast({ title: '请先选择业务线', icon: 'none' })
      return
bc215493   刘淇   考勤记录
105
    }
25904bec   刘淇   养护重新改
106
107
108
109
    if (!cascaderOptions.value || cascaderOptions.value.length === 0) {
      uni.showToast({ title: '正在加载问题类型,请稍等', icon: 'none' });
      loadProblemCascader(busiLineEn);
      return;
bc215493   刘淇   考勤记录
110
    }
25904bec   刘淇   养护重新改
111
112
    cascaderValue.value = [];
    showCascader.value = true;
bc215493   刘淇   考勤记录
113
114
115
116
  };
  
  // 级联确认回调
  const cascaderConfirm = (selectedArr) => {
25904bec   刘淇   养护重新改
117
118
119
120
121
122
123
124
    const getLabelByValueList = (list, valList) => {
      const labelArr = [];
      let currentList = list;
      for (const val of valList) {
        const target = currentList.find(item => item.value === val);
        if (!target) break;
        labelArr.push(target.label);
        currentList = target.children || [];
bc215493   刘淇   考勤记录
125
      }
25904bec   刘淇   养护重新改
126
      return labelArr.join('/');
bc215493   刘淇   考勤记录
127
    };
25904bec   刘淇   养护重新改
128
129
130
131
132
    const fullLabel = getLabelByValueList(cascaderOptions.value, selectedArr);
    proxy.$data.inspectForm.orderName = fullLabel;
    proxy.$data.inspectForm.orderCode = selectedArr.at(-1);
    cascaderValue.value = selectedArr;
    inspectFormRef.value?.validateField('orderName');
bc215493   刘淇   考勤记录
133
134
135
136
  };
  
  // 加载级联树形数据
  const loadProblemCascader = async (parentCode) => {
25904bec   刘淇   养护重新改
137
138
139
    if (!parentCode) {
      cascaderOptions.value = []
      return
bc215493   刘淇   考勤记录
140
    }
25904bec   刘淇   养护重新改
141
142
143
144
145
    try {
      uni.showLoading({ title: '加载类型中...' })
      const res = await getProblemListByType({ parentCode })
      uni.hideLoading()
      cascaderOptions.value = res || []
bc215493   刘淇   考勤记录
146
    } catch (err) {
25904bec   刘淇   养护重新改
147
148
149
150
      uni.hideLoading()
      console.error('获取问题类型失败', err)
      uni.showToast({ title: '获取问题类型失败', icon: 'none' })
      cascaderOptions.value = []
bc215493   刘淇   考勤记录
151
152
    }
  }
420cb443   刘淇   快速工单列表
153
  
bc215493   刘淇   考勤记录
154
  const getBusiLineCnByEn = (busiLineEn) => {
25904bec   刘淇   养护重新改
155
156
    if (!busiLineEn) return '';
    return getDictLabel(BUSI_LINE_DICT_TYPE, busiLineEn) || busiLineEn;
bc215493   刘淇   考勤记录
157
158
  };
  const getBusiLineEnByCn = (cnName) => {
25904bec   刘淇   养护重新改
159
160
161
162
    if (!cnName) return '';
    const code = getDictValue(BUSI_LINE_DICT_TYPE, cnName);
    if (code) return code;
    return CJK_RE.test(cnName) ? '' : cnName;
bc215493   刘淇   考勤记录
163
164
165
166
167
168
169
170
171
172
  };
  
  // 暴露给选项式访问
  proxy.$setupCtx = {
    loadProblemCascader,
    getBusiLineEnByCn,
    cascaderOptions,
    cascaderValue
  }
  </script>
420cb443   刘淇   快速工单列表
173
174
  <script lang="ts">
  import { uploadImages } from '@/common/utils/upload';
bc215493   刘淇   考勤记录
175
  import { inspectionCreate } from "@/api/patrol-manage/patrol-plan";
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
176
  import { timeFormat } from '@/uni_modules/uview-plus'
bc215493   刘淇   考勤记录
177
178
  import { useUserStore } from '@/pinia/user';
  import { getDictLabel } from '@/common/utils/dict';
420cb443   刘淇   快速工单列表
179
  export default {
25904bec   刘淇   养护重新改
180
181
182
183
    data() {
      return {
        imagesList: [],
        radioList: [
fa775c6b   刘淇   养护计划调整
184
185
          { label: '否', value: '1' },
          { label: '是', value: '2' }
420cb443   刘淇   快速工单列表
186
        ],
25904bec   刘淇   养护重新改
187
188
189
190
191
192
193
194
195
196
197
        pressingTypeList: [],
        busiLineOptions: [], // 业务线移到data,不再放在setup
        inspectForm: {
          content: '',
          isWorkOrder: '1',
          pressingTypeName: '',
          pressingType: '',
          busiLineCn: '',
          orderName: '',
          orderCode: '',
          expectedFinishDate: '' // 非必填,可空
a2702f6d   刘淇   巡查计划
198
        },
25904bec   刘淇   养护重新改
199
200
201
202
203
204
        paramsOptins: {},
        showActionSheet: false,
        show: false,
        datetimeValue: Date.now(),
        inspectFormRules: {
          images: [
420cb443   刘淇   快速工单列表
205
            {
25904bec   刘淇   养护重新改
206
207
208
209
210
211
212
213
              required: true,
              message: '请上传图片',
              trigger: 'change',
              validator: (rule, value, callback) => {
                const hasSuccessImg = this.imagesList.some(item => item.status === 'success')
                const imgCount = this.imagesList.filter(item => item.status === 'success').length
                if (!hasSuccessImg || imgCount < 1) {
                  callback(new Error('最少需要上传1张图片'))
420cb443   刘淇   快速工单列表
214
                } else if (imgCount > 3) {
25904bec   刘淇   养护重新改
215
                  callback(new Error('最多只能上传3张图片'))
420cb443   刘淇   快速工单列表
216
                } else {
25904bec   刘淇   养护重新改
217
                  callback()
420cb443   刘淇   快速工单列表
218
219
220
221
                }
              }
            }
          ],
25904bec   刘淇   养护重新改
222
          content: [
bc215493   刘淇   考勤记录
223
            { type: 'string', required: true, message: '请输入巡查描述', trigger: ['change'] }
fa775c6b   刘淇   养护计划调整
224
          ],
25904bec   刘淇   养护重新改
225
          isWorkOrder: [
420cb443   刘淇   快速工单列表
226
            { type: 'string', required: true, message: '请选择是否转为工单', trigger: ['change'] }
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
227
          ],
25904bec   刘淇   养护重新改
228
          pressingTypeName: [
bc215493   刘淇   考勤记录
229
            {
25904bec   刘淇   养护重新改
230
231
232
233
234
235
              required: true,
              message: '请选择紧急程度',
              trigger: 'change',
              validator: (rule, value, callback) => {
                if (this.inspectForm.isWorkOrder === '2' && !value) {
                  callback(new Error('请选择紧急程度'))
bc215493   刘淇   考勤记录
236
                } else {
25904bec   刘淇   养护重新改
237
                  callback()
bc215493   刘淇   考勤记录
238
239
240
241
                }
              }
            }
          ],
25904bec   刘淇   养护重新改
242
          busiLineCn: [
bc215493   刘淇   考勤记录
243
            {
25904bec   刘淇   养护重新改
244
245
246
247
248
249
              required: true,
              message: '请选择业务线',
              trigger: 'change',
              validator: (rule, value, callback) => {
                if (this.inspectForm.isWorkOrder === '2' && !value) {
                  callback(new Error('请选择业务线'))
bc215493   刘淇   考勤记录
250
                } else {
25904bec   刘淇   养护重新改
251
                  callback()
bc215493   刘淇   考勤记录
252
253
254
255
                }
              }
            }
          ],
25904bec   刘淇   养护重新改
256
          orderName: [
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
257
            {
25904bec   刘淇   养护重新改
258
259
260
261
262
263
              required: true,
              message: '请选择问题类型',
              trigger: 'change',
              validator: (rule, value, callback) => {
                if (this.inspectForm.isWorkOrder === '2' && !value) {
                  callback(new Error('请选择问题类型'))
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
264
                } else {
25904bec   刘淇   养护重新改
265
                  callback()
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
266
267
268
269
                }
              }
            }
          ],
25904bec   刘淇   养护重新改
270
          expectedFinishDate: [
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
271
            {
25904bec   刘淇   养护重新改
272
273
274
275
276
              message: '请选择有效的希望完成时间',
              trigger: 'change',
              validator: (rule, value, callback) => {
                if (value && !/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/.test(value)) {
                  callback(new Error('请选择有效的希望完成时间'))
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
277
                } else {
25904bec   刘淇   养护重新改
278
                  callback()
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
279
280
281
                }
              }
            }
420cb443   刘淇   快速工单列表
282
283
          ]
        }
a2702f6d   刘淇   巡查计划
284
      }
420cb443   刘淇   快速工单列表
285
    },
25904bec   刘淇   养护重新改
286
287
288
289
290
291
292
293
294
295
    onLoad(option) {
      this.paramsOptins = option
      // 初始化业务线选项
      const userStore = useUserStore();
      if (userStore.userInfo?.user?.busiLine) {
        const rawBusiLines = userStore.userInfo.user.busiLine.split(',');
        this.busiLineOptions = rawBusiLines.map(item => ({
          name: getDictLabel('business_line', item.trim()) || item.trim()
        }));
      }
5cb33b90   刘淇   完成巡查计划 详情
296
    },
25904bec   刘淇   养护重新改
297
298
    onReady() {
      this.$refs.inspectFormRef.setRules(this.inspectFormRules)
420cb443   刘淇   快速工单列表
299
    },
25904bec   刘淇   养护重新改
300
301
    onShow() {
      this.pressingTypeList = uni.$dict.transformLabelValueToNameValue(uni.$dict.getDictSimpleList('workorder_pressing_type'))
bc215493   刘淇   考勤记录
302
    },
25904bec   刘淇   养护重新改
303
304
305
306
307
308
309
310
311
312
313
314
    methods: {
      handleWorkOrderChange() {
        if (this.inspectForm.isWorkOrder === '1') {
          this.inspectForm.pressingTypeName = ''
          this.inspectForm.pressingType = ''
          this.inspectForm.busiLineCn = ''
          this.inspectForm.orderName = ''
          this.inspectForm.orderCode = ''
          this.$setupCtx.cascaderOptions.value = []
          this.$setupCtx.cascaderValue.value = []
          this.inspectForm.expectedFinishDate = ''
          this.$refs.inspectFormRef.validateField(['pressingTypeName', 'busiLineCn', 'orderName', 'expectedFinishDate'])
bc215493   刘淇   考勤记录
315
        } else {
25904bec   刘淇   养护重新改
316
317
318
319
320
          // 修复点:直接读取data中的 busiLineOptions,不再访问setup
          const busiOpts = this.busiLineOptions
          if (busiOpts.length > 0) {
            this.inspectForm.busiLineCn = busiOpts[0].name
            this.handleBusiLineChange()
bc215493   刘淇   考勤记录
321
          }
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
322
323
        }
      },
25904bec   刘淇   养护重新改
324
325
326
327
328
329
330
331
      handleBusiLineChange() {
        this.inspectForm.orderName = ''
        this.inspectForm.orderCode = ''
        this.$setupCtx.cascaderValue.value = []
        this.$setupCtx.cascaderOptions.value = []
        const busiLineEn = this.$setupCtx.getBusiLineEnByCn(this.inspectForm.busiLineCn)
        this.$setupCtx.loadProblemCascader(busiLineEn)
        this.$refs.inspectFormRef.validateField('busiLineCn')
bc215493   刘淇   考勤记录
332
      },
25904bec   刘淇   养护重新改
333
334
335
336
      handleActionSheetOpen(type) {
        uni.hideKeyboard()
        if (type === 'pressingType') {
          this.showActionSheet = true
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
337
        }
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
338
      },
25904bec   刘淇   养护重新改
339
340
      handleActionSheetClose() {
        this.showActionSheet = false
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
341
      },
25904bec   刘淇   养护重新改
342
343
344
345
346
      handlePressingTypeSelect(e) {
        this.inspectForm.pressingTypeName = e.name
        this.inspectForm.pressingType = e.value
        this.showActionSheet = false
        this.$refs.inspectFormRef.validateField('pressingTypeName')
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
347
      },
25904bec   刘淇   养护重新改
348
349
350
351
      expectedFinishDateConfirm(e) {
        this.inspectForm.expectedFinishDate = timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
        this.show = false
        this.$refs.inspectFormRef.validateField('expectedFinishDate')
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
352
      },
25904bec   刘淇   养护重新改
353
354
355
      clearExpectedFinishDate() {
        this.inspectForm.expectedFinishDate = ''
        this.$refs.inspectFormRef.validateField('expectedFinishDate')
e6a04285   刘淇   单图情况 宽高70*70
356
      },
25904bec   刘淇   养护重新改
357
358
359
360
      deleteImg(event) {
        this.imagesList.splice(event.index, 1)
        this.$refs.inspectFormRef.validateField('images')
        uni.showToast({ title: '图片删除成功', icon: 'success' })
420cb443   刘淇   快速工单列表
361
      },
25904bec   刘淇   养护重新改
362
363
364
365
366
367
368
369
      async uploadImgs(event) {
        const fileList = Array.isArray(event.file) ? event.file : [event.file]
        const targetImgList = this.imagesList
        const filePaths = fileList.map(item => item.url)
        const tempItems = fileList.map(item => ({
          ...item,
          status: 'uploading',
          message: '上传中'
420cb443   刘淇   快速工单列表
370
        }))
25904bec   刘淇   养护重新改
371
372
373
374
375
376
        const startIndex = targetImgList.length
        targetImgList.push(...tempItems)
        try {
          const uploadResultUrls = await uploadImages({
            filePaths: filePaths,
            ignoreError: true
420cb443   刘淇   快速工单列表
377
          })
25904bec   刘淇   养护重新改
378
379
380
381
382
383
384
          uploadResultUrls.forEach((url, index) => {
            if (targetImgList[startIndex + index]) {
              targetImgList.splice(startIndex + index, 1, {
                ...fileList[index],
                status: 'success',
                message: '',
                url: url
420cb443   刘淇   快速工单列表
385
386
387
              })
            }
          })
25904bec   刘淇   养护重新改
388
389
390
          if (uploadResultUrls.length < fileList.length) {
            const failCount = fileList.length - uploadResultUrls.length
            uni.showToast({ title: `成功上传${uploadResultUrls.length}张,失败${failCount}张`, icon: 'none' })
420cb443   刘淇   快速工单列表
391
          } else {
25904bec   刘淇   养护重新改
392
            uni.showToast({ title: `成功上传${fileList.length}张图片`, icon: 'success' })
420cb443   刘淇   快速工单列表
393
          }
25904bec   刘淇   养护重新改
394
          this.$refs.inspectFormRef.validateField('images')
420cb443   刘淇   快速工单列表
395
        } catch (err) {
25904bec   刘淇   养护重新改
396
397
398
399
400
401
402
          console.error('图片上传失败:', err)
          for (let i = 0; i < fileList.length; i++) {
            if (targetImgList[startIndex + i]) {
              targetImgList.splice(startIndex + i, 1, {
                ...fileList[i],
                status: 'failed',
                message: '上传失败'
420cb443   刘淇   快速工单列表
403
404
405
              })
            }
          }
25904bec   刘淇   养护重新改
406
407
          uni.showToast({ title: '图片上传失败,请重试', icon: 'none' })
          this.$refs.inspectFormRef.validateField('images')
420cb443   刘淇   快速工单列表
408
409
        }
      },
25904bec   刘淇   养护重新改
410
411
      handleExceed() {
        uni.showToast({ title: '最多只能上传3张图片', icon: 'none' })
420cb443   刘淇   快速工单列表
412
      },
25904bec   刘淇   养护重新改
413
414
      getImgUrlList(imgList) {
        return imgList.filter(item => item.status === 'success').map(item => item.url)
420cb443   刘淇   快速工单列表
415
      },
25904bec   刘淇   养护重新改
416
417
418
419
420
421
422
423
424
425
426
427
428
429
      async submitInspect() {
        console.log('当前选择是否转为工单:', this.inspectForm.isWorkOrder)
        try {
          await this.$refs.inspectFormRef.validate()
          console.log(this.imagesList)
          const baseSubmitData = {
            "batchNo": this.paramsOptins.batchNo,
            "planNo": this.paramsOptins.planNo,
            "imgHost": "1",
            "imgList": this.getImgUrlList(this.imagesList),
            "inspectionState": this.inspectForm.isWorkOrder,
            "transState": this.inspectForm.isWorkOrder === '1' ? '1' : '2',
            "transWorkNo": "default'",
            "remark": this.inspectForm.content.trim()
420cb443   刘淇   快速工单列表
430
          }
25904bec   刘淇   养护重新改
431
432
433
434
435
436
437
438
439
          let submitData = { ...baseSubmitData }
          if (this.inspectForm.isWorkOrder === '2') {
            submitData.pressingType = this.inspectForm.pressingType
            const busiLineEn = this.$setupCtx.getBusiLineEnByCn(this.inspectForm.busiLineCn)
            submitData.busiLine = busiLineEn
            submitData.orderName = this.inspectForm.orderName
            submitData.orderCode = this.inspectForm.orderCode
            if (this.inspectForm.expectedFinishDate) {
              submitData.expectedFinishDate = new Date(this.inspectForm.expectedFinishDate).getTime()
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
440
441
            }
          }
25904bec   刘淇   养护重新改
442
443
444
445
446
447
448
          uni.showLoading({ title: '提交中...' })
          await inspectionCreate(submitData)
          uni.hideLoading()
          uni.showToast({
            title: '提交成功',
            icon: 'success',
            duration: 1000
420cb443   刘淇   快速工单列表
449
          })
25904bec   刘淇   养护重新改
450
451
452
          setTimeout(() => {
            uni.reLaunch({
              url: '/pages-sub/daily/patrol-manage/index'
5cb33b90   刘淇   完成巡查计划 详情
453
454
            })
          }, 1000)
420cb443   刘淇   快速工单列表
455
        } catch (error) {
25904bec   刘淇   养护重新改
456
457
458
459
460
461
462
          uni.hideLoading()
          if (!Array.isArray(error)) {
            console.error('巡查表单提交失败:', error)
            uni.showToast({
              title: error.msg,
              icon: 'none',
              duration: 2000
420cb443   刘淇   快速工单列表
463
464
465
466
467
468
469
            })
          }
        }
      }
    }
  }
  </script>
420cb443   刘淇   快速工单列表
470
  <style lang="scss" scoped>
420cb443   刘淇   快速工单列表
471
  .u-page {
25904bec   刘淇   养护重新改
472
    min-height: 100vh;
420cb443   刘淇   快速工单列表
473
  }
25904bec   刘淇   养护重新改
474
  
420cb443   刘淇   快速工单列表
475
  .inspect-form-content {
25904bec   刘淇   养护重新改
476
477
    background: #fff;
    padding: 20rpx;
420cb443   刘淇   快速工单列表
478
  }
25904bec   刘淇   养护重新改
479
  
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
480
  .form-item {
25904bec   刘淇   养护重新改
481
    margin-bottom: 20rpx;
4c54ad5d   刘淇   转工单 选择是 传紧急程度和...
482
  }
bc215493   刘淇   考勤记录
483
  </style>