From 9a1a38de1cead46bfb28e22cdbdcf3fd32a4a94b Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期一, 29 四月 2024 11:49:00 +0800 Subject: [PATCH] 列表薪资类型的显示的数据处理+薪资方案的保存按钮增加加载状态 --- src/views/productManage/productRegisterForm/addProductRegisterPage.vue | 397 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 310 insertions(+), 87 deletions(-) diff --git a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue index 8ecc54c..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' > @@ -469,7 +491,7 @@ align="center" > <template slot-scope="scope"> - {{scope.row.peopleYield}} + {{scope.row.peopleYield!=0?scope.row.peopleYield:''}} </template> </el-table-column> <el-table-column @@ -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 @@ -589,7 +611,7 @@ <script> import addProductDialog from "./components/addProductDialog"; import { - // getYieldRegisterInfo, + getYieldRegisterInfo, saveYieldRegister, getWorkshopManageCar, getWorkshopManageGroup, @@ -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: [ @@ -664,6 +686,10 @@ isAddloading: false, productRegisterId:null, productRegisterNumber:null, + tableDataItems:[], + tableDataCircles:[], + yieldRegisterId:'', + tableShow:true, }; }, mounted() { @@ -673,8 +699,101 @@ this.productRegisterNumber = query.number ? query.number : ""; } this.getSelectDataList(); + this.getDetailsData() }, methods: { + async getDetailsData(){ + this.ruleForm = { + number: "", + record: "", + createTime: "", + circle: "", + marketId: "", + fallingSilkCocoonNumber: "", + workshopNumber: "", + bucketCocoonNumber: "", + groupNumber: "", + vehicleSpeed: "", + spec: "", + timeYi: "", + jieZhuang: "", + timeJia: "", + level: "", + groupReelingdiscount: "", + fallingSilkBucket: "", + fallingSilkBucketOne: "", + selectOne: false, + fallingSilkBucketTwo: "", + selectTwo: false, + fallingSilkBucketThree: "", + selectThree: false, + back: "", + oneBack: "", + twoBack: "", + threeBack: "", + theorySilkAmount: "", + total: "", + hourYield: "", + }; + if (this.productRegisterNumber) { + 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 + : []; + this.tableDataCircles=config.circles + ? config.circles + : []; + this.getGroupNumber(true) + } + } + ); + } + }, + getTableEdit(){ + 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].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]=pieceNumberList[k].value + } + } + } + } + } + } + this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:'' + }, // 琛ㄦ牸鐨勮绠楅棶棰� getOneYield(row){ let string=''; @@ -760,13 +879,28 @@ row['allYield'+val]=Number(string); return string; }, - changeForm(form,val){ + changeForm(form,val,data){ if(val){ - this.ruleForm.createTime=form.createTime - this.ruleForm.groupNumber=form.groupNumber - this.ruleForm.spec=form.spec - this.ruleForm.marketId=form.marketId - this.getGroupNumber() + if(Object.keys(data).length>0){ + let config = JSON.parse( + JSON.stringify(data ? data : {}) + ); + this.ruleForm = config; + this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'') + this.tableDataItems=config.items + ? config.items + : []; + this.tableDataCircles=config.circles + ? config.circles + : []; + this.$router.push({ + name:'addProductRegisterPage', + query:{ + id:data.id, + number:data.number, + } + }); + } } }, cellStyle({row,columnIndex}){ @@ -794,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 @@ -824,6 +970,7 @@ }).then((res) => { if (res.code == 200) { this.nameList = res.data || []; + this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'') } }); //瑙勬牸 @@ -843,24 +990,36 @@ } }); }, - getGroupNumber(){ - 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; } @@ -890,7 +1049,15 @@ this.tableData[0].isBlue=true } this.ruleForm.carNumber=this.tableData.length>0?this.tableData[0].carNumber:'' - + + // 缂栬緫 + if(val){ + this.getTableEdit() + } + }else{ + this.tableData=[] + this.ruleForm.level='' + this.ruleForm.carNumber='' } }); } @@ -907,8 +1074,8 @@ // 浠櫒杩炴帴寮圭獥 deviceConnectClick() { if (this.isDeviceConnectStatus) { - this.$refs.addProductDialog.proForm.pieceNumber=1 - this.$refs.addProductDialog.proForm.pieces=1 + this.$refs.addProductDialog.proForm.pieceNumber= this.$refs.addProductDialog.proForm.pieceNumber||1 + this.$refs.addProductDialog.proForm.pieces= this.$refs.addProductDialog.proForm.pieces||1 this.$forceUpdate(); this.$refs.addProductDialog.editDialogVisible = true; } @@ -926,7 +1093,7 @@ circle: "", marketId: "", fallingSilkCocoonNumber: "", - workshopId: "", + workshopNumber: "", bucketCocoonNumber: "", groupNumber: "", vehicleSpeed: "", @@ -938,11 +1105,11 @@ groupReelingdiscount: "", fallingSilkBucket: "", fallingSilkBucketOne: "", - isfallingSilkBucketOne: "", + selectOne: false, fallingSilkBucketTwo: "", - isfallingSilkBucketTwo: "", + selectTwo: false, fallingSilkBucketThree: "", - isfallingSilkBucketThree: "", + selectThree:false, back: "", oneBack: "", twoBack: "", @@ -967,63 +1134,121 @@ let tableData = JSON.parse( JSON.stringify(this.tableData) ); - // row.pieceNumber11||row.pieceNumber12||row.pieceNumber13||row.pieceNumber14||row.pieceNumber21||row.pieceNumber22||row.pieceNumber23||row.pieceNumber24||row.pieceNumber31||row.pieceNumber32||row.pieceNumber33||row.pieceNumber34){ - + form.bucketCocoonNumber=Number(form.bucketCocoonNumber) + form.circle=Number(form.circle) + form.fallingSilkBucketOne=Number(form.fallingSilkBucketOne) + form.fallingSilkBucketThree=Number(form.fallingSilkBucketThree) + form.fallingSilkBucketTwo=Number(form.fallingSilkBucketTwo) + form.fallingSilkCocoonNumber=Number(form.fallingSilkCocoonNumber) + form.groupNumber=Number(form.groupNumber) + form.hourYield=Number(form.hourYield) + form.marketId=Number(form.marketId) + form.record=Number(form.record) + form.theorySilkAmount=Number(form.theorySilkAmount) + form.total=Number(form.total) + form.vehicleSpeed=Number(form.vehicleSpeed) for(let i in tableData){ - circles.push({ - allYield:tableData[i].allYield1||'', //浜ч噺 + let listItems1={ + allYield:Number(tableData[i].allYield1)||0, //浜ч噺 carNumber:tableData[i].carNumber, circle:1,//鍥炴暟 - oneYield:tableData[i].oneYield1||'',// 鍙颁骇 - value1:tableData[i].pieceNumber11||'',//鐗囨暟 - value2:tableData[i].pieceNumber12||'',//鐗囨暟 - value3:tableData[i].pieceNumber13||'',//鐗囨暟 - value4:tableData[i].pieceNumber14||'',//鐗囨暟 + oneYield:Number(tableData[i].oneYield1)||0,// 鍙颁骇 + pieceNumbers:[ + { + pieceNumber:1, + value:Number(tableData[i].pieceNumber11)||0 + }, + { + pieceNumber:2, + value:Number(tableData[i].pieceNumber12)||0 + }, + { + pieceNumber:3, + value:Number(tableData[i].pieceNumber13)||0 + }, + { + pieceNumber:4, + value:Number(tableData[i].pieceNumber14)||0 + }, + ], reelingdiscount:tableData[i].reelingdiscount1||'', //缂姌 - // yieldRegisterId:'' - }) - circles.push({ - allYield:tableData[i].allYield2||'', //浜ч噺 + } + let listItems2={ + allYield:Number(tableData[i].allYield2)||0, //浜ч噺 carNumber:tableData[i].carNumber, circle:2,//鍥炴暟 - oneYield:tableData[i].oneYield2||'',// 鍙颁骇 - value1:tableData[i].pieceNumber21||'',//鐗囨暟 - value2:tableData[i].pieceNumber22||'',//鐗囨暟 - value3:tableData[i].pieceNumber23||'',//鐗囨暟 - value4:tableData[i].pieceNumber24||'',//鐗囨暟 + pieceNumbers:[ + { + pieceNumber:1, + value:Number(tableData[i].pieceNumber21)||0 + }, + { + pieceNumber:2, + value:Number(tableData[i].pieceNumber22)||0 + }, + { + pieceNumber:3, + value:Number(tableData[i].pieceNumber23)||0 + }, + { + pieceNumber:4, + value:Number(tableData[i].pieceNumber24)||0 + }, + ], + oneYield:Number(tableData[i].oneYield2)||0,// 鍙颁骇 reelingdiscount:tableData[i].reelingdiscount2||'', //缂姌 - // yieldRegisterId:'' - }) - circles.push({ - allYield:tableData[i].allYield3||'', //浜ч噺 + } + let listItems3={ + allYield:Number(tableData[i].allYield3)||0, //浜ч噺 carNumber:tableData[i].carNumber, circle:3,//鍥炴暟 - oneYield:tableData[i].oneYield3||'',// 鍙颁骇 - value1:tableData[i].pieceNumber31||'',//鐗囨暟 - value2:tableData[i].pieceNumber32||'',//鐗囨暟 - value3:tableData[i].pieceNumber33||'',//鐗囨暟 - value4:tableData[i].pieceNumber34||'',//鐗囨暟 + oneYield:Number(tableData[i].oneYield3)||0,// 鍙颁骇 + pieceNumbers:[ + { + pieceNumber:1, + value:Number(tableData[i].pieceNumber31)||0 + }, + { + pieceNumber:2, + value:Number(tableData[i].pieceNumber32)||0 + }, + { + pieceNumber:3, + value:Number(tableData[i].pieceNumber33)||0 + }, + { + pieceNumber:4, + value:Number(tableData[i].pieceNumber34)||0 + }, + ], reelingdiscount:tableData[i].reelingdiscount3||'', //缂姌 // yieldRegisterId:'' - }) - items.push({ - hourYield:tableData[i].hourYield||'', - carNumber:tableData[i].carNumber||'', - oneYield:tableData[i].oneYield||'', - peopleYield:tableData[i].peopleYield||'', + } + 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) { @@ -1033,7 +1258,7 @@ type: "success", }); this.$router.push({ - path: "/productManage/silkRegisterForm", + path: "/productManage/productRegisterForm", }); } this.isAddloading = false; @@ -1095,7 +1320,8 @@ .select-width { width: calc(100% - 20px); .select-width-input{ - width:calc(100% - 200px);float:left; + width:150px; + float:left; } } .body-top { @@ -1166,7 +1392,4 @@ .c-n { cursor: no-drop; } - -::v-deep { -} -</style> +</style> \ No newline at end of file -- Gitblit v1.8.0