Bläddra i källkod

参照数据多次勾选校验,默认预发货时间设置

jbb 2 år sedan
förälder
incheckning
b73572b37b

+ 43 - 2
src/views/shipment-details/addShipDetDrawer.vue

@@ -242,7 +242,7 @@
     </a-drawer>
 
     <!-- 参照订单数据弹框 -->
-    <referOrderData-modal ref="referOrderDataModal" @bao="getSon" @ok="referOrderDataOk"></referOrderData-modal>
+    <referOrderData-modal ref="referOrderDataModal" @bao="getSon" @ok="referOrderDataOk" @default-reset="defaultReset"></referOrderData-modal>
   </div>
 </template>
 
@@ -578,7 +578,7 @@ export default {
           className: 'replacecolor'
         }
       ],
-
+      monthStartDate:'',//本月第一天日期
       syShippingDetailsItemList: [], // 子表数据
       msgFormSon: 'test', // 子组件传来数据的变量
       manualYarnDisabled: false, //手工纱单价和手工纱占比可输入
@@ -601,6 +601,43 @@ export default {
   },
 
   methods: {
+    //默认预发货日期
+    defalutDate(){
+     Date.prototype.format = function(fmt) { 
+        var o = { 
+           "M+" : this.getMonth()+1,                 //月份 
+           "Y+" : this.getFullYear(),                 //年 
+           "d+" : this.getDate(),                    //日 
+           "h+" : this.getHours(),                   //小时 
+           "m+" : this.getMinutes(),                 //分 
+           "s+" : this.getSeconds(),                 //秒 
+           "q+" : Math.floor((this.getMonth()+3)/3), //季度 
+           "S"  : this.getMilliseconds()             //毫秒 
+        }; 
+        if(/(Y+)/.test(fmt)) {
+            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
+        }
+        for(var k in o) {
+        if(new RegExp("("+ k +")").test(fmt)){
+             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
+         }
+        }
+        return fmt; 
+       }  
+        var now = new Date(); //当前日期 
+        var nowMonth = now.getMonth(); //当前月 
+        var nowYear = now.getFullYear(); //当前年 
+        //本月的开始时间
+        this.monthStartDate = new Date(nowYear, nowMonth, 1).format('YYYY-MM-dd'); 
+    },
+
+    //参照数据重置,恢复默认值
+    defaultReset() {
+      this.defalutDate()
+      this.$refs.referOrderDataModal.range.push(this.monthStartDate)     
+      this.$refs.referOrderDataModal.queryParam.preDeliveryDateS = this.monthStartDate;
+      this.$refs.referOrderDataModal.queryParam.preDeliveryDateE  = '';
+    },
     getSon(val) {
       this.manualYarnDisabled = false //初始化manualYarnDisabled
       var copyValList = JSON.parse(JSON.stringify(val));
@@ -622,6 +659,10 @@ export default {
         this.$refs.referOrderDataModal.fatherData.push(this.syShippingDetailsItemList[0]) 
       }
       this.$refs.referOrderDataModal.referOrderDataModVis = true
+      this.defalutDate()
+      this.$refs.referOrderDataModal.range.push(this.monthStartDate)     
+      this.$refs.referOrderDataModal.queryParam.preDeliveryDateS = this.monthStartDate;
+      this.$refs.referOrderDataModal.queryParam.preDeliveryDateE  = '';
       // console.log('点击参照订单数据')
     },
 

+ 2 - 3
src/views/shipment-details/editShipDetDrawer.vue

@@ -52,7 +52,7 @@
       <!--  参照订单数据 増行-->
       <a-card :bordered="true" style="margin:10px 0 60px 0">
         <div class="table-operator">
-          <a-button type="primary" @click="referOrderDataOpen" icon="ordered-list" disabled="true">参照订单数据</a-button>
+          <a-button type="primary" @click="referOrderDataOpen" icon="ordered-list" :disabled="btnDisabled">参照订单数据</a-button>
         </div>
 
         <!-- 子表  :model="form" :rules="validatorRules"-->
@@ -230,6 +230,7 @@ export default {
          // preCompletionDate:[{required: true, message: '请选择预完工日期!'}],
          // orderType:[{required: true, message: '请输入订单类型!'}],
         },
+        btnDisabled:true,//参照数据按钮禁止使用
       // 表头
       columns: [
         {
@@ -619,7 +620,6 @@ export default {
 
           editById(this.editShipDet).then(res => {
             if (res.success) {
-              debugger
               this.$message.success('编辑成功');
               this.addShipDet = {};
               this.addShipDet.syShippingDetailsItemList = [];
@@ -692,7 +692,6 @@ export default {
 
       //修改是否为手册纱时触发
     changeManualYarnFlag(val) {
-
       this.syShippingDetailsItemList.map(item =>{
       item.manualYarnFlag = null
       item.manualYarnFlag = val

+ 55 - 75
src/views/shipment-details/referOrderDataModal.vue

@@ -208,12 +208,12 @@ export default {
           customRender: t => ellipsis(t),
           className: 'replacecolor'
         },
-        // {
-        //   title: '尺码',
-        //   dataIndex: 'size',
-        //   width: 100,
-        //   className: 'replacecolor'
-        // },
+        {
+          title: '尺码',
+          dataIndex: 'size',
+          width: 100,
+          className: 'replacecolor'
+        },
         {
           title: '配码规格',
           dataIndex: 'codingRules',
@@ -422,8 +422,8 @@ export default {
       orderListData: [], //订单数据
       confirmLoading: false,
       referOrderDataModVis: false,
-      error:[], // 选中数据不符合的字段名
-      errorFather: [], //选中数据与已有数据不同集合
+      error:'', // 选中数据不符合的字段名
+      errorFather: '', //选中数据与已有数据不同集合
 
       // 查询条件
       queryParam: {
@@ -441,8 +441,7 @@ export default {
       confimList: [], //勾选的订单数组
       propList: [], //需要给新增页的数据
       dateRange:[],
-      range:["2022-08-02","2032-08-02"],//预发货日期数组
-      monthStartDate:'',
+      range:[],//预发货日期数组
       dataRangeMode:['date','date'],
       rangeMode:['date','date'],
     }
@@ -452,38 +451,10 @@ export default {
 
   created() {
     // this.getOrderList()  	
-    this.defalutDate()
+    // this.defalutDate()
   },
   methods: {
     moment,
-    //默认预发货日期
-    defalutDate(){
-     Date.prototype.format = function(fmt) { 
-        var o = { 
-           "M+" : this.getMonth()+1,                 //月份 
-           "d+" : this.getDate(),                    //日 
-           "h+" : this.getHours(),                   //小时 
-           "m+" : this.getMinutes(),                 //分 
-           "s+" : this.getSeconds(),                 //秒 
-           "q+" : Math.floor((this.getMonth()+3)/3), //季度 
-           "S"  : this.getMilliseconds()             //毫秒 
-        }; 
-        if(/(y+)/.test(fmt)) {
-            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
-        }
-        for(var k in o) {
-        if(new RegExp("("+ k +")").test(fmt)){
-             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
-         }
-        }
-        return fmt; 
-       }  
-        var now = new Date(); //当前日期 
-        var nowMonth = now.getMonth(); //当前月 
-        var nowYear = now.getFullYear(); //当前年 
-        //本月的开始时间
-        this.monthStartDate = new Date(nowYear, nowMonth, 1);         
-    },
     // 参照订单数据 查询
     getOrderList() {
       this.confirmLoading = true;
@@ -517,14 +488,12 @@ export default {
       }
       if (this.selectedRowKeys.length == 0) {
         this.$message.error('请勾选订单数据')
-      } else if(this.selectedRows !== 1 && this.error.length !==0){
-          var cc =this.error.toString()
-          this.$message.error(cc+'必须相同!');
-          this.error = []
-      }else if(this.fatherData.length !== 0 && this.errorFather.length !== 0){
-          var dd =this.errorFather.toString()
-          this.$message.error(dd+'必须相同!');
-           this.errorFather = []
+      } else if(this.selectedRows !== 1 && this.error !==''){
+          this.$message.error(this.error+'至少一项不相同!');
+          this.error = ''
+      }else if(this.fatherData.length !== 0 && this.errorFather !== ''){
+          this.$message.error(this.errorFather +'至少一项不相同!');
+           this.errorFather = ''
       }else{
         confimOrderData(this.confimList).then(res => {
           if (res.success) {
@@ -564,29 +533,39 @@ export default {
          colourTest.push(item.colour)
          sizeTest.push(item.size)
       })
-      if([...new Set(orderTest)].length !== 1){this.error.push('订单号')}
-      if([...new Set(poTest)].length !== 1){this.error.push('小po')}
-      if([...new Set(preDeliveryTest)].length !== 1){this.error.push('预发货日期')}
-      if([...new Set(preCompletionTest)].length !== 1){this.error.push('预完工日期')}
-      if([...new Set(itemNumberTest)].length !== 1){this.error.push('款号')}
-      if([...new Set(inventoryCodeTest)].length !== 1){this.error.push('存货编码')}
-      if([...new Set(inventoryNameTest)].length !== 1){this.error.push('存货名称')}
-      if([...new Set(colourTest)].length !== 1){this.error.push('颜色')}
-      if([...new Set(sizeTest)].length !== 1){this.error.push('尺码')}
+      if([...new Set(orderTest)].length == 1 && [...new Set(poTest)].length == 1 &&[...new Set(preDeliveryTest)].length == 1&&
+      [...new Set(preCompletionTest)].length == 1 && [...new Set(itemNumberTest)].length == 1 &&[...new Set(inventoryCodeTest)].length !== 1&&
+      [...new Set(inventoryNameTest)].length == 1 && [...new Set(colourTest)].length == 1 &&[...new Set(sizeTest)].length == 1){
+        this.error = '订单号,小po,预发货日期,预完工日期,款号,存货编码,存货名称,颜色,尺码'
+      }
+      // if([...new Set(orderTest)].length !== 1){this.error.push('订单号')}
+      // if([...new Set(poTest)].length !== 1){this.error.push('小po')}
+      // if([...new Set(preDeliveryTest)].length !== 1){this.error.push('预发货日期')}
+      // if([...new Set(preCompletionTest)].length !== 1){this.error.push('预完工日期')}
+      // if([...new Set(itemNumberTest)].length !== 1){this.error.push('款号')}
+      // if([...new Set(inventoryCodeTest)].length !== 1){this.error.push('存货编码')}
+      // if([...new Set(inventoryNameTest)].length !== 1){this.error.push('存货名称')}
+      // if([...new Set(colourTest)].length !== 1){this.error.push('颜色')}
+      // if([...new Set(sizeTest)].length !== 1){this.error.push('尺码')}
     },
 
     //已有参考列表
     fatherDataSet(fathers,sons){
       var father = fathers[0]
-      if(father.orderNumber !== sons.orderNumber){this.errorFather.push('订单号')}
-      if(father.smallPo !== sons.smallPo){this.errorFather.push('小po')}
-      if(father.preDeliveryDate !== sons.preDeliveryDate){this.errorFather.push('预发货日期')}
-      if(father.preCompletionDate !== sons.preCompletionDate){this.errorFather.push('预完工日期')}
-      if(father.itemNumber !== sons.itemNumber){this.errorFather.push('款号')}
-      if(father.inventoryCode !== sons.inventoryCode){this.errorFather.push('存货编码')}
-      if(father.inventoryName !== sons.inventoryName){this.errorFather.push('存货名称')}
-      if(father.colour !== sons.colour){this.errorFather.push('颜色')}
-      if(father.size !== sons.size){this.errorFather.push('尺码')}
+      if(father.orderNumber === sons.orderNumber && father.smallPo === sons.smallPo && father.preDeliveryDate === sons.preDeliveryDate &&
+      father.preCompletionDate === sons.preCompletionDate && father.itemNumber === sons.itemNumber && father.inventoryCode === sons.inventoryCode &&
+      father.inventoryName === sons.inventoryName && father.colour === sons.colour && father.size === sons.size) {
+        this.errorFather = '订单号,小po,预发货日期,预完工日期,款号,存货编码,存货名称,颜色,尺码'
+      }
+      // if(father.orderNumber !== sons.orderNumber){this.errorFather.push('订单号')}
+      // if(father.smallPo !== sons.smallPo){this.errorFather.push('小po')}
+      // if(father.preDeliveryDate !== sons.preDeliveryDate){this.errorFather.push('预发货日期')}
+      // if(father.preCompletionDate !== sons.preCompletionDate){this.errorFather.push('预完工日期')}
+      // if(father.itemNumber !== sons.itemNumber){this.errorFather.push('款号')}
+      // if(father.inventoryCode !== sons.inventoryCode){this.errorFather.push('存货编码')}
+      // if(father.inventoryName !== sons.inventoryName){this.errorFather.push('存货名称')}
+      // if(father.colour !== sons.colour){this.errorFather.push('颜色')}
+      // if(father.size !== sons.size){this.errorFather.push('尺码')}
     },
 
     handleTableChange(pagination, filters, sorter) {
@@ -619,6 +598,7 @@ export default {
       this.orderListData = []
       this.selectedRowKeys = [];
       this.selectedRows = [];
+      this.$emit('default-reset')
     },
     // 选中行
     onSelectChange(keys, rows) {
@@ -649,16 +629,16 @@ export default {
       }
     },
 
-    // rangeSelectChange(value) {
-    //   this.range = value
-    //     if (value.length == 0){
-    //     this.queryParam.preDeliveryDateS = "";
-    //     this.queryParam.preDeliveryDateE = "";
-    //   }else{
-    //     this.queryParam.preDeliveryDateS = value[0].format('YYYY-MM-DD');
-    //     this.queryParam.preDeliveryDateE  = value[1].format('YYYY-MM-DD');
-    //   }
-    // }
+    rangeSelectChange(value) {
+      this.range = value
+        if (value.length == 0){
+        this.queryParam.preDeliveryDateS = "";
+        this.queryParam.preDeliveryDateE = "";
+      }else{
+        this.queryParam.preDeliveryDateS = value[0].format('YYYY-MM-DD');
+        this.queryParam.preDeliveryDateE  = value[1].format('YYYY-MM-DD');
+      }
+    }
   },
   computed: {
     // 选中项