From dce1a39a7c7c52d36007e2b134def3d2bfb85ce0 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 04 一月 2024 13:58:13 +0800 Subject: [PATCH] 质检模块修改 --- src/views/quality/finishedProductInspection/finishedProduct-form.vue | 137 +++++++++++++++++++++++++++++++-------------- 1 files changed, 94 insertions(+), 43 deletions(-) diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue index fd45c92..0ca060a 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue @@ -48,12 +48,14 @@ </el-col> <el-col :span="6"> <el-form-item label="浜у搧鍚嶇О锛�"> + <el-tooltip class="item" effect="dark" :content="processInspectVo.material"> <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null" v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option v-for="(item,index) in optionsSamplename" :key="index" :label="item.material" :value="item.materialCode"> </el-option> </el-select> + </el-tooltip> </el-form-item> </el-col> <el-col :span="6"> @@ -63,7 +65,9 @@ </el-col> <el-col :span="6"> <el-form-item label="瑙勬牸鍨嬪彿锛�"> + <el-tooltip class="item" effect="dark" :content="processInspectVo.specificationsModel"> <el-input disabled v-model="processInspectVo.specificationsModel" autocomplete="off" /> + </el-tooltip> </el-form-item> </el-col> </el-row> @@ -86,13 +90,9 @@ </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 label="浜у搧鍚堟牸搴撲綅锛�" prop="locName"> + <el-input v-model="processInspectVo.locName" clearable style="width:100%" placeholder="璇烽�夋嫨鍚堟牸搴撲綅" disabled autocomplete="off"> + </el-input> </el-form-item> </el-col> </el-row> @@ -114,12 +114,12 @@ :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column type="index" label="搴忓彿" width="60"></el-table-column> - <el-table-column label="椤圭洰" prop="father" width="240" ></el-table-column> - <el-table-column prop="iname" label="鎸囨爣" width="240" ></el-table-column> - <el-table-column prop="iunit" label="鍗曚綅" width="240" ></el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column> + <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140" ></el-table-column> + <el-table-column prop="required" label="鏍囧噯鍊�" width="140" show-overflow-tooltip ></el-table-column> <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" - width="240" style="text-align: center;"> + width="140" 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" @@ -144,20 +144,26 @@ </el-col> </template> </el-table-column> - <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250"> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> <template slot-scope="scope"> <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> <div v-else> - <el-select style="width:100%" v-model="scope.row.eId" + <el-select style="width:60%" v-model="scope.row.eId" 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.code +'-'+ item.name"></el-option> </el-select> + <el-button + size="small" + slot="append" + icon="el-icon-full-screen" + v-if="scope.row.iname != null" + @click="codeDevice(scope.row,scope.$index)"></el-button> </div> </template> </el-table-column> <el-table-column prop="inspectionValue" - label="妫�楠屾弿杩�" width="240" style="text-align: center;"> + label="妫�楠屾弿杩�" width="140" 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" @@ -204,9 +210,9 @@ <el-col :span="24"> <el-table border height="90" :data="inspectionResultForm" :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" - :cell-style="{textAlign:'center'}"> - <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"></el-table-column> - <el-table-column prop="material" label="鐗╂枡鍚嶇О"></el-table-column> + :cell-style="{textAlign: 'center'}"> + <el-table-column prop="materialCode" width="200" label="鐗╂枡缂栧彿" show-overflow-tooltip></el-table-column> + <el-table-column prop="material" width="200" label="鐗╂枡鍚嶇О" show-overflow-tooltip></el-table-column> <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column> <el-table-column prop="result" label="妫�楠岀粨璁�"> <template slot-scope="scope"> @@ -224,6 +230,18 @@ </el-row> </div> </div> + <el-dialog + title="璁惧鎵弿" + :visible.sync="deviceCode" + width="60%"> + <div style="height: 100vh;width: 100%;"> + <qr-code-app ref="codeDeviceCompont" @ok="getDeviceResultInfo" @cancelCodeDialog="cancelDeviceCodeDialog"></qr-code-app> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="deviceCode = false">鍙� 娑�</el-button> + <el-button type="primary" @click="deviceCode = false">纭� 瀹�</el-button> + </span> +</el-dialog> </div> </template> @@ -240,9 +258,16 @@ } from '@/api/quality/finishedProduct' import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' import { remote } from '@/api/admin/dict' + import qrCodeApp from '@/views/common/qrCodeApp' export default { + components:{ + qrCodeApp + }, data() { return { + row: null, + proIndex: 0, + deviceCode: false, locationList: [], dataVal: [{ label: '鏄�', @@ -260,7 +285,7 @@ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂� empiricalValueAddMaxNumber: 0, processInspectRules: { - locationId: [{required: true,message:'璇烽�夋嫨搴撲綅鍙�',trigger:'blur'}] + locName: [{required: true,message:'璇烽�夋嫨搴撲綅鍙�',trigger:'blur'}] }, processInspectVo: { id: null, @@ -269,7 +294,7 @@ mcode: null, prname: null, sname: null, - orderNumber: "ZTTIC20230001", + orderNumber: null, qualityTraceability: null, quantity: null, specificationsModel: null, @@ -277,7 +302,8 @@ technologyId: null, documentId: null, outBatchNo: null, - locationId: null, + locName: null, + productNo: null, }, inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍� inspectionResultForm: [], @@ -304,19 +330,32 @@ 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("鏇存柊鍚堟牸搴撲綅鎴愬姛") - } - }) - } - }, + cancelDeviceCodeDialog(){ + this.deviceCode = false + }, + getDeviceResultInfo(val){ + let id=val.split("id@")[1] + if(id!=undefined&&id!=''&&id!=null){ + let filterData=this.deviceList.filter(item=>{ + return item.id==id + })[0] + console.log(filterData); + this.row.eId=Number(id) + this.updateDevice(this.row) + }else{ + this.$message({ + message: '鏈瘑鍒嚭璁¢噺鍣ㄥ叿淇℃伅锛�', + type: 'warning' + }); + } + }, + codeDevice(row,index){ + this.row=row + console.log("row",row); + this.deviceCode =true + this.$refs.codeDeviceCompont.openCamera() + this.proIndex=index + }, getIfsLocation(){ getIfsLocationByGroupCopyAll({locationGroup: '1'}).then(res=>{ if(res.status===200){ @@ -327,11 +366,6 @@ }) }, submitSave(){ - let locationId = this.processInspectVo.locationId - if(locationId==null){ - this.$message.error("璇烽�夋嫨浜у搧鍚堟牸搴撲綅") - return - } let pro = 0 this.inspectionItems.forEach(item => { if(item.children){ @@ -406,7 +440,8 @@ this.processInspectVo.quantity = result.quantity this.processInspectVo.documentId = result.documentId this.processInspectVo.outBatchNo = result.outBatchNo - this.processInspectVo.locationId = result.locationId + this.processInspectVo.locName = result.locName + this.processInspectVo.productNo = result.productNo let userList = [] result.children.forEach(item=>{ item.iid = Math.random() @@ -430,14 +465,30 @@ } }) this.inspectionItems = result.children + let rVal = '' + let passNum = 0 + let unPassNum = 0 + this.inspectionItems.forEach(item => { + if (item.children) { + item.children.forEach(obj => { + if(obj.iresult == 0){ + unPassNum += 1 + } + if(obj.iresult == 1){ + passNum+=1 + } + }) + } + }) + rVal = (passNum+unPassNum)>0 ? unPassNum>0 ? '0' :'1' : '' this.inspectionResultForm = [{ materialCode: result.materialCode, material: result.material, userName: Array.from(new Set(userList)).join(","), - result: this.resultVal==null ? '' : this.resultVal, + result: this.resultVal==null ? rVal : this.resultVal, }] }).catch(error=>{ - console.log(error) + console.error(error) }) } }, @@ -577,7 +628,7 @@ updateFinishedInsProduct(obj).then(res => { if (res.data.code == 0) { this.init() - } + } }) } }) -- Gitblit v1.9.3