From 8b50aeca95625137cbb09fe3968ac46284ca6f1d Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期五, 15 九月 2023 15:43:24 +0800 Subject: [PATCH] modified: src/components/view/finishedProductInspectionAdd.vue modified: src/components/view/finishedProductInspectionUp.vue modified: src/components/view/processInspection.vue modified: src/components/view/processInspectionUpdate.vue --- src/components/view/processInspection.vue | 234 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 141 insertions(+), 93 deletions(-) diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue index da22a3b..bfbfefa 100644 --- a/src/components/view/processInspection.vue +++ b/src/components/view/processInspection.vue @@ -1,6 +1,6 @@ <template> <div class="content-main"> - <div v-if="!showAddPage&&!showUp&&!showLook" class="rawPage"> + <div v-if="!showAddPage && !showUp && !showLook" class="rawPage"> <div class="title"> <el-row> <el-col :span="12">杩囩▼妫�楠�</el-col> @@ -58,8 +58,9 @@ <el-table-column label="鎿嶄綔" min-width="80"> <template slot-scope="scope"> <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button> - <el-button type="text" size="small" >鏌ョ湅</el-button> - <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;" @click="updateInsInfo(scope.row)">缂栬緫</el-button> + <el-button type="text" size="small">鏌ョ湅</el-button> + <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;" + @click="updateInsInfo(scope.row)">缂栬緫</el-button> </template> </el-table-column> </el-table> @@ -79,8 +80,8 @@ <el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col> <el-col :span="12" style="text-align: right;"> <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false --> - <el-button type="primary" size="mini" style="background: #004EA2; " - icon="el-icon-circle-plus-outline">鏂板</el-button> + <!-- <el-button type="primary" size="mini" style="background: #004EA2; " + icon="el-icon-circle-plus-outline">鏂板</el-button> --> <el-button @click="combackIndex" type="primary" size="mini" icon="el-icon-back" style="background: #004EA2; ">杩斿洖</el-button> </el-col> @@ -151,7 +152,7 @@ </el-form-item> </el-col> <el-col :span="10" style="display: flex;justify-content: end;"> - <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button> + <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button> </el-col> </el-row> </div> @@ -171,8 +172,8 @@ > --> </el-col> </el-row> - <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" height="calc(100vh - 550px)" - style="width: 100%"> + <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" + height="calc(100vh - 550px)" style="width: 100%"> <el-table-column type="index" label="搴忓彿" width="60"></el-table-column> <el-table-column label="椤圭洰" prop="father"></el-table-column> <el-table-column prop="name" label="鎸囨爣"></el-table-column> @@ -191,9 +192,14 @@ </el-table-column> <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100"> <template slot-scope="scope"> - <el-button type="text" @click="clickTableSelect(scope)">{{ + <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{ scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname }}</el-button> + <el-select v-if="scope.row.isSelectDevice" style="width: 100%;" @change="clickNodeSure(scope.row)" + v-model="filterText" placeholder="璇烽�夋嫨"> + <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id"> + </el-option> + </el-select> </template> </el-table-column> <el-table-column label="缁撹"> @@ -222,29 +228,18 @@ </div> <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%"> <div class="div_device_dialog"> - <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;"> - </el-input> - <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current - @node-click="nodeClick" :filter-node-method="filterNode" ref="tree"> - <div class="custom-tree-node" slot-scope="{ data }"> - <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' - }` - "></i> - {{ data.name }}</span> - </div> - </el-tree> + <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨"> + <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id"> + </el-option> + </el-select> </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button> - </span> </el-dialog> </div> <div class="newPage" v-if="showUp"> - <processInspectionUpdate :rowInfo="rowInfp"/> + <processInspectionUpdate :rowInfo="rowInfp" /> </div> <div class="newPage" v-if="showLook"> - <processInspectionLook :rowInfo="rowInfp"/> + <processInspectionLook :rowInfo="rowInfp" /> </div> </div> </template> @@ -253,14 +248,14 @@ import processInspectionUpdate from '../view/processInspectionUpdate.vue' import processInspectionLook from '../view/processInspectionLook.vue' export default { - components: { processInspectionUpdate,processInspectionLook }, + components: { processInspectionUpdate, processInspectionLook }, data() { return { showUp: false, - isAddProject:false, + isAddProject: false, showLook: false, detailId: 28, - rowInfp:{}, + rowInfp: {}, search: { countSize: 10, pageSize: 1, @@ -334,46 +329,49 @@ children: "children", label: "name" }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + nodeData: { + id: 0, + name: null + }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 clickSelectDevice: { - index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� - rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d + index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� + rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d } }; }, watch: { - filterText(val) { - this.$refs.tree.filter(val); - } + // filterText(val) { + // this.$refs.tree.filter(val); + // } }, mounted() { // this.getTableData() - this.getOptions(); + // this.getOptions(); }, methods: { - handleClick(row){ - this.rowInfp=row - this.showLook=true + handleClick(row) { + this.rowInfp = row + this.showLook = true }, - combackIndex(){ - this.showAddPage=false + combackIndex() { + this.showAddPage = false this.defaultInitializationTable() }, - updateInsInfo(row){ - this.rowInfp=row - this.showUp=true + updateInsInfo(row) { + this.rowInfp = row + this.showUp = true }, - combackMain(val){ - this.showUp=false - this.showLook=false + combackMain(val) { + this.showUp = false + this.showLook = false this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹� - if(val){ - this.$parent.removeAllTab() - } + if (val) { + this.$parent.removeAllTab() + } }, - searchPro(){ - this.search.countSize=this.pageSize - this.search.pageSize=this.currentPage + searchPro() { + this.search.countSize = this.pageSize + this.search.pageSize = this.currentPage this.defaultInitializationTable() }, // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰� @@ -386,19 +384,43 @@ return data.name.indexOf(value) !== -1; }, // 鑾峰彇璁惧鏍戝唴瀹� - getOptions() { - this.$axios.get(this.$api.url.rawSelectDevice).then(res => { + getOptions(row) { + this.$axios.get(this.$api.url.inspectionItemChooseDev, { + params: { + father: row.father, + name: row.name, + technologyId: this.processInspectVo.technologyId + } + }).then(res => { this.materialOptions = res.data; + if (this.materialOptions.length === 1) { + this.$message({ + message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�', + type: 'warning' + }); + return + } + row.isSelectDevice = true + this.filterText = row.did }); }, // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 clickTableSelect(scope) { - this.centerDialogVisible = true; + // this.centerDialogVisible = true; + if (this.clickSelectDevice.index != null) { + this.$set(this.inspectionItems[this.clickSelectDevice.index], 'isSelectDevice', false) + } this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; + this.getOptions(scope.row) }, // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 clickNodeSure() { + let select = this.materialOptions.filter(item => { + return item.id === this.filterText + })[0] + this.nodeData.id = select.id + this.nodeData.name = select.device if (this.detailId == null) { this.inspectionItems[ this.clickSelectDevice.index @@ -421,28 +443,50 @@ } }, changeState(row, index) { - console.log(row); - if(row.did!=null&&row.did!=''){ - let str="" - row.empiricalValueAddss.forEach(e=>{ - str+=e+"," + if (row.did != null && row.did != '') { + // let val = row.empiricalValueAddss.filter(item => { + // return item != '' && item != null + // }) + // let eq = val.filter(item => { + // return /^[^><=]/.test(item) + // }) + // if (eq.length > 0) { + // this.$message({ + // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", + // type: 'warning' + // }); + // return + // } + let str = "" + row.empiricalValueAddss.forEach(e => { + str += e + "," }) + if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) { + return + } this.$axios.post(this.$api.url.inspectionItemlose_focus_update, { deviceId: row.did, inspectionItemId: row.id, - inspectionValue: str.slice(0,-1) - }, { - headers: { "Content-Type": "application/json" } - }).then(res => { - row.result=res.data.result - row.username=res.data.username - }) - }else{ - this.$message({ + inspectionValue: str.slice(0, -1) + }, { + headers: { "Content-Type": "application/json" } + }).then(res => { + if (res.message === '鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!') { + this.$message({ + message: res.message, + type: 'warning' + }); + return + } + row.result = res.data.result + row.username = res.data.username + }) + } else { + this.$message({ message: '璇烽�夋嫨鎷╄澶囷紒', type: 'warning' }); - } + } }, // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣 handleSizeChange(val) { @@ -495,10 +539,10 @@ this.optionTechnology = working.children }, addTestProjevt() { - this.isAddProject=true let val = JSON.parse(JSON.stringify(this.processInspectVo)) val.techname = this.processInspectVo.techname.split("-")[1] val.technologyId = this.processInspectVo.techname.split("-")[0] + this.processInspectVo.technologyId = val.technologyId this.$axios.post(this.$api.url.processInspectAddProcess, { material: val.material, materialCode: val.materialCode, @@ -507,7 +551,7 @@ specificationsModel: val.specificationsModel, techfather: val.techfather, techname: val.techname, - technologyId: val.technologyId, + techId: Number(val.technologyId), unit: val.unit }, { headers: { "Content-Type": "application/json" } @@ -519,9 +563,10 @@ }); return } + this.isAddProject = true this.detailId = res.data - this.inspectionResultForm[0].id=val.materialCode - this.inspectionResultForm[0].name=val.material + this.inspectionResultForm[0].id = val.materialCode + this.inspectionResultForm[0].name = val.material this.getTableData() }) }, @@ -535,7 +580,7 @@ this.inspectionItems = res.data let arr = [] let val = JSON.parse(JSON.stringify(this.inspectionItems)) - const uName=[] + const uName = [] //杞垚涓�缁存暟缁� val.forEach(l => { let father = l.father @@ -548,6 +593,7 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice = false arr.push(c) }) }) @@ -555,23 +601,23 @@ let arrSort = JSON.parse(JSON.stringify(arr)) //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭 arrSort.sort((a, b) => { - if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) { - return -1; // a鎺掑湪b鍓嶉潰 - } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) { - return 1; // a鎺掑湪b鍚庨潰 - } else { - return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉 - } - }); - // console.log(arrSort); - console.log(uName); - let name=[...new Set(uName)].filter(item => item !== null); - let rname='' - name.forEach(m=>{ - rname+=m+"," - }) - this.inspectionResultForm[0].inspecter=rname.slice(0,-1) - this.empiricalValueAdd=arrSort[arrSort.length-1].empiricalValueAddss.length + if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) { + return -1; // a鎺掑湪b鍓嶉潰 + } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) { + return 1; // a鎺掑湪b鍚庨潰 + } else { + return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉 + } + }); + // console.log(arrSort); + console.log(uName); + let name = [...new Set(uName)].filter(item => item !== null); + let rname = '' + name.forEach(m => { + rname += m + "," + }) + this.inspectionResultForm[0].inspecter = rname.slice(0, -1) + this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length this.mergeTable(arr) }) }, @@ -669,10 +715,12 @@ .node_i { color: orange; } + .div_device_dialog { min-height: 400px; overflow: auto; } + .nav { display: flex; padding: 20px 20px; -- Gitblit v1.9.3