From 25bfdf783be9c8e34afcec8106c39e17aa66a1e2 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 29 四月 2024 15:56:43 +0800
Subject: [PATCH] 纤度检验表的 车间显示问题处理

---
 src/views/productManage/productRegisterForm/addProductRegisterPage.vue |  219 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 144 insertions(+), 75 deletions(-)

diff --git a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
index b205f13..62c0700 100644
--- a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
+++ b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue
@@ -91,9 +91,9 @@
                 </el-form-item>
               </el-col>
               <el-col :span="3">
-                <el-form-item label="杞﹂棿" prop="workshopId">
+                <el-form-item label="杞﹂棿" prop="workshopNumber">
                   <el-select
-                    v-model="ruleForm.workshopId"
+                    v-model="ruleForm.workshopNumber"
                     placeholder="璇烽�夋嫨"
                     class="select-width"
                     @change='getGroupNumber'
@@ -124,7 +124,7 @@
                     placeholder="璇峰厛閫夋嫨杞﹂棿"
                     no-data-text='璇峰厛閫夋嫨杞﹂棿'
                     class="select-width"
-                    @change='getGroupNumber'
+                    @change="getGroupNumber(false,'groupNumber')"
                   >
                     <el-option
                       v-for="item in workshopGroupList"
@@ -213,17 +213,24 @@
                         label=""
                         @input="inputStart"
                         label-width="0"
+                        label-position="right"
                         prop="fallingSilkBucketOne"
+                        :rules="[
+                          {
+                            required: ruleForm.selectOne,
+                            message: '璇峰~鍐�',
+                            trigger: 'change',
+                          },
+                        ]"
                         class='margin_right_10px select-width-input'
                       >
                         <el-input
                           v-model="ruleForm.fallingSilkBucketOne"
                           size="small"
-                          class="d-b-c-input"
                         ></el-input>
                       </el-form-item>
                       <el-checkbox
-                        v-model="ruleForm.isfallingSilkBucketOne"
+                        v-model="ruleForm.selectOne"
                       ></el-checkbox>
                     </div>
                     <div class="select-width">
@@ -231,6 +238,13 @@
                         label=""
                         @input="inputStart"
                         label-width="0"
+                        :rules="[
+                          {
+                            required: ruleForm.selectTwo,
+                            message: '璇峰~鍐�',
+                            trigger: 'change',
+                          },
+                        ]"
                         prop="fallingSilkBucketTwo"
                         class='margin_right_10px select-width-input'
                       >
@@ -241,14 +255,21 @@
                         ></el-input>
                       </el-form-item>
                       <el-checkbox
-                        v-model="ruleForm.isfallingSilkBucketTwo"
+                        v-model="ruleForm.selectTwo"
                       ></el-checkbox>
                     </div>
                     <div class="select-width">
                       <el-form-item
                         label=""
                         @input="inputStart"
-                        label-width="0"
+                        label-width=""
+                        :rules="[
+                          {
+                            required: ruleForm.selectThree,
+                            message: '璇峰~鍐�',
+                            trigger: 'change',
+                          },
+                        ]"
                         prop="fallingSilkBucketThree"
                         class='margin_right_10px select-width-input'
                       >
@@ -259,7 +280,7 @@
                         ></el-input>
                       </el-form-item>
                       <el-checkbox
-                        v-model="ruleForm.isfallingSilkBucketThree"
+                        v-model="ruleForm.selectThree"
                       ></el-checkbox>
                     </div>
                   </div>
@@ -356,6 +377,7 @@
           :data="tableData"
           style="width: 100%"
           border
+          v-if='tableShow'
           :height="'calc(100% - 0px)'"
           :cell-style='cellStyle'
         >
@@ -479,7 +501,7 @@
             align="center"
           >
             <template slot-scope="scope">
