From 4ba726492b0a81b5c9db460bec7d25fbe489cb23 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 22 十二月 2023 16:43:54 +0800 Subject: [PATCH] modified: src/api/plan/productionschedul.js modified: src/views/plan/productionschedul/index.vue modified: src/views/quality/rawMaterial/rawMaterial-form.vue modified: vue.config.js --- src/views/quality/rawMaterial/rawMaterial-form.vue | 277 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 161 insertions(+), 116 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index ed15c3b..7e74ee7 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -7,7 +7,7 @@ <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2> </div> <div class="btn-group header-right"> - <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> + <el-button @click="save()" type="primary" v-if="this.dataForm.id==null">淇濆瓨</el-button> </div> </div> <div class="page-main"> @@ -28,12 +28,7 @@ </el-col> <el-col :span="6"> <el-form-item label="闆朵欢鍙�" prop="code"> - <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null"> - <!-- <el-button - slot="append" - icon="el-icon-search" - :disabled="resultVal!=null && dataForm.id!=null" - @click="queryCode()"></el-button> --> + <el-input v-model="dataForm.code" disabled> <el-button slot="append" icon="el-icon-full-screen" @@ -44,8 +39,9 @@ </el-col> <el-col :span="6"> <el-form-item prop="name" label="鍘熸潗鏂欏悕绉�"> - <el-input v-model="dataForm.name" disabled > - </el-input> + <el-tooltip class="item" effect="dark" :content="dataForm.name"> + <el-input v-model="dataForm.name" disabled ></el-input> + </el-tooltip> </el-form-item> </el-col> <el-col :span="6"> @@ -63,7 +59,9 @@ <el-row> <el-col :span="6"> <el-form-item label="瑙勬牸鍨嬪彿" prop="specs"> - <el-input v-model="dataForm.specs" disabled></el-input> + <el-tooltip class="item" effect="dark" :content="dataForm.specs"> + <el-input v-model="dataForm.specs" disabled></el-input> + </el-tooltip> </el-form-item> </el-col> <el-col :span="6"> @@ -76,7 +74,9 @@ </el-col> <el-col :span="6"> <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplier"> + <el-tooltip class="item" effect="dark" :content="dataForm.supplier" > <el-input v-model="dataForm.supplier" disabled /> + </el-tooltip> </el-form-item> </el-col> <el-col :span="6"> @@ -106,20 +106,17 @@ </el-row> </el-form> </div> - - - <div class="rawMaterial-detail"> <el-row style="width:100%;z-index: 10;height:50px;"> - <el-col :span="18">妫�楠岄」鐩�</el-col> - <el-col :span="2"> - <el-button style="width:90%" v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> + <el-col :xs="12" :lg="15">妫�楠岄」鐩�</el-col> + <el-col :xs="4" :lg="3" style="text-align: right;"> + <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> </el-col> - <el-col :span="2"> - <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + <el-col :xs="4" :lg="3" style="text-align: right;"> + <el-button class="pad-addcol-btn" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> </el-col> - <el-col :span="2"> - <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> + <el-col :xs="4" :lg="3" style="text-align: right;"> + <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </el-col> </el-row> <el-row style="width:100%;"> @@ -170,10 +167,11 @@ <template slot-scope="scope"> <div v-if="!scope.row.children"> <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-select @blur="changeState(scope.row, index)" style="width:100%" allow-create filterable default-first-option + <el-select style="width:100%" allow-create filterable default-first-option :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" - placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" @change="updateTestValue(scope.row,scope.$index)"> + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" + @change="changeState(scope.row,scope.$index)"> <el-option label="鏄�" value="鏄�"/> <el-option label="鍚�" value="鍚�"/> </el-select> @@ -184,11 +182,17 @@ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-select :disabled="dataForm!=null && resultVal!=null" style="width:100%" + <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:80%" v-model="scope.row.deviceId" 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> + <el-button + size="small" + slot="append" + icon="el-icon-full-screen" + :disabled="dataForm!=null && resultVal!=null" + @click="codeDevice(scope.row,scope.$index)"></el-button> </div> </template> </el-table-column> @@ -270,11 +274,23 @@ :visible.sync="qrcode" width="60%"> <div style="height: 100vh;width: 100%;"> - <qr-code-app ref="codeCompont" @cancelCodeDialog="cancelCodeDialog"></qr-code-app> + <qr-code-app ref="codeCompont" @ok="getResultInfo" @cancelCodeDialog="cancelCodeDialog"></qr-code-app> </div> <span slot="footer" class="dialog-footer"> <el-button @click="qrcode = false">鍙� 娑�</el-button> <el-button type="primary" @click="qrcode = false">纭� 瀹�</el-button> + </span> +</el-dialog> +<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> @@ -287,7 +303,7 @@ getObj, updateRawInsProduct, updateRawInspectsById, - updateDeviceById, } from '@/api/quality/rawMaterial' + updateDeviceById, chooseIFS} from '@/api/quality/rawMaterial' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' import qrCodeApp from '@/views/common/qrCodeApp' export default { @@ -298,6 +314,9 @@ computed:{}, data(){ return{ + row: null, + proIndex: 0, + deviceCode: false, qrcode: false, userdata:[], currentRow:[], @@ -320,7 +339,7 @@ formTime: '', message: '', name: '', - code: '88.118.1/A0498220', + code: '', specs: '', unit: '', number: '', @@ -344,7 +363,9 @@ userName: '', testState: '' }], - dataRule: {}, + dataRule: { + code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }] + }, deviceList: [], } }, @@ -371,77 +392,62 @@ }, }, 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.deviceId=Number(id) + this.updateDevice(this.row,this.proIndex) + }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 + }, + getResultInfo(data){ + console.log("鎵弿鍚庢墽琛�",data); + if(!data.includes("part_no")){ + this.$message({ + message: '鏈瘑鍒嚭浜屼綅鐮侀浂浠朵俊鎭紒', + type: 'warning' + }); + } + let obj=JSON.parse(data) + let info={"code":obj["part_no"]} + console.log("鍊�",info); + if(info.code!=undefined&&info.code!=''){ + this.paramObj = info + this.showPart = true + }else{ + this.$message({ + message: '鏈瘑鍒嚭浜屼綅鐮侀浂浠朵俊鎭紒', + type: 'warning' + }); + } + }, cancelCodeDialog(){ this.qrcode = false }, // 鎵撳紑鐩告満 Turnonthecamera() { - console.log("鎵ц"); this.qrcode = true this.$refs.codeCompont.openCamera() - // this.camera = 'rear' }, - // 鎵爜缁撴灉鍥炶皟 - // onDecode(result) { - // console.log(result) - // this.turnCameraOff() - // }, - // 鐩告満鍙嶈浆 - // switchCamera() { - // switch (this.camera) { - // case 'front': - // this.camera = 'rear' - // break - // case 'rear': - // this.camera = 'front' - // break - // default: - // this.$toast('閿欒') - // } - // }, - // 鍏抽棴鐩告満 - // turnCameraOff() { - // this.camera = 'off' - // this.qrcode = false - // }, - // 鎵撳紑鎵嬬數绛� - // ClickFlash() { - // switch (this.torchActive) { - // case true: - // this.torchActive = false - // break - // case false: - // this.torchActive = true - // break - // default: - // this.$toast('閿欒') - // } - // }, - - // 妫�鏌ユ槸鍚﹁皟鐢ㄦ憚鍍忓ご - // async onInit(promise) { - // try { - // await promise - // } catch (error) { - // if (error.name === 'StreamApiNotSupportedError') { - // } else if (error.name === 'NotAllowedError') { - // this.errorMessage = 'Hey! I need access to your camera' - // } else if (error.name === 'NotFoundError') { - // this.errorMessage = 'Do you even have a camera on your device?' - // } else if (error.name === 'NotSupportedError') { - // this.errorMessage = - // 'Seems like this page is served in non-secure context (HTTPS, localhost or file://)' - // } else if (error.name === 'NotReadableError') { - // this.errorMessage = - // "Couldn't access your camera. Is it already in use?" - // } else if (error.name === 'OverconstrainedError') { - // this.errorMessage = - // "Constraints don't match any installed camera. Did you asked for the front camera although there is none?" - // } else { - // this.errorMessage = 'UNKNOWN ERROR: ' + error.message - // } - // } - // }, // 纭鍥炶皟 selectPart(param, nodePart, index) { if (typeof param !== 'undefined') { @@ -514,6 +520,7 @@ let data = { id: this.dataForm.id, number: this.unqualifiedNum, + result: this.conclusionTable[0].testState } updateRawInspectsById(data).then(res => { if(res.data.code == 0 && (res.data.data=='1'|| res.data.data=='0')){ @@ -569,7 +576,7 @@ required: null, rpId: null, name: null, - unit: null, + unit: 'mm', userName: null, testValue: '', testValueList: [], @@ -580,37 +587,45 @@ } }, + changeRowResult(){ + if(this.list){ + this.list.forEach(e=>{ + if(e.children){ + e.children.forEach(i=>{ + if(i.testValueList.length>1){ + let arr = i.testValue.split(",") + arr.splice((arr.length-1),1) + let obj = { + deviceId: i.deviceId, + rpId: i.rpId, + testValue: arr.join(","), + note: i.note + } + updateRawInsProduct(obj).then(res=>{ + if(res.data.code === 0){ + this.init() + } + }) + } + }) + } + }) + } + }, delTeatValueColumn(){ if (this.empiricalValueAdd - 1 > 0) { if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { this.empiricalValueAdd = this.empiricalValueAdd - 1; + this.changeRowResult() this.list.forEach(i => { - i.testValueList.splice(this.empiricalValueAdd, 1); + if(i.children){ + i.children.forEach(ele=>{ + ele.testValueList.splice(this.empiricalValueAdd, 1); + }) + } }); } } - }, - updateTestValue(row,index){ - if(row.rpId == null){ - return - } - let val = row.testValueList.join(","); - let obj = { - deviceId: row.deviceId, - rpId: row.rpId, - testValue: val, - note: row.note - } - updateRawInsProduct(obj).then(res=>{ - if(res.data.code === 0){ - this.$message.success("鏇存柊鎴愬姛") - this.init() - }else{ - this.$message.success("鏇存柊澶辫触") - } - }).catch(error=>{ - this.$message.error(error) - }) }, init(){ if(this.dataForm.id){ @@ -669,11 +684,21 @@ this.list.push(ele) }} }) + let rVal = '1' + this.list.forEach(item=>{ + if(item.children){ + item.children.forEach(ele=>{ + if(ele.testState == 0){ + rVal = '0' + } + }) + } + }) this.conclusionTable = [{ code: data.code, name: data.name, userName: Array.from(new Set(userNameList)).join(','), - testState: this.resultVal==null?null:this.resultVal + testState: this.resultVal==null?rVal:this.resultVal }] }).catch(error=>{ this.$message.error("鑾峰彇澶辫触",error) @@ -683,6 +708,21 @@ } }, changeState(row, index) { + if(row){ + let isTrue = true + for(var i=0;i<row.testValueList.length;i++){ + let val = row.testValueList[i] + let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ + if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){ + this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁") + row.testValueList[i] = null + isTrue = false + } + } + if(!isTrue){ + return + } + } if (row.rpId != null && row.rpId != '') { let val = row.testValueList.join(",") if (val === undefined || val === '' || val === null) { @@ -730,7 +770,7 @@ required: null, rpId: null, name: null, - unit: null, + unit: 'mm', userName: null, testValue: null, testValueList: [], @@ -963,4 +1003,9 @@ border: 1px solid #e4e7ed; border-bottom: none; } +@media (max-width: 767px) { + .pad-addcol-btn{ + font-size:12px; + } +} </style> -- Gitblit v1.9.3