From 26c4f7ae79ad5ad2300876b94f96f19e4f93d53a Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期一, 18 十二月 2023 16:02:12 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before --- src/views/quality/processInspect/processInspect-form.vue | 486 +++++++++++++++++++++++------------------------------- 1 files changed, 207 insertions(+), 279 deletions(-) diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue index 19a9326..505338e 100644 --- a/src/views/quality/processInspect/processInspect-form.vue +++ b/src/views/quality/processInspect/processInspect-form.vue @@ -8,17 +8,23 @@ <h2 v-else>缂栬緫-杩囩▼妫�楠屽崟</h2> </div> <div class="btn-group header-right"> - <el-button @click="addTestProject" v-if="processInspectVo.id == null">鐢熸垚妫�楠岄」鐩�</el-button> + <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id == null">鐢熸垚妫�楠岄」鐩�</el-button> </div> </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"> + label-width="120px" style="width: 100%" size="small" :rules="rules"> <div class="formwrapper"> <el-row> <el-col :span="6"> - <el-form-item label="璁㈠崟鍙凤細"> + <el-form-item label="杩囩▼妫�楠岀紪鍙凤細"> + <el-input @blur="selectInfoByOrderId" disabled + v-model="processInspectVo.proInsNo" autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="璁㈠崟鍙凤細" prop="orderNumber"> <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" /> </el-form-item> @@ -35,19 +41,20 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item label="浜у搧缂栫爜锛�"> - <el-input disabled v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" - autocomplete="off" /> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="瑙勬牸鍨嬪彿锛�"> - <el-input disabled v-model="processInspectVo.specs" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" + <el-form-item label="浜у搧缂栧彿锛�"> + <el-input disabled v-model="processInspectVo.materialCode" 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.specs" + autocomplete="off" /> + </el-form-item> + </el-col> + <el-col :span="6"> <el-form-item label="宸ュ簭鍚嶇О"> <el-select style="width: 100%" :disabled="processInspectVo.id != null" @@ -64,8 +71,6 @@ autocomplete="off" /> </el-form-item> </el-col> - </el-row> - <el-row> <el-col :span="6"> <el-form-item label="鏁伴噺锛�"> <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" @@ -86,10 +91,15 @@ </el-row> <el-row style="width:100%;"> <el-col :span="24"> - <el-table border :data="inspectionItems" height="400" + <el-table border + :data="inspectionItems" + height="400" :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }" - :cell-style="{ textAlign: 'center' }" row-key="iid" default-expand-all style="width: 100%" - ref="table" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + :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> @@ -103,7 +113,7 @@ 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,true)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.empiricalValueAddss[index]"></span> </el-tooltip> @@ -111,10 +121,7 @@ <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-input :disabled="scope.row.eId == null" - v-model="scope.row.empiricalValueAddss[index]" - @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.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> @@ -130,36 +137,35 @@ <span v-if="resultVal != null && scope.row.iname != null" v-text="scope.row.ename"></span> <div v-else> -<<<<<<< HEAD - <el-select style="width:100%" v-model="scope.row.eId" - v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)"> - <el-option v-for="(item,index) in deviceList" - :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> -======= - <el-select style="width:100%" v-model="scope.row.eId" v-if="scope.row.iname != null" + <el-select style="width:80%" v-model="scope.row.eId" v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row, scope.$index)"> <el-option v-for="(item, index) in deviceList" :key="index" :value="item.id" :label="item.code + '-' + item.name"></el-option> ->>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a </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 label="妫�楠屾弿杩�" - width="240" style="text-align: center;"> + <el-table-column + label="妫�楠屾弿杩�" width="240" style="text-align: center;"> <template slot-scope="scope"> - <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.inote" - placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> - <span v-if="resultVal != null && processInspectVo.id!=null" v-text="scope.row.inote"></span> + <el-col> + <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.inote" + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + <span v-if="resultVal != null && processInspectVo.id != null" + v-text="scope.row.inote"></span> </el-tooltip> + </el-col> </template> </el-table-column> - - - <el-table-column label="缁撹" fixed="right" min-width="100"> <template slot-scope="scope"> <div v-if="scope.row.iname != null"> @@ -202,6 +208,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> @@ -215,9 +233,19 @@ updateProcessInspectsById, } from '@/api/quality/processInspect' import { selectDevice } from '@/api/quality/processInspect' +import qrCodeApp from '@/views/common/qrCodeApp' export default { + components:{ + qrCodeApp + }, data() { return { + row: null, + proIndex: 0, + deviceCode: false, + rules: { + orderNumber: [{required:true,message:'璁㈠崟鍙蜂笉鑳戒负绌�',trigger:'blur'}] + }, dataVal: [{ label: '鏄�', value: '鏄�' @@ -236,9 +264,10 @@ empiricalValueAddMaxNumber: 0, processInspectVo: { id: null, + proInsNo: null, material: null, materialCode: null, - orderNumber: "ZTTIC20230001", + orderNumber: null, quantity: null, specs: null, unit: null, @@ -253,33 +282,6 @@ beforeUpdate() { this.$nextTick(() => { this.$refs.table.doLayout(); -<<<<<<< HEAD - }) - }, - created() { - }, - mounted() { - this.getDeviceList() - this.processInspectVo.id = this.$route.query.id - this.resultVal = this.$route.query.resultVal - if(this.resultVal == null){ - let val = sessionStorage.getItem("process-resultVal-"+this.processInspectVo.id); - val == undefined ? this.resultVal=null : this.resultVal = val - } - this.init() - }, - methods: { - - submitSave(){ - let pro = 0 - console.log(this.inspectionItems); - this.inspectionItems.forEach(item => { - if(item.children){ - let arr = item.children.filter(obj=>{ - return obj.iresult == 0; - }) - pro+=arr.length -======= }) }, created() { @@ -287,17 +289,44 @@ 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("process-resultVal-" + this.processInspectVo.id); val == undefined ? this.resultVal = null : this.resultVal = val } + console.log(this.resultVal); this.init() }, methods: { + cancelDeviceCodeDialog(){ + this.deviceCode = false + }, + getDeviceResultInfo(val){ + console.log("鎵弿鍚庢暟鎹�",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 + }, submitSave() { let pro = 0 - console.log(this.inspectionItems); this.inspectionItems.forEach(item => { if (item.children) { let arr = item.children.filter(obj => { @@ -306,6 +335,11 @@ pro += arr.length } }) + let obj = { + id: this.processInspectVo.id, + number: 0, + result: this.inspectionResultForm[0].result + } if (pro > 0) { this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', { confirmButtonText: '纭畾', @@ -313,12 +347,8 @@ inputPattern: /^\d+$/, inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�' }).then(({ value }) => { - let data = { - id: this.processInspectVo.id, - number: value ->>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a - } - updateProcessInspectsById(data).then(res => { + obj.number = value + updateProcessInspectsById(obj).then(res => { let data = res.data.data if (data) { if (data.indexOf("鎴愬姛") > 0) { @@ -332,7 +362,7 @@ }); }).catch(() => { }); } else { - updateProcessInspectsById({ id: this.processInspectVo.id, number: 0 }).then(res => { + updateProcessInspectsById(obj).then(res => { let data = res.data.data if (data) { if (data.indexOf("鎴愬姛") > 0) { @@ -367,6 +397,7 @@ if (id != null) { queryById(id).then(res => { let result = res.data.data + this.processInspectVo.proInsNo = result.proInsNo this.processInspectVo.orderNumber = result.orderNumber this.processInspectVo.materialCode = result.materialCode this.processInspectVo.material = result.material @@ -387,6 +418,9 @@ arr = obj.inspectionValue.split(",") } obj.empiricalValueAddss = arr + if(!obj.inote){ + obj.inote = null + } if (arr.length > this.empiricalValueAdd) { this.empiricalValueAdd = arr.length } @@ -394,11 +428,21 @@ } }) this.inspectionItems = result.children + let rVal = '1' + this.inspectionItems.forEach(item => { + if (item.children) { + item.children.forEach(obj => { + if (obj.iresult == 0) { + rVal = '0' + } + }) + } + }) 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) @@ -411,187 +455,18 @@ }) }, updateDevice(row, index) { + let rowId=JSON.stringify(row.iid) updateDeviceBypppId({ deviceId: row.eId, ppid: row.iid }).then(res => { this.inspectionItems.forEach(obj => { - console.log(obj); - if (obj.children) { - obj.children[index - 1].inspectionValue = null - obj.children[index - 1].iresult = null - obj.children[index - 1].empiricalValueAddss = [] - } - }) -<<<<<<< HEAD - this.resultVal = resultVal - this.inspectionResultForm[0].result = resultVal - sessionStorage.setItem("process-resultVal-"+this.processInspectVo.id,resultVal) - }, - init(){ - let id = this.processInspectVo.id - if(id != null){ - queryById(id).then(res=>{ - console.log(res) - let result = res.data.data - this.processInspectVo.orderNumber = result.orderNumber - this.processInspectVo.materialCode = result.materialCode - this.processInspectVo.material = result.material - this.processInspectVo.technologyOperationId = result.technologyOperationName - this.processInspectVo.specs = result.specs - this.processInspectVo.unit = result.punit - this.processInspectVo.quantity = result.quantity - let userList = [] - result.children.forEach(item=>{ - item.iid = Math.random() - if(item.children != undefined){ - - item.children.forEach(obj=>{ - let arr = [] - if(obj.userName){ - userList.push(obj.userName) - } - if(obj.inspectionValue){ - arr = obj.inspectionValue.split(",") - } - obj.empiricalValueAddss = arr - if(obj.note){ - snote=obj.inote - } - if(arr.length > this.empiricalValueAdd){ - this.empiricalValueAdd = arr.length - } - }) - } - }) - this.inspectionItems = result.children - console.log(result.children) - this.inspectionResultForm = [{ - materialCode: result.materialCode, - material: result.material, - userName: Array.from(new Set(userList)).join(","), - result: this.resultVal == null ? '' : this.resultVal, - }] - }).catch(error=>{ - console.log(error) - }) - } - }, - getDeviceList(){ - selectDevice(null).then(res=>{ - this.deviceList = res.data.data - console.log(this.deviceList); - }) - }, - updateDevice(row,index){ - console.log(row); - updateDeviceBypppId({equiomentId:row.eId,ppid:row.iId}).then(res=>{ - this.inspectionItems.forEach(obj=>{ - if(obj.children){ - obj.children[index-1].inspectionValue = '' - obj.children[index-1].iresult = null - obj.children[index-1].empiricalValueAddss = [] - obj.children[index-1].inote='' + obj.children.forEach(c=>{ + if(c.iid==rowId){ + c.inspectionValue = null + c.iresult = null + c.empiricalValueAddss = [] + c.inote='' } }) - }).catch(error=>{ - console.log(error) }) - }, - //浜у搧鍚嶇О锛岄�夋嫨 - changeOptionsSamplename(val) { - let sample = this.optionsSamplename.filter(o=>{ - return o.materialCode == val - })[0] - this.processInspectVo.materialCode = sample.materialCode - this.processInspectVo.specs = sample.specs - this.processInspectVo.unit = sample.unit - this.processInspectVo.material = sample.material - this.technologyList = sample.children - }, - changeState(row, index) { - console.log(row) - - if (row.iid != null && row.iid != '') { - let str = "" - row.empiricalValueAddss.forEach(e => { - str += e + "," - }) - str = str.slice(0,-1); - if (str === undefined || str === '' || str === null ) { - return - } - - // if ( note === undefined || str === '' || str === null ) { - // return - // } - - let obj = { - equiomentId: row.eId, - ppid: row.iid, - inspectionValue: str, - note:row.inote, - - } - - updateProcessInsProduct(obj).then(res=>{ - if(res.data.code == 0){ - this.$message.success("鏇存柊鎴愬姛") - }else{ - this.$message.error("鏇存柊澶辫触") - } - this.init() - }) - } - }, - addTestProject() { - let val = this.processInspectVo - addProcess(val).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(); - if(item.children != undefined){ - item.children.forEach(obj=>{ - obj.empiricalValueAddss = [] - // obj.note=[]; - }) - } - }) - this.inspectionItems = proList - }).catch(error=>{ - console.log(error); - }) - } - }).catch(error=>{ - console.log(error) - }) - }, - selectInfoByOrderId() { - chooseMater({ - orderNumber: this.processInspectVo.orderNumber - }).then(res => { - - if (res.data.data != null) { - this.optionsSamplename = res.data.data.children - - } else { - this.$message({ - message: '娌℃湁璇ヨ鍗曞彿锛�', - type: 'warning' - }); - this.optionsSamplename = [] - this.processInspectVo.materialCode = null - this.processInspectVo.material = null - this.processInspectVo.specs = null - this.processInspectVo.unit = null - } - }) - }, - // 鍒犻櫎妫�楠屽�煎垪 - clickDeleteInspectionColumn() { - if (this.empiricalValueAdd - 1 === 0) { -======= }).catch(error => { console.log(error) }) @@ -607,7 +482,22 @@ this.processInspectVo.material = sample.material this.technologyList = sample.children }, - changeState(row, index) { + changeState(row,isChecked) { + const _than = this + if(isChecked){ + let isNumber = true + for(var i=0;i<row.empiricalValueAddss.length;i++){ + let val = row.empiricalValueAddss[i] + if(!/^[0-9]*[1-9][0-9]*$/.test(val)){ + row.empiricalValueAddss[i] = null + _than.$message.error("璇疯緭鍏ユ暟瀛�") + isNumber = false + } + } + if(!isNumber){ + return + } + } if (row.iid != null && row.iid != '') { let str = "" row.empiricalValueAddss.forEach(e => { @@ -620,7 +510,8 @@ let obj = { devideId: row.eId, ppid: row.iid, - inspectionValue: str + inspectionValue: str, + note : row.inote } updateProcessInsProduct(obj).then(res => { if (res.data.code == 0) { @@ -634,21 +525,23 @@ }, addTestProject() { let val = this.processInspectVo + const _than = this addProcess(val).then(res => { let id = res.data.data if (id != null) { + _than.processInspectVo.id = id queryById(id).then(response => { - console.log(response.data.data.children) let proList = response.data.data.children proList.forEach(item => { item.iid = Math.random(); if (item.children != undefined) { item.children.forEach(obj => { + obj.inote = null obj.empiricalValueAddss = [] }) } }) - this.inspectionItems = proList + _than.inspectionItems = proList }).catch(error => { console.log(error); }) @@ -658,33 +551,67 @@ }) }, selectInfoByOrderId() { - chooseMater({ - orderNumber: this.processInspectVo.orderNumber - }).then(res => { - if (res.data.data != null) { - this.optionsSamplename = res.data.data.children ->>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a - } else { - this.$message({ - message: '娌℃湁璇ヨ鍗曞彿锛�', - type: 'warning' - }); - this.optionsSamplename = [] - this.processInspectVo.materialCode = null - this.processInspectVo.material = null - this.processInspectVo.specs = null - this.processInspectVo.unit = null + this.$refs.addInspectionform.validate(valid=>{ + if(valid){ + chooseMater({ + orderNumber: this.processInspectVo.orderNumber + }).then(res => { + if (res.data.data != null) { + this.optionsSamplename = res.data.data.children + } else { + this.$message({ + message: '娌℃湁璇ヨ鍗曞彿锛�', + type: 'warning' + }); + this.optionsSamplename = [] + this.processInspectVo.materialCode = null + this.processInspectVo.material = null + this.processInspectVo.specs = null + this.processInspectVo.unit = null + } + }) } }) }, + changeRowResult(){ + if(this.inspectionItems){ + this.inspectionItems.forEach(e=>{ + if(e.children){ + e.children.forEach(i=>{ + if(i.empiricalValueAddss.length>1){ + let arr = i.inspectionValue.split(",") + arr.splice((arr.length-1),1) + let obj = { + devideId: i.eId, + ppid: i.iid, + inspectionValue: arr.join(","), + note : i.inote + } + updateProcessInsProduct(obj).then(res => { + if (res.data.code == 0) { + this.init() + } + }) + } + }) + } + }) + } + }, // 鍒犻櫎妫�楠屽�煎垪 clickDeleteInspectionColumn() { - if (this.empiricalValueAdd - 1 === 0) { + const _than = this + if (_than.empiricalValueAdd - 1 === 0) { } else { - if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { - this.empiricalValueAdd = this.empiricalValueAdd - 1; - this.inspectionItems.forEach(i => { - i.empiricalValueAddss.splice(this.empiricalValueAdd, 1); + if (_than.empiricalValueAddMaxNumber != _than.empiricalValueAdd - 1) { + _than.empiricalValueAdd = _than.empiricalValueAdd - 1; + _than.changeRowResult() + _than.inspectionItems.forEach(i => { + if(i.children){ + i.children.forEach(ele=>{ + ele.empiricalValueAddss.splice(_than.empiricalValueAdd, 1); + }) + } }); } } @@ -722,6 +649,7 @@ flex-wrap: wrap; } + .finishedProduct-basic { background-color: #fff; height: 155px; -- Gitblit v1.9.3