Browse Source

BUG修复

seimin 9 months ago
parent
commit
2ce35a2ad1

+ 1 - 1
manifest.json

@@ -62,7 +62,7 @@
62
         "devServer" : {
62
         "devServer" : {
63
             "proxy" : {
63
             "proxy" : {
64
                 "/service" : {
64
                 "/service" : {
65
-                    "target" : "http://192.168.4.105", //请求的目标域名
65
+                    "target" : "http://192.168.3.111", //请求的目标域名
66
 										// "target" : "http://192.168.4.163", //宋程玉本地
66
 										// "target" : "http://192.168.4.163", //宋程玉本地
67
                     "changeOrigin" : true, //是否跨域
67
                     "changeOrigin" : true, //是否跨域
68
                     "secure" : false
68
                     "secure" : false

+ 1 - 0
pages/inspection/inspectionExecute/inspectionExecute.vue

@@ -108,6 +108,7 @@
108
       title: "加载中",
108
       title: "加载中",
109
       mask: true,
109
       mask: true,
110
     });
110
     });
111
+    // 'inspection|$|1bd0c704-0962-4ed4-b5a6-b5bda3d78231'
111
     SM().then((ress1) => {
112
     SM().then((ress1) => {
112
       let postData = {
113
       let postData = {
113
         code: ress1,
114
         code: ress1,

+ 86 - 17
pages/inspection/inspectionValue/inspectionValue.vue

@@ -5,32 +5,31 @@
5
         <template v-for="(item, index) of baseFormData" :key="index">
5
         <template v-for="(item, index) of baseFormData" :key="index">
6
           <!-- 下拉 -->
6
           <!-- 下拉 -->
7
           <uni-forms-item v-if="item.type === '1'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
7
           <uni-forms-item v-if="item.type === '1'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
8
-            <uni-data-picker :placeholder="'请选择' + item.name" :popup-title="'请选择' + item.name" :localdata="item.list" v-model="formValues[item.key]">
8
+            <uni-data-picker :placeholder="'请选择' + item.name" :popup-title="'请选择' + item.name" :localdata="item.list" v-model="formValues[item.key]" @change="changeForm()">
9
             </uni-data-picker>
9
             </uni-data-picker>
10
           </uni-forms-item>
10
           </uni-forms-item>
11
           <!-- 单选 -->
11
           <!-- 单选 -->
12
           <uni-forms-item v-if="item.type === '2'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
12
           <uni-forms-item v-if="item.type === '2'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
13
-            <uni-data-checkbox v-model="formValues[item.key]" :localdata="item.list" />
13
+            <uni-data-checkbox v-model="formValues[item.key]" @change="changeForm()" :localdata="item.list" />
14
           </uni-forms-item>
14
           </uni-forms-item>
15
           <!-- 多选 -->
15
           <!-- 多选 -->
16
           <uni-forms-item v-if="item.type === '3'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
16
           <uni-forms-item v-if="item.type === '3'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
17
-            <uni-data-checkbox v-model="formValues[item.key]" multiple :localdata="item.list" />
17
+            <uni-data-checkbox v-model="formValues[item.key]" @change="changeForm()" multiple :localdata="item.list" />
18
           </uni-forms-item>
18
           </uni-forms-item>
19
           <!-- 数字 -->
19
           <!-- 数字 -->
20
           <uni-forms-item v-if="item.type === '4'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
20
           <uni-forms-item v-if="item.type === '4'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
21
-            <uni-number-box v-model="formValues[item.key]" :placeholder="'请输入' + item.name"></uni-number-box>
21
+            <uni-number-box v-model="formValues[item.key]" @change="changeForm()" :min="-9999" :max="9999" :placeholder="'请输入' + item.name"></uni-number-box>
22
           </uni-forms-item>
22
           </uni-forms-item>
23
           <!-- 单行 -->
23
           <!-- 单行 -->
24
-          <uni-forms-item v-if="item.type === '5'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
24
+          <uni-forms-item v-if="item.type === '5' && item.isException" class="formItem" :label="item.name" :required="item.required" :name="item.key">
25
             <uni-easyinput v-model="formValues[item.key]" :placeholder="'请输入' + item.name" />
25
             <uni-easyinput v-model="formValues[item.key]" :placeholder="'请输入' + item.name" />
26
           </uni-forms-item>
26
           </uni-forms-item>
27
           <!-- 多行 -->
27
           <!-- 多行 -->
28
-          <uni-forms-item v-if="item.type === '6'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
28
+          <uni-forms-item v-if="item.type === '6' && item.isException" class="formItem" :label="item.name" :required="item.required" :name="item.key">
29
             <uni-easyinput type="textarea" v-model="formValues[item.key]" :placeholder="'请输入' + item.name" />
29
             <uni-easyinput type="textarea" v-model="formValues[item.key]" :placeholder="'请输入' + item.name" />
30
           </uni-forms-item>
30
           </uni-forms-item>
31
-          
32
           <!-- 图片上传 -->
31
           <!-- 图片上传 -->
33
-          <uni-forms-item v-if="item.type === '7'" class="formItem" :label="item.name" :required="item.required" :name="item.key">
32
+          <uni-forms-item v-if="item.type === '7' && item.isException" class="formItem" :label="item.name" :required="item.required" :name="item.key">
34
             <DsFilePicker v-model="formValues[item.key]"></DsFilePicker>
33
             <DsFilePicker v-model="formValues[item.key]"></DsFilePicker>
35
           </uni-forms-item>
34
           </uni-forms-item>
36
           <!-- 分割线 -->
35
           <!-- 分割线 -->
@@ -70,6 +69,9 @@ import { forIn } from 'lodash-es';
70
   // 主题颜色
69
   // 主题颜色
71
   const primaryColor = ref(defaultColor)
70
   const primaryColor = ref(defaultColor)
72
   
71
   
72
+  // 所有页码数据
73
+  const formPageList = reactive([]);
74
+  
73
   // 表单
75
   // 表单
74
   const baseForm = ref()
76
   const baseForm = ref()
75
   
77
   
@@ -103,6 +105,11 @@ import { forIn } from 'lodash-es';
103
     // { type: 7, name: '', value: [], list: [], required: false, checkType: 0, valueMin: '', valueMax: '', },
105
     // { type: 7, name: '', value: [], list: [], required: false, checkType: 0, valueMin: '', valueMax: '', },
104
   ])
106
   ])
105
   
107
   
108
+  // 修改
109
+  function changeForm(){
110
+    handleData(true);
111
+  }
112
+  
106
   // 保存
113
   // 保存
107
   function submit(){
114
   function submit(){
108
     baseForm.value.validate().then(res => {
115
     baseForm.value.validate().then(res => {
@@ -113,14 +120,15 @@ import { forIn } from 'lodash-es';
113
       });
120
       });
114
       console.log(formValues);
121
       console.log(formValues);
115
       let postData = {
122
       let postData = {
123
+        account: loginUserStore.loginUser.user.account,
116
         valuesList: [],
124
         valuesList: [],
117
       };
125
       };
118
       for(let key in formValues){
126
       for(let key in formValues){
119
         let name = baseFormData.find(v => v.key === key).name;
127
         let name = baseFormData.find(v => v.key === key).name;
120
         let itemId = baseFormData.find(v => v.key === key).id;
128
         let itemId = baseFormData.find(v => v.key === key).id;
121
-        let formPageList = dataInfo.inspectionFormDTO?.formPageList || [];
122
-        formPageList = formPageList.map(v => v.formItemList).flat();
123
-        let formItem = formPageList.find(v => v.id === itemId);
129
+        let _formPageList = dataInfo.inspectionFormDTO?.formPageList || [];
130
+        _formPageList = _formPageList.map(v => v.formItemList).flat();
131
+        let formItem = _formPageList.find(v => v.id === itemId);
124
         postData.valuesList.push({
132
         postData.valuesList.push({
125
           taskId: inspectionExecuteId.value,
133
           taskId: inspectionExecuteId.value,
126
           nodeId: dataInfo.id,
134
           nodeId: dataInfo.id,
@@ -155,7 +163,7 @@ import { forIn } from 'lodash-es';
155
   }
163
   }
156
   
164
   
157
   // 处理数据
165
   // 处理数据
158
-  function handleData(formPageList){
166
+  function handleData(isException = false){
159
     // 目前只取第一页
167
     // 目前只取第一页
160
     let firstPage = formPageList[0]?.formItemList || [];
168
     let firstPage = formPageList[0]?.formItemList || [];
161
     
169
     
@@ -164,6 +172,8 @@ import { forIn } from 'lodash-es';
164
     firstPage = firstPage.map((v, i) => {
172
     firstPage = firstPage.map((v, i) => {
165
       let value = '';
173
       let value = '';
166
       v.formItemConfigList = v.formItemConfigList || [];
174
       v.formItemConfigList = v.formItemConfigList || [];
175
+      
176
+      // value
167
       if(v.type.value === '3'){
177
       if(v.type.value === '3'){
168
         // 多选
178
         // 多选
169
         value = v.formItemConfigList.filter(v => v.checkDefault === 1).map(v => v.id);
179
         value = v.formItemConfigList.filter(v => v.checkDefault === 1).map(v => v.id);
@@ -186,20 +196,79 @@ import { forIn } from 'lodash-es';
186
         key: `field${i}`,
196
         key: `field${i}`,
187
         type: v.type.value,
197
         type: v.type.value,
188
         name: v.name,
198
         name: v.name,
189
-        value,
190
-        list: v.formItemConfigList ? v.formItemConfigList.map(v => ({text: v.name, value: v.id})) : [],
199
+        value: isException ? formValues[`field${i}`] : value,
200
+        list: v.formItemConfigList ? v.formItemConfigList.map(v => ({text: v.name, value: v.id, checkException: v.checkException, uncheckException: v.uncheckException})) : [],
191
         required: v.required === 1,
201
         required: v.required === 1,
192
         checkType: v.checkType,
202
         checkType: v.checkType,
203
+        showError: v.showError,
193
         valueMin: v.checkType === 2 ? v.valueLow : ( v.checkType === 1 ? (v.valuex - v.valueGap) : undefined),
204
         valueMin: v.checkType === 2 ? v.valueLow : ( v.checkType === 1 ? (v.valuex - v.valueGap) : undefined),
194
         valueMax: v.checkType === 2 ? v.valueUp : ( v.checkType === 1 ? (v.valuex + v.valueGap) : undefined),
205
         valueMax: v.checkType === 2 ? v.valueUp : ( v.checkType === 1 ? (v.valuex + v.valueGap) : undefined),
195
       }
206
       }
196
-    }).filter(v => v.type !== '7');
207
+    });
208
+    
209
+    let firstPageBottom = firstPage.filter(v => v.type === '5' || v.type === '6');
210
+    firstPage = firstPage.filter(v => v.type !== '5' && v.type !== '6' && v.type !== '7');
211
+    
212
+    // 其他项
213
+    if(isException){
214
+      firstPage.forEach(v => {
215
+        // 下拉,单选
216
+        if(v.type === '1' || v.type === '2'){
217
+          v.isException = v.list.find(vv => formValues[v.key] === vv.value).checkException === 1;
218
+        } else if(v.type === '3'){
219
+          // 多选
220
+          v.isException = v.list.some(vv => {
221
+            if(formValues[v.key].includes(vv.value)){
222
+              return vv.checkException === 1;
223
+            }else{
224
+              return false;
225
+            }
226
+          })
227
+        } else if(v.type === '4'){
228
+          v.isException = (v.value < v.valueMin) || (v.value > v.valueMax);
229
+        }
230
+      })
231
+    }else{
232
+      firstPage.forEach(v => {
233
+        if(v.type === '1' || v.type === '2'){
234
+          // 下拉,单选
235
+          v.isException = v.list.find(vv => v.value === vv.value).checkException === 1;
236
+        } else if(v.type === '3'){
237
+          // 多选
238
+          v.isException = v.list.some(vv => {
239
+            if(v.value.includes(vv.value)){
240
+              return vv.checkException === 1;
241
+            }else{
242
+              return false;
243
+            }
244
+          })
245
+        } else if(v.type === '4'){
246
+          // 数值
247
+          v.isException = (formValues[v.key] < v.valueMin) || (formValues[v.key] > v.valueMax);
248
+        }
249
+      })
250
+    }
251
+    
252
+    // 单行|多行|图片上传
253
+    let someIsException = firstPage.filter(v => v.type !== '8').some(v => v.isException);
254
+    console.log('someIsException=>', someIsException)
255
+    firstPageBottom.forEach(v => {
256
+      console.log('v.showError=>', v.showError)
257
+      v.isException = (v.showError === 1 && someIsException) || v.showError === 0;
258
+    })
259
+    
260
+    firstPage = firstPage.concat(firstPageBottom);
261
+    console.log('firstPage=>', firstPage);
262
+    
197
     Object.assign(baseFormData, firstPage);
263
     Object.assign(baseFormData, firstPage);
198
     console.log('baseFormData=>', baseFormData);
264
     console.log('baseFormData=>', baseFormData);
265
+    
199
     Object.assign(formValues, fromPairs(firstPage.filter(v => v.type !== '8').map(v => ([v.key, v.value]))));
266
     Object.assign(formValues, fromPairs(firstPage.filter(v => v.type !== '8').map(v => ([v.key, v.value]))));
200
     console.log('formValues=>', formValues);
267
     console.log('formValues=>', formValues);
268
+    
201
     let rulesObj = keyBy(firstPage.filter(v => v.type !== '8'), 'key');
269
     let rulesObj = keyBy(firstPage.filter(v => v.type !== '8'), 'key');
202
     console.log(rulesObj)
270
     console.log(rulesObj)
271
+    
203
     for(let key in rulesObj){
272
     for(let key in rulesObj){
204
       rulesObj[key] = {
273
       rulesObj[key] = {
205
         rules: [
274
         rules: [
@@ -216,8 +285,8 @@ import { forIn } from 'lodash-es';
216
     // 巡检项
285
     // 巡检项
217
     if(inspectionValueStore.inspectionValue.data){
286
     if(inspectionValueStore.inspectionValue.data){
218
       Object.assign(dataInfo, inspectionValueStore.inspectionValue.data);
287
       Object.assign(dataInfo, inspectionValueStore.inspectionValue.data);
219
-      let formPageList = dataInfo.inspectionFormDTO?.formPageList || [];
220
-      handleData(formPageList)
288
+      Object.assign(formPageList, dataInfo.inspectionFormDTO?.formPageList || []);
289
+      handleData()
221
     }
290
     }
222
   })
291
   })
223
 </script>
292
 </script>