From 1cd64a26daed3e0eb7b4ccf74e50267d79eaef09 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 07 五月 2024 18:21:56 +0800 Subject: [PATCH] 纤度登记表的新增模块 限制数量只能输入整数 --- src/views/productManage/productRegisterForm/addProductRegisterPage.vue | 1311 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 1,158 insertions(+), 153 deletions(-) diff --git a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue index 4957b7f..8edbfb9 100644 --- a/src/views/productManage/productRegisterForm/addProductRegisterPage.vue +++ b/src/views/productManage/productRegisterForm/addProductRegisterPage.vue @@ -2,14 +2,27 @@ <div class="add-product-page"> <div class="top-view"> <div class="t-left"> - <el-button type="primary" size="small">鏀惧純</el-button> - <el-button type="primary" size="small">淇濆瓨</el-button> - <el-divider direction="vertical"></el-divider> - <el-button type="primary" size="small">閫�鍑�</el-button> + <el-button type="primary" size="small" @click="cancelClickOne" + >鏀惧純</el-button + > + <el-button + type="primary" + size="small" + :loading="isAddloading" + @click="saveClickOne('ruleForm')" + >淇濆瓨</el-button + > + <!-- <el-divider direction="vertical"></el-divider> --> + <!-- <el-button type="primary" size="small" @click="quitClick">閫�鍑�</el-button> --> </div> <div class="t-right"> - <div class="t-right-circle" :class="isDeviceConnectStatus ? 't-r-bg-green ' : 't-r-bg-red '"></div> - <div :class="isDeviceConnectStatus ? 't-right-green' : 't-right-red'">璁¢噺浠櫒杩炴帴姝e父</div> + <div + class="t-right-circle" + :class="isDeviceConnectStatus ? 't-r-bg-green ' : 't-r-bg-red '" + ></div> + <div :class="isDeviceConnectStatus ? 't-right-green' : 't-right-red'"> + 璁¢噺浠櫒杩炴帴姝e父 + </div> </div> </div> <div class="body-card"> @@ -19,7 +32,7 @@ :model="ruleForm" :rules="rules" ref="ruleForm" - label-width="80px" + label-width="85px" label-position="right" class="demo-ruleForm" > @@ -28,196 +41,584 @@ <el-form-item label="缂栧彿" prop="number"> <el-input v-model="ruleForm.number" size="small"></el-input> </el-form-item> - <el-form-item label="鐢熶骇鐢ㄦ椂" prop="productTime"> - <el-input v-model="ruleForm.productTime" size="small"></el-input> + <el-form-item label="鐢熶骇鐢ㄦ椂" prop="record"> + <el-input + v-model.number="ruleForm.record" + size="small" + ></el-input> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="鐢熶骇鏃ユ湡" prop="productDate"> + <el-form-item label="鐢熶骇鏃ユ湡" prop="createTime"> <el-date-picker + value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡" - v-model="ruleForm.productDate" + v-model="ruleForm.createTime" size="small" style="width: 100%" ></el-date-picker> </el-form-item> - <el-form-item label="鍥炴暟" prop="numTimes"> - <el-input v-model="ruleForm.numTimes" size="small"></el-input> + <el-form-item label="鍥炴暟" prop="circle"> + <el-input + v-model.number="ruleForm.circle" + size="small" + ></el-input> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="搴勫彛" prop="lots"> - <el-select v-model="ruleForm.lots" placeholder="璇烽�夋嫨搴勫彛" size="small"> - <el-option label="搴勫彛涓�" value="搴勫彛涓�"></el-option> - <el-option label="搴勫彛浜�" value="搴勫彛浜�"></el-option> + <el-form-item label="搴勫彛" prop="marketId"> + <el-select + v-model="ruleForm.marketId" + placeholder="璇烽�夋嫨" + class="select-width" + @change='getGroupNumber' + > + <el-option + v-for="item in marketList" + :key="item.ID" + :label="item.name" + :value="item.ID" + > + </el-option> </el-select> </el-form-item> - <el-form-item label="钀戒笣鑼ч噺" prop="silkCocoonCount"> - <el-input v-model="ruleForm.silkCocoonCount" size="small"></el-input> + <el-form-item label="钀戒笣鑼ч噺" prop="fallingSilkCocoonNumber"> + <el-input + v-model.number="ruleForm.fallingSilkCocoonNumber" + size="small" + ></el-input> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="杞﹂棿" prop="workshop"> - <el-select v-model="ruleForm.workshop" placeholder="璇烽�夋嫨杞﹂棿" size="small"> - <el-option label="杞﹂棿涓�" value="杞﹂棿涓�"></el-option> - <el-option label="杞﹂棿浜�" value="杞﹂棿浜�"></el-option> - <el-option label="杞﹂棿涓�" value="杞﹂棿涓�"></el-option> - <el-option label="杞﹂棿鍥�" value="杞﹂棿鍥�"></el-option> + <el-form-item label="杞﹂棿" prop="workshopNumber"> + <el-select + v-model="ruleForm.workshopNumber" + placeholder="璇烽�夋嫨" + class="select-width" + @change='getGroupNumber' + > + <el-option + v-for="item in nameList" + :key="item.number" + :label="item.name" + :value="item.number" + > + </el-option> </el-select> </el-form-item> - <el-form-item label="姣忔《鑼ч噺" prop="barrelCocoonCount"> + <el-form-item label="姣忔《鑼ч噺" prop="bucketCocoonNumber"> <div style="display: flex"> - <el-input v-model="ruleForm.silkCocoonCount" size="small"></el-input> - <span>鍏�</span> + <el-input + v-model.number="ruleForm.bucketCocoonNumber" + size="small" + ></el-input> + <span class='margin_left_5px'>鍏�</span> </div> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="缁勫埆" prop="group"> - <el-select v-model="ruleForm.group" placeholder="璇烽�夋嫨缁勫埆" size="small"> + <el-form-item label="缁勫埆" prop="groupNumber"> + <el-select + v-model="ruleForm.groupNumber" + placeholder="璇峰厛閫夋嫨杞﹂棿" + no-data-text='璇峰厛閫夋嫨杞﹂棿' + class="select-width" + @change="getGroupNumber(false,'groupNumber')" + > <el-option - v-for="item in groupOptions" - :key="item.id" - :label="item.value" - :value="item.id" - ></el-option> + v-for="item in workshopGroupList" + :key="item" + :label="item" + :value="item" + > + </el-option> </el-select> </el-form-item> - <el-form-item label="瀹為檯杞﹂��" prop="actualSpeed"> - <el-input v-model="ruleForm.actualSpeed" size="small"></el-input> + <el-form-item label="瀹為檯杞﹂��" prop="vehicleSpeed"> + <el-input + v-model.number="ruleForm.vehicleSpeed" + size="small" + ></el-input> </el-form-item> </el-col> <el-col :span="3"> <el-form-item label="瑙勬牸" prop="spec"> - <el-input v-model="ruleForm.spec" size="small"></el-input> + <el-select + v-model="ruleForm.spec" + placeholder="璇烽�夋嫨" + class="select-width" + > + <el-option + v-for="item in specList" + :key="item.ID" + :label="item.name" + :value="item.name" + > + </el-option> + </el-select> </el-form-item> - <el-form-item label="涔欑彮鏃堕棿" prop="bShiftTime"> - <el-input v-model="ruleForm.bShiftTime" size="small"></el-input> + <el-form-item label="涔欑彮鏃堕棿" prop="timeYi"> + <el-date-picker + value-format="yyyy-MM-dd" + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="ruleForm.timeYi" + size="small" + style="width: 100%" + ></el-date-picker> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="鏄惁缁撳簞" prop="end"> - <el-input v-model="ruleForm.spec" size="small"></el-input> + <el-form-item label="鏄惁缁撳簞" prop="jieZhuang"> + <el-input + v-model="ruleForm.jieZhuang" + size="small" + ></el-input> </el-form-item> - <el-form-item label="鐢茬彮鏃堕棿" prop="aShiftTime"> - <el-input v-model="ruleForm.aShiftTime" size="small"></el-input> + <el-form-item label="鐢茬彮鏃堕棿" prop="timeJia"> + <el-date-picker + value-format="yyyy-MM-dd" + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="ruleForm.timeJia" + size="small" + style="width: 100%" + ></el-date-picker> </el-form-item> </el-col> <el-col :span="3"> - <el-form-item label="绛夌骇" prop="grade"> - <el-input v-model="ruleForm.grade" size="small"></el-input> + <el-form-item label="绛夌骇" prop="level"> + <el-input + disabled + v-model="ruleForm.level" + size="small" + ></el-input> </el-form-item> - <el-form-item label="杞︾粍缂姌" prop="reelingDiscount"> - <el-input v-model="ruleForm.reelingDiscount" size="small"></el-input> + + <el-form-item label="杞︾粍缂姌" prop="groupReelingdiscount"> + <el-input + v-model="ruleForm.groupReelingdiscount" + size="small" + ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="16"> - <el-form-item label="钀戒笣妗舵暟:" prop="doffBarrelage"> + <el-form-item label="钀戒笣妗舵暟:" prop="fallingSilkBucket"> <div class="doff-barrelage-card"> - <div class="d-b-common"> - <el-input v-model="ruleForm.oneInput" size="small" class="d-b-c-input"></el-input> - <el-checkbox v-model="ruleForm.isOneDoff"></el-checkbox> + <div class="select-width"> + <el-form-item + 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" + ></el-input> + </el-form-item> + <el-checkbox + v-model="ruleForm.selectOne" + ></el-checkbox> </div> - <div class="d-b-common"> - <el-input v-model="ruleForm.twoInput" size="small" class="d-b-c-input"></el-input> - <el-checkbox v-model="ruleForm.isTwoDoff"></el-checkbox> + <div class="select-width"> + <el-form-item + label="" + @input="inputStart" + label-width="0" + :rules="[ + { + required: ruleForm.selectTwo, + message: '璇峰~鍐�', + trigger: 'change', + }, + ]" + prop="fallingSilkBucketTwo" + class='margin_right_10px select-width-input' + > + <el-input + v-model="ruleForm.fallingSilkBucketTwo" + size="small" + class="d-b-c-input" + ></el-input> + </el-form-item> + <el-checkbox + v-model="ruleForm.selectTwo" + ></el-checkbox> </div> - <div class="d-b-common"> - <el-input v-model="ruleForm.threeInput" size="small" class="d-b-c-input"></el-input> - <el-checkbox v-model="ruleForm.isThreeDoff"></el-checkbox> + <div class="select-width"> + <el-form-item + label="" + @input="inputStart" + label-width="" + :rules="[ + { + required: ruleForm.selectThree, + message: '璇峰~鍐�', + trigger: 'change', + }, + ]" + prop="fallingSilkBucketThree" + class='margin_right_10px select-width-input' + > + <el-input + v-model="ruleForm.fallingSilkBucketThree" + size="small" + class="d-b-c-input" + ></el-input> + </el-form-item> + <el-checkbox + v-model="ruleForm.selectThree" + ></el-checkbox> </div> </div> </el-form-item> - <el-form-item label="鍙峰甫棰滆壊:" prop="numBandColor"> + <el-form-item label="鍙峰甫棰滆壊:" prop="back"> <div class="doff-barrelage-card"> <div class="d-b-common"> - <div class="n-m-c-label">绗竴鍥�</div> - <el-input v-model="ruleForm.oneInput" size="small" class="d-b-c-input"></el-input> + <el-form-item + label="绗竴鍥�" + @input="inputStartTwo" + label-width="90px" + prop="oneBack" + class="select-width" + > + <el-input + v-model="ruleForm.oneBack" + size="small" + ></el-input> + </el-form-item> </div> <div class="d-b-common"> - <div class="n-m-c-label">绗簩鍥�</div> - <el-input v-model="ruleForm.twoInput" size="small" class="d-b-c-input"></el-input> + <el-form-item + label="绗簩鍥�" + @input="inputStartTwo" + label-width="90px" + prop="twoBack" + class="select-width" + > + <el-input + v-model="ruleForm.twoBack" + size="small" + ></el-input> + </el-form-item> </div> <div class="d-b-common"> - <div class="n-m-c-label">绗笁鍥�</div> - <el-input v-model="ruleForm.threeInput" size="small" class="d-b-c-input"></el-input> + <el-form-item + label="绗笁鍥�" + @input="inputStartTwo" + label-width="90px" + prop="threeBack" + class="select-width" + > + <!-- <div class="n-m-c-label">绗笁鍥�</div> --> + <el-input + v-model="ruleForm.threeBack" + size="small" + ></el-input> + </el-form-item> </div> </div> </el-form-item> </el-col> <el-col :span="4"> - <el-form-item label="鐞嗚涓濋噺" prop="theorySilkCount"> - <el-input v-model="ruleForm.theorySilkCount" size="small"></el-input> + <el-form-item label="鐞嗚涓濋噺" prop="theorySilkAmount"> + <el-input + v-model.number="ruleForm.theorySilkAmount" + size="small" + ></el-input> </el-form-item> - <el-form-item label="鎬讳骇閲�" prop="totalOutput"> + <el-form-item label="鎬讳骇閲�" prop="total"> <div style="display: flex"> - <el-input v-model="ruleForm.totalOutput" size="small"></el-input> - <span>kg</span> + <el-input + v-model.number="ruleForm.total" + size="small" + ></el-input> + <span class='margin_left_5px'>kg</span> </div> </el-form-item> </el-col> <el-col :span="4"> - <el-form-item label="鍙版椂浜ч噺" prop="platformTimeOutput"> - <el-input v-model="ruleForm.platformTimeOutput" size="small"></el-input> + <el-form-item label="鍙版椂浜ч噺" prop="hourYield"> + <el-input + v-model.number="ruleForm.hourYield" + size="small" + ></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <div class="b-t-right"> - <div class="b-t-r-icon" :class="isDeviceConnectStatus ? 'c-p' : 'c-n'" @click="deviceConnectClick"> + <div + class="b-t-r-icon" + :class="isDeviceConnectStatus ? 'c-p' : 'c-n'" + @click="deviceConnectClick" + > <i class="el-icon-d-arrow-left"></i> </div> </div> </div> <div class="body-table"> <div class="b-t-unit">鍗曚綅锛氬厠</div> - <el-table :data="tableData" style="width: 100%" border> - <el-table-column prop="carNum" label="杞﹀彿" width="99" align="center"> </el-table-column> + <el-table + :data="tableData" + style="width: 100%" + border + v-if='tableShow' + :height="'calc(100% - 0px)'" + :cell-style='cellStyle' + > + <el-table-column + prop="carNumber" + label="杞﹀彿" + width="99" + align="center" + > + </el-table-column> <el-table-column label="绗竴鍥�" align="center"> - <el-table-column prop="fist1" label="1" width="60" align="center"> </el-table-column> - <el-table-column prop="fist2" label="2" width="60" align="center"> </el-table-column> - <el-table-column prop="fist3" label="3" width="60" align="center"> </el-table-column> - <el-table-column prop="fist4" label="4" width="60" align="center"> </el-table-column> + <el-table-column + prop="pieceNumber11" + label="1" + width="60" + align="center" + > + + </el-table-column> + <el-table-column + prop="pieceNumber12" + label="2" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber13" + label="3" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber14" + label="4" + width="60" + align="center" + > + </el-table-column> </el-table-column> <el-table-column label="绗簩鍥�" align="center"> - <el-table-column prop="two1" label="1" width="60" align="center"> </el-table-column> - <el-table-column prop="two2" label="2" width="60" align="center"> </el-table-column> - <el-table-column prop="two3" label="3" width="60" align="center"> </el-table-column> - <el-table-column prop="two4" label="4" width="60" align="center"> </el-table-column> + <el-table-column + prop="pieceNumber21" + label="1" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber22" + label="2" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber23" + label="3" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber24" + label="4" + width="60" + align="center" + > + </el-table-column> </el-table-column> <el-table-column label="绗笁鍥�" align="center"> - <el-table-column prop="three1" label="1" width="60" align="center"> </el-table-column> - <el-table-column prop="three2" label="2" width="60" align="center"> </el-table-column> - <el-table-column prop="three3" label="3" width="60" align="center"> </el-table-column> - <el-table-column prop="three4" label="4" width="60" align="center"> </el-table-column> + <el-table-column + prop="pieceNumber31" + label="1" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber32" + label="2" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber33" + label="3" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="pieceNumber34" + label="4" + width="60" + align="center" + > + </el-table-column> </el-table-column> - <el-table-column prop="date" label="鍙颁骇閲�" align="center"> </el-table-column> - <el-table-column prop="date" label="涓汉浜ч噺" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="鍙版椂浜ч噺" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓汉缂姌" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓�鍥炰骇閲�" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓�鍥炲彴浜�" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓�鍥炵极鎶�" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="浜屽洖浜ч噺" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="浜屽洖鍙颁骇" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="浜屽洖缂姌" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓夊洖浜ч噺" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓夊洖鍙颁骇" width="60" align="center"> </el-table-column> - <el-table-column prop="date" label="涓夊洖缂姌" width="60" align="center"> </el-table-column> + <el-table-column prop="oneYield" label="鍙颁骇閲�" align="center"> + <template slot-scope="scope"> + {{getOneYield(scope.row)}} + </template> + </el-table-column> + <el-table-column + prop="peopleYield" + label="涓汉浜ч噺" + width="60" + align="center" + > + <template slot-scope="scope"> + {{scope.row.peopleYield!=0?scope.row.peopleYield.toFixed(2):''}} + </template> + </el-table-column> + <el-table-column + prop="hourYield" + label="鍙版椂浜ч噺" + width="60" + align="center" + > + <template slot-scope="scope"> + {{(ruleForm.record&&ruleForm.record!=0&&scope.row.oneYield)?(scope.row.oneYield/ruleForm.record).toFixed(2):''}} + </template> + </el-table-column> + <el-table-column + prop="personReelingdiscount" + label="涓汉缂姌" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="allYield1" + label="涓�鍥炰骇閲�" + width="60" + align="center" + > + <template slot-scope="scope"> + {{getallYield(scope.row,1)}} + </template> + </el-table-column> + <el-table-column + prop="oneYield1" + label="涓�鍥炲彴浜�" + width="60" + align="center" + > + <template slot-scope="scope"> + {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield1)?(scope.row.allYield1/ruleForm.record).toFixed(2):''}} + </template> + </el-table-column> + <el-table-column + prop="reelingdiscount1" + label="涓�鍥炵极鎶�" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="allYield2" + label="浜屽洖浜ч噺" + width="60" + align="center" + > + <template slot-scope="scope"> + {{getallYield(scope.row,2)}} + </template> + </el-table-column> + <el-table-column + prop="oneYield2" + label="浜屽洖鍙颁骇" + width="60" + align="center" + > + <template slot-scope="scope"> + {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield2)?(scope.row.allYield2/ruleForm.record).toFixed(2):''}} + </template> + </el-table-column> + <el-table-column + prop="reelingdiscount2" + label="浜屽洖缂姌" + width="60" + align="center" + > + </el-table-column> + <el-table-column + prop="allYield3" + label="涓夊洖浜ч噺" + width="60" + align="center" + > + <template slot-scope="scope"> + {{getallYield(scope.row,3)}} + </template> + </el-table-column> + <el-table-column + prop="oneYield3" + label="涓夊洖鍙颁骇" + width="60" + align="center" + > + <template slot-scope="scope"> + {{(ruleForm.record&&ruleForm.record!=0&&scope.row.allYield3)?(scope.row.allYield3/ruleForm.record).toFixed(2):''}} + </template> + </el-table-column> + <el-table-column + prop="reelingdiscount3" + label="涓夊洖缂姌" + width="60" + align="center" + > + </el-table-column> </el-table> </div> + </div> <!-- 浠櫒杩炴帴姝e父寮圭獥 --> - <addProductDialog ref="addProductDialog" /> - </div> + <addProductDialog ref="addProductDialog" + :marketList='marketList' + :nameList='nameList' + :form='ruleForm' + :specList='specList' + @changeForm='changeForm' + @changeTableInput='changeTableInput' /> + </div> + </template> <script> -import addProductDialog from "./components/addProductDialog" +import addProductDialog from "./components/addProductDialog"; +import { + getYieldRegisterInfo, + saveYieldRegister, + getWorkshopManageCar, + getWorkshopManageGroup, +} from "@/api/productManage/productRegisterForm.js"; +import { + getDictList, +} from "@/api/productManage/silkRegisterForm.js"; export default { name: "addProductRegisterPage", props: {}, @@ -226,70 +627,668 @@ computed: {}, data() { return { - isDeviceConnectStatus: false, + isDeviceConnectStatus: true, + marketList: [], //搴勫彛 + nameList: [], //杞﹂棿 + workshopGroupList: [], //缁勫埆 + specList: [], //瑙勬牸 ruleForm: { number: "", - productTime: "", - productDate: "", - numTimes: "", - lots: "搴勫彛涓�", - silkCocoonCount: "", - workshop: "杞﹂棿涓�", - barrelCocoonCount: "", - group: 1, - actualSpeed: "", + record: "", + createTime: "", + circle: "", + marketId: "", + fallingSilkCocoonNumber: "", + workshopNumber: "", + bucketCocoonNumber: "", + groupNumber: "", + vehicleSpeed: "", spec: "", - bShiftTime: "", - aShiftTime: "", - end: false, - reelingDiscount: "", - grade: "", - oneInput: "", - isOneDoff: false, - twoInput: "", - isTwoDoff: false, - threeInput: "", - isThreeDoff: false, - theorySilkCount: "", - totalOutput: "", - platformTimeOutput: "" + timeYi: "", + jieZhuang: "", + timeJia: "", + level: "", + groupReelingdiscount: "", + fallingSilkBucket: "", + fallingSilkBucketOne: "", + selectOne: false, + fallingSilkBucketTwo: "", + selectTwo: false, + fallingSilkBucketThree: "", + selectThree: false, + back: "", + oneBack: "", + twoBack: "", + threeBack: "", + theorySilkAmount: "", + total: "", + hourYield: "", }, rules: { - number: [{ required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: "blur" }], - productDate: [{ required: true, message: "璇烽�夋嫨鐢熶骇鏃ユ湡", trigger: "change" }], - workshop: [{ type: "date", required: true, message: "璇烽�夋嫨杞﹂棿", trigger: "change" }] + number: [{ required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: ["change", "blur"] }], + createTime: [ + { required: true, message: "璇烽�夋嫨鐢熶骇鏃ユ湡", trigger: ["change", "blur"] }, + ], + marketId: [ + { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] }, + ], + workshopNumber: [ + { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] }, + ], + groupNumber: [ + { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] }, + ], + spec: [ + { required: true, message: "璇烽�夋嫨", trigger: ["change", "blur"] }, + ], }, - groupOptions: [ - { id: 1, value: 1 }, - { id: 2, value: 2 }, - { id: 3, value: 3 }, - { id: 4, value: 4 }, - { id: 5, value: 5 }, - { id: 6, value: 6 }, - { id: 7, value: 7 }, - { id: 8, value: 8 }, - { id: 9, value: 9 } - ], - tableData: [] - } + tableData: [], + isAddloading: false, + productRegisterId:null, + productRegisterNumber:null, + tableDataItems:[], + tableDataCircles:[], + yieldRegisterId:'', + tableShow:true, + }; }, - created() {}, + mounted() { + let query = this.$route.query; + if (query) { + this.productRegisterId = query.id ? query.id : ""; + 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=''; + if(row.pieceNumber11||row.pieceNumber12||row.pieceNumber13||row.pieceNumber14||row.pieceNumber21||row.pieceNumber22||row.pieceNumber23||row.pieceNumber24||row.pieceNumber31||row.pieceNumber32||row.pieceNumber33||row.pieceNumber34){ + if(row.pieceNumber11){ + string=Number(row.pieceNumber11) + } + if(row.pieceNumber12){ + string=Number(string)+Number(row.pieceNumber12) + } + if(row.pieceNumber13){ + string=Number(string)+Number(row.pieceNumber13) + } + if(row.pieceNumber14){ + string=Number(string)+Number(row.pieceNumber14) + } + if(row.pieceNumber21){ + string=Number(string)+Number(row.pieceNumber21) + } + if(row.pieceNumber22){ + string=Number(string)+Number(row.pieceNumber22) + } + if(row.pieceNumber23){ + string=Number(string)+Number(row.pieceNumber23) + } + if(row.pieceNumber24){ + string=Number(string)+Number(row.pieceNumber24) + } + if(row.pieceNumber31){ + string=Number(string)+Number(row.pieceNumber31) + } + if(row.pieceNumber32){ + string=Number(string)+Number(row.pieceNumber32) + } + if(row.pieceNumber33){ + string=Number(string)+Number(row.pieceNumber33) + } + if(row.pieceNumber34){ + string=Number(string)+Number(row.pieceNumber34) + } + } + this.getPeopleYield(row) + row.oneYield=Number(string); + return string.toFixed(2); + }, + getPeopleYield(row){ + let string=0 + if(row.perList){ + if(row.perList.length>0){ + let carNumber=row.perList[row.perList.length-1] + for(let i in this.tableData){ + for(let j in row.perList){ + if(row.perList[j]==this.tableData[i].carNumber){ + string=string+this.tableData[i].oneYield + } + } + } + for(let k in this.tableData){ + if(this.tableData[k].carNumber==carNumber){ + this.$set(this.tableData[k],'peopleYield',string) + break; + } + } + } + } + }, + getallYield(row,val){ + let string=''; + if(row['pieceNumber'+val+'1']||row['pieceNumber'+val+'2']||row['pieceNumber'+val+'3']||row['pieceNumber'+val+'4']){ + if(row['pieceNumber'+val+'1']){ + string=Number(row['pieceNumber'+val+'1']) + } + if(row['pieceNumber'+val+'2']){ + string=Number(string)+Number(row['pieceNumber'+val+'2']) + } + if(row['pieceNumber'+val+'3']){ + string=Number(string)+Number(row['pieceNumber'+val+'3']) + } + if(row['pieceNumber'+val+'4']){ + string=Number(string)+Number(row['pieceNumber'+val+'4']) + } + } + row['allYield'+val]=Number(string); + return string.toFixed(2); + }, + changeForm(form,val,data){ + if(val){ + 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}){ + let cellStyle; + if(row.isBlue){ + let pieceNumber=this.$refs.addProductDialog.proForm.pieceNumber||1 + let pieces=this.$refs.addProductDialog.proForm.pieces||1 + let number=(Number(pieceNumber)-1)*4+Number(pieces) + if(columnIndex==number){ + cellStyle='borderColor:#2a78fb;borderTop:1px solid #2a78fb;borderLeft:1px solid #2a78fb;' + } + }else{ + cellStyle='borderColor:#EBEEF5;borderTop:0;borderLeft:0' + } + return cellStyle; + }, + changeTableInput(form){ + let string='' + for(let i in this.tableData){ + if(this.tableData[i].carNumber==form.carNumber){ + string=i + if(Number(form.pieceNumber)>0&&Number(form.pieces)<5){ + this.tableData.map((item) => { + item.isBlue=false + }) + 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){ + 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 + this.$refs.addProductDialog.proForm.pieces=1 + }else{ + this.$refs.addProductDialog.proForm.pieces=Number(form.pieces)+1 + } + } + this.$refs.addProductDialog.proForm.netWeight='' + this.$forceUpdate(); + } + }, + getSelectDataList() { + //杞﹂棿 + getDictList({ + dictType: 1, + }).then((res) => { + if (res.code == 200) { + this.nameList = res.data || []; + this.$set(this.ruleForm,'workshopNumber',this.ruleForm.workshopNumber+'') + } + }); + //瑙勬牸 + getDictList({ + dictType: 3, + }).then((res) => { + if (res.code == 200) { + this.specList = res.data || []; + } + }); + //搴勫彛 + getDictList({ + dictType: 0, + }).then((res) => { + if (res.code == 200) { + this.marketList = res.data || []; + } + }); + }, + getGroupNumber(val,prop){ + if(this.ruleForm.workshopNumber){ + //缁勫埆 + getWorkshopManageGroup({number:this.ruleForm.workshopNumber}).then((res) => { + if (res.code == 200) { + 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.workshopNumber){ + workshopName= this.nameList[i].name + break; + } + } + let marketName='' + for(let i in this.marketList){ + if( this.marketList[i].ID==this.ruleForm.marketId){ + marketName= this.marketList[i].name + break; + } + } + getWorkshopManageCar({ + workshopName:workshopName, + marketName:marketName, + groupNumber:this.ruleForm.groupNumber, + }).then((res) => { + if (res.code == 200) { + this.tableData=[] + this.ruleForm.level=res.data.level||'' + let data = JSON.parse(JSON.stringify(res.data.car)) || []; + if(Object.keys(data).length>0){ + for(let i in data){ + for(let j in data[i]){ + this.tableData.push({carNumber:data[i][j],perList:data[i],isBlue:false}) + } + } + 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='' + } + }); + } + }else{ + this.workshopGroupList =[] + } + }, + inputStart() { + this.ruleForm.fallingSilkBucket = this.ruleForm.fallingSilkBucketOne + "-" + this.ruleForm.fallingSilkBucketTwo+"-" + this.ruleForm.fallingSilkBucketThree; + }, + inputStartTwo() { + this.ruleForm.back = this.ruleForm.oneBack + "-" + this.ruleForm.twoBack+"-" + this.ruleForm.threeBack; + }, // 浠櫒杩炴帴寮圭獥 deviceConnectClick() { - console.log("dddd") if (this.isDeviceConnectStatus) { - this.$refs.addProductDialog.editDialogVisible = true + 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; } - } - } -} + }, + // 閫�鍑� + quitClick() { + this.$router.go(-1); + }, + // 鏀惧純 + cancelClickOne() { + 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: "", + }; + this.$refs.ruleForm.resetFields(); + this.tableData = []; + }, + // 淇濆瓨 + saveClickOne(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + let form = JSON.parse(JSON.stringify(this.ruleForm)); + // params.workshopGroup=Number(params.workshopGroup) + this.isAddloading = true; + delete form.circleTwo; + let circles=[] + let items=[] + let tableData = JSON.parse( + JSON.stringify(this.tableData) + ); + 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){ + let listItems1={ + allYield:Number(tableData[i].allYield1)||0, //浜ч噺 + carNumber:tableData[i].carNumber, + circle:1,//鍥炴暟 + 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||'', //缂姌 + } + let listItems2={ + allYield:Number(tableData[i].allYield2)||0, //浜ч噺 + carNumber:tableData[i].carNumber, + circle:2,//鍥炴暟 + 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||'', //缂姌 + } + let listItems3={ + allYield:Number(tableData[i].allYield3)||0, //浜ч噺 + carNumber:tableData[i].carNumber, + circle:3,//鍥炴暟 + 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:'' + } + 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, + }; + console.log(params,'===params111') + saveYieldRegister(params) + .then((res) => { + if (res.code == 200) { + this.isRegisterSave = true; + this.$message({ + message: "淇濆瓨鎴愬姛锛�", + type: "success", + }); + this.$router.push({ + path: "/productManage/productRegisterForm", + }); + } + this.isAddloading = false; + }) + .catch(() => { + setTimeout(() => { + this.isAddloading = false; + }, 3000); + }); + } else { + console.log("error submit!!"); + + return false; + } + }); + }, + }, +}; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> .add-product-page { height: 100%; + position:relative; + ::v-deep .el-table .el-table__cell { + padding: 6px 0 !important; + height: 35px; + text-align: center; + } .top-view { margin: 20px 30px; height: 52px; @@ -318,6 +1317,13 @@ padding: 10px 15px; height: calc(100% - 180px); border-radius: 4px; + .select-width { + width: calc(100% - 20px); + .select-width-input{ + width:150px; + float:left; + } + } .body-top { display: flex; .b-t-left { @@ -357,6 +1363,8 @@ } } .body-table { + width:100%; + height:calc(100% - 263px); position: relative; .b-t-unit { position: absolute; @@ -384,7 +1392,4 @@ .c-n { cursor: no-drop; } - -::v-deep { -} -</style> +</style> \ No newline at end of file -- Gitblit v1.8.0