From 9334a78e7a7d06e3fd0fc2feff9aa5d646df27f7 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期六, 19 七月 2025 10:24:57 +0800 Subject: [PATCH] 数据显示,数量 --- src/views/business/inspectionTask/inspection.vue | 219 +++++++++++++++++++++++++++++------------------------- 1 files changed, 119 insertions(+), 100 deletions(-) diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue index 9df7731..f26bb54 100644 --- a/src/views/business/inspectionTask/inspection.vue +++ b/src/views/business/inspectionTask/inspection.vue @@ -23,7 +23,7 @@ @click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</el-button> <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button> <!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button>--> - <el-button v-if="state == 1" size="small" type="primary" @click="viewManHour">鎻愪氦</el-button> + <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">鎻愪氦</el-button> <!-- 澶嶆牳 --> <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button> <el-button v-if="state == 2" size="medium" @click="upInsReview(0)">涓嶉�氳繃</el-button> @@ -288,7 +288,7 @@ state == 1 "><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v, n.v.ct) - }}</span></template> + }}</span></template> <template v-else-if=" n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��' && @@ -344,6 +344,7 @@ </div> <el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲"> <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct" + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%" highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample"> <el-table-column :key="Math.random()" align="center" label="搴忓彿" type="index" width="70px"> @@ -405,83 +406,92 @@ <el-button :loading="submitLoading" type="primary" @click="submit()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" - :visible.sync="dataGetDia" title="鏁版嵁閲囬泦" width="80%"> - <div> - <table border="1" cellpadding="10" class="thermal-table"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="dataGetDia" title="鏁版嵁閲囬泦" width="80%"> + <div> + <table border="1" cellpadding="10" class="thermal-table"> + <tr> + <td style="width: 120px">妫�楠岄」鍒嗙被</td> + <td style="width: 120px">妫�楠岄」</td> + <td style="width: 120px">妫�楠屽瓙椤�</td> + <td>鏁伴噰鏁版嵁</td> + </tr> + <template v-for="(item, index) in getData"> <tr> - <td style="width: 120px">妫�楠岄」鍒嗙被</td> - <td style="width: 120px">妫�楠岄」</td> - <td style="width: 120px">妫�楠屽瓙椤�</td> - <td>鏁伴噰鏁版嵁</td> - </tr> - <template v-for="(item, index) in getData"> - <tr> - <td :rowspan="item.child.length">{{ item.sortName }}</td> - <td :rowspan="item.child.length">{{ item.faName }}</td> - <td>{{ item.child[0].name }}</td> - <td style="text-align: left"> + <td :rowspan="item.child.length">{{ item.sortName }}</td> + <td :rowspan="item.child.length">{{ item.faName }}</td> + <td>{{ item.child[0].name }}</td> + <td style="text-align: left"> + <!-- 娣诲姞瀹瑰櫒 div --> + <div class="data-collection-items"> <el-select v-if="item.child[0].isShowSelect" v-model="item.child[0].getDataIndex1" :multiple-limit="item.child[0].maxNum" clearable filterable multiple placeholder="璇烽�夋嫨" @change="setData(item)"> - <el-option v-for="(item, index) in item.child[0].arr" :key="index" :filter-method="filterMethod" - :label="index + 1 + '^' + item.result" :value="index + '^' + item.result"> + <el-option v-for="(subItem, subIndex) in item.child[0].arr" :key="index + '-' + subIndex" :filter-method="filterMethod" + :label="subIndex + 1 + '^' + subItem.result" :value="subIndex + '^' + subItem.result"> <span>{{ "搴忓彿锛�" + - (index + 1) + + (subIndex + 1) + "锛�" + "缁撴灉锛�" + - item.result + + subItem.result + "锛�" + "鍘氬害锛�" + - item.thickness + + subItem.thickness + "锛�" + "鏃堕棿锛�" + - item.mergedDateTime + subItem.mergedDateTime }}</span> </el-option> </el-select> <el-checkbox-group v-if="!item.child[0].isShowSelect" v-model="item.child[0].getDataIndex1" :max="item.child[0].maxNum"> - <el-checkbox v-for="(n, j) in item.child[0].arr" :key="j" :label="j + '^' + n">{{ n }}</el-checkbox> + <el-checkbox v-for="(n, j) in item.child[0].arr" :key="index + '-' + j + 'aaaaaa'" :label="j + '^' + n" + @change="handleGroupSelect(item.child[0], j)" >{{ n }}</el-checkbox> </el-checkbox-group> - </td> - </tr> - <tr v-for="(m, i) in item.child" v-show="i > 0" :key="i + 'bbbbbbbbbbbbbb'"> - <td>{{ m.name }}</td> - <td style="text-align: left"> + </div> + </td> + </tr> + <tr v-for="(m, i) in item.child" v-show="i > 0" :key="index + '-' + i + 'bbbbbbbbbbbbbb'"> + <td>{{ m.name }}</td> + <td style="text-align: left"> + <!-- 娣诲姞瀹瑰櫒 div --> + <div class="data-collection-items"> <el-select v-if="m.isShowSelect" v-model="m.getDataIndex1" :multiple-limit="m.maxNum" clearable filterable multiple placeholder="璇烽�夋嫨"> - <el-option v-for="(item, index1) in m.arr" :key="index1" :label="index + 1 + '^' + item.result" - :value="index1 + '^' + item.result"> + <el-option v-for="(subItem, index1) in m.arr" :key="index + '-' + index1 + 'cccccccc'" + :label="index1 + 1 + '^' + subItem.result" :value="index1 + '^' + subItem.result"> <span>{{ "搴忓彿锛�" + (index1 + 1) + "锛�" + "缁撴灉锛�" + - item.result + + subItem.result + "锛�" + "鍘氬害锛�" + - item.thickness + + subItem.thickness + "锛�" + "鏃堕棿锛�" + - item.mergedDateTime + subItem.mergedDateTime }}</span> </el-option> </el-select> <el-checkbox-group v-if="!m.isShowSelect" v-model="m.getDataIndex1" :max="m.maxNum"> - <el-checkbox v-for="(n, j) in m.arr" :key="j" :label="j + '^' + n">{{ n }}</el-checkbox> + <el-checkbox v-for="(n, j) in m.arr" :key="index + '-' + j + 'dddddddd'" :label="j + '^' + n" + @change="handleGroupSelect(m, j)" >{{ n }}</el-checkbox> </el-checkbox-group> - </td> - </tr> - </template> - </table> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dataGetDia = false">鍙� 娑�</el-button> - <el-button :loading="getDataIndexLoading" type="primary" @click="submitDataGet()">纭� 瀹�</el-button> - </span> - </el-dialog> + </div> + </td> + </tr> + </template> + </table> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dataGetDia = false">鍙� 娑�</el-button> + <el-button :loading="getDataIndexLoading" type="primary" @click="submitDataGet()">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog :close-on-click-modal="false" :visible.sync="addCheck" title="鎸囧畾鎶ュ憡瀹℃牳浜哄憳" width="400px" @close="closeAddVerifyDia"> <div class="body" style="display: flex; padding: 10px; align-items: center"> @@ -500,13 +510,18 @@ <el-button :loading="reviewLoading" type="primary" @click="upInsReview(1)">纭� 瀹�</el-button> </span> </el-dialog> + <!-- 娣诲姞涓嶅悎鏍煎娴嬪脊妗�--> <add-un-pass v-if="addUnPassDialog" ref="addUnPassDialog" :addUnPassDialog="addUnPassDialog" @resetAddUnPass="resetAddUnPass"></add-un-pass> + <!-- 涓嶅悎鏍煎鐞嗗脊妗�--> <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog" @resetForm="resetForm"></UnPassDialog> + <!-- 涓嶅悎鏍煎娴嬪脊妗�--> <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId" + :cableTag="temCableTag" :repetitionTag="repetitionTag" :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource" :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" /> + <!-- 杩涜揣楠岃瘉寮规--> <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification> <!--鏌ョ湅宸ユ椂寮规--> @@ -540,8 +555,8 @@ delfile, inspectionOrderDetailsTaskSwitching } from "@/api/business/inspectionTask.js"; -import InspectionWorker from '../../../InspectionWorker.worker'; -import DataWorker from '../../../DataWorker.worker'; +import InspectionWorker from '@/workers/InspectionWorker.worker.js'; +import DataWorker from '@/workers/DataWorker.worker.js'; import html2canvas from "html2canvas"; import { mapGetters } from "vuex"; import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; @@ -646,10 +661,18 @@ { name: "1285nm~1330nm", arr: [12, 13, 14, 15], + // 鍒濆鍖� getDataIndex1 涓烘暟缁� + getDataIndex1: [], + isShowSelect: false, + maxNum: 5 }, { name: "1525nm~1575nm", arr: [12, 13, 14, 15], + // 鍒濆鍖� getDataIndex1 涓烘暟缁� + getDataIndex1: [], + isShowSelect: false, + maxNum: 5 }, ], }, @@ -659,6 +682,10 @@ { name: "鎴嚦娉㈤暱", arr: [12, 13, 14, 15], + // 鍒濆鍖� getDataIndex1 涓烘暟缁� + getDataIndex1: [], + isShowSelect: false, + maxNum: 5 }, ], }, @@ -788,7 +815,6 @@ this.getInsStateDicts(); this.getComparisonList(); this.getAuthorizedPerson(); - // this.getPower(); this.startWorker(); // this.getList0() // 浠诲姟鍒囨崲 this.scrollInit(); @@ -798,7 +824,6 @@ this.getInsStateDicts(); this.getComparisonList(); this.getAuthorizedPerson(); - // this.getPower(); this.startWorker(); // this.getList0() // 浠诲姟鍒囨崲 this.scrollInit(); @@ -909,6 +934,17 @@ }).catch(() => { }); }, // 鏂囦欢绠$悊--缁撴潫 + // 澶勭悊鏁寸粍鍕鹃�夐�昏緫鐨勬柟娉� + handleGroupSelect(childItem, clickedIndex) { + // 璁$畻鎵�鍦ㄧ粍鐨勮捣濮嬬储寮� + const groupStartIndex = Math.floor(clickedIndex / 5) * 5; + // 娓呯┖褰撳墠宸查�� + childItem.getDataIndex1 = []; + // 閬嶅巻褰撳墠缁勭殑 5 涓厓绱狅紝娣诲姞鍒伴�変腑鍒楄〃 + for (let i = groupStartIndex; i < groupStartIndex + 5 && i < childItem.arr.length; i++) { + childItem.getDataIndex1.push(i + '^' + childItem.arr[i]); + } + }, // 浠诲姟鍒囨崲--寮�濮� getList0() { @@ -1039,8 +1075,9 @@ id: this.currentSample.id, type: this.type, laboratory: this.sonLaboratory, - cableTag: "", + cableTag: this.temCableTag, rawMaterialTag: this.rawMaterialTag, + repetitionTag: this.repetitionTag, }; this.$nextTick(() => { this.$refs.addUnPassDialog.getInsOrder(info); @@ -1134,7 +1171,6 @@ this.dataAcquisitionInfo = {}; this.getData = []; for (let i in this.objectOrder(data)) { - console.log("i---", i); let obj = {}; if (i.includes("@")) { obj = { @@ -1243,8 +1279,9 @@ } else { str0 = i + "," + j; } - } + }; let list = this.tableList[0].arr; + console.log(this.tableList[0]); let maxNum = 0; list.forEach((item, index) => { let num0 = 0; @@ -1276,6 +1313,7 @@ } let num = 0; list[index].forEach((n) => { + // console.log(n.v.ps.value); if ( n.v.ps && n.v.ps.value && @@ -1348,6 +1386,7 @@ } else { // 濡傛灉閮戒笉瀛樺湪锛屽垯锛岃繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� try { + console.log(this.dataAcquisitionInfo); // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 this.getDataIndexLoading = false; this.dataGetDia = false; @@ -1477,7 +1516,6 @@ }, // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� subOtherForm(m, type) { - console.log("m---", m); write({ [type]: type === "remark" ? m : Number(m), id: this.insOrder.id, @@ -1500,34 +1538,6 @@ a.download = "table.png"; a.click(); }); - }, - // 鏉冮檺鑾峰彇 - getPower() { - let power = JSON.parse(sessionStorage.getItem("power")); - let fileDel = false; - let fileAdd = false; - let collected = false; - let temDataAcquisition = false; - for (var i = 0; i < power.length; i++) { - if (power[i].menuMethod == "uploadFile") { - fileAdd = true; - } - if (power[i].menuMethod == "delfile") { - fileDel = true; - } - if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") { - collected = true; - } - if (power[i].menuMethod == "temDataAcquisition") { - temDataAcquisition = true; - } - } - if (!fileDel) { - // this.componentData0.do.splice(1, 1); - } - this.fileAdd = fileAdd; - this.collected = collected; - this.temDataAcquisition = temDataAcquisition; }, uploadSample() { doInsOrder({ @@ -1666,20 +1676,6 @@ this.comparisonList = this.dictToValue(response.data); }); }, - // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃 - // selectEnumByCategoryOfSelect(val) { - // this.enumList = []; - // if (val === undefined || val === null) { - // return; - // } - // this.$axios - // .post(this.$api.enums.selectEnumByCategory, { - // category: val, - // }) - // .then((res) => { - // this.enumList = res.data; - // }); - // }, tableRowClassName({ row, rowIndex }) { row.index = rowIndex + 1; }, @@ -2589,7 +2585,7 @@ viewManHour() { this.$refs.viewManHourDia.showDialog(this.id, 99); }, - openAddVerifyDia () { + openAddVerifyDia() { this.addVerifyDia = true; }, submit() { @@ -2702,12 +2698,23 @@ } else { param = this.param; } + let isNoTestValue = '' + for (let key in param) { + if (param[key]) { + if (param[key].insValue?.length === 0) { + isNoTestValue = 1 + } else { + isNoTestValue = '' + } + } + } saveInsContext({ param: JSON.stringify(param), currentTable: this.currentTable, sampleId: this.currentSample.id, orderId: this.orderId, - sonLaboratory: this.sonLaboratory + sonLaboratory: this.sonLaboratory, + isNoTestValue: isNoTestValue }).then((res) => { this.$message.success("宸蹭繚瀛�"); }); @@ -2776,7 +2783,7 @@ } }, getAuthorizedPerson() { - selectUserCondition({ type: 0 }).then((res) => { + selectUserCondition({ type: 1 }).then((res) => { let data = []; res.data.forEach((a) => { data.push({ @@ -2879,7 +2886,7 @@ }, handleDown(row) { downFile({ id: row.id }).then((res) => { - this.$download.downloadFileFromUrl(res.data.fileUrl, row.fileName) + this.$download.saveAs(res.data.fileUrl, row.fileName) }) .catch((error) => { }); }, @@ -3041,7 +3048,7 @@ } .content-h-2 { - justify-content: end; + justify-content: flex-end; } .content-v-0 { @@ -3179,4 +3186,16 @@ max-width: 1000px; /* 璁剧疆鏈�澶у搴� */ } + + +.data-collection-items { + display: flex; + flex-wrap: wrap; +} +.data-collection-items .el-select, +.data-collection-items .el-checkbox { + flex-basis: 20% ; + box-sizing: border-box; + padding: 5px 2%; +} </style> -- Gitblit v1.9.3