From c0bc2331e9abb2ae003c8dc0ab4524d6101493a1 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期一, 25 九月 2023 09:12:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/processInspection.vue | 409 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 320 insertions(+), 89 deletions(-) diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue index 5bae215..e58cf60 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> @@ -8,6 +8,7 @@ <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">鏂板</el-button> <el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button> + <el-button @click="report" icon="el-icon-download" size="mini">鐢熸垚鎶ュ憡</el-button> </el-col> </el-row> </div> @@ -58,8 +59,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,9 +81,9 @@ <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 @click="showAddPage = false" type="primary" size="mini" icon="el-icon-back" + <!-- <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> </el-row> @@ -151,7 +153,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 +173,8 @@ > --> </el-col> </el-row> - <el-table :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 +193,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,45 +229,165 @@ </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 class="newPage" v-if="reportlook"> + <index /> + </div> --> + <el-dialog + title="杩囩▼妫�楠屾姤鍛�" :visible.sync="reportlook" width="40%"> + <template> + <div ref="print"> + + <div style="margin:0 auto;"> + <!-- <div style="text-align:center;margin-top:10px;">杩囩▼妫�楠屾姤鍛�</div> --> + <table class="table table-striped table-bordered" align="center" border style="width: 100%;height: 700px;" valign="center"> + <tr> + <td class="column" colspan="2" rowspan="2" > <img src="../../../static/img/logo 1.png" /></td> + <td class="column" colspan="2" ><p>璁板綍鍚嶇О锛氭楠岃褰曡〃</p>Table: Inspection Record</td> + <td class="column" colspan="2"><p>淇濆瓨鏈熼檺锛�25骞�</p> Storage Life: 25 years</td> + </tr> + <tr> + <td class="column" colspan="2" > 璁板綍缂栧彿</td> + <td class="column" colspan="2" > 褰掓。閮ㄩ棬</td> + </tr> + <tr> + <td class="column"><p>闆朵欢鍚嶇О</p> Part Description</td> + <td class="value"></td> + <td class="column"><p>鍨嬪彿</p> Model</td> + <td class="value"></td> + <td class="column"><p>鍔犲伐鍗曞彿</p> Order No</td> + <td class="value"></td> + </tr> + <tr> + <td class="column"><p>妫�楠屼华鍣�</p> Inspection instrument</td> + <td class="value"></td> + <td class="column"><p>妫�楠屾暟閲�</p> Quantity to check</td> + <td class="value"></td> + <td class="column"><p>渚涜揣鍗曚綅</p> Supplier</td> + <td class="value"></td> + </tr> + <tr> + <td class="column"><p>妫�楠岄」鐩�</p> Inspection Item</td> + + <td class="column" colspan="3"><p><p>妫�楠岀粨鏋�(瀹炴祴鍊�)</p> Test result (Measured value)</p></td> + + <td class="column" rowspan="2" colspan="2"><p>鍒ゅ畾</p> Conclusion</td> + </tr> + <tr> + <td class="column"><p>鎶�鏈姹�</p> Technical Requirement</td> + <td class="column"><p>鍏樊</p> TOL</td> + <!-- <td class="daughter" >01</td> --> + </tr> + <tr> + <td class="column" rowspan="9" >灏哄</td> + <td class="value" ></td> + <td class="column"></td> + <td class="value" ></td> + + </tr> + <tr> + <td class="column"></td> + <td class="value" colspan="3"></td> + <td class="column"></td> + + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + + <tr> + <td class="column" colspan="6"></td> + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + <tr> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + <td class="value" colspan="2"></td> + </tr> + + <tr> + <td class="column">鏉愯川</td> + <td class="value" colspan="5"></td> + </tr> + <tr > + <td class="column" >澶栬鎬ц兘</td> + <td class="value" colspan="5" style="text-align:left;"> + <br> + <br> + <br> + <br> + </td> + </tr> + <tr> + <td class="column">澶囨敞</td> + <td class="value" colspan="5"> + <br> + <br> + <br> + <br> + </td> + </tr> + + + </table> + </div> + </div> + </template> + </el-dialog>` </div> </template> <script> import processInspectionUpdate from '../view/processInspectionUpdate.vue' import processInspectionLook from '../view/processInspectionLook.vue' +// import index from '../view/report/index.vue' export default { - components: { processInspectionUpdate,processInspectionLook }, + components: { + processInspectionUpdate, + processInspectionLook, + // index + }, data() { return { showUp: false, - isAddProject:false, + isAddProject: false, showLook: false, + reportlook: false, detailId: 28, - rowInfp:{}, + rowInfp: {}, search: { countSize: 10, pageSize: 1, @@ -334,38 +461,55 @@ 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 + report() { + this.reportlook = true + // this.$nextTick(() => { + // this.$print(this.$refs.print); + // }) }, - updateInsInfo(row){ - this.rowInfp=row - this.showUp=true + handleClick(row) { + this.rowInfp = row + this.showLook = true }, - combackMain(){ - this.showUp=false - this.showLook=false + combackIndex() { + this.showAddPage = false + this.defaultInitializationTable() }, - searchPro(){ - this.search.countSize=this.pageSize - this.search.pageSize=this.currentPage + updateInsInfo(row) { + this.rowInfp = row + this.showUp = true + }, + combackMain(val) { + this.showUp = false + this.showLook = false + this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹� + if (val) { + this.$parent.removeAllTab() + } + }, + searchPro() { + this.search.countSize = this.pageSize + this.search.pageSize = this.currentPage this.defaultInitializationTable() }, // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰� @@ -378,19 +522,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 @@ -413,28 +581,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) { @@ -487,10 +677,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, @@ -499,7 +689,8 @@ specificationsModel: val.specificationsModel, techfather: val.techfather, techname: val.techname, - technologyId: val.technologyId, + techId: Number(val.technologyId), + mtId: Number(val.technologyId), unit: val.unit }, { headers: { "Content-Type": "application/json" } @@ -511,9 +702,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() }) }, @@ -527,7 +719,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 @@ -540,6 +732,7 @@ c.empiricalValueAddss.push("") } uName.push(c['username']) + c.isSelectDevice = false arr.push(c) }) }) @@ -547,23 +740,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) }) }, @@ -661,10 +854,12 @@ .node_i { color: orange; } + .div_device_dialog { min-height: 400px; overflow: auto; } + .nav { display: flex; padding: 20px 20px; @@ -735,4 +930,40 @@ float: right; font-size: 13px !important; } + +/* .table{ + border-collapse: collapse; + border-spacing: 0; + background-color: transparent; + display: table; + width: 100%; + max-width: 100%; + width: 800px; + margin:0 auto; +} */ +/* .table td{ + text-align:center; + vertical-align:middle; + font-size: 14px; + font-family: 'Arial Normal', 'Arial'; + color: #333333; + padding: 8px 12px; +} */ +/* .table-bordered { + border: 1px solid #ddd; +} */ +.column{ + width:auto; + height:30px; + font-size: 12px; + text-align:center + /* border:1px solid #333; + background: #f1f1f1; */ +} +.value{ + width:70px; + height:30px; + border:1px solid #333; +} + </style> -- Gitblit v1.9.3