From c880739ec4cd5ede33b31eb98ad5f7628ea288e5 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 11 十二月 2023 17:41:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/finishedProductInspection/finishedProduct-form.vue | 132 +++++++++++++++++++++++++++++++------------- 1 files changed, 93 insertions(+), 39 deletions(-) diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue index a09ed00..5457054 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue @@ -13,14 +13,26 @@ </div> <div class="page-main"> <div class="finishedProduct-basic"> - <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" - label-position="right" label-width="120px" style="width: 100%" size="small"> + <el-form :model="processInspectVo" :rules="processInspectRules" ref="addInspectionform" class="l-mes" + label-position="right" label-width="120px" style="width: 100%" size="small"> <div class="formwrapper"> <el-row> + <el-col :span="6"> + <el-form-item label="浜у搧妫�楠岀紪鍙凤細"> + <el-input @blur="selectInfoByOrderId" disabled + v-model="processInspectVo.finInsNo" autocomplete="off" /> + </el-form-item> + </el-col> <el-col :span="6"> <el-form-item label="璁㈠崟鍙凤細"> <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鎶ュ伐鍗曞彿锛�"> + <el-input disabled v-model="processInspectVo.productNo" + placeholder="璇疯緭鍏ユ姤宸ュ崟鍙凤細" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="6"> @@ -29,6 +41,8 @@ placeholder="璇疯緭鍏ュ鎴峰悕绉�" autocomplete="off" /> </el-form-item> </el-col> + </el-row> + <el-row> <el-col :span="6"> <el-form-item label="宸ョ▼鍚嶇О锛�"> <el-input disabled v-model="processInspectVo.sname" @@ -45,8 +59,6 @@ </el-select> </el-form-item> </el-col> - </el-row> - <el-row> <el-col :span="6"> <el-form-item label="浜у搧缂栫爜锛�"> <el-input disabled v-model="processInspectVo.mcode" @@ -59,6 +71,8 @@ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" /> </el-form-item> </el-col> + </el-row> + <el-row> <el-col :span="6"> <el-form-item label="鍗曚綅锛�"> <el-input disabled v-model="processInspectVo.unit" @@ -69,6 +83,21 @@ <el-form-item label="鏁伴噺锛�"> <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" :disabled="processInspectVo.id != null" /> + </el-form-item> + </el-col> + <el-col :span="6" v-if="processInspectVo.id != null"> + <el-form-item label="鎵规鍙凤細"> + <el-input v-model="processInspectVo.outBatchNo" autocomplete="off" disabled /> + </el-form-item> + </el-col> + <el-col :span="6" v-if="processInspectVo.id != null"> + <el-form-item label="浜у搧鍚堟牸搴撲綅锛�" prop="locationId"> + <el-select @change="changeLocation" clearable style="width:100%" + v-model="processInspectVo.locationId" placeholder="璇烽�夋嫨鍚堟牸搴撲綅" + :disabled="resultVal!=null && processInspectVo.id!=null" autocomplete="off"> + <el-option v-for="(item,i) in locationList" :key="i" + :label="item.locName+'-'+item.locNo" :value="item.id"></el-option> + </el-select> </el-form-item> </el-col> </el-row> @@ -96,21 +125,20 @@ <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column> <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" width="240" style="text-align: center;"> - <template slot-scope="scope"> <el-col v-if="scope.row.itype === '1'"> <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" - @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span> </el-tooltip> </el-col> <el-col v-else> <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> + <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨"> <el-option v-for="item in dataVal" :key="item.value" :label="item.label" :value="item.value"> </el-option> @@ -125,16 +153,15 @@ <template slot-scope="scope"> <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> <div v-else> - <!-- <el-input v-model="scope.row.eId" v-if="scope.row.iname != null" placeholder="璇疯緭鍏ヨ澶囧彿"></el-input> --> <el-select style="width:100%" v-model="scope.row.eId" - v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)"> + v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)"> <el-option v-for="(item,index) in deviceList" - :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> + :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> </el-select> </div> </template> </el-table-column> - <el-table-column prop="inspectionValue" :key="index" + <el-table-column prop="inspectionValue"> label="妫�楠屾弿杩�" width="240" style="text-align: center;"> <template slot-scope="scope"> <el-col v-if="scope.row.itype === '1'"> @@ -143,7 +170,7 @@ <el-input :disabled="scope.row.eId == null" v-model="scope.row.inote" - @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> @@ -154,12 +181,7 @@ class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> <el-input :disabled="scope.row.eId == null" v-model="scope.row.inote" - @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - <!-- <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="璇烽�夋嫨"> - <el-option v-for="item in dataVal" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> - </el-select> --> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> </el-tooltip> @@ -219,11 +241,14 @@ updateFinishedInsProduct, updateFinishedInspectById, selectDeviceAPI, + updateLocationIdById, } from '@/api/quality/finishedProduct' -import { selectDevice } from '@/api/quality/rawMaterial' + import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' + import { remote } from '@/api/admin/dict' export default { data() { return { + locationList: [], dataVal: [{ label: '鏄�', value: '鏄�' @@ -239,8 +264,12 @@ empiricalValueAdd: 1, // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂� empiricalValueAddMaxNumber: 0, + processInspectRules: { + locationId: [{required: true,message:'璇烽�夋嫨搴撲綅鍙�',trigger:'blur'}] + }, processInspectVo: { id: null, + finInsNo: null, material: null, mcode: null, prname: null, @@ -250,7 +279,10 @@ quantity: null, specificationsModel: null, unit: null, - technologyId: null + technologyId: null, + documentId: null, + outBatchNo: null, + locationId: null, }, inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍� inspectionResultForm: [], @@ -268,16 +300,43 @@ mounted() { this.getDeviceList() this.processInspectVo.id = this.$route.query.id - this.resultVal = this.$route.query.resultVal + this.resultVal = this.$route.params.resultVal if(this.resultVal == null){ let val = sessionStorage.getItem("finished-resultVal-"+this.processInspectVo.id); val == undefined ? this.resultVal=null : this.resultVal = val } + this.getIfsLocation() this.init() }, methods: { - + changeLocation(val){ + if(val){ + let obj = { + id: this.processInspectVo.id, + locationId: val + } + updateLocationIdById(obj).then(res=>{ + if(res.status===200){ + this.$message.success("鏇存柊鍚堟牸搴撲綅鎴愬姛") + } + }) + } + }, + getIfsLocation(){ + getIfsLocationByGroupCopyAll({locationGroup: '1'}).then(res=>{ + if(res.status===200){ + this.locationList = res.data.data + } + }).catch(error=>{ + console.error(error); + }) + }, submitSave(){ + let locationId = this.processInspectVo.locationId + if(locationId==null){ + this.$message.error("璇烽�夋嫨浜у搧鍚堟牸搴撲綅") + return + } let pro = 0 this.inspectionItems.forEach(item => { if(item.children){ @@ -339,6 +398,7 @@ if(id != null){ queryById(id).then(res=>{ let result = res.data.data + this.processInspectVo.finInsNo = result.finInsNo this.processInspectVo.orderNumber = result.orderNumber this.processInspectVo.mcode = result.materialCode this.processInspectVo.prname = result.customerName @@ -347,6 +407,9 @@ this.processInspectVo.specificationsModel = result.specs this.processInspectVo.unit = result.punit this.processInspectVo.quantity = result.quantity + this.processInspectVo.documentId = result.documentId + this.processInspectVo.outBatchNo = result.outBatchNo + this.processInspectVo.locationId = result.locationId let userList = [] result.children.forEach(item=>{ item.iid = Math.random() @@ -383,15 +446,11 @@ }, getDeviceList(){ selectDeviceAPI(null).then(res=>{ - // this.deviceList = res.data.data - console.log(res); this.deviceList = res.data.data - }) }, - updateDevice(row,index){ + updateDevice(row){ let rowId=JSON.stringify(row.iid) - console.log(row); updateDeviceById({deviceId:row.eId,fpid:row.iid}).then(res=>{ this.inspectionItems.forEach(obj=>{ obj.children.forEach(c=>{ @@ -402,14 +461,6 @@ c.inote='' } }) - - // if(obj.children){ - // obj.children[index-1].inspectionValue = '' - // obj.children[index-1].iresult = null - // obj.children[index-1].empiricalValueAddss = [] - // obj.children[index-1].inote='' - - // } }) }).catch(error=>{ console.log(error) @@ -424,8 +475,9 @@ this.processInspectVo.material = sample.material this.processInspectVo.specificationsModel = sample.specs this.processInspectVo.unit = sample.unit + this.processInspectVo.documentId = sample.documentId }, - changeState(row, index) { + changeState(row) { if (row.iid != null && row.iid != '') { let str = "" row.empiricalValueAddss.forEach(e => { @@ -454,6 +506,7 @@ addTestProject() { let val = this.processInspectVo let data = { + finInsNo: val.finInsNo, customerName: val.prname, material: val.material, materialCode: val.mcode, @@ -462,12 +515,12 @@ quantity: val.quantity, specs: val.specificationsModel, unit: val.unit, + documentId: val.documentId } addFinish(data).then(res=>{ let id = res.data.data if(id != null){ queryById(id).then(response=>{ - console.log(response.data.data.children) let proList = response.data.data.children proList.forEach(item=>{ item.iid = Math.random(); @@ -506,6 +559,7 @@ this.processInspectVo.material = null this.processInspectVo.specificationsModel = null this.processInspectVo.unit = null + this.processInspectVo.documentId = null } }) }, @@ -542,7 +596,7 @@ flex-wrap: wrap; } -.finishedProduct-result { +basic.finishedProduct-result { width: 100%; height: 150px; padding: 10px 20px; @@ -556,7 +610,7 @@ .finishedProduct-basic { background-color: #fff; - height: 120px; + height: 155px; display: flex; flex-wrap: wrap; padding: 10px 20px; -- Gitblit v1.9.3