刘洋 1 tahun lalu
induk
melakukan
425817bf31

+ 2 - 2
package.json

@@ -40,7 +40,7 @@
     "qs": "^6.11.2",
     "spark-md5": "^3.0.2",
     "swiper": "^8.4.7",
-    "tdesign-vue-next": "^1.6.5",
+    "tdesign-vue-next": "^1.6.8",
     "tinymce": "^6.7.0",
     "tvision-color": "^1.5.0",
     "unplugin-vue-setup-extend-plus": "^1.0.0",
@@ -87,4 +87,4 @@
     "vite-svg-loader": "^3.6.0",
     "vue-tsc": "^1.0.11"
   }
-}
+}

+ 1 - 1
src/views/sop/components/dynamic-form-item/device-table/edit-column-dialog.vue

@@ -160,7 +160,7 @@ const getDeviceOptions = async () => {
     .map((item) => ({
       ...item,
       value: item.deviceNo,
-      label: item.deviceNo,
+      label: item.deviceNo + '_' + item.deviceModel + '_' + item.supplierName,
     }));
 };
 

+ 24 - 1
src/views/sop/sop-manage/sop-step/index.vue

@@ -511,9 +511,32 @@ watch(curFormConfig, (val) => {
     }
     return obj;
   }, {});
+  console.log('vvvv', val);
   rules.value = val.reduce((obj, item) => {
     let ruleItem =
-      item.required && needValueCodes.includes(item.code)
+      item.required && item.code === 'CHECKBOX'
+        ? {
+            validator: (val) => {
+              let options = Array.isArray(item.options)
+                ? item.options
+                : JSON.parse(item.options);
+
+              if (formData.value?.[item.formName]?.length != options.length) {
+                return {
+                  result: false,
+                  message: `"${item.title}"中有未选中项`,
+                  type: 'error',
+                };
+              }
+
+              return {
+                result: true,
+                message: '',
+                type: 'success',
+              };
+            },
+          }
+        : item.required && needValueCodes.includes(item.code)
         ? {
             required: true,
             message: `${item.title}不能为空`,