|
@@ -81,25 +81,27 @@
|
81
|
81
|
import { useInspectionValueStore } from '@/stores/inspectionValue'
|
82
|
82
|
import { forIn } from 'lodash-es';
|
83
|
83
|
import { useIncidentBuildStore } from '@/stores/incidentBuild'
|
|
84
|
+ import { useUploadFile } from '@/share/useUploadFile.js'
|
84
|
85
|
|
85
|
86
|
useSetTitle();
|
86
|
87
|
const loginUserStore = useLoginUserStore();
|
87
|
88
|
const { goBack } = useGoBack();
|
88
|
89
|
const inspectionValueStore = useInspectionValueStore();
|
89
|
90
|
const incidentBuildStore = useIncidentBuildStore();
|
|
91
|
+ const { uploadFile } = useUploadFile();
|
90
|
92
|
|
91
|
93
|
// 主题颜色
|
92
|
94
|
const primaryColor = ref(defaultColor)
|
93
|
95
|
|
94
|
96
|
// 所有页码数据
|
95
|
97
|
const formPageList = reactive([]);
|
96
|
|
-
|
|
98
|
+
|
97
|
99
|
// 故障来源列表
|
98
|
100
|
const defaultSourceValue = ref();
|
99
|
101
|
|
100
|
102
|
// 表单
|
101
|
103
|
const baseForm = ref()
|
102
|
|
-
|
|
104
|
+
|
103
|
105
|
// 图片上传ref数组
|
104
|
106
|
const itemRefs = ref({});
|
105
|
107
|
|
|
@@ -137,7 +139,7 @@
|
137
|
139
|
function changeForm(){
|
138
|
140
|
handleData(true);
|
139
|
141
|
}
|
140
|
|
-
|
|
142
|
+
|
141
|
143
|
// 跳转巡检列表
|
142
|
144
|
function toInspectionExecute(){
|
143
|
145
|
inspectionValueStore.clearInspectionValueData();
|
|
@@ -145,7 +147,7 @@
|
145
|
147
|
url: `/pages/inspection/inspectionExecute/inspectionExecute`
|
146
|
148
|
})
|
147
|
149
|
}
|
148
|
|
-
|
|
150
|
+
|
149
|
151
|
// 获取故障来源列表
|
150
|
152
|
function getSources(){
|
151
|
153
|
let postData = {
|
|
@@ -160,20 +162,22 @@
|
160
|
162
|
}
|
161
|
163
|
})
|
162
|
164
|
}
|
163
|
|
-
|
|
165
|
+
|
164
|
166
|
// 跳转新建事件
|
165
|
167
|
function toBuildIncident(res){
|
166
|
|
- let imgList = Object.values(itemRefs.value);
|
|
168
|
+ let imgList = Object.values(itemRefs.value).filter(Boolean);
|
167
|
169
|
let repairImgList = [];
|
168
|
170
|
if(imgList.length){
|
169
|
|
- repairImgList = imgList[0].baseFormData.handlerImgList;
|
|
171
|
+ let firstOne = baseFormData.find(v => v.type == '7');
|
|
172
|
+ let index = imgList.findIndex(v => v.extra == firstOne.id);
|
|
173
|
+ repairImgList = index > -1 ? imgList[index].baseFormData.handlerImgList : [];
|
170
|
174
|
}
|
171
|
175
|
|
172
|
176
|
let incidentData = {
|
173
|
177
|
place: res.inspectionNode.floorDTO,
|
174
|
178
|
houseNumber: res.inspectionNode.address,
|
175
|
179
|
source: defaultSourceValue.value,
|
176
|
|
- description: res.inspectionValuesList.filter(v => v.exception == 1).map(v => `${v.name}填写值为${v.valuex}`).join(';'),
|
|
180
|
+ description: res.inspectionValuesList.filter(v => v.exception == 1).map(v => `${v.name}填写值为${v.valuex ? v.valuex : (v.formItemConfigList ? v.formItemConfigList.map(vv => vv.name).join(',') : '')}`).join(';'),
|
177
|
181
|
requester: loginUserStore.loginUser.user,
|
178
|
182
|
branch: loginUserStore.loginUser.user.currentHospital.parent ? loginUserStore.loginUser.user.currentHospital.parent.id : loginUserStore.loginUser.user.currentHospital.id,
|
179
|
183
|
contacts: loginUserStore.loginUser.user.name,
|
|
@@ -182,7 +186,7 @@
|
182
|
186
|
department: res.inspectionForm.repairDeptDTO,
|
183
|
187
|
priority: res.inspectionForm.priorityDTO,
|
184
|
188
|
repairImgList,
|
185
|
|
- inspectionTaskId: res.id,
|
|
189
|
+ inspectionTaskId: inspectionExecuteId.value,
|
186
|
190
|
}
|
187
|
191
|
console.log(repairImgList, 'repairImgList')
|
188
|
192
|
console.log(incidentData, 'incidentData')
|
|
@@ -193,6 +197,11 @@
|
193
|
197
|
})
|
194
|
198
|
}
|
195
|
199
|
|
|
200
|
+ // 报修图片
|
|
201
|
+ function repairOrderImg(imgObj, incidentId){
|
|
202
|
+ return uploadFile(imgObj, 'wechatRequesterIncident', incidentId, incidentId)
|
|
203
|
+ }
|
|
204
|
+
|
196
|
205
|
// 保存
|
197
|
206
|
function submit(){
|
198
|
207
|
console.log(itemRefs.value);
|
|
@@ -209,7 +218,7 @@
|
209
|
218
|
})
|
210
|
219
|
}
|
211
|
220
|
})
|
212
|
|
-
|
|
221
|
+
|
213
|
222
|
nextTick(() => {
|
214
|
223
|
baseForm.value.validate().then(res => {
|
215
|
224
|
console.log('success', res);
|
|
@@ -218,9 +227,19 @@
|
218
|
227
|
mask: true,
|
219
|
228
|
});
|
220
|
229
|
console.log(formValues);
|
|
230
|
+
|
|
231
|
+ let imgList = Object.values(itemRefs.value).filter(Boolean);
|
|
232
|
+ let repairImgList = [];
|
|
233
|
+ if(imgList.length){
|
|
234
|
+ let firstOne = baseFormData.find(v => v.type == '7');
|
|
235
|
+ let index = imgList.findIndex(v => v.extra == firstOne.id);
|
|
236
|
+ repairImgList = index > -1 ? imgList[index].baseFormData.handlerImgList : [];
|
|
237
|
+ }
|
|
238
|
+
|
221
|
239
|
let postData = {
|
222
|
240
|
account: loginUserStore.loginUser.user.account,
|
223
|
241
|
valuesList: [],
|
|
242
|
+ inspectionPhotos: repairImgList.length ? repairImgList : undefined,
|
224
|
243
|
};
|
225
|
244
|
// baseFormData
|
226
|
245
|
for(let key in formValues){
|
|
@@ -270,6 +289,15 @@
|
270
|
289
|
}
|
271
|
290
|
}
|
272
|
291
|
});
|
|
292
|
+
|
|
293
|
+ // 上传图片到故障工单
|
|
294
|
+ let requestList = [];
|
|
295
|
+ repairImgList.map((imgObj) => {
|
|
296
|
+ let repairOrderImg$ = repairOrderImg(imgObj, res.incidentId);
|
|
297
|
+ requestList.push(repairOrderImg$);
|
|
298
|
+ })
|
|
299
|
+
|
|
300
|
+ Promise.all(requestList).then(resList => {})
|
273
|
301
|
} else if(res.inspectionForm.showOrder == 1){
|
274
|
302
|
// 是否显示生成维修单
|
275
|
303
|
uni.showModal({
|
|
@@ -387,15 +415,18 @@
|
387
|
415
|
|
388
|
416
|
// 其他项
|
389
|
417
|
if(!isException){
|
|
418
|
+ console.log(firstPage, 'firstPage')
|
|
419
|
+ console.log(formValues, 'formValues')
|
|
420
|
+ console.log(isException, 'isException')
|
390
|
421
|
firstPage.forEach(v => {
|
391
|
422
|
// 下拉,单选
|
392
|
423
|
if(v.type === '1' || v.type === '2'){
|
393
|
|
- let obj = v.list.find(vv => formValues[v.key] === vv.value);
|
|
424
|
+ let obj = v.list.find(vv => v.value === vv.value);
|
394
|
425
|
v.isException = obj ? obj.checkException === 1 : false;
|
395
|
426
|
} else if(v.type === '3'){
|
396
|
427
|
// 多选
|
397
|
428
|
v.isException = v.list.some(vv => {
|
398
|
|
- if(formValues[v.key].includes(vv.value)){
|
|
429
|
+ if(v.value.includes(vv.value)){
|
399
|
430
|
return vv.checkException === 1;
|
400
|
431
|
}else{
|
401
|
432
|
return false;
|