-              {{(ruleForm.record&&scope.row.oneYield)?(scope.row.oneYield/ruleForm.record).toFixed(2):''}}
+              {{(ruleForm.record&&ruleForm.record!=0&&scope.row.oneYield)?(scope.row.oneYield/ruleForm.record).toFixed(2):''}}
             </template>
           </el-table-column>
           <el-table-column
@@ -506,7 +528,7 @@
             align="center"
           >
             <template slot-scope="scope">
-                 {{(ruleForm.record&&scope.row.allYield1)?(scope.row.allYield1/ruleForm.record).toFixed(2):''}}
+                 {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield1)?(scope.row.allYield1/ruleForm.record).toFixed(2):''}}
             </template>
           </el-table-column>
           <el-table-column
@@ -533,7 +555,7 @@
             align="center"
           >
           <template slot-scope="scope">
-               {{(ruleForm.record&&scope.row.allYield2)?(scope.row.allYield2/ruleForm.record).toFixed(2):''}}
+               {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield2)?(scope.row.allYield2/ruleForm.record).toFixed(2):''}}
             </template>
           </el-table-column>
           <el-table-column
@@ -560,7 +582,7 @@
             align="center"
           >
           <template slot-scope="scope">
-            {{(ruleForm.record&&scope.row.allYield3)?(scope.row.allYield3/ruleForm.record).toFixed(2):''}} 
+            {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield3)?(scope.row.allYield3/ruleForm.record).toFixed(2):''}} 
             </template>
           </el-table-column>
           <el-table-column
@@ -617,7 +639,7 @@
         circle: "",
         marketId: "",
         fallingSilkCocoonNumber: "",
-        workshopId: "",
+        workshopNumber: "",
         bucketCocoonNumber: "",
         groupNumber: "",
         vehicleSpeed: "",
@@ -629,11 +651,11 @@
         groupReelingdiscount: "",
         fallingSilkBucket: "",
         fallingSilkBucketOne: "",
-        isfallingSilkBucketOne: "",
+        selectOne: false,
         fallingSilkBucketTwo: "",
-        isfallingSilkBucketTwo: "",
+        selectTwo: false,
         fallingSilkBucketThree: "",
-        isfallingSilkBucketThree: "",
+        selectThree: false,
         back: "",
         oneBack: "",
         twoBack: "",
@@ -650,7 +672,7 @@
         marketId:  [
           { required: true, message: "璇烽�夋嫨", trigger:  ["change", "blur"] },
         ],
