From 225ff308a9a06cca35573940c051252835e1276f Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期五, 15 九月 2023 15:18:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/standard.vue | 73 ++++++++--- src/components/view/processInspectionUpdate.vue | 57 ++++++--- src/components/view/finishedProductInspectionUp.vue | 47 +++++-- src/components/view/finishedProductInspectionAdd.vue | 45 ++++-- src/components/view/processInspection.vue | 59 ++++++--- src/components/view/rawInsDetail.vue | 69 ++++++++--- 6 files changed, 234 insertions(+), 116 deletions(-) diff --git a/src/components/view/finishedProductInspectionAdd.vue b/src/components/view/finishedProductInspectionAdd.vue index d043147..7c2948c 100644 --- a/src/components/view/finishedProductInspectionAdd.vue +++ b/src/components/view/finishedProductInspectionAdd.vue @@ -120,9 +120,13 @@ </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 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="缁撹"> @@ -200,7 +204,8 @@ qualityTraceability: null, quantity: null, specificationsModel: null, - unit: null + unit: null, + technologyId: null }, InspectioniD: null, addInspectionform: [ @@ -312,17 +317,18 @@ } }).then(res => { this.materialOptions = res.data; + this.filterText = row.did }); }, // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 clickTableSelect(scope) { - this.centerDialogVisible = true; + scope.row.isSelectDevice = true this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; this.getOptions(scope.row); }, // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 - clickNodeSure() { + clickNodeSure(row) { let select = this.materialOptions.filter(item => { return item.id === this.filterText })[0] @@ -346,28 +352,32 @@ .then(res => { this.getTableData() this.centerDialogVisible = false; + row.isSelectDevice=false }); } }, changeState(row, index) { 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 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, @@ -489,6 +499,7 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice = false arr.push(c) }) }) diff --git a/src/components/view/finishedProductInspectionUp.vue b/src/components/view/finishedProductInspectionUp.vue index 63cdb1d..de810a2 100644 --- a/src/components/view/finishedProductInspectionUp.vue +++ b/src/components/view/finishedProductInspectionUp.vue @@ -121,9 +121,13 @@ </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="缁撹"> @@ -295,6 +299,10 @@ // this.getOptions(); }, methods: { + // blurNode(row){ + // console.log(11); + // row.isSelectDevice=false + // }, escalation() { let arr = this.inspectionItems let bl = false @@ -388,17 +396,19 @@ } }).then(res => { this.materialOptions = res.data; + this.filterText = row.did }); }, // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 clickTableSelect(scope) { - this.centerDialogVisible = true; + scope.row.isSelectDevice = true + // this.centerDialogVisible = true; this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; this.getOptions(scope.row); }, // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 - clickNodeSure() { + clickNodeSure(row) { let select = this.materialOptions.filter(item => { return item.id === this.filterText })[0] @@ -422,28 +432,32 @@ .then(res => { this.getTableData() this.centerDialogVisible = false; + row.isSelectDevice=false }); } }, changeState(row, index) { 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 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, @@ -566,6 +580,7 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice = false arr.push(c) }) }) diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue index 02cb997..3a1abf5 100644 --- a/src/components/view/processInspection.vue +++ b/src/components/view/processInspection.vue @@ -80,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> @@ -192,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="缁撹"> @@ -335,9 +340,9 @@ }; }, watch: { - filterText(val) { - this.$refs.tree.filter(val); - } + // filterText(val) { + // this.$refs.tree.filter(val); + // } }, mounted() { // this.getTableData() @@ -388,14 +393,16 @@ } }).then(res => { this.materialOptions = res.data; + this.filterText = row.did }); }, // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 clickTableSelect(scope) { - this.centerDialogVisible = true; + // this.centerDialogVisible = true; + scope.row.isSelectDevice = true this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; - this.options(scope.row) + this.getOptions(scope.row) }, // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 clickNodeSure() { @@ -427,23 +434,26 @@ }, changeState(row, index) { 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 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, @@ -519,10 +529,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, @@ -543,6 +553,7 @@ }); return } + this.isAddProject = true this.detailId = res.data this.inspectionResultForm[0].id = val.materialCode this.inspectionResultForm[0].name = val.material @@ -572,6 +583,7 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice=false arr.push(c) }) }) @@ -768,4 +780,5 @@ .inspectionProject_span .el-button { float: right; font-size: 13px !important; -}</style> +} +</style> diff --git a/src/components/view/processInspectionUpdate.vue b/src/components/view/processInspectionUpdate.vue index fddd5ae..7f9d4a5 100644 --- a/src/components/view/processInspectionUpdate.vue +++ b/src/components/view/processInspectionUpdate.vue @@ -123,9 +123,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%;" onchange="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="缁撹"> @@ -166,10 +171,10 @@ </div> <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%"> <div class="div_device_dialog"> - <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨"> + <!-- <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> + </el-select> --> </div> <!-- <span slot="footer" class="dialog-footer"> <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button> @@ -297,6 +302,10 @@ this.getTableData() }, methods: { + // blurNode(row){ + // console.log(1111); + // row.isSelectDevice=false + // }, escalation() { let arr = this.inspectionItems let bl = false @@ -358,6 +367,7 @@ }, // 鑾峰彇璁惧鏍戝唴瀹� getOptions(row) { + this.filterText=0 this.$axios.get(this.$api.url.inspectionItemChooseDev, { params: { father: row.father, @@ -366,6 +376,7 @@ } }).then(res => { this.materialOptions = res.data; + this.filterText = row.did }); }, //杩斿洖 @@ -374,13 +385,15 @@ }, // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂 clickTableSelect(scope) { - this.centerDialogVisible = true; + // this.centerDialogVisible = true; + scope.row.isSelectDevice = true this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; this.getOptions(scope.row); }, // 鐐瑰嚮鏍戦噷闈㈢殑纭畾 - clickNodeSure() { + clickNodeSure(row) { + console.log(row); let select = this.materialOptions.filter(item => { return item.id === this.filterText })[0] @@ -402,6 +415,9 @@ devId: this.nodeData.id }) .then(res => { + row.isSelectDevice = false + console.log("row",row); + this.filterText=0 this.getTableData() this.centerDialogVisible = false; }); @@ -409,23 +425,26 @@ }, changeState(row, index) { 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 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, @@ -559,6 +578,8 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice = false + this.filterText=0 arr.push(c) }) }) diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index 19898d7..a028670 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -194,6 +194,7 @@ <template slot-scope="scope"> <el-input :disabled="detailId != null" + @blur="assertTest(scope.row)" v-model="scope.row.required" placeholder="璇疯緭鍏ユ爣鍑嗗��" ></el-input> @@ -202,6 +203,7 @@ <el-table-column prop="internal" label="鍐呮帶鍊�" min-width="150"> <template slot-scope="scope"> <el-input + @blur="assertTest(scope.row)" :disabled="detailId != null" v-model="scope.row.internal" placeholder="璇疯緭鍏ュ唴鎺у��" @@ -424,6 +426,23 @@ } }, methods: { + assertTest(row){ + let fuArr=['>', '<', '='] + if(!fuArr.includes(row.required[0])){ + this.$message({ + message: "鏍囧噯鍊糩"+row.required+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", + type: 'warning' + }); + return + } + if(!fuArr.includes(row.internal[0])){ + this.$message({ + message: "鍐呮帶鍊糩"+row.internal+"]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=", + type: 'warning' + }); + return + } + }, // 璁惧鏍戣繃婊ゆ悳绱� filterNode(value, data) { if (!value) return true; @@ -456,37 +475,49 @@ }, // 鏂板妫�楠屽崟 async addNewRawInspect() { + //TODO: + console.log(this.projectTable); + if(this.projectTable.length>0){ + let filterTable= this.projectTable.filter(item=>{ + return item.required===''||item.internal===''|| + item.required===null||item.internal===null||item.name==='' + }) + if(filterTable.length>0) { + this.$message({ + message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒", + type: 'warning' + }); + return + } + } this.projectTable.forEach(i => { // 灏嗗垪琛ㄨ浆鎹负瀛楃涓� i.testValue = i.testValueList.join(","); }); this.detailInfo.rawInsProducts = this.projectTable; - const res = await this.$axios.post( + this.$axios.post( this.$api.url.addRawInspects, { ...this.detailInfo }, { headers: { "Content-Type": "application/json" } } - ); - this.detailId = res.data; - this.getDetailInfo(); - this.$message.success(res.message); - this.goBack(); + ).then(res=>{ + console.log(res); + if(res.code=="201"){ + this.$message({ + message: res.message, + type: 'warning' + }); + return + }else{ + // this.detailId = res.data; + // this.getDetailInfo(); + // // this.$message.success(res.message); + // this.goBack(); + } + }); }, // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� async changeState(row, index) { - let val=row.testValueList.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 - } if (this.detailId !== null) { const res = await this.$axios.post(this.$api.url.updaterawInsProduct, { DevId: row.deviceId, diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue index f3355c9..698f6e8 100644 --- a/src/components/view/standard.vue +++ b/src/components/view/standard.vue @@ -13,26 +13,32 @@ </div> <div class="thing"> <div class="left"> - <el-row :gutter="5" > - <el-col :span="21"> - <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input> - </el-col> - <el-col :span="2"> - <el-button size="mini" icon="el-icon-plus" @click="bomLeftAdd=true"></el-button> - </el-col> - </el-row> - <el-row style="margin-top: 16px;"> - <el-tree :data="list" ref="tree" default-expand-all :props="{ children: 'children', label: 'name' }" - node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current> - <div class="custom-tree-node" slot-scope="{ node, data }"> - <span><i :class="`node_i ${data.code != '[5]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> - {{ data.code }}{{ data.name }}</span> - <el-button type="text" size="mini" @click.stop="remove(node, data)"> - <i class="el-icon-delete"></i> - </el-button> - </div> - </el-tree> - </el-row> + <div class="left_search"> + <el-row :gutter="5"> + <el-col :span="21"> + <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input> + </el-col> + <el-col :span="2"> + <el-button size="mini" icon="el-icon-plus" @click="bomLeftAdd=true"></el-button> + </el-col> + </el-row> + </div> + <div class="left_tree"> + <el-row> + <el-col :span="24"> + <el-tree :data="list" ref="tree" default-expand-all :props="{ children: 'children', label: 'name' }" + node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current> + <div class="custom-tree-node" slot-scope="{ node, data }"> + <span><i :class="`node_i ${data.code != '[5]' ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i> + {{ data.code }}{{ data.name }}</span> + <el-button type="text" size="mini" @click.stop="remove(node, data)"> + <i class="el-icon-delete"></i> + </el-button> + </div> + </el-tree> + </el-col> + </el-row> + </div> </div> <div class="right"> <div class="choose"> @@ -254,6 +260,11 @@ <template slot-scope="scope"> <el-input size="mini" v-model="scope.row.num" placeholder="璇疯緭鍏�"></el-input> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="60"> + <template slot-scope="scope"> + <el-button type="text" @click="removeMTableRow(scope.$index)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -671,6 +682,10 @@ getChildData(data){ this.childIds = data; }, + //鐗╂枡娓呭崟-鏂板bom-琛ㄦ牸鍒犻櫎琛� + removeMTableRow(index){ + this.materialForm.tableList.splice(index,1); + }, //鍒犻櫎鎸夐挳 deleteDataBtn(){ let ids; @@ -742,7 +757,7 @@ deviceGroup: this.technologyForm.deviceGroup, father: this.technologyForm.tefather, name: this.technologyForm.tename, - productionQuota: Number.parseInt(this.technologyForm.productionQuota), + productionQuota: this.technologyForm.productionQuota, } this.submitBomAdd(this.$api.url.addTechnology,obj); }else if(type == 1){ @@ -785,7 +800,6 @@ this.selectAll(); this.$message.success(res.message); }).catch(error=>{ - this.$message.error(error.message); }) }, //娓呯┖鏂板bom琛ㄥ崟 @@ -1300,16 +1314,29 @@ height: calc(100% - 48px); background-color: #fff; display: flex; + } .thing .left { width: 295px; height: calc(100% - 32px); - overflow-y: auto; border-right: 3px solid rgb(245, 247, 251); padding: 16px; } +.thing .left .left_search{ + width:95%; + height: 32px; + line-height: 32px; + margin-bottom: 5px; +} + +.thing .left .left_tree{ + width: 100%; + height: calc(100% - 32px); + overflow-y: scroll; +} + .thing .left .custom-tree-node span { font-size: 14px; } -- Gitblit v1.9.3