From e03f39a06c9f17ee0bf9a2b1fa24b7de0ea2e3d4 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 15 九月 2023 11:47:29 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/technology.vue | 39 ++ src/components/view/record-content.vue | 5 src/components/view/processInspectionUpdate.vue | 93 +++++-- src/components/view/finishedProductInspectionUp.vue | 153 ++++++++----- src/components/view/finishedProductInspectionAdd.vue | 99 +++++--- src/components/view/processInspection.vue | 197 ++++++++++------- src/components/view/rawInsDetail.vue | 13 + src/assets/api/controller.js | 3 8 files changed, 371 insertions(+), 231 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 3e2922d..ffe7844 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -77,6 +77,7 @@ finishedInspectChooseMater: "/finished-inspect/chooseMater",//鏍规嵁璁㈠崟鍙峰緱鍒颁俊鎭� finishedInspectAddFinish: "/finished-inspect/addFinish", //鏂板鎴愬搧妫�楠� finishedInspectUpdateFinishInspectsById: "/finished-inspect/updateFinishInspectsById",//涓婃姤 + finishedInspectSelectFinishInspectsListById: "/finished-inspect/selectFinishInspectsListById" } // 杩囩▼妫�楠� const processInspection = { @@ -85,6 +86,8 @@ inspectionItemUpdateDevByInsId: "/inspection-item/updateDevByInsId",//鏇存敼璁惧 inspectionItemlose_focus_update: "/inspection-item/lose_focus_update",//妫�楠屽�� processInspectUpdateProcessInspectsById: "/processInspect/updateProcessInspectsById",//涓婃姤 + inspectionItemChooseDev: "/inspection-item/chooseDev", + processInspectSelectProcessInspectsListById: "/processInspect/selectProcessInspectsListById" } // QMS瀹為獙瀹ょ鐞� const laboratory = { diff --git a/src/components/view/finishedProductInspectionAdd.vue b/src/components/view/finishedProductInspectionAdd.vue index 40a547d..d043147 100644 --- a/src/components/view/finishedProductInspectionAdd.vue +++ b/src/components/view/finishedProductInspectionAdd.vue @@ -38,8 +38,8 @@ <el-row> <el-col :span="7"> <el-form-item label="浜у搧鍚嶇О锛�"> - <el-select @change="changeOptionsSamplename" style="width: 180px;" v-model="processInspectVo.material" size="small" - placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select @change="changeOptionsSamplename" style="width: 180px;" + v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option v-for="item in optionsSamplename" :key="item.id" :label="item.name" :value="item.id + '-' + item.name"> </el-option> @@ -68,8 +68,8 @@ </el-col> <el-col :span="7"> <el-form-item label="鍗曚綅锛�"> - <el-input disabled style="width: 180px;" v-model="processInspectVo.unit" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" - autocomplete="off" /> + <el-input disabled style="width: 180px;" v-model="processInspectVo.unit" + placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="7"> @@ -151,22 +151,11 @@ </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> </template> @@ -207,7 +196,7 @@ mcode: null, prname: null, sname: null, - orderNumber: "D-001", + orderNumber: "", qualityTraceability: null, quantity: null, specificationsModel: null, @@ -254,7 +243,10 @@ children: "children", label: "name" }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + nodeData: { + id: 0, + name: null + }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 clickSelectDevice: { index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d @@ -262,26 +254,26 @@ }; }, watch: { - filterText(val) { - this.$refs.tree.filter(val); - } + // filterText(val) { + // this.$refs.tree.filter(val); + // } }, mounted() { this.getTableData() - this.getOptions(); + // this.getOptions(); }, methods: { - changeOptionsSamplename(){ - let id=this.processInspectVo.material.split("-")[0] - let sample=this.optionsSamplename.filter(o=>{ - return o.id==id + changeOptionsSamplename() { + let id = this.processInspectVo.material.split("-")[0] + let sample = this.optionsSamplename.filter(o => { + return o.id == id })[0] - this.processInspectVo.qualityTraceability=sample.qualityTraceability - this.processInspectVo.mcode=sample.mcode - this.processInspectVo.specificationsModel=sample.specifications - this.processInspectVo.unit=sample.unit + this.processInspectVo.qualityTraceability = sample.qualityTraceability + this.processInspectVo.mcode = sample.mcode + this.processInspectVo.specificationsModel = sample.specifications + this.processInspectVo.unit = sample.unit }, - comBack(){ + comBack() { this.$parent.comBackMain() }, handleClick(row) { @@ -311,8 +303,14 @@ 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; }); }, @@ -321,9 +319,15 @@ this.centerDialogVisible = true; 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 @@ -346,8 +350,20 @@ } }, changeState(row, index) { - console.log(row); 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 + "," @@ -423,7 +439,7 @@ // this.isAddProject = true let val = JSON.parse(JSON.stringify(this.processInspectVo)) val.material = this.processInspectVo.material.split("-")[1] - val.id=this.processInspectVo.material.split("-")[0] + val.id = this.processInspectVo.material.split("-")[0] this.$axios.post(this.$api.url.finishedInspectAddFinish, val, { headers: { "Content-Type": "application/json" } }).then(res => { @@ -441,6 +457,13 @@ }) }, getTableData() { + this.$axios.get(this.$api.url.finishedInspectSelectFinishInspectsListById, { + params: { + id: this.detailId + } + }).then(res => { + this.processInspectVo.technologyId = res.data[0].techId + }) this.$axios.get(this.$api.url.inspectionItemListUser, { params: { id: this.detailId, diff --git a/src/components/view/finishedProductInspectionUp.vue b/src/components/view/finishedProductInspectionUp.vue index 7c421b3..63cdb1d 100644 --- a/src/components/view/finishedProductInspectionUp.vue +++ b/src/components/view/finishedProductInspectionUp.vue @@ -38,8 +38,8 @@ <el-row> <el-col :span="7"> <el-form-item label="浜у搧鍚嶇О锛�"> - <el-select disabled @change="changeOptionsSamplename" style="width: 180px;" v-model="processInspectVo.material" size="small" - placeholder="璇烽�夋嫨浜у搧鍚嶇О"> + <el-select disabled @change="changeOptionsSamplename" style="width: 180px;" + v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О"> <el-option v-for="item in optionsSamplename" :key="item.id" :label="item.name" :value="item.id + '-' + item.name"> </el-option> @@ -68,14 +68,14 @@ </el-col> <el-col :span="7"> <el-form-item label="鍗曚綅锛�"> - <el-input disabled style="width: 180px;" v-model="processInspectVo.unit" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" - autocomplete="off" /> + <el-input disabled style="width: 180px;" v-model="processInspectVo.unit" + placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="鏁伴噺锛�"> - <el-input disabled style="width: 180px;" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" - autocomplete="off" /> + <el-input disabled style="width: 180px;" v-model="processInspectVo.quantity" + placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" /> </el-form-item> </el-col> <el-col :span="3" style="display: flex;justify-content: end;"> @@ -88,7 +88,8 @@ <div class="inspectionProject"> <el-row> <el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col> - <el-col v-if="!isUpBtn" :span="12" class="inspectionProject_span" style="display: flex;justify-content: end;"> + <el-col v-if="!isUpBtn" :span="12" class="inspectionProject_span" + style="display: flex;justify-content: end;"> <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button> <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button> @@ -153,8 +154,9 @@ </template> </el-table-column> <el-table-column prop="operation" label="涓婃姤"> - <template slot-scope="scope"> - <el-button v-if="scope.row.conclusion === null || scope.row.conclusion === undefined" type="primary" @click="escalation" size="small">涓婃姤</el-button> + <template slot-scope="scope"> + <el-button v-if="scope.row.conclusion === null || scope.row.conclusion === undefined" type="primary" + @click="escalation" size="small">涓婃姤</el-button> <el-button v-else type="success" size="small">宸蹭笂鎶�</el-button> </template> </el-table-column> @@ -162,22 +164,11 @@ </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> </template> @@ -224,7 +215,8 @@ qualityTraceability: null, quantity: null, specificationsModel: null, - unit: null + unit: null, + technologyId: null }, InspectioniD: null, addInspectionform: [ @@ -267,7 +259,10 @@ children: "children", label: "name" }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + nodeData: { + id: 0, + name: null + }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 clickSelectDevice: { index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d @@ -275,29 +270,29 @@ }; }, watch: { - filterText(val) { - this.$refs.tree.filter(val); - } + // filterText(val) { + // this.$refs.tree.filter(val); + // } }, mounted() { - if(this.rowInfo.result!=null&&this.rowInfo.result!=''){ - this.isUpBtn=true + if (this.rowInfo.result != null && this.rowInfo.result != '') { + this.isUpBtn = true } - this.processInspectVo.material=this.rowInfo.material - this.processInspectVo.mcode=this.rowInfo.material_code - this.processInspectVo.orderNumber=this.rowInfo.order_number - this.processInspectVo.qualityTraceability=this.rowInfo.quality_traceability - this.processInspectVo.specificationsModel=this.rowInfo.specifications_model - this.processInspectVo.unit=this.rowInfo.unit - this.processInspectVo.quantity=this.rowInfo.quantity - this.processInspectVo.prname=this.rowInfo.customer_name - this.processInspectVo.sname=this.rowInfo.project_name - this.inspectionResultForm[0].id=this.rowInfo.material_code - this.inspectionResultForm[0].name=this.rowInfo.material - this.inspectionResultForm[0].conclusion=this.rowInfo.result - this.detailId=this.rowInfo.id + this.processInspectVo.material = this.rowInfo.material + this.processInspectVo.mcode = this.rowInfo.material_code + this.processInspectVo.orderNumber = this.rowInfo.order_number + this.processInspectVo.qualityTraceability = this.rowInfo.quality_traceability + this.processInspectVo.specificationsModel = this.rowInfo.specifications_model + this.processInspectVo.unit = this.rowInfo.unit + this.processInspectVo.quantity = this.rowInfo.quantity + this.processInspectVo.prname = this.rowInfo.customer_name + this.processInspectVo.sname = this.rowInfo.project_name + this.inspectionResultForm[0].id = this.rowInfo.material_code + this.inspectionResultForm[0].name = this.rowInfo.material + this.inspectionResultForm[0].conclusion = this.rowInfo.result + this.detailId = this.rowInfo.id this.getTableData() - this.getOptions(); + // this.getOptions(); }, methods: { escalation() { @@ -323,12 +318,12 @@ id: this.detailId }).then(res => { if (res.code == 200) { - if(res.message==='椤圭洰鏈楠屽畬!'){ + if (res.message === '椤圭洰鏈楠屽畬!') { this.$message({ - message: res.message, - type: 'warning' - }); - return + message: res.message, + type: 'warning' + }); + return } this.$message({ message: '涓婃姤鎴愬姛', @@ -344,17 +339,17 @@ }) }, - changeOptionsSamplename(){ - let id=this.processInspectVo.material.split("-")[0] - let sample=this.optionsSamplename.filter(o=>{ - return o.id==id + changeOptionsSamplename() { + let id = this.processInspectVo.material.split("-")[0] + let sample = this.optionsSamplename.filter(o => { + return o.id == id })[0] - this.processInspectVo.qualityTraceability=sample.qualityTraceability - this.processInspectVo.mcode=sample.mcode - this.processInspectVo.specificationsModel=sample.specifications - this.processInspectVo.unit=sample.unit + this.processInspectVo.qualityTraceability = sample.qualityTraceability + this.processInspectVo.mcode = sample.mcode + this.processInspectVo.specificationsModel = sample.specifications + this.processInspectVo.unit = sample.unit }, - comBack(){ + comBack() { this.$parent.comBackMain() }, handleClick(row) { @@ -384,8 +379,14 @@ 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; }); }, @@ -394,9 +395,15 @@ this.centerDialogVisible = true; 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 @@ -419,8 +426,20 @@ } }, changeState(row, index) { - console.log(row); 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 + "," @@ -496,7 +515,7 @@ // this.isAddProject = true let val = JSON.parse(JSON.stringify(this.processInspectVo)) val.material = this.processInspectVo.material.split("-")[1] - val.id=this.processInspectVo.material.split("-")[0] + val.id = this.processInspectVo.material.split("-")[0] this.$axios.post(this.$api.url.finishedInspectAddFinish, val, { headers: { "Content-Type": "application/json" } }).then(res => { @@ -514,6 +533,14 @@ }) }, getTableData() { + console.log(this.rowInfo); + this.$axios.get(this.$api.url.finishedInspectSelectFinishInspectsListById, { + params: { + id: this.rowInfo.id + } + }).then(res => { + this.processInspectVo.technologyId = res.data[0].techId + }) this.$axios.get(this.$api.url.inspectionItemListUser, { params: { id: this.detailId, diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue index da22a3b..02cb997 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> @@ -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> @@ -222,29 +223,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 +243,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,7 +324,10 @@ children: "children", label: "name" }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + nodeData: { + id: 0, + name: null + }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 clickSelectDevice: { index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d @@ -348,32 +341,32 @@ }, 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,8 +379,14 @@ 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; }); }, @@ -396,9 +395,15 @@ this.centerDialogVisible = true; this.clickSelectDevice.index = scope.$index; this.clickSelectDevice.rpId = scope.row.id; + this.options(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 +426,47 @@ } }, 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 + "," }) 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,7 +519,7 @@ this.optionTechnology = working.children }, addTestProjevt() { - this.isAddProject=true + 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] @@ -507,7 +531,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" } @@ -520,8 +544,8 @@ return } 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 +559,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 @@ -555,23 +579,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 +693,12 @@ .node_i { color: orange; } + .div_device_dialog { min-height: 400px; overflow: auto; } + .nav { display: flex; padding: 20px 20px; @@ -742,5 +768,4 @@ .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 eb9627c..fddd5ae 100644 --- a/src/components/view/processInspectionUpdate.vue +++ b/src/components/view/processInspectionUpdate.vue @@ -103,8 +103,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> @@ -156,8 +156,9 @@ </template> </el-table-column> <el-table-column prop="operation" label="涓婃姤"> - <template slot-scope="scope"> - <el-button v-if="scope.row.conclusion === null || scope.row.conclusion === undefined" type="primary" @click="escalation" size="small">涓婃姤</el-button> + <template slot-scope="scope"> + <el-button v-if="scope.row.conclusion === null || scope.row.conclusion === undefined" type="primary" + @click="escalation" size="small">涓婃姤</el-button> <el-button v-else type="success" size="small">宸蹭笂鎶�</el-button> </template> </el-table-column> @@ -165,22 +166,15 @@ </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"> + <!-- <span slot="footer" class="dialog-footer"> <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button> - </span> + </span> --> </el-dialog> </div> </template> @@ -266,7 +260,10 @@ children: "children", label: "name" }, - nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 + nodeData: { + id: 0, + name: null + }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁 clickSelectDevice: { index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮� rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d @@ -274,13 +271,13 @@ }; }, watch: { - filterText(val) { - this.$refs.tree.filter(val); - } + // filterText(val) { + // this.$refs.tree.filter(val); + // } }, created() { - if(this.rowInfo.result!=null&&this.rowInfo.result!=''){ - this.isUpBtn=true + if (this.rowInfo.result != null && this.rowInfo.result != '') { + this.isUpBtn = true } this.processInspectVo.orderNumber = this.rowInfo.order_number this.processInspectVo.material = this.rowInfo.material @@ -297,7 +294,6 @@ // console.log(this.detailId); }, mounted() { - this.getOptions(); this.getTableData() }, methods: { @@ -324,12 +320,12 @@ id: this.detailId }).then(res => { if (res.code == 200) { - if(res.message==='椤圭洰鏈楠屽畬!'){ + if (res.message === '椤圭洰鏈楠屽畬!') { this.$message({ - message: res.message, - type: 'warning' - }); - return + message: res.message, + type: 'warning' + }); + return } this.$message({ message: '涓婃姤鎴愬姛', @@ -361,8 +357,14 @@ 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; }); }, @@ -375,9 +377,15 @@ this.centerDialogVisible = true; 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 @@ -400,8 +408,20 @@ } }, changeState(row, index) { - console.log(row); 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 + "," @@ -505,6 +525,15 @@ }) }, getTableData() { + this.$axios.get(this.$api.url.processInspectSelectProcessInspectsListById, { + params: { + id: this.rowInfo.id + } + }).then(res => { + // console.log(res.data); + this.processInspectVo.technologyId = res.data[0].techId + // console.log(this.processInspectVo); + }) this.$axios.get(this.$api.url.inspectionItemListUser, { params: { id: this.detailId, diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index e9a9490..19898d7 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -474,6 +474,19 @@ // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁� 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/record-content.vue b/src/components/view/record-content.vue index 255077c..e727526 100644 --- a/src/components/view/record-content.vue +++ b/src/components/view/record-content.vue @@ -140,12 +140,13 @@ </span> </el-dialog> <!-- 鏂板寮圭獥 --> - <el-dialog title="鐢熶骇璁板綍鏂板" :visible.sync="dialogVisible" ref="ruleForm" width="35%"> + <el-dialog title="鐢熶骇璁板綍鏂板" :visible.sync="dialogVisible" :rules="Rules" + ref="ruleForm" width="35%"> <div> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="form.type" :rules="Rules" + <el-select v-model="form.type" @change="edittype" placeholder="璇烽�夋嫨" style="width: 480px;"> <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue index 1cf57b1..1026936 100644 --- a/src/components/view/technology.vue +++ b/src/components/view/technology.vue @@ -280,7 +280,11 @@ >鍏冧欢:</el-col > <el-col :span="16" :offset="1"> - <el-select + <el-input v-model="cell" + placeholder="璇疯緭鍏ュ厓浠跺悕绉�" + style="width: 200px"> + </el-input> + <!-- <el-select v-model="cell" style="width: 310px" disabled @@ -294,7 +298,7 @@ :value="item.id" > </el-option> - </el-select> + </el-select> --> </el-col> </el-row> <el-row style="line-height: 46px"> @@ -702,7 +706,8 @@ this.$api.url.writeTechById + `?id=${this.upData.id}`, { deviceGroup: this.upData.device_group, - elementId:this.cell.join(','), + element:JSON.stringify(this.cell.split(',')), + // element:JSON.stringify(this.form.elementId.split(',')) father: this.edit.father, name: this.edit.name, type: this.edit.type @@ -863,13 +868,27 @@ }) .then((res) => { this.edit = res.data[0]; - console.log(this.edit.children); - this.cell = this.edit.children.map(el => { - return el.id - }) - // this.cell = this.cell.join(',') - // this.cell = nn - // console.log(this.cell); + this.cell = this.edit.element + console.log(this.cell); + let cc = JSON.parse(this.cell).join(",") + console.log(cc); + this.cell = cc + console.log(this.cell); + // this.cell = this.edit.children.map(el => { + // return el.id + // }) + // this.cell = this.cell.join(',') + // this.cell = nn + // console.log(this.cell); + + + + // let cc = this.edit.element.join(", ") + // let str = cc.join(", "); + // let cc = JSON.parse(this.edit.element) + // console.log(cc); + // console.log(gg); + // console.log(json.parse(gg)); }); }, -- Gitblit v1.9.3