-        workshopId:  [
+        workshopNumber:  [
           { required: true, message: "璇烽�夋嫨", trigger:  ["change", "blur"] },
         ],
         groupNumber:  [
@@ -666,6 +688,8 @@
       productRegisterNumber:null,
       tableDataItems:[],
       tableDataCircles:[],
+      yieldRegisterId:'',
+      tableShow:true,
     };
   },
   mounted() {
@@ -678,7 +702,7 @@
     this.getDetailsData()
   },
   methods: {
-    getDetailsData(){
+    async getDetailsData(){
       this.ruleForm = {
         number: "",
         record: "",
@@ -686,7 +710,7 @@
         circle: "",
         marketId: "",
         fallingSilkCocoonNumber: "",
-        workshopId: "",
+        workshopNumber: "",
         bucketCocoonNumber: "",
         groupNumber: "",
         vehicleSpeed: "",
@@ -698,11 +722,11 @@
         groupReelingdiscount: "",
         fallingSilkBucket: "",
         fallingSilkBucketOne: "",
-        isfallingSilkBucketOne: "",
+        selectOne: false,
         fallingSilkBucketTwo: "",
-        isfallingSilkBucketTwo: "",
+        selectTwo: false,
         fallingSilkBucketThree: "",
-        isfallingSilkBucketThree: "",
+        selectThree: false,
         back: "",
         oneBack: "",
         twoBack: "",
@@ -712,13 +736,14 @@
         hourYield: "",
       };
         if (this.productRegisterNumber) {
-          getYieldRegisterInfo({ number:this.productRegisterNumber }).then(
+          await getYieldRegisterInfo({ number:this.productRegisterNumber }).then(
             (response) => {
               if (response.code === 200) {
                 let config = JSON.parse(
                   JSON.stringify(response.data ? response.data : {})
                 );
                 this.ruleForm = config;
+                this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
                 this.tableDataItems=config.items
                   ? config.items
                   : [];
@@ -732,26 +757,42 @@
         }
     },
     getTableEdit(){
-      this.tableData=this.tableDataItems
-      if( this.tableDataCircles.length>0){
+      if(this.tableData.length>0){
+        for(let i in this.tableData){
+          if(this.tableDataItems.length>0){
+            for(let j in this.tableDataItems){
+              if(this.tableData[i].carNumber==this.tableDataItems[j].carNumber){
+                this.tableData[i]={
+                  perList:this.tableData[i].perList,
+                  isBlue:this.tableData[i].isBlue,
+                  ...this.tableDataItems[j],
+                }
+              }
+            }
+          }
+          
+        }
+      }
+      this.yieldRegisterId=this.tableDataItems.length>0?this.tableDataItems[0].yieldRegisterId:""
+      if(this.tableDataCircles.length>0){
         for(let i in this.tableData){
           for(let j in this.tableDataCircles){
             if(this.tableDataCircles[j].carNumber==this.tableData[i].carNumber){
               let circle=this.tableDataCircles[j].circle
-              let pieceNumberList=this.tableDataCircles[j].pieceNumber||[]
-              this.tableData[i]['allYield'+circle]=this.tableDataCircles[j]['allYield'+circle]
-              this.tableData[i]['oneYield'+circle]=this.tableDataCircles[j]['oneYield'+circle]
-              this.tableData[i]['reelingdiscount'+circle]=this.tableDataCircles[j]['reelingdiscount'+circle]
+              let pieceNumberList=this.tableDataCircles[j].pieceNumbers||[]
+              this.tableData[i]['allYield'+circle]=this.tableDataCircles[j]['allYield']
+              this.tableData[i]['oneYield'+circle]=this.tableDataCircles[j]['oneYield']
+              this.tableData[i]['reelingdiscount'+circle]=this.tableDataCircles[j]['reelingdiscount']
               if(pieceNumberList.length>0){
                 for(let k in pieceNumberList){
-                  this.tableData[i]['pieceNumber'+circle+pieceNumberList[k].pieceNumber]
+                  this.tableData[i]['pieceNumber'+circle+pieceNumberList[k].pieceNumber]=pieceNumberList[k].value
                 }
               }
-              this.tableData[i]
             }
           }
         }
       }
+      this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
     },
     // 琛ㄦ牸鐨勮绠楅棶棰�
     getOneYield(row){
@@ -845,6 +886,7 @@
                   JSON.stringify(data ? data : {})
                 );
                 this.ruleForm = config;
+                this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
                 this.tableDataItems=config.items
                   ? config.items
                   : [];
@@ -858,7 +900,6 @@
                 number:data.number,
               }
           });
-          this.getGroupNumber(true)
         }
       }
     },
@@ -887,17 +928,29 @@
             })
             this.$set(this.tableData[i],'isBlue',true)
             this.$set(this.tableData[i],'pieceNumber'+form.pieceNumber+form.pieces,form.netWeight)
