Pārlūkot izejas kodu

给“是否手册纱”字段进行效验

jbb 2 gadi atpakaļ
vecāks
revīzija
98a593397b
1 mainītis faili ar 46 papildinājumiem un 6 dzēšanām
  1. 46 6
      src/views/shipment-details/addShipDetDrawer.vue

+ 46 - 6
src/views/shipment-details/addShipDetDrawer.vue

@@ -181,7 +181,7 @@
               <!--是否手册纱 -->
               <template slot="manualYarnFlag" slot-scope="text, record, index">
                 <a-form-model-item prop="manualYarnFlag">
-                  <a-select v-model="record.manualYarnFlag">
+                  <a-select v-model="record.manualYarnFlag" @change='changeManualYarnFlag'>
                     <a-select-option value="">请选择</a-select-option>
                     <a-select-option :value="1">是</a-select-option>
                     <a-select-option :value="0">否</a-select-option>
@@ -192,14 +192,14 @@
               <!--手册纱单价 -->
               <template slot="manualYarnUnitPrice" slot-scope="text, record, index">
                 <a-form-model-item prop="manualYarnUnitPrice">
-                  <a-input style="width:100%" type="text" v-model="record.manualYarnUnitPrice" />
+                  <a-input style="width:100%" type="text" v-model="record.manualYarnUnitPrice" :disabled='manualYarnDisabled' @change="changeManualYarn('Price',record.manualYarnUnitPrice)" />
                 </a-form-model-item>
               </template>
 
               <!--手册纱占比 -->
               <template slot="manualYarnProportion" slot-scope="text, record, index">
                 <a-form-model-item prop="manualYarnProportion">
-                  <a-input style="width:100%" type="text" v-model="record.manualYarnProportion" />
+                  <a-input style="width:100%" type="text" v-model="record.manualYarnProportion"  :disabled='manualYarnDisabled' @change="changeManualYarn('Proportion',record.manualYarnProportion)" />
                 </a-form-model-item>
               </template>
 
@@ -581,7 +581,7 @@ export default {
 
       syShippingDetailsItemList: [], // 子表数据
       msgFormSon: 'test', // 子组件传来数据的变量
-
+      manualYarnDisabled: false, //手工纱单价和手工纱占比可输入
       addShipDet: {}, // 主表信息
       visible: false,
       confirmLoading: false,
@@ -602,6 +602,7 @@ export default {
 
   methods: {
     getSon(val) {
+      this.manualYarnDisabled = false //初始化manualYarnDisabled
       var copyValList = JSON.parse(JSON.stringify(val));
       this.addShipDet.customer = copyValList[0].customerName;
       console.log(copyValList);
@@ -660,9 +661,20 @@ export default {
                 this.$message.error('第'+(i+1)+'行和第'+(j+1)+'行物订单子表id重复,无法保存');
                 return;
               }
+            }  
+          }
+          //判断当是手册纱时,手册纱单价和手册纱占比是否为空
+          for (var i=0; i<newObj.syShippingDetailsItemList.length; i++){
+            var rowData = newObj.syShippingDetailsItemList[i];
+            if((rowData.manualYarnFlag === 1 && rowData.manualYarnUnitPrice === undefined) || (rowData.manualYarnFlag === 1 && rowData.manualYarnUnitPrice === '') ){
+               this.$message.error('手册纱单价为必填项');
+               return
+            }else if((rowData.manualYarnFlag === 1 && rowData.manualYarnProportion === undefined) || (rowData.manualYarnFlag === 1 && rowData.manualYarnProportion === '')){
+               this.$message.error('手册纱占比为必填项');
+               return
             }
           }
-
+         
           addShipmentList(newObj).then(res => {
             if (res.success) {
               this.$message.success('新增成功');
@@ -764,7 +776,35 @@ export default {
       this.$refs.referOrderDataModal.queryParam.dateRange=[];
       this.$refs.referOrderDataModal.queryParam.preDeliveryDate="";
       this.$refs.referOrderDataModal.queryParam.flourOrGarment="";
-    }
+    },
+    
+    //修改是否为手册纱时触发
+    changeManualYarnFlag(val) {
+      this.syShippingDetailsItemList.map(item =>{
+      item.manualYarnFlag = null
+      item.manualYarnFlag = val
+      //是手工纱时
+      if(val === 0){
+        item.manualYarnUnitPrice = 0
+        item.manualYarnProportion = 0
+        this.manualYarnDisabled = true
+      }else {
+        this.manualYarnDisabled = false
+      }
+      })
+      this.$forceUpdate()
+   },
+  
+   //输入手册纱单价或者手册纱占比时触发
+   changeManualYarn(data,val){
+     console.log(this.syShippingDetailsItemList)
+     debugger
+     this.syShippingDetailsItemList.map(item => {
+       if(data === 'Price'){item.manualYarnUnitPrice = val}
+       else{item.manualYarnProportion = val}
+     })
+     this.$forceUpdate()
+   }
   }
 }
 </script>