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>
|