+            this.tableShow=false;
+            this.$nextTick(()=>{
+              this.tableShow=true;
+              this.$forceUpdate();
+            })
             break;
           }
         }
       }
       if(form.netWeight){
         if(form.pieceNumber==3&&form.pieces==4){
-          this.$refs.addProductDialog.proForm.carNumber=this.tableData[Number(string)+1].carNumber
-          this.$set(this.tableData[Number(string)],'isBlue',false)
-          this.$set(this.tableData[Number(string+1)],'isBlue',true)
-          this.$refs.addProductDialog.proForm.pieceNumber=1
-          this.$refs.addProductDialog.proForm.pieces=1
+          if(Number(string)+1<=this.tableData.length){
+            this.$refs.addProductDialog.proForm.carNumber=this.tableData[Number(string)+1].carNumber
+            this.$refs.addProductDialog.proForm.pieceNumber=1
+            this.$refs.addProductDialog.proForm.pieces=1
+            this.$set(this.tableData[Number(string)+1],'isBlue',true)
+            this.$set(this.tableData[Number(string)],'isBlue',false)
+            this.tableShow=false;
+            this.$nextTick(()=>{
+              this.tableShow=true;
+              this.$forceUpdate();
+            })
+          }
         }else{
           if(form.pieces==4){
             this.$refs.addProductDialog.proForm.pieceNumber=Number(form.pieceNumber)+1
@@ -917,6 +970,7 @@
       }).then((res) => {
         if (res.code == 200) {
           this.nameList = res.data || [];
+          this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'')
         }
       });
       //瑙勬牸
@@ -936,24 +990,36 @@
         }
       });
     },
