From 36653c98622c8a74cb850575b2001457121b794c Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期四, 25 一月 2024 16:16:22 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before --- src/views/quality/rawMaterial/rawMaterial-form.vue | 165 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 102 insertions(+), 63 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 0069da7..2e2a60c 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -3,7 +3,7 @@ <div class="page-header"> <div class="header-left"> <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a> - <h2 v-if="resultVal!=null && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2> + <h2 v-if="(resultVal!=null && resultVal!='') && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2> <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2> </div> <div class="btn-group header-right"> @@ -32,12 +32,12 @@ <el-button slot="append" icon="el-icon-search" - :disabled="resultVal!=null" + :disabled="(resultVal!=null && resultVal!='')" @click="queryCode"></el-button> <el-button slot="append" icon="el-icon-full-screen" - :disabled="resultVal!=null" + :disabled="(resultVal!=null && resultVal!='')" @click="Turnonthecamera"></el-button> </el-input> </el-form-item> @@ -86,7 +86,7 @@ </el-col> <el-col :span="6"> <el-form-item label="鏁伴噺" prop="number"> - <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> + <el-input v-model="dataForm.number" :disabled="(resultVal!=null && resultVal!='')" /> </el-form-item> </el-col> </el-row> @@ -115,14 +115,10 @@ <el-tabs class="rawMaterial-detail" @tab-click="tabsClick"> <el-tab-pane label="妫�楠岄」鐩�"> <el-row style="width:100%;z-index: 10;height:50px;" v-if="resultVal==null"> - <el-col :sm="15" :lg="18"></el-col> - <el-col :sm="3" :lg="2" style="text-align: right;"> + <el-col :span="12"></el-col> + <el-col :span="12" style="text-align: right;"> <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> - </el-col> - <el-col :sm="3" :lg="2" 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 :sm="3" :lg="2" style="text-align: right;"> <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </el-col> </el-row> @@ -139,11 +135,14 @@ row-key="iid" default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column type="index" label="搴忓彿" width="60"> + <el-table-column type="index" prop="parentIndex" label="搴忓彿" width="60"> + <template scope="scope"> + <span v-if="scope.row.isIndex">{{scope.row.parentIndex}}</span> + </template> </el-table-column> <el-table-column prop="father" label="妫�楠岄」鐩�" width="160"> <template slot-scope="scope"> - <el-input v-if="scope.row.children" style="width:90%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> + <el-input v-if="scope.row.children" style="width:80%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> </template> </el-table-column> <el-table-column prop="name" label="椤圭洰" width="160"> @@ -160,7 +159,7 @@ <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> </div> </template> - + </el-table-column> <el-table-column prop="required" label="鏍囧噯鍊�" width="160"> <template slot-scope="scope"> @@ -174,14 +173,30 @@ <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 style="width:100%" allow-create filterable default-first-option - :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" + <el-autocomplete clearable + :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" + @input="changeState(scope.row,scope.$index)" + v-model="scope.row.testValueList[index]" + :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" > + <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i> + <template slot-scope="{ item }"> + <div>{{ item.value }}</div> + </template> + </el-autocomplete> + + <!-- <el-select style="width:100%" filterable + :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.testValueList[index]" - placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" - @change="changeState(scope.row,scope.$index)"> + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" + allow-create + default-first-option + @change="changeState(scope.row,scope.$index)" + @blur="selectBlur" + > <el-option label="鏄�" value="鏄�"/> <el-option label="鍚�" value="鍚�"/> - </el-select> + </el-select> --> </el-tooltip> </div> </template> @@ -189,7 +204,7 @@ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:60%" + <el-select ref="" :disabled="dataForm!=null && (resultVal!=null && resultVal!='')" style="width:60%" 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> @@ -198,7 +213,7 @@ size="small" slot="append" icon="el-icon-full-screen" - :disabled="dataForm!=null && resultVal!=null" + :disabled="dataForm!=null && (resultVal!=null && resultVal!='')" @click="codeDevice(scope.row,scope.$index)"></el-button> </div> </template> @@ -206,7 +221,7 @@ <el-table-column prop="note" label="妫�楠屾弿杩�" width="160" > <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> </div> </template> </el-table-column> @@ -241,7 +256,7 @@ element-loading-text="璇风◢绛夛紝鏂囦欢涓婁紶涓�" > <el-upload - :disabled="dataForm.rawInsNo==null || resultVal!=null" + :disabled="dataForm.rawInsNo==null || (resultVal!=null && resultVal!='')" drag ref="upload" action="/mes/rawInsProduct/upload" @@ -296,7 +311,7 @@ @click="delProcessConfigFile(scope.row)" type="text" size="small" - :disabled="resultVal!=null" + :disabled="(resultVal!=null && resultVal!='')" >鍒犻櫎</el-button > <el-button @@ -325,13 +340,13 @@ <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column> <el-table-column prop="judgeState" label="妫�楠岀粨璁�"> <template slot-scope="scope"> - <el-tag type="success" v-if="scope.row.testState == '1'">鍚堟牸</el-tag> - <el-tag type="danger" v-else-if="scope.row.testState == '0'">涓嶅悎鏍�</el-tag> + <el-tag type="success" v-if="scope.row.testState == 1">鍚堟牸</el-tag> + <el-tag type="danger" v-else-if="scope.row.testState == 0">涓嶅悎鏍�</el-tag> </template> </el-table-column> <el-table-column label="鎿嶄綔"> <template> - <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button> + <el-button type="text" :disabled="(resultVal!=null && resultVal!='') && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button> </template> </el-table-column> </el-table> @@ -477,12 +492,12 @@ }, created(){ this.dataForm.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("raw-resultVal-"+this.dataForm.id) val == undefined ? null : this.resultVal=val } - this.init() + this.init(this.dataForm.id) this.getDeviceList() }, watch:{ @@ -493,6 +508,10 @@ }, }, methods:{ + querySearch(queryString, cb){ + // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹� + cb([{value:'鏄�'},{value:'鍚�'}]); + }, tabsClick(tab,even){ if(tab.index == 1){ if(this.dataForm.rawInsNo==null){ @@ -553,13 +572,13 @@ this.updateDevice(this.row,this.proIndex) }else{ this.$message({ - message: '鏈瘑鍒嚭浜屼綅鐮佽閲忓櫒鍏蜂俊鎭紒', + message: '浜岀淮鐮佹湭璇嗗埆鍑鸿閲忓櫒鍏蜂俊鎭紒', type: 'warning' }); } }, codeDevice(row,index){ - this.row=row + this.row=row console.log("row",row); this.deviceCode =true this.$refs.codeDeviceCompont.openCamera() @@ -568,7 +587,7 @@ getResultInfo(data){ if(!data.includes("part_no")){ this.$message({ - message: '鏈瘑鍒嚭浜岀淮鐮侀浂浠朵俊鎭紒', + message: '浜岀淮鐮佹湭璇嗗埆鍑洪浂浠朵俊鎭紒', type: 'warning' }); } @@ -579,7 +598,7 @@ this.showPart = true }else{ this.$message({ - message: '鏈瘑鍒嚭浜岀淮鐮侀浂浠朵俊鎭紒', + message: '浜岀淮鐮佹湭璇嗗埆鍑洪浂浠朵俊鎭紒', type: 'warning' }); } @@ -606,8 +625,8 @@ this.dataForm.message = param.message this.dataForm.projectName = param.projectName this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts - param.rawInsProducts.forEach(o=>{ - this.clickAddLine(o) + param.rawInsProducts.forEach((o,index)=>{ + this.clickAddLine(o,index) }) } @@ -681,7 +700,7 @@ this.empiricalValueAdd = this.empiricalValueAdd + 1; }, // 娣诲姞琛� - clickAddLine(row) { + clickAddLine(row,index) { let ele = { fId: Math.random(), father: null, @@ -689,6 +708,8 @@ children:[] } if(row){ + ele.isIndex = true; + ele.parentIndex = index + 1; ele.father = row.father?row.father:null row.children.forEach(item => { ele.children.push({ @@ -713,6 +734,8 @@ }) this.list.push(ele) }else{ + ele.isIndex = true; + ele.parentIndex = this.list.length + 1; ele.children.push({ deviceId: null, deviceName: null, @@ -747,7 +770,7 @@ } updateRawInsProduct(obj).then(res=>{ if(res.data.code === 0){ - this.init() + this.init(this.dataForm.id) } }) } @@ -771,9 +794,9 @@ } } }, - init(){ - if(this.dataForm.id){ - getObj(this.dataForm.id).then(res=>{ + init(id){ + if(id){ + getObj(id).then(res=>{ let data = res.data.data this.dataForm.rawInsNo = data.rawInsNo this.dataForm.name = data.name @@ -788,17 +811,19 @@ this.dataForm.createUser = data.createUser let userNameList = [] this.list = [] - data.children.forEach(item => { + data.children.forEach((item,index) => { if (item.children) { let ele = { iid: null, father: null, children: [] } + ele.isIndex = true; + ele.parentIndex = index + 1; ele.iid = Math.random() ele.father = item.rpFather if (item.children != undefined) { - item.children.forEach(obj => { + item.children.forEach((obj) => { let arr= [] if(obj.userName){ userNameList.push(obj.userName) @@ -857,42 +882,48 @@ this.conclusionTable = [] } }, + selectBlur(e){ + console.log(e,e.target.tabIndex); + console.log(e.target.value); + }, changeState(row, index) { - if(row){ + 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(val.slice(-1)!='.'){ + if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){ + row.testValueList[i] = null + this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁") + isTrue = false + } } } if(!isTrue){ return } + } + if (row.rpId != null && row.rpId != '') { + let val = row.testValueList.join(",") + if (val === undefined || val === '' || val === null) { + return } - if (row.rpId != null && row.rpId != '') { - let val = row.testValueList.join(",") - if (val === undefined || val === '' || val === null) { - return - } - let obj = { + 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("鏇存柊鎴愬姛") - } else { - this.$message.error("鏇存柊澶辫触") - } - this.init() - }) } + updateRawInsProduct(obj).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init(this.dataForm.id) + }) + } }, // 鍒犻櫎瀛愰」鐩� delChildren(row,index,isParent) { @@ -908,7 +939,11 @@ let childrenIndex = this.list[i].children.findIndex(el =>{ return el.iid == row.iid }) - this.list[i].children.splice(childrenIndex,1) + if(this.list[i].children.length<2){ + this.list.splice(i,1) + }else{ + this.list[i].children.splice(childrenIndex,1) + } } }, //娣诲姞瀛愰」鐩� @@ -930,6 +965,7 @@ row.children.push(obj) }, save(){ + const _than = this let data = this.dataForm this.list.forEach(item=>{ item.children.forEach(c=>{ @@ -939,10 +975,13 @@ data.rawInsProducts = this.list addRawInspects(data).then(res=>{ this.$message.success("淇濆瓨鎴愬姛") - this.$router.go(-1) + // this.$router.go(-1) }).catch(error=>{ this.$message.error(error) }) + _than.$nextTick(()=>{ + _than.init(Number(res.data.msg)) + }) }, getDeviceList(){ selectDevice().then(res=>{ -- Gitblit v1.9.3