From ea06730ea1e9ae1838db35e0960ab98a0b250d0d Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 10 四月 2025 17:16:25 +0800 Subject: [PATCH] 检验任务修改 --- src/views/business/inspectionTask/inspection.vue | 268 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 182 insertions(+), 86 deletions(-) diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue index 8b844ee..b2212fb 100644 --- a/src/views/business/inspectionTask/inspection.vue +++ b/src/views/business/inspectionTask/inspection.vue @@ -19,9 +19,10 @@ <el-col :span="16" style="text-align: right"> <el-button size="small" type="primary" @click="refreshView">鍒锋柊</el-button> <el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">杩涜揣楠岃瘉</el-button> - <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" @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 && typeSource == 1" size="small" type="primary" + @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="addVerifyDia = true">鎻愪氦</el-button> <!-- 澶嶆牳 --> <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button> @@ -146,8 +147,7 @@ </div> <!-- 甯歌妫�楠屽師濮嬭褰� --> <div id="nav" v-loading="tableLoading" class="center-box"> - <template v-if=" - tableLists.find((m) => m.templateId == currentTable)"> + <template v-if="tableLists.find((m) => m.templateId == currentTable)"> <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1" cellpadding="10" class="tables" id="myTable"> <tbody> @@ -166,8 +166,7 @@ };`"> <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r] }px;`" class="content"> - <template v-if=" - n.v.ps != undefined && + <template v-if="n.v.ps != undefined && typeof n.v.ps.value === 'string' && n.v.ps.value.includes('妫�楠屽��') && state == 1 @@ -222,7 +221,7 @@ <el-select v-if=" (getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && - state == 1 + state == 1 && (n.u != userId && n.u != undefined && n.u != '') " v-model="n.v.v" class="table_input" @change="(m) => changeInput( m, @@ -253,8 +252,7 @@ <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> </template> </template> - <template v-else-if=" - n.v.ps != undefined && + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '璁惧缂栫爜' && state == 1 "> @@ -263,8 +261,9 @@ <template v-else-if=" n.v.ps != undefined && n.v.ps.value === '璁惧鍚嶇О' "> - <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple - placeholder="璁惧" remote @change="(val) => changeEquip(val, n)" + <el-select v-model="n.v.v" + :disabled="state > 1 || (n.u != userId && n.u != undefined && n.u != '')" class="table_input" + filterable multiple placeholder="璁惧" remote @change="(val) => changeEquip(val, n)" @visible-change="(e) => getEquipOptions(e, n.i)"> <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.value"> @@ -272,8 +271,7 @@ </el-option> </el-select> </template> - <template v-else-if=" - n.v.ps != undefined && + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '瑕佹眰鍊�' && state == 1 "> @@ -297,8 +295,7 @@ toFixed(n.v.v, n.v.ct) }}</span> </template> - <template v-else-if=" - n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿' + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿' "> <div :title="currentSample.sampleCode" style=" display: flex; @@ -314,15 +311,27 @@ <i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i> </div> </template> - <template v-else-if=" - n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿' + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿' "> - <div v-if=" - currentSample.model !== undefined && + <div v-if="currentSample.model !== undefined && currentSample.model !== null " :style="`font-family:${n.v.ff} !important;`"> {{ currentSample.model }} </div> + </template> + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '璧峰鏃堕棿' + "> + <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span> + <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testStartTime')"> + </el-date-picker> + </template> + <template v-else-if="n.v.ps != undefined && n.v.ps.value === '缁堟鏃堕棿' + "> + <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span> + <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testEndTime')"> + </el-date-picker> </template> <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)"></span> </div> @@ -343,8 +352,9 @@ </div> <el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲"> <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct" - :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%" - highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample"> + :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"> </el-table-column> <el-table-column label="鏍峰搧缂栧彿" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column> @@ -506,15 +516,17 @@ <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId" :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource" :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" /> - <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" + <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :workShopId="workShopId" :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification> + <!--鏌ョ湅宸ユ椂寮规--> + <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia> </div> </template> <script> import excelFunction from "@/utils/excelFountion"; import limsTable from "@/components/Table/lims-table.vue"; -import UnPassDialog from "../unpass/components/addUnPass.vue"; +import UnPassDialog from "../unpass/components/unPassDialog.vue"; import AddUnPass from "../unpass/components/addUnPass.vue"; import InspectionWord from "./components/InspectionWord.vue"; import PurchaseVerification from "../unpass/components/PurchaseVerification.vue"; @@ -537,13 +549,15 @@ delfile, inspectionOrderDetailsTaskSwitching } from "@/api/business/inspectionTask.js"; -import InspectionWorker from '../../../InspectionWorker.worker'; -import DataWorker from '../../../DataWorker.worker'; +import InspectionWorker from '../../../workers/InspectionWorker.worker'; +import DataWorker from '../../../workers/DataWorker.worker'; import html2canvas from "html2canvas"; import { mapGetters } from "vuex"; +import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue"; export default { - name: 'inspection', + name: 'Inspection', components: { + viewManHourDia, PurchaseVerification, AddUnPass, limsTable, @@ -553,6 +567,7 @@ data() { return { sonLaboratory: null, + workShopId: null, orderId: null, state: null, inspectorList: null, @@ -769,8 +784,9 @@ }, }, created() { - let { sonLaboratory, orderId, state, inspectorList, typeSource } = + let { sonLaboratory, orderId, state, inspectorList, typeSource, workShopId } = this.$route.query; + this.workShopId = workShopId this.sonLaboratory = sonLaboratory; this.orderId = orderId; this.id = this.orderId; @@ -783,7 +799,15 @@ this.getInsStateDicts(); this.getComparisonList(); this.getAuthorizedPerson(); - // this.getPower(); + this.startWorker(); + // this.getList0() // 浠诲姟鍒囨崲 + this.scrollInit(); + }, + activated() { + this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」 + this.getInsStateDicts(); + this.getComparisonList(); + this.getAuthorizedPerson(); this.startWorker(); // this.getList0() // 浠诲姟鍒囨崲 this.scrollInit(); @@ -813,6 +837,8 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 @@ -886,15 +912,12 @@ confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning", - }) - .then(() => { - delfile({ id: row.id }).then((res) => { - if (res.code == 201) return; - this.$message.success("鍒犻櫎鎴愬姛"); - this.refresh(); - }); - }) - .catch(() => { }); + }).then(() => { + delfile({ id: row.id }).then((res) => { + this.$message.success("鍒犻櫎鎴愬姛"); + this.getList(); + }); + }).catch(() => { }); }, // 鏂囦欢绠$悊--缁撴潫 @@ -970,6 +993,8 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); if (this.currentSample.index == undefined) @@ -1122,7 +1147,6 @@ this.dataAcquisitionInfo = {}; this.getData = []; for (let i in this.objectOrder(data)) { - console.log("i---", i); let obj = {}; if (i.includes("@")) { obj = { @@ -1465,12 +1489,10 @@ }, // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� subOtherForm(m, type) { - console.log("m---", m); write({ [type]: type === "remark" ? m : Number(m), id: this.insOrder.id, }).then((res) => { - if (res.code == 201) return; this.$message.success("淇濆瓨鎴愬姛"); }); }, @@ -1489,34 +1511,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({ @@ -1568,6 +1562,8 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); // 澶勭悊椤甸潰鍒楄〃鏁版嵁 @@ -1613,6 +1609,8 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); this.getTableLists0(list); @@ -1973,6 +1971,12 @@ ) { a.template[b].v.v = id.product.methodS; } + if ( + a.template[b].v.ps != undefined && + a.template[b].v.ps.value === "璇曢獙鏉′欢" + ) { + a.template[b].v.v = id.product.radius; + } } } }); @@ -2012,6 +2016,7 @@ (n) => n.v.ps != undefined && n.v.ps.value === "鏈�缁堝��" ); //鏈�缁堝�煎垪琛� a.template.forEach((b) => { + // console.log(444444, b) if ( b.v.ps != undefined && b.v.ps.value === "搴忓彿" && @@ -2034,6 +2039,10 @@ this.$set(b.v, "v", ""); // b.v.v = '' b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } b.i && this.param[b.i] && this.param[b.i].insValue.push(b); } if (b.v.ps != undefined && b.v.ps.value === "璁$畻鍊�") { @@ -2048,8 +2057,31 @@ } if (b.v.ps != undefined && b.v.ps.value === "璁惧鍚嶇О") { this.$set(b.v, "v", ""); + b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } // b.v.v = '' b.i && this.param[b.i] && this.param[b.i].equipName.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "璧峰鏃堕棿") { + this.$set(b.v, "v", ''); + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } + // this.param[b.i].testStartTime = [] + b.i && this.param[b.i] && this.param[b.i].testStartTime.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "缁堟鏃堕棿") { + this.$set(b.v, "v", ""); + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } + // this.param[b.i].testEndTime = [] + b.i && this.param[b.i] && this.param[b.i].testEndTime.push(b); } if (b.v.ps != undefined && b.v.ps.value === "鏈�缁堝��") { // b.v.v = '' @@ -2063,6 +2095,11 @@ } } if (b.v.ps != undefined && b.v.ps.value === "缁撹") { + b.u = ""; + let obj = this.currentSample.insProduct.find(m => m.id == b.i) + if (obj) { + this.$set(b, "u", obj.checkUserId); + } if ( b.i !== undefined && this.param[b.i] && @@ -2185,6 +2222,24 @@ } catch (e) { console.log("璁惧鍚嶇О璧嬪��----", e); } + try { + // 璧峰鏃堕棿璧嬪�� + let testStartTime = a.insProductResult.testStartTime ? JSON.parse(a.insProductResult.testStartTime) : [] + for (let i = 0; i < testStartTime.length; i++) { + // 鏅�氳澶囧悕绉拌祴鍊� + this.param[a.id].testStartTime[i].v.v = testStartTime[i].v; + } + } catch (e) { + + } + try { + // 缁堟鏃堕棿璧嬪�� + let testEndTime = a.insProductResult.testEndTime ? JSON.parse(a.insProductResult.testEndTime) : [] + for (let i = 0; i < testEndTime.length; i++) { + // 鏅�氳澶囧悕绉拌祴鍊� + this.param[a.id].testEndTime[i].v.v = testEndTime[i].v; + } + } catch (e) { } try { // 鏈�缁堝�艰祴鍊� this.param[a.id].resValue.v.v = this.toFixed( @@ -2382,6 +2437,46 @@ } } break; + // 璧嬪�艰捣濮嬫椂闂� + case "testEndTime": + if (value && value.length > 0) { + this.tableList[0].insProductResult[m] = []; + value.forEach((a, i) => { + let obj = { + v: a.v.v, + }; + this.tableList[0].insProductResult[m].push(obj); + }); + try { + this.tableList[0].insProductResult[m] = JSON.stringify( + this.tableList[0].insProductResult[m] + ); + } catch (error) { + console.log(888, error); + } + } + // this.tableList[0].insProductResult[m] = value ? value.v.v : ""; + break; + // 璧嬪�肩粓姝㈡椂闂� + case "testStartTime": + if (value && value.length > 0) { + this.tableList[0].insProductResult[m] = []; + value.forEach((a, i) => { + let obj = { + v: a.v.v, + }; + this.tableList[0].insProductResult[m].push(obj); + }); + try { + this.tableList[0].insProductResult[m] = JSON.stringify( + this.tableList[0].insProductResult[m] + ); + } catch (error) { + console.log(888, error); + } + } + // this.tableList[0].insProductResult[m] = value ? value.v.v : ""; + break; // 璧嬪�兼渶缁堝�� case "resValue": this.tableList[0].lastValue = value ? value.v.v : ""; @@ -2574,6 +2669,13 @@ this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜"); } }, + // 鏌ョ湅宸ユ椂 + viewManHour() { + this.$refs.viewManHourDia.showDialog(this.id, 99); + }, + openAddVerifyDia() { + this.addVerifyDia = true; + }, submit() { if (this.verifyUser === null || this.verifyUser === "") { this.$message.error("璇锋寚瀹氬鏍镐汉鍛�"); @@ -2691,10 +2793,6 @@ orderId: this.orderId, sonLaboratory: this.sonLaboratory }).then((res) => { - if (res.code == 201) { - this.$message.error("淇濆瓨澶辫触"); - return; - } this.$message.success("宸蹭繚瀛�"); }); // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 @@ -2761,8 +2859,13 @@ console.log("changeEquip----", e); } }, + // 璧峰鏃堕棿/缁堟鏃堕棿淇濆瓨 + changeTestTime(val, n, type) { + this.$set(this.param[n.i][type][0].v, 'v', val) + this.saveInsContext(n.i); + }, getAuthorizedPerson() { - selectUserCondition({ type: 0 }).then((res) => { + selectUserCondition({ type: 1 }).then((res) => { let data = []; res.data.forEach((a) => { data.push({ @@ -2827,6 +2930,8 @@ equipValue: [], equipName: [], insResult: null, + testEndTime: [], + testStartTime: [], }; }); // 椤甸潰鏁版嵁澶勭悊 @@ -2846,7 +2951,7 @@ this.upLoading = false; if (response.code == 200) { this.$message.success("涓婁紶鎴愬姛"); - this.$refs.fileList.selectList(); + this.getList(); } }, beforeUpload(file) { @@ -2865,16 +2970,7 @@ }, handleDown(row) { downFile({ id: row.id }).then((res) => { - if (res.code === 200) { - let url = ""; - if (res.data.type == 1) { - url = this.javaApi + "/img/" + res.data.fileUrl; - this.$download.saveAs(url, row.fileName) - } else { - url = this.javaApi + "/word/" + res.data.fileUrl; - this.$download.saveAs(url, row.fileName) - } - } + this.$download.saveAs(res.data.fileUrl, row.fileName) }) .catch((error) => { }); }, @@ -3036,7 +3132,7 @@ } .content-h-2 { - justify-content: end; + justify-content: flex-end; } .content-v-0 { -- Gitblit v1.9.3