Ver código fonte

委托登记-样品信息

yuhan 1 ano atrás
pai
commit
16b7b6421d

+ 29 - 18
itdmWeb/src/views/module-iTDM/weituo/modules/step/Step2.vue

@@ -79,11 +79,22 @@ export default {
     }
   },
   data() {
+    let checkSampleName = (rule, value, callback) => {
+      // console.log(rule, value, callback)
+      var arr = this.model.data.filter(item => item.sampleName === value)
+      console.log(arr)
+      if (arr.length > 1) {
+        callback(new Error('该样品名称存在重复'));
+      } else {
+        callback();
+      }
+    }
     return {
       count: 1,
       validatorRules: {
         sampleName: [
-          { required: true, message: '请输入样品名称!' }
+          { required: true, message: '请输入样品名称!' },
+          { validator: checkSampleName }
         ],
         sampleModelSpecification: [
           { required: true, message: '请输入样品规格/型号!' }
@@ -96,7 +107,7 @@ export default {
         ]
       },
       model: {
-        data: [{}]
+        data: []
       },
       description: '高级表单常见于一次性输入和提交大批量数据的场景。',
       loading: false,
@@ -138,9 +149,6 @@ export default {
           scopedSlots: { customRender: 'operation' }
         }
       ],
-      data: [
-        {}
-      ]
     }
   },
   computed: {
@@ -152,7 +160,7 @@ export default {
     const data = JSON.parse(sessionStorage.getItem('yangpin'))
     if (data != null) {
         for (let  xx of data) {
-          this.data.push({
+          this.model.data.push({
             key: xx.key,
             sampleName: xx.sampleName,
             sampleModelSpecification: xx.sampleModelSpecification,
@@ -162,6 +170,8 @@ export default {
             isNew: true
           })
         }
+    } else {
+      this.model.data.push({})
     }
     this.count = sessionStorage.getItem('count') != null ? Number(sessionStorage.getItem('count')) : 1
 
@@ -182,39 +192,40 @@ export default {
       sessionStorage.setItem('count', this.count)
 
     },
+    // 删除
     remove(key) {
-      const newData = this.data.filter(item => item.key !== key)
-      this.data = newData
+      const newData = this.model.data.filter(item => item.key !== key)
+      this.model.data = newData
     },
-    saveRow(key) {
-      let target = this.data.filter(item => item.key === key)[0]
-      target.editable = false
-      target.isNew = false
+    //saveRow(key) {
+    //   let target = this.data.filter(item => item.key === key)[0]
+    //   target.editable = false
+    //   target.isNew = false
 
-    },
+    // },
 
     handleChange(value, key, column) {
-      const newData = [...this.data]
+      const newData = [...this.model.data]
       const target = newData.filter(item => key === item.key)[0]
       if (target) {
         target[column] = value
-        this.data = newData
+        this.model.data = newData
       }
     },
     // 下一步
     nextStep() {
       
-      
+      console.log(this.model.data)
       this.$refs.form.validate(valid => {
         if (valid) {
+          sessionStorage.setItem('yangpin', JSON.stringify(this.model.data))
           this.$emit('nextStep')
-          // sessionStorage.setItem('yangpin', JSON.stringify(this.data))
         }
       })
 
     },
     prevStep() {
-      sessionStorage.setItem('yangpin', JSON.stringify(this.data))
+      sessionStorage.setItem('yangpin', JSON.stringify(this.model.data))
 
       this.$emit('prevStep')
     }