-    getGroupNumber(val){
-      if(this.ruleForm.workshopId){
+    getGroupNumber(val,prop){
+      if(this.ruleForm.workshopNumber){
         //缁勫埆
-        getWorkshopManageGroup({number:this.ruleForm.workshopId}).then((res) => {
+        getWorkshopManageGroup({number:this.ruleForm.workshopNumber}).then((res) => {
            if (res.code == 200) {
-              this.workshopGroupList=[]
               let workshopGroupList = res.data || {};
+              this.workshopGroupList=[]
               if(Object.keys(workshopGroupList).length>0){
                 for(let i in workshopGroupList){
                   this.workshopGroupList.push(workshopGroupList[i])
                 }
+                if(prop&&prop!='groupNumber'){
+                  this.ruleForm.groupNumber=''
+                }
+                // 缂栬緫
+                if(val){
+                  setTimeout(()=>{
+                    this.$set(this.ruleForm,'groupNumber',this.ruleForm.groupNumber)
+                  },200)
+                }
               }
+            }else{
+              this.workshopGroupList=[]
+              this.ruleForm.groupNumber=''
             }
           });
           if(this.ruleForm.groupNumber&&this.ruleForm.marketId){
             let workshopName=''
             for(let i in this.nameList){
-              if( this.nameList[i].number==this.ruleForm.workshopId){
+              if( this.nameList[i].number==this.ruleForm.workshopNumber){
                 workshopName= this.nameList[i].name
                 break;
               }
@@ -982,12 +1048,16 @@
                 }
                 this.tableData[0].isBlue=true
                }
+               this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
+              
               //  缂栬緫
                if(val){
                 this.getTableEdit()
                }
-               this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:''
-               
+              }else{
+                this.tableData=[]
+                this.ruleForm.level=''
+                this.ruleForm.carNumber=''
               }
             });
           }
@@ -1023,7 +1093,7 @@
         circle: "",
         marketId: "",
         fallingSilkCocoonNumber: "",
-        workshopId: "",
+        workshopNumber: "",
         bucketCocoonNumber: "",
         groupNumber: "",
         vehicleSpeed: "",
@@ -1035,11 +1105,11 @@
         groupReelingdiscount: "",
         fallingSilkBucket: "",
         fallingSilkBucketOne: "",
-        isfallingSilkBucketOne: "",
+        selectOne: false,
         fallingSilkBucketTwo: "",
-        isfallingSilkBucketTwo: "",
+        selectTwo: false,
         fallingSilkBucketThree: "",
-        isfallingSilkBucketThree: "",
+        selectThree:false,
         back: "",
         oneBack: "",
         twoBack: "",
@@ -1077,17 +1147,13 @@
           form.theorySilkAmount=Number(form.theorySilkAmount)
           form.total=Number(form.total)
           form.vehicleSpeed=Number(form.vehicleSpeed)
-          form.workshopId	=Number(form.workshopId)
-          delete form.isfallingSilkBucketOne
-          delete form.isfallingSilkBucketThree
-          delete form.isfallingSilkBucketTwo
           for(let i in tableData){
-            circles.push({
+            let listItems1={
               allYield:Number(tableData[i].allYield1)||0, //浜ч噺
               carNumber:tableData[i].carNumber,
               circle:1,//鍥炴暟
               oneYield:Number(tableData[i].oneYield1)||0,//	鍙颁骇
-              pieceNumber:[
+              pieceNumbers:[
                 {
                   pieceNumber:1,
                   value:Number(tableData[i].pieceNumber11)||0
@@ -1106,13 +1172,12 @@
                 },
               ],
               reelingdiscount:tableData[i].reelingdiscount1||'', //缂姌
-              // yieldRegisterId:''
-            })
-            circles.push({
+            }
+            let listItems2={
               allYield:Number(tableData[i].allYield2)||0, //浜ч噺
               carNumber:tableData[i].carNumber,
               circle:2,//鍥炴暟
-              pieceNumber:[
+              pieceNumbers:[
                 {
                   pieceNumber:1,
                   value:Number(tableData[i].pieceNumber21)||0
@@ -1132,14 +1197,13 @@
               ],
               oneYield:Number(tableData[i].oneYield2)||0,//	鍙颁骇
               reelingdiscount:tableData[i].reelingdiscount2||'', //缂姌
-              // yieldRegisterId:''
-            })
-            circles.push({
+            }
+            let listItems3={
               allYield:Number(tableData[i].allYield3)||0, //浜ч噺
               carNumber:tableData[i].carNumber,
               circle:3,//鍥炴暟
               oneYield:Number(tableData[i].oneYield3)||0,//	鍙颁骇
-              pieceNumber:[
+              pieceNumbers:[
                 {
                   pieceNumber:1,
                   value:Number(tableData[i].pieceNumber31)||0
@@ -1159,25 +1223,32 @@
               ],
               reelingdiscount:tableData[i].reelingdiscount3||'', //缂姌
               // yieldRegisterId:''
-            })
-            items.push({
+            }
+            let listItems4={
               hourYield:Number(tableData[i].hourYield)||0,
               carNumber:tableData[i].carNumber,
               oneYield:Number(tableData[i].oneYield)||0,
               peopleYield:Number(tableData[i].peopleYield)||0,
               personReelingdiscount:tableData[i].personReelingdiscount||'',
               // yieldRegisterId:''
-            })
+            }
+            if(this.yieldRegisterId){
+              listItems1.yieldRegisterId=this.yieldRegisterId
+              listItems2.yieldRegisterId=this.yieldRegisterId
+              listItems3.yieldRegisterId=this.yieldRegisterId
+              listItems4.yieldRegisterId=this.yieldRegisterId
+            }
+            circles.push(listItems1)
+            circles.push(listItems2)
+            circles.push(listItems3)
+            items.push(listItems4)
           }
           let params = {
+            ...form,
             circles: circles,
             items:items,
-            ...form,
           };
-          // 缂栬緫
-          if (this.productRegisterId) {
-            params.id = this.ruleForm.id ? this.ruleForm.id : Number(this.productRegisterId);
-          }
+          console.log(params,'===params111')
           saveYieldRegister(params)
             .then((res) => {
               if (res.code == 200) {
@@ -1249,7 +1320,8 @@
     .select-width {
       width: calc(100%  - 20px);
       .select-width-input{
-        width:calc(100% - 200px);float:left;
+        width:150px;
+        float:left;
       }
     }
     .body-top {
@@ -1320,7 +1392,4 @@
 .c-n {
   cursor: no-drop;
 }
-
-::v-deep {
-}
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.8.0