From 58da649268732dfb1ca4b03ecf3453c4496fb98c Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期二, 18 二月 2025 15:39:01 +0800 Subject: [PATCH] 添加纠正复核功能 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 7889 ++++++++++++++++++++++++++++++++++----------------------- src/components/do/a6-device/device-overview.vue | 17 src/components/view/b1-inspect-order-plan.vue | 95 src/assets/api/controller.js | 3 4 files changed, 4,785 insertions(+), 3,219 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 941345d..6509fbd 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -296,7 +296,8 @@ preview: "/insOrderPlan/preview", // csv鏂囦欢棰勮 outInsOrderState: "/insOrderPlan/outInsOrderState", // 妫�楠屼换鍔℃壂鐮佸嚭搴� // insOrderPlan.cancelSubmitPlan - cancelSubmitPlan: "/insOrderPlan/cancelSubmitPlan" // 妫�楠屼换鍔℃挙閿� + cancelSubmitPlan: "/insOrderPlan/cancelSubmitPlan", // 妫�楠屼换鍔℃挙閿� + verifyPlan2: "/insOrderPlan/verifyPlan2" // 绾犳澶嶆牳 }; const systemLog = { diff --git a/src/components/do/a6-device/device-overview.vue b/src/components/do/a6-device/device-overview.vue index a442ba8..9ded1af 100644 --- a/src/components/do/a6-device/device-overview.vue +++ b/src/components/do/a6-device/device-overview.vue @@ -69,7 +69,7 @@ } .list-left .list-left-info { - line-height: 36px; + line-height: 30px; display: flex; } @@ -140,6 +140,9 @@ } .info .circle { background: #909399; +} +.active { + color: #ff3838 !important; } </style> @@ -255,6 +258,18 @@ }}</span> </div> <div class="list-left-info"> + <span class="label">鏍″噯鏃堕棿锛�</span> + <span + style="color:#333333;font-size: 16px;" + :class="{ active: m.status == 1 }" + >{{ + m.nextCalibrationDateTwo + ? m.nextCalibrationDateTwo.split(" ")[0] + : "" + }}</span + > + </div> + <div class="list-left-info"> <span class="label">鐘舵�侊細</span> <el-tag :type="m.type" v-if="m.deviceStatusName">{{ m.deviceStatusName diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 54e89e4..ad88d9b 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -1,336 +1,481 @@ <style scoped> .custom-table .el-table__header-wrapper th { - background-color: #87CEEB; /* 鍙甯︽湁my-custom-table绫荤殑琛ㄦ牸鐢熸晥 */ + background-color: #87ceeb; /* 鍙甯︽湁my-custom-table绫荤殑琛ㄦ牸鐢熸晥 */ color: #fff; } - .container { - overflow: auto; /* 纭繚瀹瑰櫒鑳藉寘瑁规诞鍔ㄥ厓绱� */ - margin-bottom: 10px; +.container { + overflow: auto; /* 纭繚瀹瑰櫒鑳藉寘瑁规诞鍔ㄥ厓绱� */ + margin-bottom: 10px; } .right-button { - float: right; + float: right; } - .inspection { - height: 100%; - overflow-y: auto; - } +.inspection { + height: 100%; + overflow-y: auto; +} - .inspection::-webkit-scrollbar { - width: 0; - } +.inspection::-webkit-scrollbar { + width: 0; +} - .title { - height: 60px; - line-height: 60px; - } +.title { + height: 60px; + line-height: 60px; +} - .search { - width: 100%; - margin-bottom: 10px; - background-color: #fff; - border-radius: 3px; - } +.search { + width: 100%; + margin-bottom: 10px; + background-color: #fff; + border-radius: 3px; +} - .search .form-inline { - padding-top: 20px; - padding-left: 0px; - text-align: left; - } +.search .form-inline { + padding-top: 20px; + padding-left: 0px; + text-align: left; +} - .center { - width: calc(100% - 40px); - /* max-height: 580px; */ - background-color: #fff; - border-radius: 3px; - padding: 20px; - overflow: auto; - } +.center { + width: calc(100% - 40px); + /* max-height: 580px; */ + background-color: #fff; + border-radius: 3px; + padding: 20px; + overflow: auto; +} - .center-box { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - flex-wrap: wrap; - width: 100%; - overflow-x: hidden; - /* overflow-x: scroll; */ - cursor: grab; - } +.center-box { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + flex-wrap: wrap; + width: 100%; + overflow-x: hidden; + /* overflow-x: scroll; */ + cursor: grab; +} - .center-box:active{ - cursor: grabbing; - } +.center-box:active { + cursor: grabbing; +} - .tables { - table-layout: fixed; - margin: 5px 5px 16px; - } +.tables { + table-layout: fixed; + margin: 5px 5px 16px; +} - .tables td { - height: 40px; - width: 100px; - text-align: center; - font-size: 14px; - word-wrap: break-word; - white-space: normal; - } - .thermal-table{ - min-width: calc(100% - 10px); - margin: 5px 5px 0; - table-layout: fixed; - } - .thermal-table td { - min-width: 70px; - text-align: center; - font-size: 14px; - word-wrap: break-word; - white-space: normal; - padding: 5px; - } - .table-container { - overflow-x: auto; /* 浣垮鍣ㄦ敮鎸佹í鍚戞粴鍔� */ - max-width: 100%; /* 闄愬埗瀹瑰櫒鐨勬渶澶у搴� */ - margin-bottom: 16px; - } +.tables td { + height: 40px; + width: 100px; + text-align: center; + font-size: 14px; + word-wrap: break-word; + white-space: normal; +} +.thermal-table { + min-width: calc(100% - 10px); + margin: 5px 5px 0; + table-layout: fixed; +} +.thermal-table td { + min-width: 70px; + text-align: center; + font-size: 14px; + word-wrap: break-word; + white-space: normal; + padding: 5px; +} +.table-container { + overflow-x: auto; /* 浣垮鍣ㄦ敮鎸佹í鍚戞粴鍔� */ + max-width: 100%; /* 闄愬埗瀹瑰櫒鐨勬渶澶у搴� */ + margin-bottom: 16px; +} - .content { - display: flex; - height: 100%; - align-items: center; - justify-content: left; - padding: 5px; - box-sizing: border-box; - overflow: hidden; - user-select: none; - } +.content { + display: flex; + height: 100%; + align-items: center; + justify-content: left; + padding: 5px; + box-sizing: border-box; + overflow: hidden; + user-select: none; +} - .content *{ - user-select: none; - } +.content * { + user-select: none; +} - .content-h-0 { - justify-content: center; - } +.content-h-0 { + justify-content: center; +} - .content-h-1 { - justify-content: start; - } +.content-h-1 { + justify-content: start; +} - .content-h-2 { - justify-content: end; - } +.content-h-2 { + justify-content: end; +} - .content-v-0 { - align-items: center; - } +.content-v-0 { + align-items: center; +} - .content-v-1 { - align-items: start; - } +.content-v-1 { + align-items: start; +} - .content-v-2 { - align-items: end; - } +.content-v-2 { + align-items: end; +} - .table_input { - width: 100%; - height: 100%; - } - .table_input >>>.el-input__inner{ - border-color: rgba(0, 0, 0, 0.5) !important; - } +.table_input { + width: 100%; + height: 100%; +} +.table_input >>> .el-input__inner { + border-color: rgba(0, 0, 0, 0.5) !important; +} - .collection { - width: 50px; - height: 100%; - margin-left: 5px; - border-color: transparent; - background-color: #409eff; - color: #fff; - border-radius: 4px; - font-size: 12px; - } +.collection { + width: 50px; + height: 100%; + margin-left: 5px; + border-color: transparent; + background-color: #409eff; + color: #fff; + border-radius: 4px; + font-size: 12px; +} - .collection:active { - opacity: .7; - } - .table_caret{ - font-size: 16px; - margin: 0 5px; - color: rgba(0, 0, 0, 0.5); - } - .table_caret:hover{ - color: #409eff; - cursor: pointer; - } +.collection:active { + opacity: 0.7; +} +.table_caret { + font-size: 16px; + margin: 0 5px; + color: rgba(0, 0, 0, 0.5); +} +.table_caret:hover { + color: #409eff; + cursor: pointer; +} - .table_caret:active{ - opacity: .8; - } - >>>input::-webkit-inner-spin-button { - -webkit-appearance: none !important; /* 闅愯棌寰皟鎸夐挳 */ - margin: 0 !important; /* 绉婚櫎寰皟鎸夐挳鐨勮竟璺� */ - } +.table_caret:active { + opacity: 0.8; +} +>>> input::-webkit-inner-spin-button { + -webkit-appearance: none !important; /* 闅愯棌寰皟鎸夐挳 */ + margin: 0 !important; /* 绉婚櫎寰皟鎸夐挳鐨勮竟璺� */ +} - >>>input[type=number] { - -moz-appearance: textfield !important; /* 閽堝 Firefox */ - } - >>>.el-form-item__content{ - display: inline-flex; - align-items: center; - } - .history-btn{ - display: flex; - align-items: center; - } - .noShow{ - opacity: 0; - } +>>> input[type="number"] { + -moz-appearance: textfield !important; /* 閽堝 Firefox */ +} +>>> .el-form-item__content { + display: inline-flex; + align-items: center; +} +.history-btn { + display: flex; + align-items: center; +} +.noShow { + opacity: 0; +} </style> <style> - .inspection .el-form-item__label { - color: #000; - } +.inspection .el-form-item__label { + color: #000; +} - .inspection .el-drawer__header::before { - content: ""; - display: inline-block; - width: 4px; - height: 30.24px; - background: #3A7BFA; - border-radius: 10px; - margin-left: 32px; - margin-right: 8.5px; - } +.inspection .el-drawer__header::before { + content: ""; + display: inline-block; + width: 4px; + height: 30.24px; + background: #3a7bfa; + border-radius: 10px; + margin-left: 32px; + margin-right: 8.5px; +} - .inspection .el-drawer__header { - color: #303133; - text-align: left; - } +.inspection .el-drawer__header { + color: #303133; + text-align: left; +} - .inspection .el-input-group__append { - padding: 0 14px; - color: #3A7BFA; - background-color: #fff; - height: 100%; - display: flex; - align-items: center; - } +.inspection .el-input-group__append { + padding: 0 14px; + color: #3a7bfa; + background-color: #fff; + height: 100%; + display: flex; + align-items: center; +} - .inspection .center-box .el-input__inner { - font-size: 12px; - padding: 0 6px; - text-align: center; - } +.inspection .center-box .el-input__inner { + font-size: 12px; + padding: 0 6px; + text-align: center; +} - .inspection .el-textarea__inner { - padding: 2px; - } +.inspection .el-textarea__inner { + padding: 2px; +} - .inspection .el-textarea__inner::-webkit-scrollbar { - width: 0; - } +.inspection .el-textarea__inner::-webkit-scrollbar { + width: 0; +} - .inspection .el-select { - display: flex; - align-items: center; - } +.inspection .el-select { + display: flex; + align-items: center; +} - .inspection .el-textarea__inner { - min-height: 100% !important; - } +.inspection .el-textarea__inner { + min-height: 100% !important; +} - .inspection .tables .el-input{ - display: flex; - align-items: center; - } - .thermal-table .el-input{ - display: flex; - align-items: center; - } - .custom-dialog .el-dialog__body { - max-width: 1000px; /* 璁剧疆鏈�澶у搴� */ - } +.inspection .tables .el-input { + display: flex; + align-items: center; +} +.thermal-table .el-input { + display: flex; + align-items: center; +} +.custom-dialog .el-dialog__body { + max-width: 1000px; /* 璁剧疆鏈�澶у搴� */ +} </style> <template> <div v-loading="loading" class="inspection"> <el-row class="title"> - <el-col :span="12" style="padding-left: 20px;text-align: left;" :class="{noShow:noBack}">妫�楠屽崟璇︽儏 + <el-col + :span="12" + style="padding-left: 20px;text-align: left;" + :class="{ noShow: noBack }" + >妫�楠屽崟璇︽儏 </el-col> - <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end;height: 60px;"> - <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&insOrder.sampleType!='鏃犳簮鍣ㄤ欢'">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button> - <el-select v-model="template" size="medium" placeholder="鐢佃矾棰勮妯℃澘" style="margin-right: 10px;margin-left: 10px;" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')" - @change="selectInsProductTemplateById"> - <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name"> + <el-col + :span="12" + style="text-align: right;display: flex;align-items: center;justify-content: end;height: 60px;" + > + <el-button + size="small" + type="primary" + @click="versionDialogVisible = true" + v-if=" + state == 1 && + tableLists.find(m => m.templateId == currentTable) && + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐢佃矾璇曢獙') && + insOrder.sampleType != '鏃犳簮鍣ㄤ欢' + " + >鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button + > + <el-select + v-model="template" + size="medium" + placeholder="鐢佃矾棰勮妯℃澘" + style="margin-right: 10px;margin-left: 10px;" + v-if=" + state == 1 && + tableLists.find(m => m.templateId == currentTable) && + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐢佃矾璇曢獙') + " + @change="selectInsProductTemplateById" + > + <el-option + v-for="(a, ai) in templates" + :key="ai" + :value="a.id" + :label="a.name" + > <span style="float: left">{{ a.name }}</span> - <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px;line-height: 34px;" - @click.stop="handleDelete(a)" v-if="addInsProductTemplatePower"></i> + <i + class="el-icon-delete" + style="float: right; color: #66b1ff; font-size: 16px;line-height: 34px;" + @click.stop="handleDelete(a)" + v-if="addInsProductTemplatePower" + ></i> </el-option> </el-select> - <el-button size="medium" @click="templateDia=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&addInsProductTemplatePower"> - <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> - </el-button> + <el-button + size="medium" + @click="templateDia = true" + v-if=" + state == 1 && + tableLists.find(m => m.templateId == currentTable) && + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐢佃矾璇曢獙') && + addInsProductTemplatePower + " + > + <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> + </el-button> <!-- <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> --> - <el-button size="small" type="primary" @click="taskVisible=true" v-show="!isLook">浠诲姟鍒囨崲</el-button> - <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1" - :loading="submitLoading">鎻愪氦</el-button> + <el-button + size="small" + type="primary" + @click="taskVisible = true" + v-show="!isLook" + >浠诲姟鍒囨崲</el-button + > + <el-button + size="small" + type="primary" + @click="handleSubmit" + v-if="state == 1" + :loading="submitLoading" + >鎻愪氦</el-button + > <!-- 澶嶆牳 --> <!-- <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading" v-if="state>1&&!isLook">缁х画娴嬭瘯涓嬩竴涓牱鍝�</el-button> <el-button size="small" @click="upInsReview(0,'鍐嶆璇曢獙')" v-if="state>1&&!isLook" type="danger">鍐嶆璇曢獙</el-button> <el-button size="small" @click="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">姝ゅ鎵樺崟缁撴潫</el-button> --> - <el-button size="small" type="primary" @click="upInsReviewDia=true" v-if="state>1&&!isLook">澶嶆牳</el-button> - <el-button size="small" @click="handleBack" v-if="!noBack">杩斿洖</el-button> + <el-button + size="small" + type="primary" + @click="upInsReviewDia = true" + v-if="state > 1 && !isLook" + >澶嶆牳</el-button + > + <el-button size="small" @click="handleBack" v-if="!noBack" + >杩斿洖</el-button + > </el-col> </el-row> <div class="search" v-show="!isLook"> - <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px" label-position="right"> + <el-form + :inline="true" + :model="searchForm" + class="form-inline" + label-width="100px" + label-position="right" + > <el-form-item label="濮旀墭缂栧彿:"> - <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input + clearable + v-model="insOrder.entrustCode" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="鏍峰搧缂栧彿:"> - <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode"> - <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" tooltip></el-input> + <el-tooltip + :disabled="!currentSample.sampleCode" + :content="currentSample.sampleCode" + > + <el-input + clearable + v-model="currentSample.sampleCode" + disabled + size="small" + placeholder="璇疯緭鍏�" + tooltip + ></el-input> </el-tooltip> </el-form-item> <el-form-item label="鏍峰搧鍚嶇О:"> - <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input + clearable + v-model="currentSample.sample" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="鏍峰搧鏁伴噺:"> - <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> + <el-input + clearable + v-model="sampleProduct.length" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="璇曢獙鏍囧噯:"> - <span>{{ currentSample.testRequirements?currentSample.testRequirements:'-' }}</span> + <span>{{ + currentSample.testRequirements + ? currentSample.testRequirements + : "-" + }}</span> </el-form-item> <el-form-item label="涓嬪彂鏃堕棿:"> - <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input + clearable + v-model="insOrder.sendTime" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="绱ф�ョ▼搴�:"> - <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input + clearable + v-model="insOrder.typeName" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="绾﹀畾鏃堕棿:"> - <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input + clearable + v-model="insOrder.appointed" + disabled + size="small" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item> <el-form-item label="褰撳墠鏍峰搧浣嶆暟:"> <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> </el-form-item> <el-form-item label="" v-if="insOrder.rule"> - <el-tag>{{ !insOrder.rule.includes('涓嶈�冭檻涓嶇‘瀹氬害')?insOrder.rule.split('-')[0]+' '+insOrder.rule.split('-')[1]+'%':insOrder.rule }}</el-tag> + <el-tag>{{ + !insOrder.rule.includes("涓嶈�冭檻涓嶇‘瀹氬害") + ? insOrder.rule.split("-")[0] + + " " + + insOrder.rule.split("-")[1] + + "%" + : insOrder.rule + }}</el-tag> </el-form-item> <el-form-item label="澶囨敞:"> - <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span> + <span style="color:red">{{ + insOrder.remark ? insOrder.remark : "-" + }}</span> </el-form-item> </el-form> </div> <div class="center"> - <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;"> + <div + class="search" + style="text-align: left;display: flex;align-items: center;justify-content: space-between;" + > <div style="display: flex;align-items: center;"> - <span v-if="tableList.length>0">妫�楠屾ā鏉匡細</span> + <span v-if="tableList.length > 0">妫�楠屾ā鏉匡細</span> <el-radio-group v-model="currentTable" size="small"> - <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" - size="small">{{ item.templateName }}</el-radio-button> + <el-radio-button + :label="item.templateId" + v-for="(item, index) in tableLists" + :key="index" + size="small" + >{{ item.templateName }}</el-radio-button + > </el-radio-group> <!-- <span style="margin-left: 20px;margin-right: 10px;">妯℃澘鐗堟湰:</span> <el-radio-group v-model="currentTableState" size="small"> @@ -339,18 +484,68 @@ </el-radio-group> --> </div> <div style="display: flex;align-items: center;"> - <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'"> + <el-form + :inline="true" + :model="otherForm" + class="form-inline" + label-width="50px" + style="padding-top: 0;padding-left: 10px;" + v-if="PROJECT == '妫�娴嬩腑蹇�'" + > <el-form-item label="娓╁害:" style="margin-bottom: 0;"> - <el-input v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')" ></el-input> + <el-input + v-model="otherForm.temperature" + :disabled="state > 1" + size="small" + placeholder="" + style="width: 90px;" + @change="m => subOtherForm(m, 'temperature')" + ></el-input> <span style="margin-left: 4px;">鈩�</span> </el-form-item> <el-form-item label="婀垮害:" style="margin-bottom: 0;"> - <el-input v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> + <el-input + v-model="otherForm.humidity" + :disabled="state > 1" + size="small" + placeholder="" + style="width: 90px;" + @change="m => subOtherForm(m, 'humidity')" + ></el-input> <span style="margin-left: 4px;">%</span> </el-form-item> </el-form> - <el-button type="primary" size="small" v-if="(isGet||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> - <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button> + <el-button + type="primary" + size="small" + v-if=" + (isGet || + (tableLists.find(m => m.templateId == currentTable) && + tableLists.find(m => m.templateId == currentTable) + .templateName == '娓╁害寰幆妫�楠屽師濮嬭褰�' && + temDataAcquisition)) && + PROJECT == '妫�娴嬩腑蹇�' && + state == 1 + " + @click="getDataAcquisitionDevice" + :loading="dataAcquisitionLoading" + >鏁版嵁閲囬泦</el-button + > + <el-button + :type="dataAcquisitionEidtAble ? '' : 'primary'" + size="small" + v-if=" + (isGet || + (tableLists.find(m => m.templateId == currentTable) && + tableLists.find(m => m.templateId == currentTable) + .templateName == '娓╁害寰幆妫�楠屽師濮嬭褰�')) && + PROJECT == '妫�娴嬩腑蹇�' && + collected && + state == 1 + " + @click="dataAcquisitionEidtAble = !dataAcquisitionEidtAble" + >{{ dataAcquisitionEidtAble ? "鍏抽棴缂栬緫" : "缂栬緫鏁伴噰" }}</el-button + > </div> <!-- <div class="history-btn" v-if="isLook"> <el-button type="primary" icon="el-icon-arrow-left" size="small" @click="goHistory(-1)">涓婁竴鏉¤褰�</el-button> @@ -359,66 +554,260 @@ </div> --> </div> <!-- 甯歌妫�楠屽師濮嬭褰� --> - <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╂箍搴﹁瘯楠�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鍔熺巼瀹归噺'))"> - <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id"> + <div + class="center-box" + id="nav" + v-loading="tableLoading" + v-if=" + !tableLists.find(m => m.templateId == currentTable) || + (!tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐢佃矾璇曢獙') && + !tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('娓╂箍搴﹁瘯楠�') && + !tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鍔熺巼瀹归噺')) + " + > + <table + border="1" + class="tables" + cellpadding="10" + v-for="(item, index) in tableList" + :key="index + currentTable + currentSample.id" + > <tbody> - <tr v-for="(m,i) in item.arr" :key="i"> - <td :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' v-for="(n,j) in m" :key="j" - v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" - :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" - :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> - <div class="content" :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;`"> - <template v-if="n.v.ps!=undefined && typeof n.v.ps.value ==='string'&& n.v.ps.value.includes('妫�楠屽��') && state==1"> - <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" - :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')" - @input="handleInput(n)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" - @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')"> + <tr v-for="(m, i) in item.arr" :key="i"> + <td + :id="item.templateId + '-' + n.i + '-' + n.r + '-' + n.c" + v-for="(n, j) in m" + :key="j" + v-if="n.v.mc == undefined || Object.keys(n.v.mc).length === 4" + :colspan="n.v.mc && n.v.mc.cs ? n.v.mc.cs : 1" + :rowspan="n.v.mc && n.v.mc.rs ? n.v.mc.rs : 1" + :style=" + `background:${n.v.bg ? n.v.bg : ''};color:${ + n.v.fc + };font-size:${n.v.fs}px;width:${handleWidth( + n + )}px !important;height:${ + item.style.rowlen[n.r] + }px;font-wight:${n.v.bl ? 'bold' : ''};` + " + > + <div + class="content" + :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;` + " + > + <template + v-if=" + n.v.ps != undefined && + typeof n.v.ps.value === 'string' && + n.v.ps.value.includes('妫�楠屽��') && + state == 1 + " + > + <el-input + v-if="getInspectionValueType(n.i) == 1" + class="table_input" + v-model="n.v.v" + :disabled=" + (getInspectionItemType(n.i) == 1 && + !dataAcquisitionEidtAble) || + (n.u != userId && n.u != undefined && n.u != '') + " + @input="handleInput(n)" + @change=" + m => + changeInput( + m, + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + " + @mousewheel.native.prevent + :key="'abc-' + '000' + index + '000' + i + '000' + j" + @keydown.enter=" + changeInput( + '', + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + " + > <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> --> </el-input> - <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" + <el-input + v-else-if="getInspectionValueType(n.i) == 2" + class="table_input" + type="textarea" v-model="n.v.v" - :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')" /> - <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" - :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')"> - <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> + :disabled=" + getInspectionItemType(n.i) == 1 || + (n.u != userId && n.u != undefined && n.u != '') + " + @change=" + m => + changeInput( + m, + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + " + /> + <el-select + v-else-if="getInspectionValueType(n.i) == 5" + class="table_input" + v-model="n.v.v" + :disabled=" + state > 1 || + getInspectionItemType(n.i) == 1 || + (n.u != userId && n.u != undefined && n.u != '') + " + @visible-change="e => getDic(e, n.i)" + @change=" + m => + changeInput( + m, + `${item.templateId}-${n.r}-${n.c}-${n.i}`, + n, + 'getDataType' + ) + " + > + <el-option + v-for="(e, i) in enumList" + :key="i" + :label="e.label" + :value="e.value" + ></el-option> </el-select> - <span :style="`font-family:${n.v.ff} !important;`" - v-else-if="getInspectionValueType(n.i) == 4">/</span> + <span + :style="`font-family:${n.v.ff} !important;`" + v-else-if="getInspectionValueType(n.i) == 4" + >/</span + > </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'"> - <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1&&PROJECT=='瑁呭鐢电紗'" - class="table_input" v-model="n.v.v" @change="saveInsContext()"> + <template + v-else-if="n.v.ps != undefined && n.v.ps.value === '缁撹'" + > + <el-select + v-if=" + (getInspectionValueType(n.i) == 2 || + getInspectionValueType(n.i) == 5) && + state == 1 && + PROJECT == '瑁呭鐢电紗' + " + class="table_input" + v-model="n.v.v" + @change="saveInsContext()" + > <el-option label="鍚堟牸" :value="1"></el-option> <el-option label="涓嶅悎鏍�" :value="0"></el-option> </el-select> - <template v-if="PROJECT=='妫�娴嬩腑蹇�'||PROJECT=='瑁呭鐢电紗'&&getInspectionValueType(n.i) != 2 "> - <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">鍚堟牸</span> - <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span> - <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">涓嶅垽瀹�</span> - <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> + <template + v-if=" + PROJECT == '妫�娴嬩腑蹇�' || + (PROJECT == '瑁呭鐢电紗' && + getInspectionValueType(n.i) != 2) + " + > + <span + v-if="n.v.v === 1" + :style=" + `font-family:${n.v.ff} !important;color: green;` + " + >鍚堟牸</span + > + <span + v-else-if="n.v.v === 0" + :style="`font-family:${n.v.ff} !important;color: red;`" + >涓嶅悎鏍�</span + > + <span + v-else-if="n.v.v === 3" + :style=" + `font-family:${n.v.ff} !important;color: #3A7BFA;` + " + >涓嶅垽瀹�</span + > + <span v-else :style="`font-family:${n.v.ff} !important;`" + >寰呭畾</span + > </template> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜' && state==1"> - <el-select v-model="n.v.v" placeholder="璁惧" - class="table_input" @visible-change="e=>getEquipOptions(e,n.i)" remote - @change="(val)=>changeEquip(val, n)"> - <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> + <template + v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '璁惧缂栫爜' && + state == 1 + " + > + <el-select + v-model="n.v.v" + placeholder="璁惧" + class="table_input" + @visible-change="e => getEquipOptions(e, n.i)" + remote + @change="val => changeEquip(val, n)" + > + <el-option + v-for="item in equipOptions" + :key="item.value" + :label="item.value" + :value="item.value" + > </el-option> </el-select> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧鍚嶇О' && state==1"> - <span>{{ n.v.v }}</span> + <template + v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '璁惧鍚嶇О' && + state == 1 + " + > + <span>{{ n.v.v }}</span> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='瑕佹眰鍊�' && state==1"> - <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> + <template + v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '瑕佹眰鍊�' && + state == 1 + " + > + <span :style="`font-family:${n.v.ff} !important;`">{{ + getTell(n.i) + }}</span> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁$畻鍊�' && state==1"><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span></template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏈�缁堝��' && state==1"> + <template + v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '璁$畻鍊�' && + state == 1 + " + ><span :style="`font-family:${n.v.ff} !important;`">{{ + toFixed(n.v.v, n.v.ct) + }}</span></template + > + <template + v-else-if=" + n.v.ps != undefined && + n.v.ps.value === '鏈�缁堝��' && + state == 1 + " + > <!-- <el-input class="table_input" type="textarea" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input> @@ -426,64 +815,161 @@ :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()"> <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> </el-select> --> - <span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span> + <span :style="`font-family:${n.v.ff} !important;`">{{ + toFixed(n.v.v, n.v.ct) + }}</span> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧缂栧彿'"> - <div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode"> + <template + v-else-if=" + n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿' + " + > + <div + style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" + :title="currentSample.sampleCode" + > <!-- <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> --> - <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div> + <div + :style=" + `font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);` + " + > + {{ currentSample.sampleCode }} + </div> <!-- <i class="el-icon-caret-right table_caret" style="width: 16px;" v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> --> </div> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'"> - <div :style="`font-family:${n.v.ff} !important;`" v-if="currentSample.model!==undefined&¤tSample.model!==null">{{currentSample.model}}</div> + <template + v-else-if=" + n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿' + " + > + <div + :style="`font-family:${n.v.ff} !important;`" + v-if=" + currentSample.model !== undefined && + currentSample.model !== null + " + > + {{ currentSample.model }} + </div> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璇曢獙鏍囧噯'"> - <div :style="`font-family:${n.v.ff} !important;`" v-if="currentSample.testRequirements!==undefined&¤tSample.testRequirements!==null">{{currentSample.testRequirements}}</div> + <template + v-else-if=" + n.v.ps != undefined && n.v.ps.value === '璇曢獙鏍囧噯' + " + > + <div + :style="`font-family:${n.v.ff} !important;`" + v-if=" + currentSample.testRequirements !== undefined && + currentSample.testRequirements !== null + " + > + {{ currentSample.testRequirements }} + </div> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='濂楃'"> - <div style="display: flex;flex-wrap: nowrap;align-items: center;"> + <template + v-else-if="n.v.ps != undefined && n.v.ps.value === '濂楃'" + > + <div + style="display: flex;flex-wrap: nowrap;align-items: center;" + > <!-- <i class="el-icon-caret-left table_caret" @click="caretBushing(-1)"></i> --> - <div :style="`font-family:${n.v.ff} !important;`">{{currentBushing?currentBushing.color:''}}</div> + <div :style="`font-family:${n.v.ff} !important;`"> + {{ currentBushing ? currentBushing.color : "" }} + </div> <!-- <i class="el-icon-caret-right table_caret" @click="caretBushing(1)"></i> --> </div> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鍏夌氦甯�'"> - <div style="display: flex;flex-wrap: nowrap;align-items: center;"> - <i class="el-icon-caret-left table_caret" @click="caretTape(-1) - " v-if="currentFiberOpticTape"></i> - <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOpticTape?currentFiberOpticTape.code:''}}</div> - <i class="el-icon-caret-right table_caret" - v-if="currentFiberOpticTape" - @click="caretTape(1)"></i> - </div> - </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鍏夌氦'"> - <div style="display: flex;flex-wrap: nowrap;align-items: center;"> - <i class="el-icon-caret-left table_caret" @click="caretOptic(-1)" - v-if="currentFiberOptic"></i> - <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOptic?currentFiberOptic.color:''}} + <template + v-else-if="n.v.ps != undefined && n.v.ps.value === '鍏夌氦甯�'" + > + <div + style="display: flex;flex-wrap: nowrap;align-items: center;" + > + <i + class="el-icon-caret-left table_caret" + @click="caretTape(-1)" + v-if="currentFiberOpticTape" + ></i> + <div :style="`font-family:${n.v.ff} !important;`"> + {{ + currentFiberOpticTape + ? currentFiberOpticTape.code + : "" + }} </div> <i - v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i> + class="el-icon-caret-right table_caret" + v-if="currentFiberOpticTape" + @click="caretTape(1)" + ></i> </div> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璇曢獙鍓嶆牱鍝佹鏌�'"> - <el-select class="table_input" v-model="n.v.v" - :disabled="state>1|| (n.u != userId && n.u != undefined && n.u != '')" @change="(val)=>changeSampleCheck(val, n,'鍓�')"> + <template + v-else-if="n.v.ps != undefined && n.v.ps.value === '鍏夌氦'" + > + <div + style="display: flex;flex-wrap: nowrap;align-items: center;" + > + <i + class="el-icon-caret-left table_caret" + @click="caretOptic(-1)" + v-if="currentFiberOptic" + ></i> + <div :style="`font-family:${n.v.ff} !important;`"> + {{ currentFiberOptic ? currentFiberOptic.color : "" }} + </div> + <i + v-if="currentFiberOptic" + class="el-icon-caret-right table_caret" + @click="caretOptic(1)" + ></i> + </div> + </template> + <template + v-else-if=" + n.v.ps != undefined && n.v.ps.value === '璇曢獙鍓嶆牱鍝佹鏌�' + " + > + <el-select + class="table_input" + v-model="n.v.v" + :disabled=" + state > 1 || + (n.u != userId && n.u != undefined && n.u != '') + " + @change="val => changeSampleCheck(val, n, '鍓�')" + > <el-option label="瀹屽ソ" :value="'瀹屽ソ'"></el-option> <el-option label="鐮存崯" :value="'鐮存崯'"></el-option> </el-select> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璇曢獙鍚庢牱鍝佹鏌�'"> - <el-select class="table_input" v-model="n.v.v" - :disabled="state>1|| (n.u != userId && n.u != undefined && n.u != '')" @change="(val)=>changeSampleCheck(val, n,'鍚�')"> + <template + v-else-if=" + n.v.ps != undefined && n.v.ps.value === '璇曢獙鍚庢牱鍝佹鏌�' + " + > + <el-select + class="table_input" + v-model="n.v.v" + :disabled=" + state > 1 || + (n.u != userId && n.u != undefined && n.u != '') + " + @change="val => changeSampleCheck(val, n, '鍚�')" + > <el-option label="瀹屽ソ" :value="'瀹屽ソ'"></el-option> <el-option label="鐮存崯" :value="'鐮存崯'"></el-option> </el-select> </template> - <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span> + <span + v-else + :style="`font-family:${n.v.ff} !important;`" + v-html="getValue(n.v)" + ></span> </div> </td> </tr> @@ -491,66 +977,135 @@ </table> </div> <!-- 娓╁害寰幆妫�楠屽師濮嬭褰� --> - <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'"> + <div + v-loading="tableLoading" + v-else-if=" + tableLists.find(m => m.templateId == currentTable).templateName == + '娓╁害寰幆妫�楠屽師濮嬭褰�' + " + > <el-divider></el-divider> - <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4> - <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> - <el-form-item label="鍨嬪彿:" style="margin-bottom: 0;"> - <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input> - </el-form-item> - <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0;"> - <el-input clearable v-model="wareForm0.methodName" disabled size="small" placeholder=""></el-input> - </el-form-item> - <!-- <el-form-item label="妫�娴嬩緷鎹�:" style="margin-bottom: 0;"> + <h4 + style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;" + > + 娓╁害寰幆妫�楠屽師濮嬭褰� + </h4> + <el-form + :inline="true" + :model="wareForm" + class="form-inline" + label-width="100px" + style="justify-content: flex-start;display: flex;align-items: center;width: 100%;" + > + <el-form-item label="鍨嬪彿:" style="margin-bottom: 0;"> + <el-input + clearable + v-model="wareForm0.model" + disabled + size="small" + placeholder="" + ></el-input> + </el-form-item> + <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0;"> + <el-input + clearable + v-model="wareForm0.methodName" + disabled + size="small" + placeholder="" + ></el-input> + </el-form-item> + <!-- <el-form-item label="妫�娴嬩緷鎹�:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm0.sample" disabled size="small" placeholder=""></el-input> </el-form-item> --> - <el-form-item label="寰幆娆℃暟:" style="margin-bottom: 0;"> - <el-select v-model="wareForm.inspectionItem" placeholder="璇烽�夋嫨" size="small" @change="m=>wareFormChange(m,'inspectionItem')"> - <el-option - v-for="item in numOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="娓╁害:" style="margin-bottom: 0;"> - <el-select v-model="wareForm.inspectionItemSubclass" placeholder="璇烽�夋嫨" size="small" @change="m=>wareFormChange(m,'inspectionItemSubclass')"> - <el-option - v-for="item in temperatureOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - <span style="margin-left: 4px;">鈩�</span> - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> - <el-form-item label="浠櫒鍚嶇О:"> - <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> - </el-form-item> - <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> + <el-form-item label="寰幆娆℃暟:" style="margin-bottom: 0;"> + <el-select + v-model="wareForm.inspectionItem" + placeholder="璇烽�夋嫨" + size="small" + @change="m => wareFormChange(m, 'inspectionItem')" + > <el-option - v-for="item in equipOptions" + v-for="item in numOptions" :key="item.value" - :label="item.value" - :value="item.value"> + :label="item.label" + :value="item.value" + > </el-option> </el-select> </el-form-item> - <el-form-item label="浠櫒鍚嶇О:" > - <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> + <el-form-item label="娓╁害:" style="margin-bottom: 0;"> + <el-select + v-model="wareForm.inspectionItemSubclass" + placeholder="璇烽�夋嫨" + size="small" + @change="m => wareFormChange(m, 'inspectionItemSubclass')" + > + <el-option + v-for="item in temperatureOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + <span style="margin-left: 4px;">鈩�</span> + </el-form-item> + </el-form> + <el-divider></el-divider> + <el-form + :inline="true" + :model="equipForm" + label-width="100px" + style="justify-content: flex-start;display: flex;align-items: center;width: 100%;" + > + <el-form-item label="浠櫒鍚嶇О:"> + <el-input + clearable + v-model="equipForm.value0" + disabled + size="small" + placeholder="" + ></el-input> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> + <el-select + v-model="equipForm.code0" + :disabled="state > 1" + placeholder="璇烽�夋嫨" + size="small" + > <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" - :value="item.value"> + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="浠櫒鍚嶇О:"> + <el-input + clearable + v-model="equipForm.value1" + disabled + size="small" + placeholder="" + ></el-input> + </el-form-item> + <el-form-item label="浠櫒缂栧彿:"> + <el-select + v-model="equipForm.code1" + :disabled="state > 1" + placeholder="璇烽�夋嫨" + size="small" + > + <el-option + v-for="item in equipOptions" + :key="item.value" + :label="item.value" + :value="item.value" + > </el-option> </el-select> </el-form-item> @@ -560,63 +1115,89 @@ ref="wareTableData" border v-loading="wareTableDataLoading" - style="width: 100%;margin-bottom: 30px;" align="center" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'&&wareForm.inspectionItemSubclass!='20'||(wareForm.inspectionItemSubclass=='20(甯告俯)'&&wareForm.inspectionItem==1)||(wareForm.inspectionItemSubclass=='20'&&wareForm.inspectionItem==numOptions.length)"> - <el-table-column - label="搴忓彿" - type="index" - width="59" - align="center" - > + style="width: 100%;margin-bottom: 30px;" + align="center" + v-if=" + (wareForm.inspectionItemSubclass != '20(甯告俯)' && + wareForm.inspectionItemSubclass != '20') || + (wareForm.inspectionItemSubclass == '20(甯告俯)' && + wareForm.inspectionItem == 1) || + (wareForm.inspectionItemSubclass == '20' && + wareForm.inspectionItem == numOptions.length) + " + > + <el-table-column label="搴忓彿" type="index" width="59" align="center"> </el-table-column> <el-table-column prop="bushColor" label="绠¤壊鏍�" width="75" - align="center"> + align="center" + > </el-table-column> <el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" width="105" - align="center"> + align="center" + > </el-table-column> <el-table-column prop="color" label="鍏夌氦鑹叉爣" align="center" - width="90"> + width="90" + > </el-table-column> - <template v-for="(item,index) in wareLength"> + <template v-for="(item, index) in wareLength"> <el-table-column prop="value0" label="澶栫" align="center" - width="100" :key="(new Date().getTime())+'1234567'"> + width="100" + :key="new Date().getTime() + '1234567'" + > <template slot="header"> - {{ '澶栫'+(index+1) }} + {{ "澶栫" + (index + 1) }} </template> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1||!dataAcquisitionEidtAble" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input + size="small" + v-model="scope.row.arr[index].value0" + placeholder="" + :disabled="state > 1 || !dataAcquisitionEidtAble" + @change="m => changeItem(scope.row.arr[index])" + ></el-input> </template> </el-table-column> <el-table-column prop="value1" label="鍐呯" align="center" - width="100" :key="(new Date().getTime())+'23333333'"> + width="100" + :key="new Date().getTime() + '23333333'" + > <template slot="header"> - {{ '鍐呯'+(index+1) }} + {{ "鍐呯" + (index + 1) }} </template> <template slot-scope="scope"> - <el-input size="small" :disabled="state>1||!dataAcquisitionEidtAble" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input + size="small" + :disabled="state > 1 || !dataAcquisitionEidtAble" + v-model="scope.row.arr[index].value1" + placeholder="" + @change="m => changeItem(scope.row.arr[index])" + ></el-input> </template> </el-table-column> <el-table-column prop="comValue" align="center" - min-width="150" :key="(new Date().getTime())+'364654654'"> + min-width="150" + :key="new Date().getTime() + '364654654'" + > <template slot="header"> - {{ '琛板噺绯绘暟'+item }} + {{ "琛板噺绯绘暟" + item }} </template> <template slot-scope="scope"> <span>{{ scope.row.arr[index].comValue }}</span> @@ -626,10 +1207,12 @@ prop="resValue" label="琛板噺宸�" align="center" - v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" - min-width="90" :key="(new Date().getTime())+'434634634634'"> + v-if="wareForm.inspectionItemSubclass != '20(甯告俯)'" + min-width="90" + :key="new Date().getTime() + '434634634634'" + > <template slot="header"> - {{ '琛板噺宸�'+(index+1) }} + {{ "琛板噺宸�" + (index + 1) }} </template> <template slot-scope="scope"> <span>{{ scope.row.arr[index].resValue }}</span> @@ -639,65 +1222,165 @@ prop="insResult" label="缁撹" align="center" - min-width="70" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" :key="(new Date().getTime())+'53457689809808-'"> + min-width="70" + v-if="wareForm.inspectionItemSubclass != '20(甯告俯)'" + :key="new Date().getTime() + '53457689809808-'" + > <template slot="header"> - {{ '缁撹'+(index+1) }} + {{ "缁撹" + (index + 1) }} </template> <template slot-scope="scope"> - <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span> - <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span> - <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> + <span + v-if="scope.row.arr[index].insResult === 1" + style="color: green;" + >鍚堟牸</span + > + <span + v-else-if="scope.row.arr[index].insResult === 0" + style="color: red;" + >涓嶅悎鏍�</span + > + <span + v-else-if="scope.row.arr[index].insResult === 3" + style="color: #3A7BFA;" + >涓嶅垽瀹�</span + > <span v-else>寰呭畾</span> </template> </el-table-column> - </template> + </template> </el-table> </div> <!-- 鐑惊鐜�/娓╁崌璇曢獙妫�楠屽師濮嬭褰� --> - <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')||tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙')"> + <div + v-loading="tableLoading" + v-else-if=" + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐑惊鐜�') || + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('娓╁崌璇曢獙') + " + > <el-divider></el-divider> - <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">{{tableLists.find(m=>m.templateId==currentTable).templateName}}</h4> - <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> + <h4 + style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;" + > + {{ tableLists.find(m => m.templateId == currentTable).templateName }} + </h4> + <el-form + :inline="true" + :model="wareForm" + class="form-inline" + label-width="100px" + style="justify-content: flex-start;display: flex;align-items: center;width: 100%;" + > <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0;"> - <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> + <el-input + clearable + v-model="equipForm.value0" + disabled + size="small" + placeholder="" + ></el-input> </el-form-item> <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0;"> - <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> + <el-input + clearable + v-model="equipForm.value1" + disabled + size="small" + placeholder="" + ></el-input> </el-form-item> <el-form-item label="鍨嬪彿:" style="margin-bottom: 0;"> - <el-input clearable v-model="thermalCyclingInfo.model" disabled size="small" placeholder=""></el-input> + <el-input + clearable + v-model="thermalCyclingInfo.model" + disabled + size="small" + placeholder="" + ></el-input> </el-form-item> <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0;"> - <el-input clearable v-model="thermalCyclingInfo.methodName" disabled size="small" placeholder=""></el-input> + <el-input + clearable + v-model="thermalCyclingInfo.methodName" + disabled + size="small" + placeholder="" + ></el-input> </el-form-item> </el-form> <el-divider></el-divider> - <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> + <el-form + :inline="true" + :model="equipForm" + label-width="100px" + style="justify-content: flex-start;display: flex;align-items: center;width: 100%;" + > <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> + <el-select + v-model="equipForm.code0" + :disabled="state > 1" + placeholder="璇烽�夋嫨" + size="small" + > <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" - :value="item.value"> + :value="item.value" + > </el-option> </el-select> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> + <el-select + v-model="equipForm.code1" + :disabled="state > 1" + placeholder="璇烽�夋嫨" + size="small" + > <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" - :value="item.value"> + :value="item.value" + > </el-option> </el-select> </el-form-item> - <el-form-item label="寰幆娆℃暟:" v-if="thermalCyclingInfo.inspectionItemClass=='鐩存祦鐢甸樆'"> - <el-input-number v-model="thermalCyclingInfo.inspectionItem" :min="1" :max="thermalCyclingInfo.max" label="" style="margin-top:4px;width: 190px;" size="small" @change="thermalCyclingChange"></el-input-number> + <el-form-item + label="寰幆娆℃暟:" + v-if="thermalCyclingInfo.inspectionItemClass == '鐩存祦鐢甸樆'" + > + <el-input-number + v-model="thermalCyclingInfo.inspectionItem" + :min="1" + :max="thermalCyclingInfo.max" + label="" + style="margin-top:4px;width: 190px;" + size="small" + @change="thermalCyclingChange" + ></el-input-number> </el-form-item> - <el-button type="primary" size="small" style="margin-bottom: 22px;margin-left: 30px;" @click="handleAddThermal" v-if="state==1">鏂板</el-button> - <el-button size="small" style="margin-bottom: 22px;" @click="handleDeleteThermal" v-if="state==1">鍒犻櫎</el-button> + <el-button + type="primary" + size="small" + style="margin-bottom: 22px;margin-left: 30px;" + @click="handleAddThermal" + v-if="state == 1" + >鏂板</el-button + > + <el-button + size="small" + style="margin-bottom: 22px;" + @click="handleDeleteThermal" + v-if="state == 1" + >鍒犻櫎</el-button + > </el-form> <div class="table-container" v-loading="thermalCyclingLoading"> <table border="1" cellpadding="10" class="thermal-table"> @@ -706,28 +1389,71 @@ <td :colspan="thermalCyclingInfo.length">妫�楠岃繃绋嬪��</td> <td style="width: 100px;">缁撹</td> </tr> - <tr v-for="(item,index) in thermalCyclingInfo.arr"> + <tr v-for="(item, index) in thermalCyclingInfo.arr"> <td style="width: 100px;text-align: center;">{{ item.name }}</td> - <td v-for="(m,i) in thermalCyclingInfo.length" style="min-width: 150px;"> - <div style="display: flex;align-items: center;margin-bottom: 5px;"> - <label style="width: 100px;white-space: nowrap;font-size: 12px;">娓╁害:</label> - <el-input clearable size="small" placeholder="" v-model="item.arr[i].value0" :disabled="state>1" @change="m=>saveThermalCycling(m,item,'value0')"></el-input> - <span style="font-size: 12px;margin-left: 13px;margin-right: 13px;"> 鈩�</span> + <td + v-for="(m, i) in thermalCyclingInfo.length" + style="min-width: 150px;" + > + <div + style="display: flex;align-items: center;margin-bottom: 5px;" + > + <label + style="width: 100px;white-space: nowrap;font-size: 12px;" + >娓╁害:</label + > + <el-input + clearable + size="small" + placeholder="" + v-model="item.arr[i].value0" + :disabled="state > 1" + @change="m => saveThermalCycling(m, item, 'value0')" + ></el-input> + <span + style="font-size: 12px;margin-left: 13px;margin-right: 13px;" + > + 鈩�</span + > </div> - <div style="display: flex;align-items: center;" v-if="item.name!='鐜娓╁害'&&thermalCyclingInfo.inspectionItemClass=='鐩存祦鐢甸樆'"> - <label style="width: 100px;white-space: nowrap;font-size: 12px;">鐩存祦鐢甸樆:</label> - <el-input clearable size="small" :disabled="state>1" placeholder="" v-model="item.arr[i].value1" @change="saveThermalCycling"></el-input> + <div + style="display: flex;align-items: center;" + v-if=" + item.name != '鐜娓╁害' && + thermalCyclingInfo.inspectionItemClass == '鐩存祦鐢甸樆' + " + > + <label + style="width: 100px;white-space: nowrap;font-size: 12px;" + >鐩存祦鐢甸樆:</label + > + <el-input + clearable + size="small" + :disabled="state > 1" + placeholder="" + v-model="item.arr[i].value1" + @change="saveThermalCycling" + ></el-input> <span style="margin-left: 5px;font-size: 12px;"> 惟/km</span> </div> </td> <td> - <template v-if="item.name=='鐜娓╁害'||item.name=='瀵肩嚎娓╁害'"> + <template + v-if="item.name == '鐜娓╁害' || item.name == '瀵肩嚎娓╁害'" + > <span>/</span> </template> <template v-else> - <span v-if="item.insResult===1" style="color: green;">鍚堟牸</span> - <span v-else-if="item.insResult===0" style="color: red;">涓嶅悎鏍�</span> - <span v-else-if="item.insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> + <span v-if="item.insResult === 1" style="color: green;" + >鍚堟牸</span + > + <span v-else-if="item.insResult === 0" style="color: red;" + >涓嶅悎鏍�</span + > + <span v-else-if="item.insResult === 3" style="color: #3A7BFA;" + >涓嶅垽瀹�</span + > <span v-else>寰呭畾</span> </template> </td> @@ -736,92 +1462,275 @@ </div> </div> <!-- 鐢佃矾璇曢獙 --> - <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')" style="width: 100%;overflow-x: auto;overflow-y: visible;"> + <div + v-else-if=" + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鐢佃矾璇曢獙') + " + style="width: 100%;overflow-x: auto;overflow-y: visible;" + > <!-- <Circuit></Circuit> --> - <!-- 鐢佃皟 --> - <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters1> + <!-- 鐢佃皟 --> + <CircuitParameters1 + v-if="currentTableState == 0" + :insProduct="currentSample.insProduct" + :orderId="id" + :sampleId="currentSample.id" + :state="state" + :num="currentSample.num1" + :isLook="isLook" + :currentNum="currentNum" + ref="CircuitParameters" + ></CircuitParameters1> <!-- 闈炵數璋� --> - <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters2> + <CircuitParameters2 + v-if="currentTableState == 1" + :insProduct="currentSample.insProduct" + :orderId="id" + :sampleId="currentSample.id" + :state="state" + :num="currentSample.num1" + :isLook="isLook" + :currentNum="currentNum" + ref="CircuitParameters" + ></CircuitParameters2> <!-- 鏃犳簮鍣ㄤ欢 --> - <CircuitParameters3 v-if="this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢' " :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters3> + <CircuitParameters3 + v-if="this.insOrder.sampleType == '鏃犳簮鍣ㄤ欢'" + :insProduct="currentSample.insProduct" + :orderId="id" + :sampleId="currentSample.id" + :state="state" + :num="currentSample.num1" + :isLook="isLook" + :currentNum="currentNum" + ref="CircuitParameters" + ></CircuitParameters3> </div> <!-- 娓╂箍搴﹁瘯楠� --> - <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╂箍搴﹁瘯楠�')"> - <Humidity :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :isLook="isLook" :num="currentSample.num1"/> + <div + v-else-if=" + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('娓╂箍搴﹁瘯楠�') + " + > + <Humidity + :insProduct="currentSample.insProduct" + :orderId="id" + :sampleId="currentSample.id" + :state="state" + :isLook="isLook" + :num="currentSample.num1" + /> </div> <!-- 鍔熺巼璇曢獙 --> - <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鍔熺巼瀹归噺')"> - <PowerCapacity :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :isLook="isLook" :num="currentSample.num1"/> + <div + v-else-if=" + tableLists + .find(m => m.templateId == currentTable) + .templateName.includes('鍔熺巼瀹归噺') + " + > + <PowerCapacity + :insProduct="currentSample.insProduct" + :orderId="id" + :sampleId="currentSample.id" + :state="state" + :isLook="isLook" + :num="currentSample.num1" + /> </div> - <el-upload :action="action" - :data="{ - orderId:this.orderId0, - sampleId:id, - sonLaboratory:sonLaboratory - }" - v-if="state==1&&fileAdd" - :on-success="handleSuccessUp" :show-file-list="false" - accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :before-upload="beforeUpload" + <el-upload + :action="action" + :data="{ + orderId: this.orderId0, + sampleId: id, + sonLaboratory: sonLaboratory + }" + v-if="state == 1 && fileAdd" + :on-success="handleSuccessUp" + :show-file-list="false" + accept=".jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv" + :headers="headers" + :before-upload="beforeUpload" style="width: 80px !important;" - :on-error="onError" ref='upload'> - <el-button size="small" type="primary" v-if="state==1">闄勪欢涓婁紶</el-button></el-upload> + :on-error="onError" + ref="upload" + > + <el-button size="small" type="primary" v-if="state == 1" + >闄勪欢涓婁紶</el-button + ></el-upload + > <!-- <span v-if="sonLaboratory === '杩滃満'||sonLaboratory === '杩戝満'" style="color: red;font-size: 12px;">杈愬皠璇曢獙灏介噺涓婁紶璁惧瀵煎嚭鐨刢sv鏂囦欢锛屼笉鐒惰Е鍙戜笉浜嗘姤鍛婄敓鎴�</span> --> - <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" + <ValueTable + class="value-table" + ref="fileList" + :url="$api.insOrderPlan.getFileList" :componentData="componentData0" :delUrl="$api.insOrderPlan.delfile" - :key="upIndex" style="height: 100%;margin-top: 16px;"/> + :key="upIndex" + style="height: 100%;margin-top: 16px;" + /> </div> - <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" :size="500" :modal="!noBack"> - <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border - highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName" - :current-row-key="currentKey" :row-key="record=>record.index" v-if="sampleVisible"> - <el-table-column type="index" align="center" label="搴忓彿" width="70px" :key="Math.random()"> + <el-drawer + title="鏍峰搧鍒囨崲" + :visible.sync="sampleVisible" + :size="500" + :modal="!noBack" + > + <el-table + class="el-table" + ref="productTable" + :data="sampleProduct" + height="100%" + tooltip-effect="dark" + border + highlight-current-row + @row-click="handleChangeSample" + :row-class-name="tableRowClassName" + :current-row-key="currentKey" + :row-key="record => record.index" + v-if="sampleVisible" + > + <el-table-column + type="index" + align="center" + label="搴忓彿" + width="70px" + :key="Math.random()" + > </el-table-column> - <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100px" show-overflow-tooltip></el-table-column> - <el-table-column prop="model" label="鏍峰搧鍨嬪彿" min-width="100px" show-overflow-tooltip></el-table-column> - <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="100px" show-overflow-tooltip> + <el-table-column + prop="sampleCode" + label="鏍峰搧缂栧彿" + min-width="100px" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="model" + label="鏍峰搧鍨嬪彿" + min-width="100px" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="insState" + label="妫�娴嬬姸鎬�" + width="100px" + show-overflow-tooltip + > <template slot-scope="scope"> - <el-tag v-for="(item, i) in typeList" :key="i" v-if="item.value == scope.row.insState" :type="item.type" - size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> + <el-tag + v-for="(item, i) in typeList" + :key="i" + v-if="item.value == scope.row.insState" + :type="item.type" + size="medium" + style="margin-right: 5px;" + >{{ item.label }}</el-tag + > </template> </el-table-column> - <el-table-column prop="checkName" label="妫�楠屼汉" min-width="80px" show-overflow-tooltip></el-table-column> - <el-table-column prop="isLeave" label="鏄惁鐣欐牱" width="95px" show-overflow-tooltip align="center"> + <el-table-column + prop="checkName" + label="妫�楠屼汉" + min-width="80px" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="isLeave" + label="鏄惁鐣欐牱" + width="95px" + show-overflow-tooltip + align="center" + > <template slot-scope="scope"> - <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span> + <span>{{ scope.row.isLeave == 0 ? "鍚�" : "鏄�" }}</span> </template> </el-table-column> <!-- 妫�楠屽崟浼氭湁涓�涓槸鍚︽湁閰嶅鏍峰搧瀛楁鎺у埗鏄剧ず --> - <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" min-width="130px" show-overflow-tooltip - v-if="insOrder.mating>0"></el-table-column> - <el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" min-width="130px" show-overflow-tooltip - v-if="insOrder.mating>0"></el-table-column> - <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" min-width="130px" show-overflow-tooltip - v-if="insOrder.mating>0"></el-table-column> + <el-table-column + prop="joinModel" + label="閰嶅鏍峰搧鍨嬪彿" + min-width="130px" + show-overflow-tooltip + v-if="insOrder.mating > 0" + ></el-table-column> + <el-table-column + prop="joinName" + label="閰嶅鏍峰搧鍚嶇О" + min-width="130px" + show-overflow-tooltip + v-if="insOrder.mating > 0" + ></el-table-column> + <el-table-column + prop="joinNum" + label="閰嶅鏍峰搧鏁伴噺" + min-width="130px" + show-overflow-tooltip + v-if="insOrder.mating > 0" + ></el-table-column> </el-table> </el-drawer> <el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" :size="500"> - <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.inspectionOrderDetailsTaskSwitching" - :componentData="componentData" :key="upIndex" style="height: 100%;"/> + <ValueTable + class="value-table" + ref="insOrderPlan" + :url="$api.insOrderPlan.inspectionOrderDetailsTaskSwitching" + :componentData="componentData" + :key="upIndex" + style="height: 100%;" + /> </el-drawer> <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px"> <div class="body" style="display: flex;padding: 10px;" v-if="reviewDia"> - <div class="search_label" style="width: 150px;"><span class="required-span">* </span>鍐嶆璇曢獙鐨勭悊鐢憋細</div> + <div class="search_label" style="width: 150px;"> + <span class="required-span">* </span>鍐嶆璇曢獙鐨勭悊鐢憋細 + </div> <div class="search_input" style="width: 100%;"> - <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 4}"></el-input> + <el-input + size="small" + clearable + v-model="noReason" + type="textarea" + :autosize="{ minRows: 4 }" + ></el-input> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="reviewDia = false">鍙� 娑�</el-button> - <el-button type="primary" @click="handleReviewDia" :loading="reviewLoading">纭� 瀹�</el-button> + <el-button + type="primary" + @click="handleReviewDia" + :loading="reviewLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> <el-dialog title="鎸囧畾澶嶆牳浜哄憳" :visible.sync="addVerifyDia" width="400px"> - <div class="body" style="display: flex;padding: 10px;align-items: center;"> - <div class="search_label" style="width: 150px;"><span class="required-span">*</span>澶嶆牳浜�</div> + <div + class="body" + style="display: flex;padding: 10px;align-items: center;" + > + <div class="search_label" style="width: 150px;"> + <span class="required-span">*</span>澶嶆牳浜� + </div> <div class="search_input" style="width: 100%;"> - <el-select v-model="verifyUser" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" clearable filterable> - <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> + <el-select + v-model="verifyUser" + placeholder="璇烽�夋嫨" + size="small" + style="width: 100%;" + clearable + filterable + > + <el-option + v-for="(item, i) in personList" + :key="i" + :label="item.label" + :value="item.value" + > </el-option> </el-select> </div> @@ -831,7 +1740,14 @@ <el-button type="primary" @click="submit()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog title="鏁版嵁閲囬泦" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog"> + <el-dialog + title="鏁版嵁閲囬泦" + :visible.sync="dataGetDia" + :close-on-click-modal="false" + :close-on-press-escape="false" + :show-close="false" + custom-class="custom-dialog" + > <div> <table border="1" cellpadding="10" class="thermal-table"> <tr> @@ -839,23 +1755,35 @@ <td style="width: 120px;">妫�楠屽瓙椤�</td> <td>鏁伴噰鏁版嵁</td> </tr> - <template v-for="(item,index) in getData"> + <template v-for="(item, index) in getData"> <tr> - <td :rowspan="item.child.length">{{item.faName}}</td> + <td :rowspan="item.child.length">{{ item.faName }}</td> <td>{{ item.child[0].name }}</td> <td style="text-align: left;"> <el-checkbox-group - v-model="getDataIndex" :max="item.child[0].maxNum"> - <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox> + v-model="getDataIndex" + :max="item.child[0].maxNum" + > + <el-checkbox + v-for="(n, j) in item.child[0].arr" + :label="j" + :key="j" + >{{ n }}</el-checkbox + > </el-checkbox-group> </td> </tr> - <tr v-for="(m,i) in item.child" :key="i+'bbbbbbbbbbbbbb'" v-show="i>0"> + <tr + v-for="(m, i) in item.child" + :key="i + 'bbbbbbbbbbbbbb'" + v-show="i > 0" + > <td>{{ m.name }}</td> <td style="text-align: left;"> - <el-checkbox-group - v-model="getDataIndex" :max="m.maxNum"> - <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox> + <el-checkbox-group v-model="getDataIndex" :max="m.maxNum"> + <el-checkbox v-for="(n, j) in m.arr" :label="j" :key="j">{{ + n + }}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -863,7 +1791,12 @@ </table> </div> <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataGet()" :loading="getDataIndexLoading">纭� 瀹�</el-button> + <el-button + type="primary" + @click="submitDataGet()" + :loading="getDataIndexLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> <el-dialog @@ -872,34 +1805,64 @@ width="30%" :close-on-click-modal="false" :close-on-press-escape="false" - :show-close="false"> + :show-close="false" + > <el-radio-group v-model="currentTableState"> <el-radio :label="0">鐢佃皟-鐢佃矾妫�楠屽師濮嬭褰�</el-radio> <el-radio :label="1">闈炵數璋�-鐢佃矾妫�楠屽師濮嬭褰�</el-radio> </el-radio-group> <span slot="footer" class="dialog-footer"> - <el-button type="primary" :loading="versionLoading" @click="saveVersion">纭� 瀹�</el-button> + <el-button type="primary" :loading="versionLoading" @click="saveVersion" + >纭� 瀹�</el-button + > </span> </el-dialog> <el-dialog title="璇曢獙淇℃伅" :visible.sync="experimentDia" width="50%"> <div style="height: 80vh;overflow-y: auto;"> - <div class="body" style="display: flex;padding: 10px;align-items: center;" v-if="experimentDia0"> - <div class="search_label" style="width: 150px;"><span class="required-span">*</span>瀹為獙闃舵</div> + <div + class="body" + style="display: flex;padding: 10px;align-items: center;" + v-if="experimentDia0" + > + <div class="search_label" style="width: 150px;"> + <span class="required-span">*</span>瀹為獙闃舵 + </div> <div class="search_input" style="width: 100%;"> - <el-input clearable v-model="experimentInfo.term" size="small" placeholder=""></el-input> + <el-input + clearable + v-model="experimentInfo.term" + size="small" + placeholder="" + ></el-input> </div> </div> - <div class="body" style="display: flex;padding: 10px;align-items: center;" v-if="experimentDia0"> - <div class="search_label" style="width: 150px;"><span class="required-span">*</span>瀹為獙鎿嶄綔</div> + <div + class="body" + style="display: flex;padding: 10px;align-items: center;" + v-if="experimentDia0" + > + <div class="search_label" style="width: 150px;"> + <span class="required-span">*</span>瀹為獙鎿嶄綔 + </div> <div class="search_input" style="width: 100%;"> - <el-input clearable v-model="experimentInfo.note" size="small" placeholder="" type="textarea" - :rows="2"></el-input> + <el-input + clearable + v-model="experimentInfo.note" + size="small" + placeholder="" + type="textarea" + :rows="2" + ></el-input> </div> </div> - <template v-for="(x,y) in newUserInfo"> - <p style="margin: 10px 0;"><el-tag size="small">{{x.name}}</el-tag> 宸ユ椂濉啓</p> + <template v-for="(x, y) in newUserInfo"> + <p style="margin: 10px 0;"> + <el-tag size="small">{{ x.name }}</el-tag> 宸ユ椂濉啓 + </p> <table border="1" cellpadding="10" class="thermal-table"> - <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;"> + <tr + style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;" + > <td>鏍峰搧</td> <td>鏍峰搧缂栧彿</td> <td>鍨嬪彿</td> @@ -907,16 +1870,26 @@ <td>妫�楠屽瓙椤�</td> <td>宸ユ椂</td> </tr> - <template v-for="(item,index) in sampleProduct"> + <template v-for="(item, index) in sampleProduct"> <tr> - <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td> - <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td> - <td :rowspan="item.insProduct.length+1">{{ item.model }}</td> + <td :rowspan="item.insProduct.length + 1">{{ item.sample }}</td> + <td :rowspan="item.insProduct.length + 1"> + {{ item.sampleCode }} + </td> + <td :rowspan="item.insProduct.length + 1">{{ item.model }}</td> </tr> - <tr v-for="(m,i) in item.insProduct" :key="item.id+i"> + <tr v-for="(m, i) in item.insProduct" :key="item.id + i"> <td>{{ m.inspectionItem }}</td> <td>{{ m.inspectionItemSubclass }}</td> - <td><el-input-number v-model="x.timeArr[i]" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td> + <td> + <el-input-number + v-model="x.timeArr[i]" + :min="0" + :max="100" + label="宸ユ椂" + size="small" + ></el-input-number> + </td> </tr> </template> </table> @@ -930,332 +1903,374 @@ <el-dialog title="鏂囦欢棰勮" :visible.sync="lookFileVisible" - width="60%" fullscreen :modal="false"> - <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" - :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/> + width="60%" + fullscreen + :modal="false" + > + <filePreview + v-if="lookFileVisible" + :fileUrl="currentFile.url" + :currentFile="currentFile" + style="max-height: 87vh;overflow-y: auto;" + /> </el-dialog> <el-dialog title="淇濆瓨妯℃澘" :visible.sync="templateDia" width="400px"> - <div class="body" style="display: flex;align-items: center;" v-if="templateDia"> - <div class="search_label" style="width: 90px;"><span class="required-span">* </span>妯℃澘鍚嶇О锛�</div> + <div + class="body" + style="display: flex;align-items: center;" + v-if="templateDia" + > + <div class="search_label" style="width: 90px;"> + <span class="required-span">* </span>妯℃澘鍚嶇О锛� + </div> <div class="search_input"> <el-input size="small" clearable v-model="templateName"></el-input> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="templateDia = false">鍙� 娑�</el-button> - <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button> + <el-button + type="primary" + @click="addTemplateDia" + :loading="templateLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> <el-dialog title="澶嶆牳" :visible.sync="upInsReviewDia" width="400px"> - <el-radio-group v-model="upInsReviewType" style="display: flex;flex-direction: column"> - <el-radio :label="1" style="margin: 10px 0; ">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio> + <el-radio-group + v-model="upInsReviewType" + style="display: flex;flex-direction: column" + > + <el-radio :label="1" style="margin: 10px 0; " + >缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio + > <el-radio :label="0" style="margin: 10px 0; ">鍐嶆妫�楠岃鏍峰搧</el-radio> <el-radio :label="2" style="margin: 10px 0; ">姝ゅ鎵樺崟缁撴潫</el-radio> - <p style="font-size: 12px;color:red">鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑�</p> + <p style="font-size: 12px;color:red"> + 鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑� + </p> </el-radio-group> <span slot="footer" class="dialog-footer"> <el-button @click="upInsReviewDia = false">鍙� 娑�</el-button> - <el-button type="primary" @click="upInsReview" :loading="reviewLoading">纭� 瀹�</el-button> + <el-button type="primary" @click="upInsReview" :loading="reviewLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> </div> </template> <script> - import ValueTable from '../../tool/value-table.vue' - import file from '../../../util/file' - import excelFunction from '../../../util/excelFountion' - import CircuitParameters1 from './circuit-parameters1.vue' - import CircuitParameters2 from './circuit-parameters2.vue' - import CircuitParameters3 from './circuit-parameters3.vue' - import Humidity from './humidity.vue' - import PowerCapacity from './power-capacity.vue' - import filePreview from '../../tool/file-preview.vue' - export default { - props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack','orderId0','userInfo'], - components: { - ValueTable, - CircuitParameters1, - CircuitParameters2, - CircuitParameters3, - filePreview, - Humidity, - PowerCapacity, - }, - data() { - return { - lookFileVisible:false,//棰勮鏂囦欢 - experimentDia:false, - experimentDia0:false, - upInsReviewDia:false, - upInsReviewType:1, - experimentInfo:{ - note:'', - term:'' +import ValueTable from "../../tool/value-table.vue"; +import file from "../../../util/file"; +import excelFunction from "../../../util/excelFountion"; +import CircuitParameters1 from "./circuit-parameters1.vue"; +import CircuitParameters2 from "./circuit-parameters2.vue"; +import CircuitParameters3 from "./circuit-parameters3.vue"; +import Humidity from "./humidity.vue"; +import PowerCapacity from "./power-capacity.vue"; +import filePreview from "../../tool/file-preview.vue"; +export default { + props: [ + "sonLaboratory", + "orderId", + "state", + "inspectorList", + "version", + "orderStateId", + "isLook", + "num1", + "noBack", + "orderId0", + "userInfo" + ], + components: { + ValueTable, + CircuitParameters1, + CircuitParameters2, + CircuitParameters3, + filePreview, + Humidity, + PowerCapacity + }, + data() { + return { + lookFileVisible: false, //棰勮鏂囦欢 + experimentDia: false, + experimentDia0: false, + upInsReviewDia: false, + upInsReviewType: 1, + experimentInfo: { + note: "", + term: "" + }, + currentNum: 0, + versionLoading: false, + versionDialogVisible: false, + currentTableState: 0, + dataGetDia: false, + wareTableDataLoading: false, + fileAdd: false, + sampleVisible: false, + taskVisible: false, + submitLoading: false, + searchForm: { + sampleName: null, + state: null + }, + id: 0, + componentData: { + entity: { + sonLaboratory: null, + userId: 0 }, - currentNum:0, - versionLoading:false, - versionDialogVisible:false, - currentTableState:0, - dataGetDia:false, - wareTableDataLoading:false, - fileAdd:false, - sampleVisible: false, - taskVisible: false, - submitLoading: false, - searchForm: { - sampleName: null, - state: null + isIndex: false, + showSelect: false, + select: false, + selectMethod: "handleChangeTask", + sort: false, + do: [], + isPage: false, + linkEvent: {}, + tagField: { + type: { + select: [] + }, + insState: { + select: [] + } }, - id: 0, - componentData: { - entity: { - sonLaboratory: null, - userId: 0 - }, - isIndex: false, - showSelect: false, - select: false, - selectMethod: 'handleChangeTask', - sort: false, - do: [], - isPage: false, - linkEvent: {}, - tagField: { - type: { - select: [] - }, - insState: { - select: [] - }, - }, - currentId: '', - selectField: {}, - requiredAdd: [], - requiredUp: [] + currentId: "", + selectField: {}, + requiredAdd: [], + requiredUp: [] + }, + componentData0: { + entity: { + insSampleId: "", + sonLaboratory: this.sonLaboratory, + insOrderId: "" }, - componentData0: { - entity: { - insSampleId:'', - sonLaboratory:this.sonLaboratory, - insOrderId:'' - }, - isIndex: true, - showSelect: false, - select: false, - sort: false, - init:false, - do: [ + isIndex: true, + showSelect: false, + select: false, + sort: false, + init: false, + do: [ { - id: 'handleDown', - font: '涓嬭浇', - type: 'text', - method: 'handleDown' - },{ - id: 'delete', - font: '鍒犻櫎', - type: 'text', - method: 'doDiy', + id: "handleDown", + font: "涓嬭浇", + type: "text", + method: "handleDown" + }, + { + id: "delete", + font: "鍒犻櫎", + type: "text", + method: "doDiy", disabFun: (row, index) => { - return this.state!=1 - } - }, - { - id: '1', - font: '棰勮', - type: 'text', - method: 'lookFile', - } - ], - isPage: false, - linkEvent: {}, - tagField: { - type:{ - select:[ - { - value: 1, - label: '鍥剧墖' - }, - { - value: 2, - label: '鏂囦欢' - } - ] + return this.state != 1; } }, - currentId: '', - selectField: {}, - requiredAdd: [], - requiredUp: [] + { + id: "1", + font: "棰勮", + type: "text", + method: "lookFile" + } + ], + isPage: false, + linkEvent: {}, + tagField: { + type: { + select: [ + { + value: 1, + label: "鍥剧墖" + }, + { + value: 2, + label: "鏂囦欢" + } + ] + } }, - upIndex: 0, - changeType:null, - insOrder: {}, - sampleProduct: [], - typeList: [], - urgentList: [], - currentSample: {}, //褰撳墠鏍峰搧淇℃伅 - tableList: [], - loading: false, - ps: {}, - param: {}, - currentKey: 1, - currentKey0: 1, - currentKey1: 1, - currentKey2: 1, - comparisonList: [], - excelMethodList: [], - equipOptions: [], - userId: 0, - reviewLoading: false, - reviewDia: false, - noReason: '', - tableWidth: 1000, - currentTable: null, - tableLists: [], - widthList: [], - addVerifyDia: false, - verifyUser: null, - personList: [], - enumList: [], - fiberOpticTape:[],//鍏夌氦甯﹀垪琛� - fiberOptic:[],//鍏夌氦鍒楄〃 - bushing:[],//濂楃鍒楄〃 - currentFiberOpticTape:null,//褰撳墠鍏夌氦甯� - currentFiberOptic:null,//褰撳墠鍏夌氦 - currentBushing:null,//褰撳墠濂楃 - tableLoading:false, - upLoading:false, - temptList:null, - fiber:[], - fibers:[], - casing:[], - currentTab:null, - wareForm:{ - inspectionItem:1, - inspectionItemSubclass:'20(甯告俯)', - }, - wareForm0:{}, - numOptions:[], - temperatureOptions:[], - wareTableData:[], - equipForm:{ - value0:null, - code0:null, - value1:null, - code1:null, - }, - result: null, - worker: null, - worker0: null, - wareLength:[], - dataAcquisitionInfo:{}, - dataAcquisitionInfoNew:{}, - dataAcquisitionEidtAble:false, - isGet:false, - dataAcquisitionLoading:false, - collected:false, - // 鐑惊鐜�---寮�濮� - thermalCyclingInfo:{ - max:0, - inspectionItem:1, - arr:[], - length:1, - inspectionItemClass:null, - }, - thermalCyclingLoading:false, - temDataAcquisition:false, - getData:[], - getDataIndex:[], - getDataIndexLoading:false, - changeType:null, - getDataTypeId:'', - getDataType:null, - num:0, - otherForm:{ - temperature:'', - humidity:'' - }, - currentFile:{},//褰撳墠鏂囦欢 - templates:[],//鐢佃矾璇曢獙妯℃澘 - templateDia:false,//鐢佃矾璇曢獙妯℃澘淇濆瓨妯℃澘寮规 - template:null, - templateLoading:false, - templateName:'', - addInsProductTemplatePower:false,//閰嶇疆妯℃澘鏉冮檺 - newUserInfo:[] - } + currentId: "", + selectField: {}, + requiredAdd: [], + requiredUp: [] + }, + upIndex: 0, + changeType: null, + insOrder: {}, + sampleProduct: [], + typeList: [], + urgentList: [], + currentSample: {}, //褰撳墠鏍峰搧淇℃伅 + tableList: [], + loading: false, + ps: {}, + param: {}, + currentKey: 1, + currentKey0: 1, + currentKey1: 1, + currentKey2: 1, + comparisonList: [], + excelMethodList: [], + equipOptions: [], + userId: 0, + reviewLoading: false, + reviewDia: false, + noReason: "", + tableWidth: 1000, + currentTable: null, + tableLists: [], + widthList: [], + addVerifyDia: false, + verifyUser: null, + personList: [], + enumList: [], + fiberOpticTape: [], //鍏夌氦甯﹀垪琛� + fiberOptic: [], //鍏夌氦鍒楄〃 + bushing: [], //濂楃鍒楄〃 + currentFiberOpticTape: null, //褰撳墠鍏夌氦甯� + currentFiberOptic: null, //褰撳墠鍏夌氦 + currentBushing: null, //褰撳墠濂楃 + tableLoading: false, + upLoading: false, + temptList: null, + fiber: [], + fibers: [], + casing: [], + currentTab: null, + wareForm: { + inspectionItem: 1, + inspectionItemSubclass: "20(甯告俯)" + }, + wareForm0: {}, + numOptions: [], + temperatureOptions: [], + wareTableData: [], + equipForm: { + value0: null, + code0: null, + value1: null, + code1: null + }, + result: null, + worker: null, + worker0: null, + wareLength: [], + dataAcquisitionInfo: {}, + dataAcquisitionInfoNew: {}, + dataAcquisitionEidtAble: false, + isGet: false, + dataAcquisitionLoading: false, + collected: false, + // 鐑惊鐜�---寮�濮� + thermalCyclingInfo: { + max: 0, + inspectionItem: 1, + arr: [], + length: 1, + inspectionItemClass: null + }, + thermalCyclingLoading: false, + temDataAcquisition: false, + getData: [], + getDataIndex: [], + getDataIndexLoading: false, + changeType: null, + getDataTypeId: "", + getDataType: null, + num: 0, + otherForm: { + temperature: "", + humidity: "" + }, + currentFile: {}, //褰撳墠鏂囦欢 + templates: [], //鐢佃矾璇曢獙妯℃澘 + templateDia: false, //鐢佃矾璇曢獙妯℃澘淇濆瓨妯℃澘寮规 + template: null, + templateLoading: false, + templateName: "", + addInsProductTemplatePower: false, //閰嶇疆妯℃澘鏉冮檺 + newUserInfo: [] + }; + }, + // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� + computed: { + headers() { + return { + token: sessionStorage.getItem("token") + }; }, - // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� - computed: { - headers() { - return { - 'token': sessionStorage.getItem('token') - } - }, - action() { - return this.javaApi + this.$api.insOrderPlan.uploadFile - } - }, - created() { - this.componentData.entity.sonLaboratory = this.sonLaboratory; - this.id = this.orderId; - this.currentTableState = this.version - this.num = this.num1 - this.getUserInfo() - }, - mounted() { - this.getTypeDicts() - this.getInsStateDicts() - this.getComparisonList() - this.getAuthorizedPerson() - this.scrollInit() - this.getPower() - this.startWorker() - }, - watch: { - // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭� - id(val) { - this.loading = true - this.$axios.post(this.$api.insOrderPlan.doInsOrder, { + action() { + return this.javaApi + this.$api.insOrderPlan.uploadFile; + } + }, + created() { + this.componentData.entity.sonLaboratory = this.sonLaboratory; + this.id = this.orderId; + this.currentTableState = this.version; + this.num = this.num1; + this.getUserInfo(); + }, + mounted() { + this.getTypeDicts(); + this.getInsStateDicts(); + this.getComparisonList(); + this.getAuthorizedPerson(); + this.scrollInit(); + this.getPower(); + this.startWorker(); + }, + watch: { + // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭� + id(val) { + this.loading = true; + this.$axios + .post(this.$api.insOrderPlan.doInsOrder, { sampleId: val, laboratory: this.sonLaboratory - }).then(async res => { + }) + .then(async res => { this.insOrder = res.data.insOrder; this.componentData0.entity.insSampleId = val; this.componentData0.entity.insOrderId = this.orderId0; - this.$refs.fileList.selectList() - this.selectInsProductTemplate() + this.$refs.fileList.selectList(); + this.selectInsProductTemplate(); this.urgentList.forEach(m => { if (m.value == this.insOrder.type) { - this.insOrder.typeName = m.label + this.insOrder.typeName = m.label; } - }) - this.loading = false - if(!res.data.sampleProduct||res.data.sampleProduct.length==0){ - return this.$message.error('璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�') + }); + this.loading = false; + if (!res.data.sampleProduct || res.data.sampleProduct.length == 0) { + return this.$message.error("璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�"); } // 璧嬪�煎綋鍓嶆牱鍝佸垪琛� - this.sampleProduct = res.data.sampleProduct - this.currentSample = this.HaveJson(this.sampleProduct[0]) - let insProduct = this.HaveJson(this.currentSample.insProduct) + this.sampleProduct = res.data.sampleProduct; + this.currentSample = this.HaveJson(this.sampleProduct[0]); + let insProduct = this.HaveJson(this.currentSample.insProduct); // 娓╁害銆佹箍搴﹁祴鍊� - if(insProduct&&insProduct.length>0){ - let {temperature,humidity} = insProduct[0]; + if (insProduct && insProduct.length > 0) { + let { temperature, humidity } = insProduct[0]; this.otherForm = { - temperature:temperature?temperature:null, - humidity:humidity?humidity:null, - } + temperature: temperature ? temperature : null, + humidity: humidity ? humidity : null + }; } // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 - let list = await this.getCurrentProduct(this.currentSample.id,0) - this.currentSample.insProduct = this.HaveJson(list) + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁� - this.param = {} + this.param = {}; this.changeType = 0; this.currentSample.insProduct.forEach(a => { // 鏄惁涓烘垚鍝佺數缂嗕笅鐨勬澗濂楃椤圭洰锛屼笉鏄垯鎵ц鍒濆鍖� - if(this.handleCasing(a.inspectionItem)){ + if (this.handleCasing(a.inspectionItem)) { this.param[a.id] = { insValue: [], comValue: [], @@ -1263,569 +2278,682 @@ equipValue: [], equipName: [], insResult: null, - beforeCheck:null, - afterCheck:null, - } + beforeCheck: null, + afterCheck: null + }; } - }) - this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲� - if (this.currentSample.index == undefined) this.currentSample['index'] = 1 - let bushing = this.currentSample.bushing - this.getTableLists();//澶勭悊妯℃澘鍒楄〃淇℃伅 + }); + this.determineWhetherToCollectData(); //鏄惁闇�瑕佹暟閲� + if (this.currentSample.index == undefined) + this.currentSample["index"] = 1; + let bushing = this.currentSample.bushing; + this.getTableLists(); //澶勭悊妯℃澘鍒楄〃淇℃伅 this.componentData.currentId = val; this.currentKey = 1; // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁---涓嬮潰淇℃伅鏆傛椂鍙拷鐣� - this.fiberOpticTape = [] + this.fiberOpticTape = []; this.currentFiberOpticTape = null; - this.fiberOptic = [] + this.fiberOptic = []; this.currentFiberOptic = null; - this.bushing = [] + this.bushing = []; this.currentBushing = null; this.currentTab = null; - if(bushing&&bushing.length>0){ - this.bushing = bushing + if (bushing && bushing.length > 0) { + this.bushing = bushing; } - }) - }, - // 鐩戝惉褰撳墠妯℃澘鍙樺寲 - currentTable(val1, val0) { - if (val0 != null && val1 != val0) { - // if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ - // if(this.casing.length>0){ - // this.handleChange(this.casing[0].id,3) - // } - // return - // } - if(this.changeType&&this.changeType>0){ - // 濡傛灉鏄厜绾ゃ�佸厜绾ゅ甫锛屽垯涓嶆墽琛屼笅闈㈡搷浣� - return - } - this.tableLists.forEach(async (m, i) => { - if (m.templateId == val1) { - let list = await this.getCurrentProduct(this.currentSample.id,0) - this.currentSample.insProduct = this.HaveJson(list)//璧嬪�煎綋鍓嶆牱鍝佺殑妫�楠岄」 - this.param = {}//鍒濆鍖栦紶鍒板悗绔殑鍙傛暟 - this.currentSample.insProduct.forEach((a, j) => { - if(this.handleCasing(a.inspectionItem)){ - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null - } - } - }) - // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 - const mySet1 = new Set(); - this.tableLists = this.currentSample.insProduct.filter(m => { - let num0 = mySet1.size; - if (m.templateId != null&&m.template != null) { - try { - mySet1.add(JSON.stringify({ + }); + }, + // 鐩戝惉褰撳墠妯℃澘鍙樺寲 + currentTable(val1, val0) { + if (val0 != null && val1 != val0) { + // if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ + // if(this.casing.length>0){ + // this.handleChange(this.casing[0].id,3) + // } + // return + // } + if (this.changeType && this.changeType > 0) { + // 濡傛灉鏄厜绾ゃ�佸厜绾ゅ甫锛屽垯涓嶆墽琛屼笅闈㈡搷浣� + return; + } + this.tableLists.forEach(async (m, i) => { + if (m.templateId == val1) { + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); //璧嬪�煎綋鍓嶆牱鍝佺殑妫�楠岄」 + this.param = {}; //鍒濆鍖栦紶鍒板悗绔殑鍙傛暟 + this.currentSample.insProduct.forEach((a, j) => { + if (this.handleCasing(a.inspectionItem)) { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + }; + } + }); + // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 + const mySet1 = new Set(); + this.tableLists = this.currentSample.insProduct.filter(m => { + let num0 = mySet1.size; + if (m.templateId != null && m.template != null) { + try { + mySet1.add( + JSON.stringify({ template: m.template, templateId: m.templateId - })) - } catch (error) { - console.log(222,error); - } + }) + ); + } catch (error) { + console.log(222, error); } - let num1 = mySet1.size; - if (num1 > num0) { - return m - } - }); - if (this.tableLists && this.tableLists.length > 0) { - this.tableList = null; - this.tableList = this.tableLists.filter(m => m.templateId == val1) - // 瀵规ā鏉胯繘琛屽鐞� - this.handleTableData() } + let num1 = mySet1.size; + if (num1 > num0) { + return m; + } + }); + if (this.tableLists && this.tableLists.length > 0) { + this.tableList = null; + this.tableList = this.tableLists.filter( + m => m.templateId == val1 + ); + // 瀵规ā鏉胯繘琛屽鐞� + this.handleTableData(); } - }) - } - }, - // 鐗规畩妫�楠岄」--鐩戝惉璁惧淇℃伅鏀瑰彉 - equipForm:{ - deep:true, - handler(val){ - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))&&this.equipOptions&&this.equipOptions.length>0){ - // 鍒濆鍖栬澶囦俊鎭� - this.param[this.currentSample.insProduct[0].id].equipValue = [] - this.param[this.currentSample.insProduct[0].id].equipName = [] - if(this.equipForm.code0){ - // 璧嬪�肩涓�涓澶囩殑淇℃伅 - this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label - this.param[this.currentSample.insProduct[0].id].equipValue.push({ - i:this.currentSample.insProduct[0].id, - v:{ - v:this.equipForm.code0 - } - }) - this.param[this.currentSample.insProduct[0].id].equipName.push({ - i:this.currentSample.insProduct[0].id, - v:{ - v:this.equipForm.value0 - } - }) - } - if(this.equipForm.code1){ - // 璧嬪�肩浜屼釜璁惧鐨勪俊鎭� - this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label - this.param[this.currentSample.insProduct[0].id].equipValue.push({ - i:this.currentSample.insProduct[0].id, - v:{ - v:this.equipForm.code1 - } - }) - this.param[this.currentSample.insProduct[0].id].equipName.push({ - i:this.currentSample.insProduct[0].id, - v:{ - v:this.equipForm.value1 - } - }) - } - // 淇濆瓨鏁版嵁 - this.saveInsContext(this.currentSample.insProduct[0].id) } - } - }, + }); + } }, - beforeDestroy() { - // 鍦ㄧ粍浠堕攢姣佸墠纭繚鍋滄 Worker锛岄伩鍏嶅唴瀛樻硠婕� - this.stopWorker(); - }, - methods: { - // 鏁版嵁閲囬泦 - getDataAcquisitionDevice(){ - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){ - // 娓╁害寰幆妫�楠屽師濮嬭褰�----鏁伴噰----PK8000 - let temperature = this.wareForm.inspectionItemSubclass; - if(typeof temperature == 'string'&&temperature.includes('(甯告俯)')){ - temperature = `20鈩�(甯告俯)` - }else{ - temperature = temperature + '鈩�' + // 鐗规畩妫�楠岄」--鐩戝惉璁惧淇℃伅鏀瑰彉 + equipForm: { + deep: true, + handler(val) { + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) && + this.equipOptions && + this.equipOptions.length > 0 + ) { + // 鍒濆鍖栬澶囦俊鎭� + this.param[this.currentSample.insProduct[0].id].equipValue = []; + this.param[this.currentSample.insProduct[0].id].equipName = []; + if (this.equipForm.code0) { + // 璧嬪�肩涓�涓澶囩殑淇℃伅 + this.equipForm.value0 = this.equipOptions.find( + m => m.value == this.equipForm.code0 + ).label; + this.param[this.currentSample.insProduct[0].id].equipValue.push({ + i: this.currentSample.insProduct[0].id, + v: { + v: this.equipForm.code0 + } + }); + this.param[this.currentSample.insProduct[0].id].equipName.push({ + i: this.currentSample.insProduct[0].id, + v: { + v: this.equipForm.value0 + } + }); } - this.dataAcquisitionLoading = true - this.$axios.post(this.$api.deviceScope.temDataAcquisition,{ - entrustCode:this.insOrder.entrustCode, - sampleCode:this.currentSample.sampleCode, - model:this.wareForm0.model, - cycles:this.wareForm.inspectionItem, - temperature:temperature, - }, { - headers: { - 'Content-Type': 'application/json' - }, - noQs:true - }).then(res=>{ - this.dataAcquisitionLoading = false - if(res.code!=200){ - return + if (this.equipForm.code1) { + // 璧嬪�肩浜屼釜璁惧鐨勪俊鎭� + this.equipForm.value1 = this.equipOptions.find( + m => m.value == this.equipForm.code1 + ).label; + this.param[this.currentSample.insProduct[0].id].equipValue.push({ + i: this.currentSample.insProduct[0].id, + v: { + v: this.equipForm.code1 + } + }); + this.param[this.currentSample.insProduct[0].id].equipName.push({ + i: this.currentSample.insProduct[0].id, + v: { + v: this.equipForm.value1 + } + }); + } + // 淇濆瓨鏁版嵁 + this.saveInsContext(this.currentSample.insProduct[0].id); + } + } + } + }, + beforeDestroy() { + // 鍦ㄧ粍浠堕攢姣佸墠纭繚鍋滄 Worker锛岄伩鍏嶅唴瀛樻硠婕� + this.stopWorker(); + }, + methods: { + // 鏁版嵁閲囬泦 + getDataAcquisitionDevice() { + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" + ) { + // 娓╁害寰幆妫�楠屽師濮嬭褰�----鏁伴噰----PK8000 + let temperature = this.wareForm.inspectionItemSubclass; + if (typeof temperature == "string" && temperature.includes("(甯告俯)")) { + temperature = `20鈩�(甯告俯)`; + } else { + temperature = temperature + "鈩�"; + } + this.dataAcquisitionLoading = true; + this.$axios + .post( + this.$api.deviceScope.temDataAcquisition, + { + entrustCode: this.insOrder.entrustCode, + sampleCode: this.currentSample.sampleCode, + model: this.wareForm0.model, + cycles: this.wareForm.inspectionItem, + temperature: temperature + }, + { + headers: { + "Content-Type": "application/json" + }, + noQs: true + } + ) + .then(res => { + this.dataAcquisitionLoading = false; + if (res.code != 200) { + return; } // 璧嬪�煎洖鏄綪K8000鐨勬暟鎹� - this.wareFormChange() - }) - }else{ - // 涓�鑸殑鏁版嵁閲囬泦 - this.dataAcquisitionLoading = true - this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{ - this.dataAcquisitionLoading = false - if(res.code!=200){ - return + this.wareFormChange(); + }); + } else { + // 涓�鑸殑鏁版嵁閲囬泦 + this.dataAcquisitionLoading = true; + this.$axios + .get( + this.$api.deviceScope.dataCollection + + "?entrustCode=" + + this.insOrder.entrustCode + + "&sampleCode=" + + this.currentSample.sampleCode + + "&id=" + + this.currentSample.id + ) + .then(res => { + this.dataAcquisitionLoading = false; + if (res.code != 200) { + return; } - this.dataAcquisitionInfoNew = this.HaveJson(res.data) + this.dataAcquisitionInfoNew = this.HaveJson(res.data); // 瀵规暟閲囧洖鏉ョ殑鍊艰繘琛屽鐞� - this.handleDataAcquisition(res.data) - }) - } - }, - handleDataAcquisition(data){ - // 鏄惁鍙互缂栬緫鏁伴噰鏁版嵁 - if(this.dataAcquisitionEidtAble){ - this.getDataType = 1; - }else{ - this.getDataType = 2; - } - this.dataAcquisitionInfo = {} - this.getData = [] - for (let i in data){ - let obj = { - faName:i, - child:[] - } - // 寰幆鏁伴噰鏁版嵁 - for(let j in data[i]){ - // 鎷兼帴瀛楃涓� 妫�楠岄」+妫�楠屽瓙椤� - let str0 = '' - if(i==j){ - str0 = i+',' - }else{ - str0 = i+','+j - } - if(j!='frequency'&&data[i][j]&&(!data[i][j].result||typeof data[i][j].result == 'string')){ - // 澶勭悊鏁伴噰淇℃伅鏍煎紡 - this.dataAcquisitionInfo[str0] = { - value:data[i][j].result, - frequency:data[i].frequency - } - let list = this.tableList[0].arr - // 寰幆椤甸潰鍒楄〃淇℃伅锛屽垽鏂暟閲囨暟鎹搴旈〉闈㈠垪琛ㄤ俊鎭殑妫�楠岄」鏄摢涓紝骞剁粰褰撳墠妫�楠岄」缁戝畾璁惧淇℃伅 - list.forEach((item,index)=>{ - let num0 = 0; - let str = '' - item.forEach(m=>{ - if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ - if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ - if(num0==0){ - str = m.v.v+',' - num0++ - } - } - if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ - if(num0==1){ - str = str+m.v.v - } - } - } - // 缁戝畾璁惧淇℃伅 - if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ - if(!m.v.v){ - this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) - } - } - }) - }) - }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ - // 濡傛灉杩斿洖鐨勬暟閲囨暟鎹槸鏁扮粍锛屽垯澶勭悊鏁扮粍 - // 浠ヤ笅閫昏緫涓鸿幏鍙栨瘡涓楠岄」鍙緭鍏ョ殑妫�楠屽�肩殑鏈�澶т釜鏁� - let str0 = '' - if(i==j){ - str0 = i+',' - }else{ - str0 = i+','+j - } - let list = this.tableList[0].arr - let maxNum = 0 - list.forEach((item,index)=>{ - let num0 = 0; - let str = '' - item.forEach(m=>{ - if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ - if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ - if(num0==0){ - str = m.v.v+',' - num0++ - } - } - if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ - if(num0==1){ - str = str+m.v.v - } - } - let num = 0; - list[index].forEach(n=>{ - if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ - num++ - } - }) - if(str0==str){ - maxNum = num - } - } - // 缁戝畾璁惧 - if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ - if(!m.v.v){ - this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) - } - } - }) - }) - // let arr3 = [] - // for (let l=0 ;i<data[i][j].result.length;i++){ - // arr3.push({ - // id:, - // value: - // }) - // } - // 鑾峰彇鍒版渶澶ф楠屽�艰緭鍏ヤ釜鏁板悗閲嶇粍鏁版嵁 - let obj0 = { - name:j, - arr:data[i][j].result, - maxNum:maxNum, - value:[] - } - // 濡傛灉鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏皢鏁伴噰鏁版嵁鍦ㄥ脊妗嗕腑灞曠ず锛岀敤鎴烽�夋嫨闇�瑕佹墜鍔ㄩ�夋嫨鏁伴噰鐨勪俊鎭� - if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){ - obj.child.push(obj0) - }else{ - this.dataAcquisitionInfo[str0] = { - value:data[i][j].result - } - } - } - } - if(obj.child.length>0){ - this.getData.push(obj) - } - } - // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨 - if(this.getData.length>0){ - this.dataGetDia = true - this.getDataIndex = [] - }else{ - // 濡傛灉閮戒笉瀛樺湪锛屽垯锛岃繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� - try { - // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 - this.getDataIndexLoading = false - this.dataGetDia = false - this.getDataTypeId = '' - this.worker0.postMessage(JSON.stringify({ - dataAcquisitionInfo: this.dataAcquisitionInfo, - list:this.tableList[0].arr - })); - } catch (error) { - console.log(1111,error); - } - } - // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� - this.worker0.onmessage = (event) => { - let result = JSON.parse(event.data); - if(result.method=='changeInput'){ - // 閲囬泦鍚庣殑鏁版嵁锛岄渶瑕佽繘琛岃绠楃殑绾跨▼杩涜璁$畻 - let {list,n} = result.value - this.$set(this.tableList[0],'arr',list) - this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) - }else if(result.getDataTypeId){ - // 鑾峰彇鍒版暟閲囨渶鍚庝竴椤癸紝妫�楠岄」鐨処D - this.getDataTypeId = result.getDataTypeId - } + this.handleDataAcquisition(res.data); + }); + } + }, + handleDataAcquisition(data) { + // 鏄惁鍙互缂栬緫鏁伴噰鏁版嵁 + if (this.dataAcquisitionEidtAble) { + this.getDataType = 1; + } else { + this.getDataType = 2; + } + this.dataAcquisitionInfo = {}; + this.getData = []; + for (let i in data) { + let obj = { + faName: i, + child: [] }; - }, - // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨锛岃繖閲屾槸寮规鐨勬彁浜� - submitDataGet(){ - if(this.getDataIndex.length==0){ - this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁') - return - } - this.getDataIndex.sort((a, b) => a - b); - for (let i=0;i<this.getData.length;i++){ - for(let j=0;j<this.getData[i].child.length;j++){ - // 瀵圭敤鎴烽�夋嫨鐨勬暟閲囦俊鎭繘琛屽鐞嗭紝璧嬪�� - let arr = [] - for(let k=0;k<this.getDataIndex.length;k++){ - arr.push( this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result[this.getDataIndex[k]]) + // 寰幆鏁伴噰鏁版嵁 + for (let j in data[i]) { + // 鎷兼帴瀛楃涓� 妫�楠岄」+妫�楠屽瓙椤� + let str0 = ""; + if (i == j) { + str0 = i + ","; + } else { + str0 = i + "," + j; + } + if ( + j != "frequency" && + data[i][j] && + (!data[i][j].result || typeof data[i][j].result == "string") + ) { + // 澶勭悊鏁伴噰淇℃伅鏍煎紡 + this.dataAcquisitionInfo[str0] = { + value: data[i][j].result, + frequency: data[i].frequency + }; + let list = this.tableList[0].arr; + // 寰幆椤甸潰鍒楄〃淇℃伅锛屽垽鏂暟閲囨暟鎹搴旈〉闈㈠垪琛ㄤ俊鎭殑妫�楠岄」鏄摢涓紝骞剁粰褰撳墠妫�楠岄」缁戝畾璁惧淇℃伅 + list.forEach((item, index) => { + let num0 = 0; + let str = ""; + item.forEach(m => { + if ( + m.v.ps && + (m.v.ps.value == "妫�楠屽瓙椤�" || m.v.ps.value == "妫�楠岄」") + ) { + if (m.v.ps && m.v.ps.value == "妫�楠岄」") { + if (num0 == 0) { + str = m.v.v + ","; + num0++; + } + } + if (m.v.ps && m.v.ps.value == "妫�楠屽瓙椤�") { + if (num0 == 1) { + str = str + m.v.v; + } + } + } + // 缁戝畾璁惧淇℃伅 + if ( + data[i][j].equipName && + data[i][j].equipValue && + m.v && + m.v.ps && + m.v.ps.value == "璁惧缂栫爜" && + str0 == str + ) { + if (!m.v.v) { + this.changeEquip( + data[i][j].equipValue, + m, + data[i][j].equipName + ); + } + } + }); + }); + } else if ( + j != "frequency" && + data[i][j] && + Array.isArray(data[i][j].result) + ) { + // 濡傛灉杩斿洖鐨勬暟閲囨暟鎹槸鏁扮粍锛屽垯澶勭悊鏁扮粍 + // 浠ヤ笅閫昏緫涓鸿幏鍙栨瘡涓楠岄」鍙緭鍏ョ殑妫�楠屽�肩殑鏈�澶т釜鏁� + let str0 = ""; + if (i == j) { + str0 = i + ","; + } else { + str0 = i + "," + j; } - this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result = arr + let list = this.tableList[0].arr; + let maxNum = 0; + list.forEach((item, index) => { + let num0 = 0; + let str = ""; + item.forEach(m => { + if ( + m.v.ps && + (m.v.ps.value == "妫�楠屽瓙椤�" || m.v.ps.value == "妫�楠岄」") + ) { + if (m.v.ps && m.v.ps.value == "妫�楠岄」") { + if (num0 == 0) { + str = m.v.v + ","; + num0++; + } + } + if (m.v.ps && m.v.ps.value == "妫�楠屽瓙椤�") { + if (num0 == 1) { + str = str + m.v.v; + } + } + let num = 0; + list[index].forEach(n => { + if ( + n.v.ps && + n.v.ps.value && + typeof n.v.ps.value == "string" && + n.v.ps.value.includes("妫�楠屽��") + ) { + num++; + } + }); + if (str0 == str) { + maxNum = num; + } + } + // 缁戝畾璁惧 + if ( + data[i][j].equipName && + data[i][j].equipValue && + m.v && + m.v.ps && + m.v.ps.value == "璁惧缂栫爜" && + str0 == str + ) { + if (!m.v.v) { + this.changeEquip( + data[i][j].equipValue, + m, + data[i][j].equipName + ); + } + } + }); + }); + // let arr3 = [] + // for (let l=0 ;i<data[i][j].result.length;i++){ + // arr3.push({ + // id:, + // value: + // }) + // } + // 鑾峰彇鍒版渶澶ф楠屽�艰緭鍏ヤ釜鏁板悗閲嶇粍鏁版嵁 + let obj0 = { + name: j, + arr: data[i][j].result, + maxNum: maxNum, + value: [] + }; + // 濡傛灉鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏皢鏁伴噰鏁版嵁鍦ㄥ脊妗嗕腑灞曠ず锛岀敤鎴烽�夋嫨闇�瑕佹墜鍔ㄩ�夋嫨鏁伴噰鐨勪俊鎭� + if ( + data[i][j].result && + Array.isArray(data[i][j].result) && + data[i][j].result.length > maxNum + ) { + obj.child.push(obj0); + } else { + this.dataAcquisitionInfo[str0] = { + value: data[i][j].result + }; + } } } - this.getDataIndexLoading = true - // 璧嬪�煎畬鎴愬悗闇�瑕佸啀娆¤繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� - this.handleDataAcquisition(this.dataAcquisitionInfoNew) - }, - // 澶氱嚎绋� - startWorker() { - if (this.worker) { - this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + if (obj.child.length > 0) { + this.getData.push(obj); } - // 鍒涘缓 Worker 瀹炰緥 - this.worker = new Worker('/static/js/worker.js'); - if (this.worker0) { - this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + } + // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨 + if (this.getData.length > 0) { + this.dataGetDia = true; + this.getDataIndex = []; + } else { + // 濡傛灉閮戒笉瀛樺湪锛屽垯锛岃繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� + try { + // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 + this.getDataIndexLoading = false; + this.dataGetDia = false; + this.getDataTypeId = ""; + this.worker0.postMessage( + JSON.stringify({ + dataAcquisitionInfo: this.dataAcquisitionInfo, + list: this.tableList[0].arr + }) + ); + } catch (error) { + console.log(1111, error); } - // 鍒涘缓 Worker 瀹炰緥 - this.worker0 = new Worker('/static/js/worker0.js'); - }, - // 鍋滄澶氱嚎绋� - stopWorker() { - if (this.worker) { - this.worker.terminate(); - this.worker = null; + } + // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� + this.worker0.onmessage = event => { + let result = JSON.parse(event.data); + if (result.method == "changeInput") { + // 閲囬泦鍚庣殑鏁版嵁锛岄渶瑕佽繘琛岃绠楃殑绾跨▼杩涜璁$畻 + let { list, n } = result.value; + this.$set(this.tableList[0], "arr", list); + this.changeInput( + "", + `${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`, + n + ); + } else if (result.getDataTypeId) { + // 鑾峰彇鍒版暟閲囨渶鍚庝竴椤癸紝妫�楠岄」鐨処D + this.getDataTypeId = result.getDataTypeId; } - if (this.worker0) { - this.worker0.terminate(); - this.worker0 = null; + }; + }, + // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨锛岃繖閲屾槸寮规鐨勬彁浜� + submitDataGet() { + if (this.getDataIndex.length == 0) { + this.$message.error("璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁"); + return; + } + this.getDataIndex.sort((a, b) => a - b); + for (let i = 0; i < this.getData.length; i++) { + for (let j = 0; j < this.getData[i].child.length; j++) { + // 瀵圭敤鎴烽�夋嫨鐨勬暟閲囦俊鎭繘琛屽鐞嗭紝璧嬪�� + let arr = []; + for (let k = 0; k < this.getDataIndex.length; k++) { + arr.push( + this.dataAcquisitionInfoNew[this.getData[i].faName][ + this.getData[i].child[j].name + ].result[this.getDataIndex[k]] + ); + } + this.dataAcquisitionInfoNew[this.getData[i].faName][ + this.getData[i].child[j].name + ].result = arr; } - }, - // 娓╁害寰幆---寮�濮� - changeItem(row){ - // 鍐呯銆佸绔繘琛岃祴鍊奸�昏緫澶勭悊 + } + this.getDataIndexLoading = true; + // 璧嬪�煎畬鎴愬悗闇�瑕佸啀娆¤繘鍏ュ鐞嗘暟閲囩嚎绋嬮噷鍘诲鐞嗘暟鎹� + this.handleDataAcquisition(this.dataAcquisitionInfoNew); + }, + // 澶氱嚎绋� + startWorker() { + if (this.worker) { + this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + } + // 鍒涘缓 Worker 瀹炰緥 + this.worker = new Worker("/static/js/worker.js"); + if (this.worker0) { + this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + } + // 鍒涘缓 Worker 瀹炰緥 + this.worker0 = new Worker("/static/js/worker0.js"); + }, + // 鍋滄澶氱嚎绋� + stopWorker() { + if (this.worker) { + this.worker.terminate(); + this.worker = null; + } + if (this.worker0) { + this.worker0.terminate(); + this.worker0 = null; + } + }, + // 娓╁害寰幆---寮�濮� + changeItem(row) { + // 鍐呯銆佸绔繘琛岃祴鍊奸�昏緫澶勭悊 - // 璧嬪�煎埌椤甸潰 - if(row.value0&&!row.value1){ - // 璧嬪�煎唴绔� - this.$set(row,'comValue',Number(row.value0).toFixed(3)) - }else if(!row.value0&&row.value1){ - // 璧嬪�煎绔� - this.$set(row,'comValue',Number(row.value1).toFixed(3)) - }else if(row.value0&&row.value1){ - // 璧嬪�艰绠楀�� - this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3)) - }else{ - return - } - // 璧嬪�煎埌浼犲埌鍚庣鐨勫弬鏁�---鐗规畩椤圭洰蹇呴』涓ユ牸鎸夌収杩欑鏍煎紡浼犲弬锛屽惁鍒欏悗绔瘑鍒笉浜� - // 璧嬪�煎唴澶栫 - this.param[row.id].insValue = [ - { - i:row.id, - v:{ - v:row.value0 - } - }, - { - i:row.id, - v:{ - v:row.value1 - } - } - ] + // 璧嬪�煎埌椤甸潰 + if (row.value0 && !row.value1) { + // 璧嬪�煎唴绔� + this.$set(row, "comValue", Number(row.value0).toFixed(3)); + } else if (!row.value0 && row.value1) { + // 璧嬪�煎绔� + this.$set(row, "comValue", Number(row.value1).toFixed(3)); + } else if (row.value0 && row.value1) { // 璧嬪�艰绠楀�� - this.param[row.id].comValue = [{ - i:row.id, - v:{ - v:row.comValue - } - }] - // 鍒ゆ柇缁撴灉锛屽緱鍑虹粨璁� - if(this.wareForm.inspectionItemSubclass!='20(甯告俯)'){ - // 缁欓〉闈㈠垪琛ㄨ祴鍊兼渶缁堝�� - row.resValue = row.comValue?Math.abs(row.comValue-Number(row.insProduct.complue)).toFixed(3):'' - // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊兼渶缁堝�� - this.param[row.id].resValue.v.v = row.resValue - // 鍒ゆ柇缁撹锛岀粰椤甸潰鍒楄〃璧嬪�肩粨璁� - if(row.ask&&row.resValue){ - if(row.ask.includes('<')){ - row.insResult = row.resValue<row.ask.split('<')[1]?1:0 - }else if(row.ask.includes('>')){ - row.insResult = row.resValue<row.ask.split('>')[1]?1:0 - }else if(row.ask.includes('=')){ - row.insResult = row.resValue==row.ask.split('=')[1]?1:0 - }else if(row.ask.includes('鈮�')){ - row.insResult = row.resValue>=row.ask.split('鈮�')[1]?1:0 - }else if(row.ask.includes('鈮�')){ - row.insResult = row.resValue<=row.ask.split('鈮�')[1]?1:0 - } - // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊肩粨璁� - this.param[row.id].insResult.v.v = row.insResult + this.$set( + row, + "comValue", + ((Number(row.value0) + Number(row.value1)) / 2).toFixed(3) + ); + } else { + return; + } + // 璧嬪�煎埌浼犲埌鍚庣鐨勫弬鏁�---鐗规畩椤圭洰蹇呴』涓ユ牸鎸夌収杩欑鏍煎紡浼犲弬锛屽惁鍒欏悗绔瘑鍒笉浜� + // 璧嬪�煎唴澶栫 + this.param[row.id].insValue = [ + { + i: row.id, + v: { + v: row.value0 } - }else{ - // 20(甯告俯)榛樿鍚堟牸 - this.param[row.id].insResult.v.v = 1 + }, + { + i: row.id, + v: { + v: row.value1 + } } - this.$refs.wareTableData.doLayout() - // 杩涜鏁版嵁鐨勪繚瀛� - this.saveInsContext() - }, - // 褰撳惊鐜鏁般�佹俯搴︾偣鍙樺寲銆丳K8000鏁伴噰鏃朵細璋冪敤锛屼富瑕佹槸鑾峰彇淇℃伅杩涜鍥炴樉 - wareFormChange(m,type){ - if(this.PROJECT!='妫�娴嬩腑蹇�'||!this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'){ - return + ]; + // 璧嬪�艰绠楀�� + this.param[row.id].comValue = [ + { + i: row.id, + v: { + v: row.comValue + } } - if(m&&type){ - this.wareForm[type] = m + ]; + // 鍒ゆ柇缁撴灉锛屽緱鍑虹粨璁� + if (this.wareForm.inspectionItemSubclass != "20(甯告俯)") { + // 缁欓〉闈㈠垪琛ㄨ祴鍊兼渶缁堝�� + row.resValue = row.comValue + ? Math.abs(row.comValue - Number(row.insProduct.complue)).toFixed(3) + : ""; + // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊兼渶缁堝�� + this.param[row.id].resValue.v.v = row.resValue; + // 鍒ゆ柇缁撹锛岀粰椤甸潰鍒楄〃璧嬪�肩粨璁� + if (row.ask && row.resValue) { + if (row.ask.includes("<")) { + row.insResult = row.resValue < row.ask.split("<")[1] ? 1 : 0; + } else if (row.ask.includes(">")) { + row.insResult = row.resValue < row.ask.split(">")[1] ? 1 : 0; + } else if (row.ask.includes("=")) { + row.insResult = row.resValue == row.ask.split("=")[1] ? 1 : 0; + } else if (row.ask.includes("鈮�")) { + row.insResult = row.resValue >= row.ask.split("鈮�")[1] ? 1 : 0; + } else if (row.ask.includes("鈮�")) { + row.insResult = row.resValue <= row.ask.split("鈮�")[1] ? 1 : 0; + } + // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌祴鍊肩粨璁� + this.param[row.id].insResult.v.v = row.insResult; } - let wareForm = {...this.wareForm} - if(this.wareForm.inspectionItemSubclass=='20(甯告俯)'){ - wareForm.inspectionItemSubclass ='20鈩�(甯告俯)' - }else{ - wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'鈩�' - } - this.wareTableDataLoading = true - this.$axios.post(this.$api.insOrderPlan.temCycle,{ - sampleId:this.currentSample.id, + } else { + // 20(甯告俯)榛樿鍚堟牸 + this.param[row.id].insResult.v.v = 1; + } + this.$refs.wareTableData.doLayout(); + // 杩涜鏁版嵁鐨勪繚瀛� + this.saveInsContext(); + }, + // 褰撳惊鐜鏁般�佹俯搴︾偣鍙樺寲銆丳K8000鏁伴噰鏃朵細璋冪敤锛屼富瑕佹槸鑾峰彇淇℃伅杩涜鍥炴樉 + wareFormChange(m, type) { + if ( + this.PROJECT != "妫�娴嬩腑蹇�" || + !this.tableLists.find(m => m.templateId == this.currentTable) || + this.tableLists.find(m => m.templateId == this.currentTable) + .templateName != "娓╁害寰幆妫�楠屽師濮嬭褰�" + ) { + return; + } + if (m && type) { + this.wareForm[type] = m; + } + let wareForm = { ...this.wareForm }; + if (this.wareForm.inspectionItemSubclass == "20(甯告俯)") { + wareForm.inspectionItemSubclass = "20鈩�(甯告俯)"; + } else { + wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass + "鈩�"; + } + this.wareTableDataLoading = true; + this.$axios + .post(this.$api.insOrderPlan.temCycle, { + sampleId: this.currentSample.id, ...wareForm - }).then(res => { - this.wareTableDataLoading = false - if (res.code == 201) return - let {productVos,sampleVo} = res.data - this.wareForm0 = sampleVo + }) + .then(res => { + this.wareTableDataLoading = false; + if (res.code == 201) return; + let { productVos, sampleVo } = res.data; + this.wareForm0 = sampleVo; // 鍒濆鍖栦紶鍒板悗绔殑鍙傛暟 - productVos = productVos.map(m=>{ - let obj = {...m,...m.insProduct} + productVos = productVos.map(m => { + let obj = { ...m, ...m.insProduct }; this.param[obj.id] = { insValue: [], comValue: [], resValue: { - i:obj.id, - v:{ - v:null + i: obj.id, + v: { + v: null } }, equipValue: [], equipName: [], insResult: { - i:obj.id, - v:{ - v:null + i: obj.id, + v: { + v: null } } - } - let insProductResult = obj.insProductResult + }; + let insProductResult = obj.insProductResult; // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌繘琛岃祴鍊硷紝缁欓〉闈㈡暟鎹祴鍊� - if(insProductResult){ - for(let i in insProductResult){ + if (insProductResult) { + for (let i in insProductResult) { switch (i) { // 妫�楠屽�艰祴鍊� - case 'insValue': - let insValue = JSON.parse(insProductResult[i]) - if(insValue&&insValue.length>1){ + case "insValue": + let insValue = JSON.parse(insProductResult[i]); + if (insValue && insValue.length > 1) { // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].insValue = [ { - i:obj.id, - v:{ - v:insValue[0].v + i: obj.id, + v: { + v: insValue[0].v } }, { - i:obj.id, - v:{ - v:insValue[1].v + i: obj.id, + v: { + v: insValue[1].v } } - ] + ]; // 椤甸潰鏁版嵁璧嬪�� - obj.value0 = insValue[0].v - obj.value1 = insValue[1].v - }else if(insValue&&insValue.length==1){ + obj.value0 = insValue[0].v; + obj.value1 = insValue[1].v; + } else if (insValue && insValue.length == 1) { // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].insValue = [ { - i:obj.id, - v:{ - v:insValue[0].v + i: obj.id, + v: { + v: insValue[0].v } }, { - i:obj.id, - v:{ - v:'' + i: obj.id, + v: { + v: "" } } - ] - // 椤甸潰鏁版嵁璧嬪�� - obj.value0 = insValue[0].v - obj.value1 = '' + ]; + // 椤甸潰鏁版嵁璧嬪�� + obj.value0 = insValue[0].v; + obj.value1 = ""; } break; - // 璁$畻鍊艰祴鍊� - case 'comValue': - let comValue = JSON.parse(insProductResult[i]) - if(comValue&&comValue.length>0){ + // 璁$畻鍊艰祴鍊� + case "comValue": + let comValue = JSON.parse(insProductResult[i]); + if (comValue && comValue.length > 0) { // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].comValue = [ { - i:obj.id, - v:{ - v:comValue[0].v + i: obj.id, + v: { + v: comValue[0].v } } - ] - // 椤甸潰鏁版嵁璧嬪�� - obj.comValue = comValue[0].v + ]; + // 椤甸潰鏁版嵁璧嬪�� + obj.comValue = comValue[0].v; } break; default: @@ -1835,449 +2963,532 @@ // 鏈�缁堝�艰祴鍊� // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].resValue = { - i:obj.id, - v:{ - v:obj.lastValue + i: obj.id, + v: { + v: obj.lastValue } - } + }; // 椤甸潰鏁版嵁璧嬪�� - obj.resValue = obj.lastValue + obj.resValue = obj.lastValue; // 缁撹璧嬪�� // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊� this.param[obj.id].insResult = { - i:obj.id, - v:{ - v:obj.insResult + i: obj.id, + v: { + v: obj.insResult } - } + }; } - return obj - }) + return obj; + }); // 浠ヤ笅鏄娓╁害寰幆椤甸潰鍛堢幇杩涜澶勭悊锛屽幓閲嶃�佹暟鎹噸缃瓑绛� - let arr = [] - let arr0 = [] - let mySet = new Set() - productVos.forEach((m,i)=>{ - let num0 = mySet.size - mySet.add(m.inspectionItemClass) - let num1 = mySet.size - if(num0!=num1){ - if(i>0){ - arr.push(arr0) + let arr = []; + let arr0 = []; + let mySet = new Set(); + productVos.forEach((m, i) => { + let num0 = mySet.size; + mySet.add(m.inspectionItemClass); + let num1 = mySet.size; + if (num0 != num1) { + if (i > 0) { + arr.push(arr0); } - arr0 = [] - arr0.push(m) - }else{ - arr0.push(m) + arr0 = []; + arr0.push(m); + } else { + arr0.push(m); } - }) - arr.push(arr0) - let arr1 = [] + }); + arr.push(arr0); + let arr1 = []; this.wareLength = []; - for(let i=0;i<arr.length;i++){ - this.wareLength.push(arr[i][0].inspectionItemClass) + for (let i = 0; i < arr.length; i++) { + this.wareLength.push(arr[i][0].inspectionItemClass); } - for(let i=0;i<arr[0].length;i++){ - arr1.push([]) + for (let i = 0; i < arr[0].length; i++) { + arr1.push([]); } - arr.forEach((item,index)=>{ - item.forEach((m,i)=>{ + arr.forEach((item, index) => { + item.forEach((m, i) => { try { - arr1[i].push(m) + arr1[i].push(m); } catch (e) { - console.log(e) + console.log(e); } - }) - }) - let arr2 = [] - arr1.forEach(item=>{ + }); + }); + let arr2 = []; + arr1.forEach(item => { let obj = { - bushColor:item[0].bushColor, - code:item[0].code, - color:item[0].color, - arr:item - } - arr2.push(obj) - }) + bushColor: item[0].bushColor, + code: item[0].code, + color: item[0].color, + arr: item + }; + arr2.push(obj); + }); // 杩欐槸椤甸潰鏈�缁堝憟鐜扮殑鏍煎紡 - this.wareTableData = arr2 + this.wareTableData = arr2; + }); + // 鑾峰彇璁惧鍒楄〃 + this.getEquipOptions(true, this.currentSample.insProduct[0].id); + // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() + }, + // 娓╁害寰幆---缁撴潫 + // 鐑惊鐜�---寮�濮� + // 寰幆娆℃暟鍒囨崲鏃惰皟鐢� + thermalCyclingChange() { + this.thermalCyclingLoading = true; + this.$axios + .post(this.$api.insOrderPlan.temCycle, { + sampleId: this.currentSample.id, + inspectionItem: this.thermalCyclingInfo.inspectionItem }) - // 鑾峰彇璁惧鍒楄〃 - this.getEquipOptions(true,this.currentSample.insProduct[0].id) - // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() - }, - // 娓╁害寰幆---缁撴潫 - // 鐑惊鐜�---寮�濮� - // 寰幆娆℃暟鍒囨崲鏃惰皟鐢� - thermalCyclingChange(){ - this.thermalCyclingLoading = true - this.$axios.post(this.$api.insOrderPlan.temCycle,{ - sampleId:this.currentSample.id, - inspectionItem:this.thermalCyclingInfo.inspectionItem - }).then(res => { - this.thermalCyclingLoading = false - if (res.code == 201) return - let {productVos,sampleVo} = res.data - this.thermalCyclingInfo = {...this.thermalCyclingInfo,...sampleVo} - if(this.thermalCyclingInfo.inspectionItem>1){ - for(let i in this.param){ - if(this.param[i].inspectionItemSubclass){ - delete this.param[i] + .then(res => { + this.thermalCyclingLoading = false; + if (res.code == 201) return; + let { productVos, sampleVo } = res.data; + this.thermalCyclingInfo = { ...this.thermalCyclingInfo, ...sampleVo }; + if (this.thermalCyclingInfo.inspectionItem > 1) { + for (let i in this.param) { + if (this.param[i].inspectionItemSubclass) { + delete this.param[i]; } } } - if(productVos.length>0){ - this.thermalCyclingInfo.inspectionItemClass = productVos[0].insProduct.inspectionItemClass + if (productVos.length > 0) { + this.thermalCyclingInfo.inspectionItemClass = + productVos[0].insProduct.inspectionItemClass; // 鏍规嵁妫�楠岄」锛屽垵濮嬪寲浼犲埌鍚庣鐨勫弬鏁� - productVos.forEach(item=>{ + productVos.forEach(item => { this.param[item.insProduct.id] = { insValue: [], comValue: [], resValue: { - i:item.insProduct.id, - r:0, - c:0, - v:{ - v:null + i: item.insProduct.id, + r: 0, + c: 0, + v: { + v: null } }, equipValue: [], equipName: [], insResult: { - i:item.insProduct.id, - v:{ - v:null + i: item.insProduct.id, + v: { + v: null } }, - inspectionItemSubclass: item.insProduct.inspectionItemSubclass, - } - let obj = {...item,...item.insProduct} - let insProductResult = obj.insProductResult - if(insProductResult){ + inspectionItemSubclass: item.insProduct.inspectionItemSubclass + }; + let obj = { ...item, ...item.insProduct }; + let insProductResult = obj.insProductResult; + if (insProductResult) { // 缁欓〉闈㈠垪琛ㄨ祴鍊硷紝缁欏悗绔紶鍙傝祴鍊� - for(let i in insProductResult){ + for (let i in insProductResult) { switch (i) { - case 'insValue': + case "insValue": // 缁欓〉闈㈠垪琛ㄨ祴鍊� - let insValue = JSON.parse(insProductResult[i]) - if(insValue&&insValue.length>0){ - this.thermalCyclingInfo.length = 0 - this.thermalCyclingInfo.arr.forEach(a=>{ - if(a.name==obj.inspectionItemSubclass){ - a.arr = [] - for(let i=0;i<insValue.length;i++){ + let insValue = JSON.parse(insProductResult[i]); + if (insValue && insValue.length > 0) { + this.thermalCyclingInfo.length = 0; + this.thermalCyclingInfo.arr.forEach(a => { + if (a.name == obj.inspectionItemSubclass) { + a.arr = []; + for (let i = 0; i < insValue.length; i++) { a.arr.push({ - value0:insValue[i].v, - value1:insValue[i].w, - }) - this.thermalCyclingInfo.length++ + value0: insValue[i].v, + value1: insValue[i].w + }); + this.thermalCyclingInfo.length++; } - a.insResult = obj.insResult + a.insResult = obj.insResult; } - }) + }); // 缁欏悗绔紶鍙傝祴鍊� - this.param[obj.id].insValue = [] - insValue.forEach(m=>{ + this.param[obj.id].insValue = []; + insValue.forEach(m => { this.param[obj.id].insValue.push({ - i:obj.id, - r:0, - c:0, - w:m.w, - v:{ - v:m.v + i: obj.id, + r: 0, + c: 0, + w: m.w, + v: { + v: m.v } - }) - }) + }); + }); } break; } } // 缁欏悗绔紶鍙傝祴鍊� this.param[obj.id].insResult = { - i:obj.id, - v:{ - v:obj.insResult + i: obj.id, + v: { + v: obj.insResult } - } - }else{ + }; + } else { // 缁欓〉闈㈠垪琛ㄨ祴鍊� - this.thermalCyclingInfo.arr.forEach(a=>{ - a.insResult = null - a.arr = [] - a.arr.push( - { - value0:'', - value1:'' - } - ) - }) - this.thermalCyclingInfo.length = 1 + this.thermalCyclingInfo.arr.forEach(a => { + a.insResult = null; + a.arr = []; + a.arr.push({ + value0: "", + value1: "" + }); + }); + this.thermalCyclingInfo.length = 1; } - }) + }); } // 鑾峰彇璁惧鍒楄〃 - this.getEquipOptions(true,this.currentSample.insProduct[0].id) - }) - }, - // 娣诲姞妫�楠屽�� - handleAddThermal(){ - this.thermalCyclingInfo.length++ - this.thermalCyclingInfo.arr.forEach(item=>{ - item.arr.push({ - value0:'', - value1:'' - }) - }) - }, - // 鍒犻櫎妫�楠屽�� - handleDeleteThermal(){ - if(this.thermalCyclingInfo.length==1){ - this.$message.error('鏈�鍚庝竴鏉℃暟鎹笉鑳藉垹闄�') - return - }else{ - this.thermalCyclingInfo.length-- - this.thermalCyclingInfo.arr.forEach(item=>{ - item.arr.pop() - }) - // 鍒犻櫎鍚庨渶瑕佷繚瀛樹竴涓嬫暟鎹� - this.saveThermalCycling(true,{name:'瀵肩嚎娓╁害'},true) - } - }, - saveThermalCycling(m,item,type){ - // 缁撴灉鍒ゆ柇 - if(m&&item&&type){ - if(item.name=='瀵肩嚎娓╁害'||item.name=='鑰愬紶娓╁害'||item.name=='鎺ョ画娓╁害'){ - this.thermalCyclingInfo.arr.forEach(a=>{ - if(a.name=='鑰愬紶娓╁害'){ - a.arr.forEach((b,i)=>{ - // 鑾峰彇瀵瑰簲鐨勫绾挎俯搴� - let num0 = 0 - this.thermalCyclingInfo.arr.forEach(c=>{ - if(c.name=='瀵肩嚎娓╁害'){ - num0 = c.arr[i].value0 - } - }) - // 鍒ゆ柇缁撹 - if(!num0||!b.value0){ - b.state = null - }else if(Number(num0)>Number(b.value0)){ - b.state = 1 - }else{ - b.state = 0 + this.getEquipOptions(true, this.currentSample.insProduct[0].id); + }); + }, + // 娣诲姞妫�楠屽�� + handleAddThermal() { + this.thermalCyclingInfo.length++; + this.thermalCyclingInfo.arr.forEach(item => { + item.arr.push({ + value0: "", + value1: "" + }); + }); + }, + // 鍒犻櫎妫�楠屽�� + handleDeleteThermal() { + if (this.thermalCyclingInfo.length == 1) { + this.$message.error("鏈�鍚庝竴鏉℃暟鎹笉鑳藉垹闄�"); + return; + } else { + this.thermalCyclingInfo.length--; + this.thermalCyclingInfo.arr.forEach(item => { + item.arr.pop(); + }); + // 鍒犻櫎鍚庨渶瑕佷繚瀛樹竴涓嬫暟鎹� + this.saveThermalCycling(true, { name: "瀵肩嚎娓╁害" }, true); + } + }, + saveThermalCycling(m, item, type) { + // 缁撴灉鍒ゆ柇 + if (m && item && type) { + if ( + item.name == "瀵肩嚎娓╁害" || + item.name == "鑰愬紶娓╁害" || + item.name == "鎺ョ画娓╁害" + ) { + this.thermalCyclingInfo.arr.forEach(a => { + if (a.name == "鑰愬紶娓╁害") { + a.arr.forEach((b, i) => { + // 鑾峰彇瀵瑰簲鐨勫绾挎俯搴� + let num0 = 0; + this.thermalCyclingInfo.arr.forEach(c => { + if (c.name == "瀵肩嚎娓╁害") { + num0 = c.arr[i].value0; } - }) - let state = a.arr.filter(b=>b.state==null).length - let state0 = a.arr.filter(b=>b.state==0).length - let state1 = a.arr.filter(b=>b.state==1).length - if(state>0){ - // 寰呭畾 - a.insResult = null - }else if(state0>0){ - // 涓嶅悎鏍� - a.insResult = 0 - }else if(state1==a.arr.length){ - // 鍚堟牸 - a.insResult = 1 + }); + // 鍒ゆ柇缁撹 + if (!num0 || !b.value0) { + b.state = null; + } else if (Number(num0) > Number(b.value0)) { + b.state = 1; + } else { + b.state = 0; } - } - if(a.name=='鎺ョ画娓╁害'){ - a.arr.forEach((b,i)=>{ - // 鑾峰彇瀵瑰簲鐨勫绾挎俯搴� - let num0 = 0 - this.thermalCyclingInfo.arr.forEach(c=>{ - if(c.name=='瀵肩嚎娓╁害'){ - num0 = c.arr[i].value0 - } - }) - if(!num0||!b.value0){ - b.state = null - }else if(Number(num0)>Number(b.value0)){ - b.state = 1 - }else{ - b.state = 0 - } - }) - let state = a.arr.filter(b=>b.state==null).length - let state0 = a.arr.filter(b=>b.state==0).length - let state1 = a.arr.filter(b=>b.state==1).length - if(state>0){ - a.insResult = null - }else if(state0>0){ - a.insResult = 0 - }else if(state1==a.arr.length){ - a.insResult = 1 - } - } - }) - } - } - // 缁欏悗绔紶鍙傝祴鍊� - this.thermalCyclingInfo.arr.forEach(item=>{ - for (let i in this.param){ - if(this.param[i].inspectionItemSubclass==item.name){ - switch (item.name){ - case '鐜娓╁害': - this.param[i].insResult.v.v = 1 - this.param[i].insValue = [] - item.arr.forEach(insValue=>{ - this.param[i].insValue.push({ - i:i, - r:0, - c:0, - v:{ - v:insValue.value0 - } - }) - }) - break; - case '瀵肩嚎娓╁害': - this.param[i].insResult.v.v = 1 - this.param[i].insValue = [] - item.arr.forEach(insValue=>{ - this.param[i].insValue.push({ - i:i, - r:0, - c:0, - w:insValue.value1, - v:{ - v:insValue.value0 - } - }) - }) - break; - case '鑰愬紶娓╁害': - this.param[i].insValue = [] - item.arr.forEach(insValue=>{ - this.param[i].insValue.push({ - i:i, - r:0, - c:0, - w:insValue.value1, - v:{ - v:insValue.value0 - } - }) - }) - this.param[i].insResult.v.v = item.insResult - break; - case '鎺ョ画娓╁害': - this.param[i].insValue = [] - item.arr.forEach(insValue=>{ - this.param[i].insValue.push({ - i:i, - r:0, - c:0, - w:insValue.value1, - v:{ - v:insValue.value0 - } - }) - }) - this.param[i].insResult.v.v = item.insResult - break; + }); + let state = a.arr.filter(b => b.state == null).length; + let state0 = a.arr.filter(b => b.state == 0).length; + let state1 = a.arr.filter(b => b.state == 1).length; + if (state > 0) { + // 寰呭畾 + a.insResult = null; + } else if (state0 > 0) { + // 涓嶅悎鏍� + a.insResult = 0; + } else if (state1 == a.arr.length) { + // 鍚堟牸 + a.insResult = 1; } } - } - }) - // 淇濆瓨鏁版嵁 - this.saveInsContext() - }, - // 鐑惊鐜�---缁撴潫 - // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� - subOtherForm(m,type){ - let ids = [] - for (let i in this.param) { - ids.push(i) + if (a.name == "鎺ョ画娓╁害") { + a.arr.forEach((b, i) => { + // 鑾峰彇瀵瑰簲鐨勫绾挎俯搴� + let num0 = 0; + this.thermalCyclingInfo.arr.forEach(c => { + if (c.name == "瀵肩嚎娓╁害") { + num0 = c.arr[i].value0; + } + }); + if (!num0 || !b.value0) { + b.state = null; + } else if (Number(num0) > Number(b.value0)) { + b.state = 1; + } else { + b.state = 0; + } + }); + let state = a.arr.filter(b => b.state == null).length; + let state0 = a.arr.filter(b => b.state == 0).length; + let state1 = a.arr.filter(b => b.state == 1).length; + if (state > 0) { + a.insResult = null; + } else if (state0 > 0) { + a.insResult = 0; + } else if (state1 == a.arr.length) { + a.insResult = 1; + } + } + }); } - this.$axios.post(this.$api.insOrderPlan.write,{ - [type]:Number(m), - ids - }, { - headers: { - 'Content-Type': 'application/json' - }, - noQs:true - }).then(res => { - if (res.code == 201) return - this.$message.success('淇濆瓨鎴愬姛') - }) - }, - // 鏉冮檺鑾峰彇 - getPower(){ - let power = JSON.parse(sessionStorage.getItem('power')) - let fileDel = false - let fileAdd = false - let collected = false - let temDataAcquisition = false - let addInsProductTemplatePower = 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(power[i].menuMethod == 'addInsProductTemplate'){ - addInsProductTemplatePower = true + } + // 缁欏悗绔紶鍙傝祴鍊� + this.thermalCyclingInfo.arr.forEach(item => { + for (let i in this.param) { + if (this.param[i].inspectionItemSubclass == item.name) { + switch (item.name) { + case "鐜娓╁害": + this.param[i].insResult.v.v = 1; + this.param[i].insValue = []; + item.arr.forEach(insValue => { + this.param[i].insValue.push({ + i: i, + r: 0, + c: 0, + v: { + v: insValue.value0 + } + }); + }); + break; + case "瀵肩嚎娓╁害": + this.param[i].insResult.v.v = 1; + this.param[i].insValue = []; + item.arr.forEach(insValue => { + this.param[i].insValue.push({ + i: i, + r: 0, + c: 0, + w: insValue.value1, + v: { + v: insValue.value0 + } + }); + }); + break; + case "鑰愬紶娓╁害": + this.param[i].insValue = []; + item.arr.forEach(insValue => { + this.param[i].insValue.push({ + i: i, + r: 0, + c: 0, + w: insValue.value1, + v: { + v: insValue.value0 + } + }); + }); + this.param[i].insResult.v.v = item.insResult; + break; + case "鎺ョ画娓╁害": + this.param[i].insValue = []; + item.arr.forEach(insValue => { + this.param[i].insValue.push({ + i: i, + r: 0, + c: 0, + w: insValue.value1, + v: { + v: insValue.value0 + } + }); + }); + this.param[i].insResult.v.v = item.insResult; + break; + } } - } - if (!fileDel) { - this.componentData0.do.splice(1, 1) - } - this.fileAdd = fileAdd - this.collected = collected - this.temDataAcquisition = temDataAcquisition - this.addInsProductTemplatePower = addInsProductTemplatePower - }, - uploadSample(){ - this.$axios.post(this.$api.insOrderPlan.doInsOrder, { + } + }); + // 淇濆瓨鏁版嵁 + this.saveInsContext(); + }, + // 鐑惊鐜�---缁撴潫 + // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� + subOtherForm(m, type) { + let ids = []; + for (let i in this.param) { + ids.push(i); + } + this.$axios + .post( + this.$api.insOrderPlan.write, + { + [type]: Number(m), + ids + }, + { + headers: { + "Content-Type": "application/json" + }, + noQs: true + } + ) + .then(res => { + if (res.code == 201) return; + this.$message.success("淇濆瓨鎴愬姛"); + }); + }, + // 鏉冮檺鑾峰彇 + getPower() { + let power = JSON.parse(sessionStorage.getItem("power")); + let fileDel = false; + let fileAdd = false; + let collected = false; + let temDataAcquisition = false; + let addInsProductTemplatePower = 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 (power[i].menuMethod == "addInsProductTemplate") { + addInsProductTemplatePower = true; + } + } + if (!fileDel) { + this.componentData0.do.splice(1, 1); + } + this.fileAdd = fileAdd; + this.collected = collected; + this.temDataAcquisition = temDataAcquisition; + this.addInsProductTemplatePower = addInsProductTemplatePower; + }, + uploadSample() { + this.$axios + .post(this.$api.insOrderPlan.doInsOrder, { id: this.id, laboratory: this.sonLaboratory - }).then(async res => { - this.sampleProduct = res.data.sampleProduct }) - }, - // 鏍规嵁绫诲瀷銆佷换鍔d銆佸疄楠屽鏉ヨ幏鍙栨牱鍝佺殑妫�楠岄」淇℃伅 - async getCurrentProduct(id,type){ - this.tableLoading = true; - let res = null; - if(!this.isLook){ - res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory) - }else{ - res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct2+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory+'&num='+this.num) + .then(async res => { + this.sampleProduct = res.data.sampleProduct; + }); + }, + // 鏍规嵁绫诲瀷銆佷换鍔d銆佸疄楠屽鏉ヨ幏鍙栨牱鍝佺殑妫�楠岄」淇℃伅 + async getCurrentProduct(id, type) { + this.tableLoading = true; + let res = null; + if (!this.isLook) { + res = await this.$axios.post( + this.$api.insOrderPlan.getInsProduct + + "?id=" + + id + + "&type=" + + type + + "&laboratory=" + + this.sonLaboratory + ); + } else { + res = await this.$axios.post( + this.$api.insOrderPlan.getInsProduct2 + + "?id=" + + id + + "&type=" + + type + + "&laboratory=" + + this.sonLaboratory + + "&num=" + + this.num + ); + } + this.tableLoading = false; + return res.data; + }, + // 鍒囨崲鏍峰搧 + async handleChangeSample(row, column, event) { + // 鍒濆鍖栨暟鎹� + this.param = {}; + // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁 + this.fiberOpticTape = []; + this.template = ""; + this.currentFiberOpticTape = null; + this.fiberOptic = []; + this.currentFiberOptic = null; + this.bushing = []; + this.currentBushing = null; + this.sampleVisible = false; + // 璧嬪�兼牱鍝� + this.currentSample = this.HaveJson(row); + let list = await this.getCurrentProduct(row.id, 0); + // 璧嬪�兼牱鍝佹楠岄」 + this.currentSample.insProduct = this.HaveJson(list); + // 鍒濆鍖栧悗绔紶鍙� + this.param = {}; + this.changeType = 0; + this.currentSample.insProduct.forEach((a, j) => { + if (this.handleCasing(a.inspectionItem)) { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null, + beforeCheck: null, + afterCheck: null + }; } - this.tableLoading = false; - return res.data - }, - // 鍒囨崲鏍峰搧 - async handleChangeSample(row, column, event) { - // 鍒濆鍖栨暟鎹� - this.param = {} - // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁 - this.fiberOpticTape = [] - this.template = '' - this.currentFiberOpticTape = null; - this.fiberOptic = [] - this.currentFiberOptic = null; - this.bushing = [] - this.currentBushing = null; - this.sampleVisible = false; - // 璧嬪�兼牱鍝� - this.currentSample = this.HaveJson(row) - let list = await this.getCurrentProduct(row.id,0) - // 璧嬪�兼牱鍝佹楠岄」 - this.currentSample.insProduct = this.HaveJson(list) - // 鍒濆鍖栧悗绔紶鍙� - this.param = {} - this.changeType = 0; - this.currentSample.insProduct.forEach((a,j) => { - if(this.handleCasing(a.inspectionItem)){ + }); + let bushing = this.currentSample.bushing; + if (bushing && bushing.length > 0) { + this.bushing = bushing; + } + // 澶勭悊椤甸潰鍒楄〃鏁版嵁 + this.getTableLists(); + this.currentKey = row.index ? row.index : 0; + this.currentTab = null; + // 鍚戝绾跨▼鍘讳繚瀛橀〉闈㈠垪琛ㄦ暟鎹�,鍚庣浼犲弬,褰撳墠妯℃澘淇℃伅 + this.worker.postMessage( + JSON.stringify({ + type: "saveData", + tableList: this.tableList, + param: this.param, + currentTable: this.currentTable + }) + ); + }, + // 鏉惧绠$殑鍒ゆ柇\濡傛灉changeType涓嶇瓑浜�3閭d箞椤甸潰涓嶅睍绀烘澗濂楃妫�楠岄」 + handleCasing(inspectionItem) { + if (this.changeType != 3) { + if (inspectionItem.includes("鏉惧绠�")) { + return false; + } else { + return true; + } + } else { + return true; + } + }, + // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲 + async handleChange(m, type) { + this.changeType = type; + if (m) { + // 鑾峰彇妫�楠岄」 + let list = await this.getCurrentProduct(m, type); + if (list.length > 0) { + // 鍒濆鍖栧悗绔紶鍙� + this.param = {}; + list.forEach(a => { this.param[a.id] = { insValue: [], comValue: [], @@ -2285,1689 +3496,1957 @@ equipValue: [], equipName: [], insResult: null, - beforeCheck:null, - afterCheck:null, - } - } - }) - let bushing = this.currentSample.bushing - if(bushing&&bushing.length>0){ - this.bushing = bushing - } - // 澶勭悊椤甸潰鍒楄〃鏁版嵁 - this.getTableLists(); - this.currentKey = row.index?row.index:0 - this.currentTab = null; - // 鍚戝绾跨▼鍘讳繚瀛橀〉闈㈠垪琛ㄦ暟鎹�,鍚庣浼犲弬,褰撳墠妯℃澘淇℃伅 - this.worker.postMessage(JSON.stringify({ - type: 'saveData', - tableList:this.tableList, - param:this.param, - currentTable:this.currentTable - })); - }, - // 鏉惧绠$殑鍒ゆ柇\濡傛灉changeType涓嶇瓑浜�3閭d箞椤甸潰涓嶅睍绀烘澗濂楃妫�楠岄」 - handleCasing(inspectionItem){ - if(this.changeType!=3){ - if(inspectionItem.includes('鏉惧绠�')){ - return false - }else{ - return true - } - }else{ - return true - } - }, - // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲 - async handleChange(m,type){ - this.changeType = type - if(m){ - // 鑾峰彇妫�楠岄」 - let list = await this.getCurrentProduct(m,type) - if(list.length>0){ - // 鍒濆鍖栧悗绔紶鍙� - this.param = {} - list.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null, - beforeCheck:null, - afterCheck:null, - } + beforeCheck: null, + afterCheck: null + }; + }); + // 椤甸潰鍒楄〃鏁版嵁澶勭悊 + this.getTableLists0(list); + // 鍚戝绾跨▼淇濆瓨鏁版嵁 + this.worker.postMessage( + JSON.stringify({ + type: "saveData", + tableList: this.tableList, + param: this.param, + currentTable: this.currentTable, + bushing: m }) - // 椤甸潰鍒楄〃鏁版嵁澶勭悊 - this.getTableLists0(list) - // 鍚戝绾跨▼淇濆瓨鏁版嵁 - this.worker.postMessage(JSON.stringify({ - type: 'saveData', - tableList:this.tableList, - param:this.param, - currentTable:this.currentTable, - bushing:m - })); - }else{ - this.tableLists = [] - this.tableList = [] - this.$message.error('妫�楠岄」涓虹┖') - } + ); + } else { + this.tableLists = []; + this.tableList = []; + this.$message.error("妫�楠岄」涓虹┖"); } - }, - // 鏀瑰彉浠诲姟 - handleChangeTask(row) { - if (row.length > 0) this.id = row[0].id; - this.taskVisible = false; - }, - // 瀛楀吀鑾峰彇淇℃伅 - getTypeDicts() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + } + }, + // 鏀瑰彉浠诲姟 + handleChangeTask(row) { + if (row.length > 0) this.id = row[0].id; + this.taskVisible = false; + }, + // 瀛楀吀鑾峰彇淇℃伅 + getTypeDicts() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "绱ф�ョ▼搴�" - }).then(res => { - let data = res.data - data.forEach(ele => { - if (ele.value === '0') { - ele.type = 'success' - } else if (ele.value === '1') { - ele.type = 'warning' - } else if (ele.value === '2') { - ele.type = 'danger' - } - }) - this.urgentList = data; - this.componentData.tagField.type.select = data }) - }, - // 瀛楀吀鑾峰彇淇℃伅 - getInsStateDicts() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + .then(res => { + let data = res.data; + data.forEach(ele => { + if (ele.value === "0") { + ele.type = "success"; + } else if (ele.value === "1") { + ele.type = "warning"; + } else if (ele.value === "2") { + ele.type = "danger"; + } + }); + this.urgentList = data; + this.componentData.tagField.type.select = data; + }); + }, + // 瀛楀吀鑾峰彇淇℃伅 + getInsStateDicts() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "妫�楠屼换鍔$姸鎬�" - }).then(res => { - let data = res.data + }) + .then(res => { + let data = res.data; data.forEach(ele => { //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃 - if (['2', '5'].includes(ele.value)) { - ele.type = 'success' - } else if (['1', '3'].includes(ele.value)) { - ele.type = 'warning' - } else if (['0', '4'].includes(ele.value)) { - ele.type = 'danger' + if (["2", "5"].includes(ele.value)) { + ele.type = "success"; + } else if (["1", "3"].includes(ele.value)) { + ele.type = "warning"; + } else if (["0", "4"].includes(ele.value)) { + ele.type = "danger"; } - }) - this.typeList = data - this.componentData.tagField.insState.select = data - }) - }, - // 瀛楀吀鑾峰彇淇℃伅 - getComparisonList() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { + }); + this.typeList = data; + this.componentData.tagField.insState.select = data; + }); + }, + // 瀛楀吀鑾峰彇淇℃伅 + getComparisonList() { + this.$axios + .post(this.$api.enums.selectEnumByCategory, { category: "琛ㄦ牸鍧愭爣杞崲" - }).then(res => { - let data = res.data + }) + .then(res => { + let data = res.data; this.comparisonList = 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; - }, - // 澶勭悊椤甸潰鍒楄〃鏁版嵁--鍘婚噸,鐢熸垚妫�楠屾ā鏉垮垏鎹㈠垪琛� - getTableLists() { - const mySet1 = new Set(); - this.tableLists = this.currentSample.insProduct.filter(m => { - let num0 = mySet1.size; - if (m.templateId != null&&m.template != null) { - try { - mySet1.add(JSON.stringify({ - template: m.template, - templateId: m.templateId - })) - } catch (error) { - console.log(222,error); - } - } - let num1 = mySet1.size; - if (num1 > num0) { - return m - } }); - if (this.tableLists && this.tableLists.length > 0) { - this.tableList = null; - this.tableList = [this.tableLists[0]] - this.currentTable = this.tableLists[0].templateId; - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')&&this.currentTableState!=0&&this.currentTableState!=1&&this.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){ - this.versionDialogVisible = true - } - // 澶勭悊椤甸潰鍒楄〃鏁版嵁 - this.handleTableData() - } - }, - // 鍏夌氦閰嶇疆鐩稿叧妯℃澘table鍒楄〃 - getTableLists0(list){ - const mySet1 = new Set(); - this.tableLists = list.filter(m => { - let num0 = mySet1.size; - if (m.templateId != null&&m.template != null) { - try { - mySet1.add(JSON.stringify({ - template: m.template, - templateId: m.templateId - })) - } catch (error) { - console.log(333,error); - } - } - let num1 = mySet1.size; - if (num1 > num0) { - return m - } - }); - if (this.tableLists && this.tableLists.length > 0) { - this.tableList = null; - this.tableList = [this.tableLists[0]] - this.currentTable = this.tableLists[0].templateId; - this.currentSample.insProduct = this.HaveJson(list) - // 澶勭悊椤甸潰鍒楄〃鏁版嵁 - this.handleTableData() - } - }, - // 澶勭悊椤甸潰鍒楄〃鏁版嵁 - handleTableData() { - this.excelMethodList = []//excel鍑芥暟鍒楄〃 - this.widthList = this.tableList[0].style.columnlen;//椤甸潰瀹藉害--鏍规嵁妯℃澘鏉ョ殑 - // 娓╁害寰幆妫�楠屽師濮嬭褰�--寮�濮� - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){ - // 瀵硅姹傚�艰繘琛屾媶鍒嗗鐞�,杩涜�屽緱鍑洪〉闈㈠唴瀹� - let ask = this.currentSample.insProduct[0].ask - let askList = ask.split(';') - // 鑾峰彇寰幆娆℃暟 - this.numOptions = [] - for (let i = 1; i <= askList[askList.length-1]; i++) { - this.numOptions.push({ - value:i, - label:i - }) - } - let mySet1 = new Set(); - askList.forEach((m,i) => { - if(i<askList.length-1){ - mySet1.add(m.split(',')[0].replace('鈩�','')) - } - }) - // 鑾峰彇娓╁害鐐瑰垪琛� - this.temperatureOptions = [] - mySet1.forEach(m => { - this.temperatureOptions.push({ - value:String(m), - label:m - }) - }) - // 鍒濆鍖栭〉闈㈡暟鎹� - this.wareTableDataLoading = true - this.$axios.post(this.$api.deviceScope.temDataAcquisition2,{ - entrustCode:this.insOrder.entrustCode, - sampleCode:this.currentSample.sampleCode, - model:this.currentSample.model, - }, { - headers: { - 'Content-Type': 'application/json' - }, - noQs:true - }).then(res=>{ - // console.log(res.data) - this.wareFormChange() - }) - // this.wareFormChange() - } - // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫 - // 鐑惊鐜楠屽師濮嬭褰�---寮�濮� - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ - // 鏍规嵁瑕佹眰鍊兼媶鍒嗘暟鎹�,寰楀埌椤甸潰娓叉煋鐨勪俊鎭� - let ask = this.currentSample.insProduct[0].ask - let askList = ask.split(';') - this.thermalCyclingInfo.max = Number(askList[askList.length-1]) - let arr = [] - for (let i = 0; i < askList.length-1; i++) { - arr.push(askList[i].split(',')[0]) - } - arr = arr.map(item=>{ - let obj = {} - obj.name = item; - if(obj.insResult==null||obj.insResult==undefined){ - obj.arr = [ - { - value0:'', - value1:'', - } - ] - obj.insResult = null; - } - return obj - }) - this.thermalCyclingInfo.arr = arr; - // 鍒濆鍖栭〉闈㈡暟鎹� - this.thermalCyclingChange() - } - // 鐑惊鐜楠屽師濮嬭褰�---缁撴潫 - // 鏈寰幆涓昏鍋氶〉闈㈡覆鏌撳眰闈㈢殑澶勭悊--鍗曞厓鏍煎悎骞堕澶勭悊 - this.tableList.forEach(a => { - let mcList = [] - a.template.forEach(b => { - if (b.v.mc != undefined && b.v.mc.cs != undefined && b.v.mc.rs != undefined) { - mcList.push(b) - } - }) - let count = 0 - mcList.forEach(b => { - for (var c in a.template) { - for (var i = 0; i < b.v.mc.cs; i++) { - for (var i2 = 0; i2 < b.v.mc.rs; i2++) { - if (a.template[c].c === b.c + i && a.template[c].r === b.r + i2) { - let bb = this.HaveJson(b) - a.template[c].v.v = bb.v.v - a.template[c].v.ps = bb.v.ps - a.template[c].v.fc = bb.v.fc - a.template[c].v.fs = bb.v.fs - a.template[c].v.ht = bb.v.ht - a.template[c].mc = count - break - } - } - } - } - count++ - }) - }) - // 鏈寰幆涓昏鏄帶鍒跺悎骞�,浠ュ強鎺у埗妫�楠岄」淇℃伅鏄惁灞曠ず鍑烘潵,浠ヤ究鍚庣画妫�楠� - this.tableList.forEach(a => { - let dels = new Set()//闇�瑕佸垹闄ょ殑琛� - let ids = []//鎵�鏈夋楠岄」鐨刬d - let set3 = new Set() - a.template.forEach(b => { - let size1 = set3.size - let size2 = set3.add(b.r).size - if (size1 < size2) { - let str = '' - let count4 = 0 - let isThree = 0 - a.template.forEach(c => { - // 鑾峰彇鍒� 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴,濡傛灉妯℃澘閲岀殑淇℃伅璺熸帴鍙h繑鍥炵殑妫�楠岄」淇℃伅鑳藉鍖归厤鍒欏睍绀哄嚭鏉� - if (b.r === c.r) { - if(c.v.ps != undefined && c.v.ps.value === '妫�楠岄」鍒嗙被'&&count4 === 0){ - // 涓夌骇鍒嗙被 - isThree = 1 - }else if(c.v.ps != undefined && c.v.ps.value === '妫�楠岄」'&&count4 === 0){ - // 浜岀骇鍒嗙被 - isThree = 0 - } - if(isThree==0){ - if (c.v.ps != undefined && c.v.ps.value === '妫�楠岄」') { - if (count4 === 0) { - str += c.v.v - count4 += 1 - } - } else if (c.v.ps != undefined && c.v.ps.value === '妫�楠屽瓙椤�') { - if (count4 === 1) { - str += c.v.v - count4 += 1 - } - } - }else if(isThree==1){ - if (c.v.ps != undefined && c.v.ps.value === '妫�楠岄」鍒嗙被') { - if (count4 === 0) { - str += c.v.v - count4 += 1 - } - }else if (c.v.ps != undefined && c.v.ps.value === '妫�楠岄」') { - if (count4 === 1) { - str += c.v.v - count4 += 1 - } - } else if (c.v.ps != undefined && c.v.ps.value === '妫�楠屽瓙椤�') { - if (count4 === 2) { - str += c.v.v - count4 += 1 - } - } - } - } - }) - if (str != '') { - let count2 = 0 - for (let i in this.currentSample.insProduct) { - let inspectionItemClass = this.currentSample.insProduct[i].inspectionItemClass==null||this.currentSample.insProduct[i].inspectionItemClass==undefined?'':this.currentSample.insProduct[i].inspectionItemClass - let inspectionItem = this.currentSample - .insProduct[i].inspectionItem==null||this.currentSample - .insProduct[i].inspectionItem==undefined?'':this.currentSample - .insProduct[i].inspectionItem - let inspectionItemSubclass = this.currentSample - .insProduct[i].inspectionItemSubclass==null||this.currentSample - .insProduct[i].inspectionItemSubclass==undefined?'':this.currentSample - .insProduct[i].inspectionItemSubclass - // 濡傛灉鐩哥瓑,閭d箞璇存槑鎵惧埌浜�,骞朵笖鎶奿d瀛樿捣鏉�,鍚庣画妫�楠岄」涔熶細鍦ㄩ〉闈腑鏄剧ず鍑烘潵 - if (this.currentSample.insProduct[i].templateId === a.templateId && inspectionItemClass +inspectionItem+inspectionItemSubclass === - str) { - ids.push({ - r: b.r, - id: this.currentSample.insProduct[i].id, - product: this.currentSample.insProduct[i] - }) - break - } - count2++ - } - if (count2 == this.currentSample.insProduct.length) { - dels.add(b.r) - } - } - } - }) - // 鎿嶄綔鍒犻櫎 - dels.forEach(del => { - for (let b = 0; b < a.template.length; b++) { - if (a.template[b].r === del) { - a.template.splice(b, 1) - b -= 1 - } - } - }) - console.log(4444,a.template) - // 鎿嶄綔璧嬪��--涓昏璧嬪�煎崟浣�,璇曢獙鏂规硶绛変俊鎭� - ids.forEach(id => { - for (let b = 0; b < a.template.length; b++) { - if (a.template[b].r === id.r) { - a.template[b].i = id.id - if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === '鍗曚綅') { - a.template[b].v.v = id.product.unit - } - if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === '璇曢獙鏂规硶' || a.template[b].v - .ps.value === '妫�娴嬫柟娉�')) { - 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.testRequirements - // } - } - } - }) - let set2 = new Set() - // 鍚堝苟鐨勬暟鎹鐞�,cs rs 浠h〃鍚堝苟鐨勬暟閲� - a.template.forEach(b => { - let size1 = set2.size - let size2 = set2.add(b.mc).size - if (b.mc != undefined && size1 < size2) { - b.v.mc.rs = 0 - b.v.mc.cs = 0 - a.template.forEach(c => { - if (b.mc === c.mc) { - if (b.r === c.r) { - b.v.mc.cs += 1 - } - if (b.c === c.c) { - b.v.mc.rs += 1 - } - } - }) - } - }) - }) - // 鏈寰幆涓昏鏄鍚庣浼犲弬杩涜鍒濆鍖�,鏍峰紡閫昏緫淇敼 - this.tableList.forEach(a => { - let arrs = [] - let set = new Set() - let count1 = 0 - let conclusionList = []; //缁撹鍒楄〃 - let finalList = []; //鏈�缁堝�煎垪琛� - // 缁撹涓庢渶缁堝�煎湪杩欓噷涓�涓�瀵瑰簲,浠ヤ笅涓や釜鍒楄〃闀垮害鑲畾鏄竴鏍风殑,濡傛灉鏈変笉涓�鏍�,閭d箞澶氬崐鏄ā鏉块厤缃緱闂 - conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '缁撹')//缁撹鍒楄〃 - finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��')//鏈�缁堝�煎垪琛� - a.template.forEach( b => { - if (b.v.ps != undefined && b.v.ps.value === '搴忓彿' && (b.v.mc == undefined || Object.keys(b.v.mc).length === 4)) { - // 瀵瑰簭鍙疯繘琛岃祴鍊� - count1++ - b.v.v = count1 - } - if (b.v.ps != undefined && b.v.ps.value === '瑕佹眰鍊�') { - // 瀵硅姹傚�艰繘琛岃祴鍊� - b.v.v = this.getAsk(b.i) - } - // 瀵归〉闈㈢殑鍜岀粰鍚庣浼犲弬鐨勬楠屽��,璁$畻鍊�,璁惧缂栫爜,璁惧鍚嶇О,鏈�缁堝��,缁撹杩涜鍒濆鍖� - if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('妫�楠屽��')) { - this.$set(b.v, 'v','' ) - // b.v.v = '' - b.u = '' - b.i && this.param[b.i]&&this.param[b.i].insValue.push(b) - } - if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') { - this.$set(b.v, 'v','' ) - // b.v.v = '' - b.i && this.param[b.i]&&this.param[b.i].comValue.push(b) - } - if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { - // b.v.v = '' - this.$set(b.v, 'v', '' ) - b.i && this.param[b.i]&&this.param[b.i].equipValue.push(b) - } - if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') { - this.$set(b.v, 'v', '' ) - // 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 === '鏈�缁堝��') { - // b.v.v = '' - this.$set(b.v, 'v', '' ) - if (b.i !== undefined&&this.param[b.i]&&!this.param[b.i].resValue) { - this.param[b.i].resValue = b - } - } - if (b.v.ps != undefined && b.v.ps.value === '缁撹') { - if (b.i !== undefined&&this.param[b.i]&&!this.param[b.i].insResult) { - this.param[b.i].insResult = b - conclusionList.forEach((n, i) => { - if (n.r == b.r && n.c == b.c) { - b.v.f = - `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})` - - } - }) - } - } - if (b.v.ps != undefined && b.v.ps.value === '璇曢獙鍓嶆牱鍝佹鏌�') { - // b.v.v = '' - this.$set(b.v, 'v', '' ) - this.param[b.i].beforeCheck = b - } - if (b.v.ps != undefined && b.v.ps.value === '璇曢獙鍚庢牱鍝佹鏌�') { - // b.v.v = '' - this.$set(b.v, 'v', '' ) - this.param[b.i].afterCheck = b - } - set.add(b.r) - // 濡傛灉妯℃澘鍒楄〃鐨勫嚱鏁板瓨鍦�,閭d箞鍔犲叆鍒癳xcel鍑芥暟鍒楄〃閲岄潰 - if (b.v.f) { - this.excelMethodList.push(b) - } - }) - // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫 - set = Array.sort(set) - set.forEach(b => { - let arr = [] - a.template.forEach(c => { - if (c.r === b) { - arr.push(c) - } - }) - arrs.push(arr) - }) - a.arr = arrs - this.tableWidth = 0 - for (let i = 0; i < arrs[0].length; i++) { - this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]) - } - }) - // 鏈寰幆涓昏鏄椤甸潰鍙婂悗绔紶鍙傝繘琛屽垵濮嬪寲璧嬪�� - this.currentSample.insProduct.forEach(async a => { - try { - // 璁$畻鍊艰祴鍊� - let comValue = JSON.parse(a.insProductResult.comValue) - for (var i = 0; i < comValue.length; i++) { - this.param[a.id].comValue[i].v.v = this.toFixed(comValue[i].v,this.param[a.id].comValue[i].v.ct) - } - } catch (e) {} - try { - // 妫�楠屽�艰祴鍊� - let insValue = JSON.parse(a.insProductResult.insValue) - for (let i = 0; i < insValue.length; i++) { - if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){ - this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = this.toFixed(insValue[i].v,this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.ct) - this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).u = insValue[i].u - // this.param[a.id].insValue[i].v.v = insValue[i].v - // this.param[a.id].insValue[i].u = insValue[i].u - } - } - } catch (e) {} - try { - // 璁惧缂栧彿璧嬪�� - let equipValue = JSON.parse(a.insProductResult.equipValue) - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ - // 鐗规畩椤圭洰鍒濆鍖� - this.param[a.id].equipValue = [] - for (let i = 0; i < equipValue.length; i++) { - this.param[a.id].equipValue.push({ - v:{ - v:'' - } - }) - } - } - for (let i = 0; i < equipValue.length; i++) { - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ - // 娓╁害寰幆璁惧璧嬪�� - this.$set(this.equipForm,`code`+i,equipValue[i].v) - this.param[a.id].equipValue[i].v.v = equipValue[i].v - }else{ - // 鏅�氳澶囪祴鍊� - this.param[a.id].equipValue[i].v.v = equipValue[i].v - } - } - } catch (e) {} - try { - // 璁惧鍚嶇О璧嬪�� - let equipName = JSON.parse(a.insProductResult.equipName) - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ - // 璁惧鍚嶇О鍒濆鍖� - this.param[a.id].equipName = [] - for (let i = 0; i < equipName.length; i++) { - this.param[a.id].equipName.push({ - v:{ - v:'' - } - }) - } - } - for (let i = 0; i < equipName.length; i++) { - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐑惊鐜�')||this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('娓╁崌璇曢獙'))){ - // 娓╁害寰幆璧嬪�� - this.$set(this.equipForm,`value`+i,equipName[i].v) - this.param[a.id].equipName[i].v.v = equipName[i].v - }else{ - // 鏅�氳澶囧悕绉拌祴鍊� - this.param[a.id].equipName[i].v.v = equipName[i].v - } - } - } catch (e) {} - try { - // 鏈�缁堝�艰祴鍊� - this.param[a.id].resValue = {v:{v:a.lastValue}} - // this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct) - // 缁撹璧嬪�� - this.param[a.id].insResult = {v:{v:a.insResult}} - // this.param[a.id].insResult.v.v = a.insResult - // 妫�楠屽墠鏍峰搧妫�鏌ヨ祴鍊� - this.param[a.id].afterCheck.v.v = a.insProductResult.afterCheck - // 妫�楠屽悗鏍峰搧妫�鏌ヨ祴鍊� - this.param[a.id].beforeCheck.v.v = a.insProductResult.beforeCheck - } catch (e) { - console.log('error',e) - } - }) - // 瀵筫xcel鍑芥暟杩涜澶勭悊 - this.handleExcelMethod() - }, - // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁� - changeInput(m, code, n,getDataType) { - // 涓烘暟閲囧畾涔変竴涓�昏緫鍙傛暟 - if(getDataType=='getDataType'){ - this.getDataType = 2; - } - let currentInsItemId = null//褰撳墠妫�楠岄」id - if (n) { - currentInsItemId = JSON.parse(JSON.stringify(n.i)) - // 闇�瑕佺瀛﹁鏁版硶鐨勫彲浠ヨ蛋杩欓噷 - if (this.PROJECT === '妫�娴嬩腑蹇�') { - if(this.tableList.find(ele=>ele.inspectionItem=='浣撶Н鐢甸樆鐜�')){ - if(parseFloat(n.v.v)>=100000){ - let num2 = new this.$Big(n.v.v) - n.v.v = num2.toExponential() - } - } - } - // 瀹氫箟涓�涓嚱鏁版潵楠岃瘉鍒嗘暟鏄惁鏈夋晥 - function isValidFraction(fraction) { - const [numerator, denominator] = fraction.split('/'); // 鍒嗗瓙鍜屽垎姣� - return !(!denominator || !numerator); - } - const isTrue = isValidFraction(n.v.v) - if (!isTrue) { - n.v.v = n.v.v.replace('/', '') - } - } - // 閫氫俊鐗规畩澶勭悊锛屾楠屽�煎~鍏ヤ箣鍚庣洿鎺ヤ繚瀛樻暟鎹紝鍒ゆ柇缁撴灉榛樿涓�3 - for (var i in this.param){ - this.param[i].insResult = {v:{v:3}} - } - this.saveInsContext(n.i) + }, + // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃 + selectEnumByCategoryOfSelect(val) { + this.enumList = []; + if (val === undefined || val === null) { return; - // 浠ヤ笅鏄甯哥殑鍒ゆ柇娴佺▼锛屽悗闈㈡湁闇�瑕佸垯杩涘叆姝ゆ祦绋� - try { - // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 - this.worker.postMessage(JSON.stringify({ - code: code, - tableList:this.tableList, - excelMethodList:this.excelMethodList, - comparisonList:this.comparisonList, - currentSample:this.currentSample, - PROJECT:this.PROJECT, - param:this.param, - currentTable:this.currentTable, - getDataTypeId:this.getDataTypeId - })); - } catch (error) { - console.log(444,error); + } + this.$axios + .post(this.$api.enums.selectEnumByCategory, { + category: val + }) + .then(res => { + this.enumList = res.data; + }); + }, + tableRowClassName({ row, rowIndex }) { + row.index = rowIndex + 1; + }, + // 澶勭悊椤甸潰鍒楄〃鏁版嵁--鍘婚噸,鐢熸垚妫�楠屾ā鏉垮垏鎹㈠垪琛� + getTableLists() { + const mySet1 = new Set(); + this.tableLists = this.currentSample.insProduct.filter(m => { + let num0 = mySet1.size; + if (m.templateId != null && m.template != null) { + try { + mySet1.add( + JSON.stringify({ + template: m.template, + templateId: m.templateId + }) + ); + } catch (error) { + console.log(222, error); + } } - // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� - this.worker.onmessage = (event) => { - this.result = JSON.parse(event.data); - switch (this.result.method){ - case 'saveInsContext': - this.$nextTick(()=>{ - // this.$delete(this.tableList[0],'arr') - this.$set(this.tableList[0],'arr',this.result.value.tableList[0].arr) - this.param = this.result.value.param - if(this.result.value.currentInsItemId){ - currentInsItemId = this.result.value.currentInsItemId + let num1 = mySet1.size; + if (num1 > num0) { + return m; + } + }); + if (this.tableLists && this.tableLists.length > 0) { + this.tableList = null; + this.tableList = [this.tableLists[0]]; + this.currentTable = this.tableLists[0].templateId; + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐢佃矾璇曢獙") && + this.currentTableState != 0 && + this.currentTableState != 1 && + this.insOrder.sampleType != "鏃犳簮鍣ㄤ欢" + ) { + this.versionDialogVisible = true; + } + // 澶勭悊椤甸潰鍒楄〃鏁版嵁 + this.handleTableData(); + } + }, + // 鍏夌氦閰嶇疆鐩稿叧妯℃澘table鍒楄〃 + getTableLists0(list) { + const mySet1 = new Set(); + this.tableLists = list.filter(m => { + let num0 = mySet1.size; + if (m.templateId != null && m.template != null) { + try { + mySet1.add( + JSON.stringify({ + template: m.template, + templateId: m.templateId + }) + ); + } catch (error) { + console.log(333, error); + } + } + let num1 = mySet1.size; + if (num1 > num0) { + return m; + } + }); + if (this.tableLists && this.tableLists.length > 0) { + this.tableList = null; + this.tableList = [this.tableLists[0]]; + this.currentTable = this.tableLists[0].templateId; + this.currentSample.insProduct = this.HaveJson(list); + // 澶勭悊椤甸潰鍒楄〃鏁版嵁 + this.handleTableData(); + } + }, + // 澶勭悊椤甸潰鍒楄〃鏁版嵁 + handleTableData() { + this.excelMethodList = []; //excel鍑芥暟鍒楄〃 + this.widthList = this.tableList[0].style.columnlen; //椤甸潰瀹藉害--鏍规嵁妯℃澘鏉ョ殑 + // 娓╁害寰幆妫�楠屽師濮嬭褰�--寮�濮� + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" + ) { + // 瀵硅姹傚�艰繘琛屾媶鍒嗗鐞�,杩涜�屽緱鍑洪〉闈㈠唴瀹� + let ask = this.currentSample.insProduct[0].ask; + let askList = ask.split(";"); + // 鑾峰彇寰幆娆℃暟 + this.numOptions = []; + for (let i = 1; i <= askList[askList.length - 1]; i++) { + this.numOptions.push({ + value: i, + label: i + }); + } + let mySet1 = new Set(); + askList.forEach((m, i) => { + if (i < askList.length - 1) { + mySet1.add(m.split(",")[0].replace("鈩�", "")); + } + }); + // 鑾峰彇娓╁害鐐瑰垪琛� + this.temperatureOptions = []; + mySet1.forEach(m => { + this.temperatureOptions.push({ + value: String(m), + label: m + }); + }); + // 鍒濆鍖栭〉闈㈡暟鎹� + this.wareTableDataLoading = true; + this.$axios + .post( + this.$api.deviceScope.temDataAcquisition2, + { + entrustCode: this.insOrder.entrustCode, + sampleCode: this.currentSample.sampleCode, + model: this.currentSample.model + }, + { + headers: { + "Content-Type": "application/json" + }, + noQs: true + } + ) + .then(res => { + // console.log(res.data) + this.wareFormChange(); + }); + // this.wareFormChange() + } + // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫 + // 鐑惊鐜楠屽師濮嬭褰�---寮�濮� + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) + ) { + // 鏍规嵁瑕佹眰鍊兼媶鍒嗘暟鎹�,寰楀埌椤甸潰娓叉煋鐨勪俊鎭� + let ask = this.currentSample.insProduct[0].ask; + let askList = ask.split(";"); + this.thermalCyclingInfo.max = Number(askList[askList.length - 1]); + let arr = []; + for (let i = 0; i < askList.length - 1; i++) { + arr.push(askList[i].split(",")[0]); + } + arr = arr.map(item => { + let obj = {}; + obj.name = item; + if (obj.insResult == null || obj.insResult == undefined) { + obj.arr = [ + { + value0: "", + value1: "" + } + ]; + obj.insResult = null; + } + return obj; + }); + this.thermalCyclingInfo.arr = arr; + // 鍒濆鍖栭〉闈㈡暟鎹� + this.thermalCyclingChange(); + } + // 鐑惊鐜楠屽師濮嬭褰�---缁撴潫 + // 鏈寰幆涓昏鍋氶〉闈㈡覆鏌撳眰闈㈢殑澶勭悊--鍗曞厓鏍煎悎骞堕澶勭悊 + this.tableList.forEach(a => { + let mcList = []; + a.template.forEach(b => { + if ( + b.v.mc != undefined && + b.v.mc.cs != undefined && + b.v.mc.rs != undefined + ) { + mcList.push(b); + } + }); + let count = 0; + mcList.forEach(b => { + for (var c in a.template) { + for (var i = 0; i < b.v.mc.cs; i++) { + for (var i2 = 0; i2 < b.v.mc.rs; i2++) { + if ( + a.template[c].c === b.c + i && + a.template[c].r === b.r + i2 + ) { + let bb = this.HaveJson(b); + a.template[c].v.v = bb.v.v; + a.template[c].v.ps = bb.v.ps; + a.template[c].v.fc = bb.v.fc; + a.template[c].v.fs = bb.v.fs; + a.template[c].v.ht = bb.v.ht; + a.template[c].mc = count; + break; } - // console.log(this.result,123); - // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌 - for (var i in this.param){ - if(this.param[i].insResult&&this.param[i].insResult.v&&this.param[i].insResult.v.v){ - if(this.param[i].insResult.v.v=='鍚堟牸'){ - this.$set(this.param[i].insResult.v,'v',1) - }else if(this.param[i].insResult.v.v=='涓嶅悎鏍�'){ - this.$set(this.param[i].insResult.v,'v',0) + } + } + } + count++; + }); + }); + // 鏈寰幆涓昏鏄帶鍒跺悎骞�,浠ュ強鎺у埗妫�楠岄」淇℃伅鏄惁灞曠ず鍑烘潵,浠ヤ究鍚庣画妫�楠� + this.tableList.forEach(a => { + let dels = new Set(); //闇�瑕佸垹闄ょ殑琛� + let ids = []; //鎵�鏈夋楠岄」鐨刬d + let set3 = new Set(); + a.template.forEach(b => { + let size1 = set3.size; + let size2 = set3.add(b.r).size; + if (size1 < size2) { + let str = ""; + let count4 = 0; + let isThree = 0; + a.template.forEach(c => { + // 鑾峰彇鍒� 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴,濡傛灉妯℃澘閲岀殑淇℃伅璺熸帴鍙h繑鍥炵殑妫�楠岄」淇℃伅鑳藉鍖归厤鍒欏睍绀哄嚭鏉� + if (b.r === c.r) { + if ( + c.v.ps != undefined && + c.v.ps.value === "妫�楠岄」鍒嗙被" && + count4 === 0 + ) { + // 涓夌骇鍒嗙被 + isThree = 1; + } else if ( + c.v.ps != undefined && + c.v.ps.value === "妫�楠岄」" && + count4 === 0 + ) { + // 浜岀骇鍒嗙被 + isThree = 0; + } + if (isThree == 0) { + if (c.v.ps != undefined && c.v.ps.value === "妫�楠岄」") { + if (count4 === 0) { + str += c.v.v; + count4 += 1; + } + } else if ( + c.v.ps != undefined && + c.v.ps.value === "妫�楠屽瓙椤�" + ) { + if (count4 === 1) { + str += c.v.v; + count4 += 1; + } + } + } else if (isThree == 1) { + if (c.v.ps != undefined && c.v.ps.value === "妫�楠岄」鍒嗙被") { + if (count4 === 0) { + str += c.v.v; + count4 += 1; + } + } else if (c.v.ps != undefined && c.v.ps.value === "妫�楠岄」") { + if (count4 === 1) { + str += c.v.v; + count4 += 1; + } + } else if ( + c.v.ps != undefined && + c.v.ps.value === "妫�楠屽瓙椤�" + ) { + if (count4 === 2) { + str += c.v.v; + count4 += 1; } } } - this.saveInsContext(currentInsItemId) - }) - break; - case 'tableList': - this.$nextTick(()=>{ - // 鏇存柊鏁版嵁 - this.$delete(this.tableList[0],'arr') - this.$set(this.tableList[0],'arr',this.result.value[0].arr) - }) - break; - case 'getCurrentInsProduct': - // 鏇存柊椤甸潰鏁版嵁 - this.getCurrentInsProduct(this.result.value) - break; - } - }; - }, - // 鏄惁闇�瑕佹暟閲� - async determineWhetherToCollectData(){ - let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''") - this.isGet = res.data - }, - // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁 param => this.tableList[0].insProductResult - getCurrentInsProduct(pId) { - if (!this.tableList[0].insProductResult) { - this.tableList[0].insProductResult = {} - } - for (let m in this.param[pId]) { - let value = this.param[pId][m] - switch (m) { - case 'comValue': - // 璧嬪�艰绠楀�� - 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(555,error); - } } - break; - // 璧嬪�兼楠屽�� - case 'insValue': - if (value && value.length > 0) { - this.tableList[0].insProductResult[m] = []; - value.forEach((a, i) => { - let obj = { - v: a.v.v, - u: a.u, - } - this.tableList[0].insProductResult[m].push(obj); - }) - try { - this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) - } catch (error) { - console.log(666,error); + }); + if (str != "") { + let count2 = 0; + for (let i in this.currentSample.insProduct) { + let inspectionItemClass = + this.currentSample.insProduct[i].inspectionItemClass == + null || + this.currentSample.insProduct[i].inspectionItemClass == + undefined + ? "" + : this.currentSample.insProduct[i].inspectionItemClass; + let inspectionItem = + this.currentSample.insProduct[i].inspectionItem == null || + this.currentSample.insProduct[i].inspectionItem == undefined + ? "" + : this.currentSample.insProduct[i].inspectionItem; + let inspectionItemSubclass = + this.currentSample.insProduct[i].inspectionItemSubclass == + null || + this.currentSample.insProduct[i].inspectionItemSubclass == + undefined + ? "" + : this.currentSample.insProduct[i].inspectionItemSubclass; + // 濡傛灉鐩哥瓑,閭d箞璇存槑鎵惧埌浜�,骞朵笖鎶奿d瀛樿捣鏉�,鍚庣画妫�楠岄」涔熶細鍦ㄩ〉闈腑鏄剧ず鍑烘潵 + if ( + this.currentSample.insProduct[i].templateId === + a.templateId && + inspectionItemClass + + inspectionItem + + inspectionItemSubclass === + str + ) { + ids.push({ + r: b.r, + id: this.currentSample.insProduct[i].id, + product: this.currentSample.insProduct[i] + }); + break; } + count2++; } - break; - // 璧嬪�艰澶囩紪鍙� - case 'equipValue': - 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(777,error); - } - } - break; - // 璧嬪�艰澶囧悕绉� - case 'equipName': - 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); - } - } - break; - // 璧嬪�兼渶缁堝�� - case 'resValue': - this.tableList[0].lastValue = value?value.v.v:'' - break; - // 璧嬪�肩粨璁� - case 'insResult': - this.tableList[0].insResult = value?value.v.v:'' - break; - } - } - }, - // 瀵笶XCEL鍑芥暟杩涜澶勭悊 - handleExcelMethod() { - if (this.excelMethodList.length > 0) { - this.excelMethodList.map(item => { - // 寰楀埌姣忎釜鍑芥暟鐨勫弬鏁板垪琛� - item.valueList = excelFunction.changeParameter(item.v.f); - return item; - }) - } - }, - getValue(v){ - // 瀵归〉闈㈠睍绀烘暟鎹繘琛屽鐞�,@,浠h〃鎹㈣ - let str = v.v?v.v:(v.v===0?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>'):'')) - // 瀵规暟鎹繚鐣欏皬鏁扮偣杩涜澶勭悊 - if(v.ct&&v.ct.fa&&v.ct.fa.includes('.')&&str){ - let num = 0 - let str0 = v.ct.fa.split('.')[1] - num = str0.length - str = Number(str).toFixed(num) - } - if(v.v&&typeof v.v == 'string'&&v.v.includes('@')){ - str = v.v.replace(new RegExp('@', 'g'), '<br/>') - } - return str - }, - // 鑾峰彇褰撳墠杈撳叆妗嗙被鍨� - getInspectionValueType(id) { - for (var a in this.currentSample.insProduct) { - if (this.currentSample.insProduct[a].id == id) { - return this.currentSample.insProduct[a].inspectionValueType - } - } - }, - // 鑾峰彇瑕佹眰鎻忚堪 - getTell(id) { - for (var a in this.currentSample.insProduct) { - if (this.currentSample.insProduct[a].id == id) { - return this.currentSample.insProduct[a].tell - } - } - }, - // 鍔ㄦ�佽幏鍙栧崟鍏冩牸瀹藉害 - handleWidth(n) { - let sum = 0; - if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) { - for (let i = 0; i < n.v.mc.cs; i++) { - let num = this.widthList[i + n.v.mc.c] ? this.widthList[i + n.v.mc.c] : 100 - sum += num; - } - } else { - sum = this.widthList[n.c] ? this.widthList[n.c] : 100 - } - return sum - }, - // 瀵硅緭鍏ュ�艰繘琛屾牸寮忔牎楠� - handleInput (n) { - try { - n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); - n.v.v = n.v.v.replace(/\.{2,}/g,"."); //鍙繚鐣欑涓�涓�. 娓呴櫎澶氫綑鐨� - n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$","."); - n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //鍙繚鐣欑涓�涓�/娓呴櫎澶氫綑鐨� - n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/"); - } catch (error) { - console.log(error); - } - - }, - getInspectionItemType(id) { - for (var a in this.currentSample.insProduct) { - if (this.currentSample.insProduct[a].id == id) { - return this.currentSample.insProduct[a].inspectionItemType - } - } - }, - // 鑾峰彇瑕佹眰鍊� - getAsk(id) { - for (var a in this.currentSample.insProduct) { - if (this.currentSample.insProduct[a].id == id) { - return this.currentSample.insProduct[a].ask - } - } - }, - getSystemValue(n) { - let code = null - try { - this.param[n.i].equipValue.forEach(a=>{ - if(a.r === n.r){ - if (a.v.v == null || a.v.v == '') { - this.$message.error('璇峰厛閫夋嫨閲囬泦鐨勮澶�') - return - }else{ - code = a.v.v + if (count2 == this.currentSample.insProduct.length) { + dels.add(b.r); } } - }) - } catch (e) { - // console.log(e); - this.$message.error('鎵句笉鍒拌澶囧唴瀹�') + } + }); + // 鎿嶄綔鍒犻櫎 + dels.forEach(del => { + for (let b = 0; b < a.template.length; b++) { + if (a.template[b].r === del) { + a.template.splice(b, 1); + b -= 1; + } + } + }); + console.log(4444, a.template); + // 鎿嶄綔璧嬪��--涓昏璧嬪�煎崟浣�,璇曢獙鏂规硶绛変俊鎭� + ids.forEach(id => { + for (let b = 0; b < a.template.length; b++) { + if (a.template[b].r === id.r) { + a.template[b].i = id.id; + if ( + a.template[b].v.ps != undefined && + a.template[b].v.ps.value === "鍗曚綅" + ) { + a.template[b].v.v = id.product.unit; + } + if ( + a.template[b].v.ps != undefined && + (a.template[b].v.ps.value === "璇曢獙鏂规硶" || + a.template[b].v.ps.value === "妫�娴嬫柟娉�") + ) { + 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.testRequirements + // } + } + } + }); + let set2 = new Set(); + // 鍚堝苟鐨勬暟鎹鐞�,cs rs 浠h〃鍚堝苟鐨勬暟閲� + a.template.forEach(b => { + let size1 = set2.size; + let size2 = set2.add(b.mc).size; + if (b.mc != undefined && size1 < size2) { + b.v.mc.rs = 0; + b.v.mc.cs = 0; + a.template.forEach(c => { + if (b.mc === c.mc) { + if (b.r === c.r) { + b.v.mc.cs += 1; + } + if (b.c === c.c) { + b.v.mc.rs += 1; + } + } + }); + } + }); + }); + // 鏈寰幆涓昏鏄鍚庣浼犲弬杩涜鍒濆鍖�,鏍峰紡閫昏緫淇敼 + this.tableList.forEach(a => { + let arrs = []; + let set = new Set(); + let count1 = 0; + let conclusionList = []; //缁撹鍒楄〃 + let finalList = []; //鏈�缁堝�煎垪琛� + // 缁撹涓庢渶缁堝�煎湪杩欓噷涓�涓�瀵瑰簲,浠ヤ笅涓や釜鍒楄〃闀垮害鑲畾鏄竴鏍风殑,濡傛灉鏈変笉涓�鏍�,閭d箞澶氬崐鏄ā鏉块厤缃緱闂 + conclusionList = a.template.filter( + n => n.v.ps != undefined && n.v.ps.value === "缁撹" + ); //缁撹鍒楄〃 + finalList = a.template.filter( + n => n.v.ps != undefined && n.v.ps.value === "鏈�缁堝��" + ); //鏈�缁堝�煎垪琛� + a.template.forEach(b => { + if ( + b.v.ps != undefined && + b.v.ps.value === "搴忓彿" && + (b.v.mc == undefined || Object.keys(b.v.mc).length === 4) + ) { + // 瀵瑰簭鍙疯繘琛岃祴鍊� + count1++; + b.v.v = count1; + } + if (b.v.ps != undefined && b.v.ps.value === "瑕佹眰鍊�") { + // 瀵硅姹傚�艰繘琛岃祴鍊� + b.v.v = this.getAsk(b.i); + } + // 瀵归〉闈㈢殑鍜岀粰鍚庣浼犲弬鐨勬楠屽��,璁$畻鍊�,璁惧缂栫爜,璁惧鍚嶇О,鏈�缁堝��,缁撹杩涜鍒濆鍖� + if ( + b.v.ps != undefined && + typeof b.v.ps.value === "string" && + b.v.ps.value.includes("妫�楠屽��") + ) { + this.$set(b.v, "v", ""); + // b.v.v = '' + b.u = ""; + b.i && this.param[b.i] && this.param[b.i].insValue.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "璁$畻鍊�") { + this.$set(b.v, "v", ""); + // b.v.v = '' + b.i && this.param[b.i] && this.param[b.i].comValue.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "璁惧缂栫爜") { + // b.v.v = '' + this.$set(b.v, "v", ""); + b.i && this.param[b.i] && this.param[b.i].equipValue.push(b); + } + if (b.v.ps != undefined && b.v.ps.value === "璁惧鍚嶇О") { + this.$set(b.v, "v", ""); + // 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 === "鏈�缁堝��") { + // b.v.v = '' + this.$set(b.v, "v", ""); + if ( + b.i !== undefined && + this.param[b.i] && + !this.param[b.i].resValue + ) { + this.param[b.i].resValue = b; + } + } + if (b.v.ps != undefined && b.v.ps.value === "缁撹") { + if ( + b.i !== undefined && + this.param[b.i] && + !this.param[b.i].insResult + ) { + this.param[b.i].insResult = b; + conclusionList.forEach((n, i) => { + if (n.r == b.r && n.c == b.c) { + b.v.f = `(${ + this.comparisonList.find(j => j.value == finalList[i].c) + .label + }${finalList[i].r + 1})`; + } + }); + } + } + if (b.v.ps != undefined && b.v.ps.value === "璇曢獙鍓嶆牱鍝佹鏌�") { + // b.v.v = '' + this.$set(b.v, "v", ""); + this.param[b.i].beforeCheck = b; + } + if (b.v.ps != undefined && b.v.ps.value === "璇曢獙鍚庢牱鍝佹鏌�") { + // b.v.v = '' + this.$set(b.v, "v", ""); + this.param[b.i].afterCheck = b; + } + set.add(b.r); + // 濡傛灉妯℃澘鍒楄〃鐨勫嚱鏁板瓨鍦�,閭d箞鍔犲叆鍒癳xcel鍑芥暟鍒楄〃閲岄潰 + if (b.v.f) { + this.excelMethodList.push(b); + } + }); + // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫 + set = Array.sort(set); + set.forEach(b => { + let arr = []; + a.template.forEach(c => { + if (c.r === b) { + arr.push(c); + } + }); + arrs.push(arr); + }); + a.arr = arrs; + this.tableWidth = 0; + for (let i = 0; i < arrs[0].length; i++) { + this.tableWidth += + a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]; } - // console.log(n, code); - fetch('http://localhost:82/寰俊鍥剧墖_20240518100811.png').then(res=>res.blob()).then(blob=>{ + }); + // 鏈寰幆涓昏鏄椤甸潰鍙婂悗绔紶鍙傝繘琛屽垵濮嬪寲璧嬪�� + this.currentSample.insProduct.forEach(async a => { + try { + // 璁$畻鍊艰祴鍊� + let comValue = JSON.parse(a.insProductResult.comValue); + for (var i = 0; i < comValue.length; i++) { + this.param[a.id].comValue[i].v.v = this.toFixed( + comValue[i].v, + this.param[a.id].comValue[i].v.ct + ); + } + } catch (e) {} + try { + // 妫�楠屽�艰祴鍊� + let insValue = JSON.parse(a.insProductResult.insValue); + for (let i = 0; i < insValue.length; i++) { + if ( + this.param[a.id].insValue.find( + m => m.c == insValue[i].c && m.r == insValue[i].r + ) + ) { + this.param[a.id].insValue.find( + m => m.c == insValue[i].c && m.r == insValue[i].r + ).v.v = this.toFixed( + insValue[i].v, + this.param[a.id].insValue.find( + m => m.c == insValue[i].c && m.r == insValue[i].r + ).v.ct + ); + this.param[a.id].insValue.find( + m => m.c == insValue[i].c && m.r == insValue[i].r + ).u = insValue[i].u; + // this.param[a.id].insValue[i].v.v = insValue[i].v + // this.param[a.id].insValue[i].u = insValue[i].u + } + } + } catch (e) {} + try { + // 璁惧缂栧彿璧嬪�� + let equipValue = JSON.parse(a.insProductResult.equipValue); + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) + ) { + // 鐗规畩椤圭洰鍒濆鍖� + this.param[a.id].equipValue = []; + for (let i = 0; i < equipValue.length; i++) { + this.param[a.id].equipValue.push({ + v: { + v: "" + } + }); + } + } + for (let i = 0; i < equipValue.length; i++) { + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) + ) { + // 娓╁害寰幆璁惧璧嬪�� + this.$set(this.equipForm, `code` + i, equipValue[i].v); + this.param[a.id].equipValue[i].v.v = equipValue[i].v; + } else { + // 鏅�氳澶囪祴鍊� + this.param[a.id].equipValue[i].v.v = equipValue[i].v; + } + } + } catch (e) {} + try { + // 璁惧鍚嶇О璧嬪�� + let equipName = JSON.parse(a.insProductResult.equipName); + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) + ) { + // 璁惧鍚嶇О鍒濆鍖� + this.param[a.id].equipName = []; + for (let i = 0; i < equipName.length; i++) { + this.param[a.id].equipName.push({ + v: { + v: "" + } + }); + } + } + for (let i = 0; i < equipName.length; i++) { + if ( + this.tableLists.find(m => m.templateId == this.currentTable) && + (this.tableLists.find(m => m.templateId == this.currentTable) + .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�" || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐑惊鐜�") || + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("娓╁崌璇曢獙")) + ) { + // 娓╁害寰幆璧嬪�� + this.$set(this.equipForm, `value` + i, equipName[i].v); + this.param[a.id].equipName[i].v.v = equipName[i].v; + } else { + // 鏅�氳澶囧悕绉拌祴鍊� + this.param[a.id].equipName[i].v.v = equipName[i].v; + } + } + } catch (e) {} + try { + // 鏈�缁堝�艰祴鍊� + this.param[a.id].resValue = { v: { v: a.lastValue } }; + // this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct) + // 缁撹璧嬪�� + this.param[a.id].insResult = { v: { v: a.insResult } }; + // this.param[a.id].insResult.v.v = a.insResult + // 妫�楠屽墠鏍峰搧妫�鏌ヨ祴鍊� + this.param[a.id].afterCheck.v.v = a.insProductResult.afterCheck; + // 妫�楠屽悗鏍峰搧妫�鏌ヨ祴鍊� + this.param[a.id].beforeCheck.v.v = a.insProductResult.beforeCheck; + } catch (e) { + console.log("error", e); + } + }); + // 瀵筫xcel鍑芥暟杩涜澶勭悊 + this.handleExcelMethod(); + }, + // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁� + changeInput(m, code, n, getDataType) { + // 涓烘暟閲囧畾涔変竴涓�昏緫鍙傛暟 + if (getDataType == "getDataType") { + this.getDataType = 2; + } + let currentInsItemId = null; //褰撳墠妫�楠岄」id + if (n) { + currentInsItemId = JSON.parse(JSON.stringify(n.i)); + // 闇�瑕佺瀛﹁鏁版硶鐨勫彲浠ヨ蛋杩欓噷 + if (this.PROJECT === "妫�娴嬩腑蹇�") { + if (this.tableList.find(ele => ele.inspectionItem == "浣撶Н鐢甸樆鐜�")) { + if (parseFloat(n.v.v) >= 100000) { + let num2 = new this.$Big(n.v.v); + n.v.v = num2.toExponential(); + } + } + } + // 瀹氫箟涓�涓嚱鏁版潵楠岃瘉鍒嗘暟鏄惁鏈夋晥 + function isValidFraction(fraction) { + const [numerator, denominator] = fraction.split("/"); // 鍒嗗瓙鍜屽垎姣� + return !(!denominator || !numerator); + } + const isTrue = isValidFraction(n.v.v); + if (!isTrue) { + n.v.v = n.v.v.replace("/", ""); + } + } + // 閫氫俊鐗规畩澶勭悊锛屾楠屽�煎~鍏ヤ箣鍚庣洿鎺ヤ繚瀛樻暟鎹紝鍒ゆ柇缁撴灉榛樿涓�3 + for (var i in this.param) { + this.param[i].insResult = { v: { v: 3 } }; + } + this.saveInsContext(n.i); + return; + // 浠ヤ笅鏄甯哥殑鍒ゆ柇娴佺▼锛屽悗闈㈡湁闇�瑕佸垯杩涘叆姝ゆ祦绋� + try { + // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 + this.worker.postMessage( + JSON.stringify({ + code: code, + tableList: this.tableList, + excelMethodList: this.excelMethodList, + comparisonList: this.comparisonList, + currentSample: this.currentSample, + PROJECT: this.PROJECT, + param: this.param, + currentTable: this.currentTable, + getDataTypeId: this.getDataTypeId + }) + ); + } catch (error) { + console.log(444, error); + } + // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� + this.worker.onmessage = event => { + this.result = JSON.parse(event.data); + switch (this.result.method) { + case "saveInsContext": + this.$nextTick(() => { + // this.$delete(this.tableList[0],'arr') + this.$set( + this.tableList[0], + "arr", + this.result.value.tableList[0].arr + ); + this.param = this.result.value.param; + if (this.result.value.currentInsItemId) { + currentInsItemId = this.result.value.currentInsItemId; + } + // console.log(this.result,123); + // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌 + for (var i in this.param) { + if ( + this.param[i].insResult && + this.param[i].insResult.v && + this.param[i].insResult.v.v + ) { + if (this.param[i].insResult.v.v == "鍚堟牸") { + this.$set(this.param[i].insResult.v, "v", 1); + } else if (this.param[i].insResult.v.v == "涓嶅悎鏍�") { + this.$set(this.param[i].insResult.v, "v", 0); + } + } + } + this.saveInsContext(currentInsItemId); + }); + break; + case "tableList": + this.$nextTick(() => { + // 鏇存柊鏁版嵁 + this.$delete(this.tableList[0], "arr"); + this.$set(this.tableList[0], "arr", this.result.value[0].arr); + }); + break; + case "getCurrentInsProduct": + // 鏇存柊椤甸潰鏁版嵁 + this.getCurrentInsProduct(this.result.value); + break; + } + }; + }, + // 鏄惁闇�瑕佹暟閲� + async determineWhetherToCollectData() { + let res = await this.$axios.get( + this.$api.deviceScope.determineWhetherToCollectData + + "?managementNumber=''" + ); + this.isGet = res.data; + }, + // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁 param => this.tableList[0].insProductResult + getCurrentInsProduct(pId) { + if (!this.tableList[0].insProductResult) { + this.tableList[0].insProductResult = {}; + } + for (let m in this.param[pId]) { + let value = this.param[pId][m]; + switch (m) { + case "comValue": + // 璧嬪�艰绠楀�� + 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(555, error); + } + } + break; + // 璧嬪�兼楠屽�� + case "insValue": + if (value && value.length > 0) { + this.tableList[0].insProductResult[m] = []; + value.forEach((a, i) => { + let obj = { + v: a.v.v, + u: a.u + }; + this.tableList[0].insProductResult[m].push(obj); + }); + try { + this.tableList[0].insProductResult[m] = JSON.stringify( + this.tableList[0].insProductResult[m] + ); + } catch (error) { + console.log(666, error); + } + } + break; + // 璧嬪�艰澶囩紪鍙� + case "equipValue": + 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(777, error); + } + } + break; + // 璧嬪�艰澶囧悕绉� + case "equipName": + 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); + } + } + break; + // 璧嬪�兼渶缁堝�� + case "resValue": + this.tableList[0].lastValue = value ? value.v.v : ""; + break; + // 璧嬪�肩粨璁� + case "insResult": + this.tableList[0].insResult = value ? value.v.v : ""; + break; + } + } + }, + // 瀵笶XCEL鍑芥暟杩涜澶勭悊 + handleExcelMethod() { + if (this.excelMethodList.length > 0) { + this.excelMethodList.map(item => { + // 寰楀埌姣忎釜鍑芥暟鐨勫弬鏁板垪琛� + item.valueList = excelFunction.changeParameter(item.v.f); + return item; + }); + } + }, + getValue(v) { + // 瀵归〉闈㈠睍绀烘暟鎹繘琛屽鐞�,@,浠h〃鎹㈣ + let str = v.v + ? v.v + : v.v === 0 + ? v.v + : v.ct && v.ct.s + ? v.ct.s.length > 0 && + v.ct.s[0].v + .replace(new RegExp("\n", "g"), "<br/>") + .replace(new RegExp("@", "g"), "<br/>") + : ""; + // 瀵规暟鎹繚鐣欏皬鏁扮偣杩涜澶勭悊 + if (v.ct && v.ct.fa && v.ct.fa.includes(".") && str) { + let num = 0; + let str0 = v.ct.fa.split(".")[1]; + num = str0.length; + str = Number(str).toFixed(num); + } + if (v.v && typeof v.v == "string" && v.v.includes("@")) { + str = v.v.replace(new RegExp("@", "g"), "<br/>"); + } + return str; + }, + // 鑾峰彇褰撳墠杈撳叆妗嗙被鍨� + getInspectionValueType(id) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + return this.currentSample.insProduct[a].inspectionValueType; + } + } + }, + // 鑾峰彇瑕佹眰鎻忚堪 + getTell(id) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + return this.currentSample.insProduct[a].tell; + } + } + }, + // 鍔ㄦ�佽幏鍙栧崟鍏冩牸瀹藉害 + handleWidth(n) { + let sum = 0; + if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) { + for (let i = 0; i < n.v.mc.cs; i++) { + let num = this.widthList[i + n.v.mc.c] + ? this.widthList[i + n.v.mc.c] + : 100; + sum += num; + } + } else { + sum = this.widthList[n.c] ? this.widthList[n.c] : 100; + } + return sum; + }, + // 瀵硅緭鍏ュ�艰繘琛屾牸寮忔牎楠� + handleInput(n) { + try { + n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ""); + n.v.v = n.v.v.replace(/\.{2,}/g, "."); //鍙繚鐣欑涓�涓�. 娓呴櫎澶氫綑鐨� + n.v.v = n.v.v + .replace(".", "$#$") + .replace(/\./g, "") + .replace("$#$", "."); + n.v.v = n.v.v.replace(/\/{2,}/g, "/"); //鍙繚鐣欑涓�涓�/娓呴櫎澶氫綑鐨� + n.v.v = n.v.v + .replace("/", "$#$") + .replace(/\//g, "") + .replace("$#$", "/"); + } catch (error) { + console.log(error); + } + }, + getInspectionItemType(id) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + return this.currentSample.insProduct[a].inspectionItemType; + } + } + }, + // 鑾峰彇瑕佹眰鍊� + getAsk(id) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + return this.currentSample.insProduct[a].ask; + } + } + }, + getSystemValue(n) { + let code = null; + try { + this.param[n.i].equipValue.forEach(a => { + if (a.r === n.r) { + if (a.v.v == null || a.v.v == "") { + this.$message.error("璇峰厛閫夋嫨閲囬泦鐨勮澶�"); + return; + } else { + code = a.v.v; + } + } + }); + } catch (e) { + // console.log(e); + this.$message.error("鎵句笉鍒拌澶囧唴瀹�"); + } + // console.log(n, code); + fetch("http://localhost:82/寰俊鍥剧墖_20240518100811.png") + .then(res => res.blob()) + .then(blob => { // console.log(blob); - const url = URL.createObjectURL(blob) + const url = URL.createObjectURL(blob); // console.log(url); - }) - /* this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��') + }); + /* this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��') for (var a in this.currentSample.insProduct) { if (this.currentSample.insProduct[a].id == n.i) { this.currentSample.insProduct[a].inspectionItemType = 0 } } */ - }, - // 鑾峰彇璁惧 - getEquipOptions(e, id) { - if (e) { - this.equipOptions = [] - let product = this.currentSample.insProduct.find(m => m.id == id) - this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, { + }, + // 鑾峰彇璁惧 + getEquipOptions(e, id) { + if (e) { + this.equipOptions = []; + let product = this.currentSample.insProduct.find(m => m.id == id); + this.$axios + .post(this.$api.deviceScope.selectDeviceByCategory, { inspectionItem: product.inspectionItem, inspectionItemSubclass: product.inspectionItemSubclass - }).then(res => { + }) + .then(res => { if (res.code === 200 && res.data) { this.equipOptions = res.data.map(m => { - m.value = m.managementNumber - m.label = m.deviceName - return m - }) + m.value = m.managementNumber; + m.label = m.deviceName; + return m; + }); } - }).catch(error => { - console.error(error) }) - } - }, - getDic(e, id) { - if (e) { - for (var a in this.currentSample.insProduct) { - if (this.currentSample.insProduct[a].id == id) { - let str = this.currentSample.insProduct[a].dic - this.selectEnumByCategoryOfSelect(str) - return str - } + .catch(error => { + console.error(error); + }); + } + }, + getDic(e, id) { + if (e) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + let str = this.currentSample.insProduct[a].dic; + this.selectEnumByCategoryOfSelect(str); + return str; } } - }, - getUserInfo() { - this.$axios.get(this.$api.user.getUserInfo).then(res => { - this.userId = res.data.id - this.componentData.entity.userId = res.data.id - // console.log(1111,this.userId) - }) - }, - // 澶嶆牳 - upInsReview() { - if (this.upInsReviewType == 1||this.upInsReviewType==2) { - // 缁х画璇曢獙 - this.reviewLoading = true; - this.$axios.post(this.$api.insOrderPlan.verifyPlan, { + } + }, + getUserInfo() { + this.$axios.get(this.$api.user.getUserInfo).then(res => { + this.userId = res.data.id; + this.componentData.entity.userId = res.data.id; + // console.log(1111,this.userId) + }); + }, + // 澶嶆牳 + upInsReview() { + if (this.upInsReviewType == 1 || this.upInsReviewType == 2) { + // 缁х画璇曢獙 + this.reviewLoading = true; + this.$axios + .post(this.$api.insOrderPlan.verifyPlan, { sampleId: this.orderId, type: this.upInsReviewType, laboratory: this.sonLaboratory, tell: null - }).then(res => { + }) + .then(res => { if (res.code === 200) { - this.$message.success("鎿嶄綔鎴愬姛") + this.$message.success("鎿嶄綔鎴愬姛"); this.upInsReviewDia = false; - this.$emit('goback') + this.$emit("goback"); } this.reviewLoading = false; - }).catch(error => { - console.error(error) - this.reviewLoading = false; }) - } else{ - // 鍐嶆璇曢獙 - this.reviewDia = true; - } - }, - handleReviewDia() { - if (this.noReason) { - this.reviewLoading = true; - this.$axios.post(this.$api.insOrderPlan.verifyPlan, { + .catch(error => { + console.error(error); + this.reviewLoading = false; + }); + } else { + // 鍐嶆璇曢獙 + this.reviewDia = true; + } + }, + handleReviewDia() { + if (this.noReason) { + this.reviewLoading = true; + this.$axios + .post(this.$api.insOrderPlan.verifyPlan, { sampleId: this.orderId, type: 0, laboratory: this.sonLaboratory, tell: this.noReason - }).then(res => { + }) + .then(res => { if (res.code === 200) { - this.$message.success("鎿嶄綔鎴愬姛") - this.$emit('goback') + this.$message.success("鎿嶄綔鎴愬姛"); + this.$emit("goback"); } this.reviewLoading = false; - }).catch(error => { - console.error(error) + }) + .catch(error => { + console.error(error); this.reviewLoading = false; - }) - } else { - this.$message.error('鏈緭鍏ヤ笉閫氳繃鍘熷洜') + }); + } else { + this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜"); + } + }, + submit0() { + if (this.sonLaboratory === "鐢佃矾璇曢獙") { + if (!this.experimentInfo.term) { + this.$message.error("璇疯緭鍏ュ疄楠岄樁娈�"); + return; } - }, - submit0(){ - if(this.sonLaboratory === '鐢佃矾璇曢獙'){ - if(!this.experimentInfo.term){ - this.$message.error('璇疯緭鍏ュ疄楠岄樁娈�') - return - } - if(!this.experimentInfo.note){ - this.$message.error('璇疯緭鍏ュ疄楠屾搷浣�') - return - } + if (!this.experimentInfo.note) { + this.$message.error("璇疯緭鍏ュ疄楠屾搷浣�"); + return; } - // let num =0 - // this.newUserInfo.forEach(item=>{ - // item.timeArr.forEach(a=>{ - // if(!a){ - // num++ - // } - // }) - // }) - // if(num>0){ - // this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�') - // return - // } - this.experimentDia = false - this.experimentDia0 = false - if(this.insOrder.orderType=='C'){ - this.verifyUser = this.insOrder.prepareUserId - this.submit() - }else{ - this.addVerifyDia = true - } - }, - async handleSubmit(){ - if(!this.otherForm.temperature){ - this.$message.error('璇疯緭鍏ユ俯搴�') - return - } - if(!this.otherForm.humidity){ - this.$message.error('璇疯緭鍏ユ箍搴�') - return - } - this.loading = true - if(this.sonLaboratory === '鐢佃矾璇曢獙'&&!(await this.$refs.CircuitParameters.saveAll())){ - this.loading = false - return - }else{ - this.loading = false - } - this.experimentDia = true - this.newUserInfo = [] - this.userInfo.name.forEach((item,index)=>{ - let timeArr = [] - this.sampleProduct.forEach(m=>{ - m.insProduct.forEach(a=>{ - timeArr.push(0) - }) - }) - let obj = { - name:item, - id:this.userInfo.ids[index], - timeArr:timeArr - } - this.newUserInfo.push(obj) - }) - if (this.sonLaboratory === '鐢佃矾璇曢獙') { - this.experimentDia0 = true - } - }, - submit() { - if (this.verifyUser === null || this.verifyUser === '') { - this.$message.error("璇锋寚瀹氬鏍镐汉鍛�") - return - } - this.addVerifyDia = false - this.submitLoading = true; - this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, { + } + // let num =0 + // this.newUserInfo.forEach(item=>{ + // item.timeArr.forEach(a=>{ + // if(!a){ + // num++ + // } + // }) + // }) + // if(num>0){ + // this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�') + // return + // } + this.experimentDia = false; + this.experimentDia0 = false; + if (this.insOrder.orderType == "C") { + this.verifyUser = this.insOrder.prepareUserId; + this.submit(); + } else { + this.addVerifyDia = true; + } + }, + async handleSubmit() { + if (!this.otherForm.temperature) { + this.$message.error("璇疯緭鍏ユ俯搴�"); + return; + } + if (!this.otherForm.humidity) { + this.$message.error("璇疯緭鍏ユ箍搴�"); + return; + } + this.loading = true; + if ( + this.sonLaboratory === "鐢佃矾璇曢獙" && + !(await this.$refs.CircuitParameters.saveAll()) + ) { + this.loading = false; + return; + } else { + this.loading = false; + } + this.experimentDia = true; + this.newUserInfo = []; + this.userInfo.name.forEach((item, index) => { + let timeArr = []; + this.sampleProduct.forEach(m => { + m.insProduct.forEach(a => { + timeArr.push(0); + }); + }); + let obj = { + name: item, + id: this.userInfo.ids[index], + timeArr: timeArr + }; + this.newUserInfo.push(obj); + }); + if (this.sonLaboratory === "鐢佃矾璇曢獙") { + this.experimentDia0 = true; + } + }, + submit() { + if (this.verifyUser === null || this.verifyUser === "") { + this.$message.error("璇锋寚瀹氬鏍镐汉鍛�"); + return; + } + this.addVerifyDia = false; + this.submitLoading = true; + this.$axios + .post(this.$api.insOrderPlan.checkSubmitPlan, { sampleId: this.orderId, - laboratory: this.sonLaboratory, - }).then(res => { + laboratory: this.sonLaboratory + }) + .then(res => { if (res.code === 200) { - let auxiliaryOutputWorkingHoursList = [] - this.sampleProduct.forEach(item=>{ - item.insProduct.forEach((a,i)=>{ - this.newUserInfo.forEach(b=>{ + let auxiliaryOutputWorkingHoursList = []; + this.sampleProduct.forEach(item => { + item.insProduct.forEach((a, i) => { + this.newUserInfo.forEach(b => { let obj = { - inspectionItem:a.inspectionItem, - outputWorkTime:b.timeArr[i], - inspectionItemSubclass:a.inspectionItemSubclass, - sample:item.sampleCode, - insProductId:a.id, - num:item.num1, - check:b.id + inspectionItem: a.inspectionItem, + outputWorkTime: b.timeArr[i], + inspectionItemSubclass: a.inspectionItemSubclass, + sample: item.sampleCode, + insProductId: a.id, + num: item.num1, + check: b.id + }; + auxiliaryOutputWorkingHoursList.push(obj); + }); + }); + }); + if (!res.data || res.data.length == 0) { + this.$axios + .post( + this.$api.insOrderPlan.submitPlan, + { + sampleId: this.orderId, + laboratory: this.sonLaboratory, + verifyUser: this.verifyUser, + entrustCode: this.insOrder.entrustCode, + auxiliaryOutputWorkingHoursList: auxiliaryOutputWorkingHoursList, + ...this.experimentInfo + }, + { + headers: { + "Content-Type": "application/json" + }, + noQs: true } - auxiliaryOutputWorkingHoursList.push(obj) + ) + .then(res => { + if (res.code === 200) { + this.$message.success("鎿嶄綔鎴愬姛"); + this.$emit("goback"); + } + this.submitLoading = false; }) - }) - }) - if(!res.data||res.data.length==0){ - this.$axios.post(this.$api.insOrderPlan.submitPlan, { - sampleId: this.orderId, - laboratory: this.sonLaboratory, - verifyUser: this.verifyUser, - entrustCode: this.insOrder.entrustCode, - auxiliaryOutputWorkingHoursList:auxiliaryOutputWorkingHoursList, - ...this.experimentInfo - }, { - headers: { - 'Content-Type': 'application/json' - }, - noQs:true}).then(res => { - if (res.code === 200) { - this.$message.success("鎿嶄綔鎴愬姛") - this.$emit('goback') - } - this.submitLoading = false; - }).catch(error => { - console.error(error) - this.submitLoading = false; - }) - }else{ - let newData = [] - const h = this.$createElement + .catch(error => { + console.error(error); + this.submitLoading = false; + }); + } else { + let newData = []; + const h = this.$createElement; for (let i in res.data) { const lastChar = res.data[i].slice(-1); - if(lastChar=='-'){ + if (lastChar == "-") { res.data[i] = res.data[i].slice(0, -1); } - newData.push(h('p', {style: 'font-size: 14px;color: red;'}, (Number(i)+1)+'銆�'+res.data[i])) + newData.push( + h( + "p", + { style: "font-size: 14px;color: red;" }, + Number(i) + 1 + "銆�" + res.data[i] + ) + ); } - newData.push(h('p', { style: 'font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh' },'浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�')) - this.$confirm('鎻愮ず',{ - title:'鎻愮ず', - message: h('div', null, newData), + newData.push( + h( + "p", + { + style: + "font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh" + }, + "浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�" + ) + ); + this.$confirm("鎻愮ず", { + title: "鎻愮ず", + message: h("div", null, newData), confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "" - }).then(() => { - this.$axios.post(this.$api.insOrderPlan.submitPlan, { - sampleId: this.orderId, - laboratory: this.sonLaboratory, - verifyUser: this.verifyUser, - auxiliaryOutputWorkingHoursList:auxiliaryOutputWorkingHoursList, - ...this.experimentInfo - }, { - headers: { - 'Content-Type': 'application/json' - }, - noQs:true}).then( res => { - if (res.code === 200) { - this.submitLoading = false; - this.$message.success("鎿嶄綔鎴愬姛") - this.$emit('goback') - } - }).catch(error => { - console.error(error) + }) + .then(() => { + this.$axios + .post( + this.$api.insOrderPlan.submitPlan, + { + sampleId: this.orderId, + laboratory: this.sonLaboratory, + verifyUser: this.verifyUser, + auxiliaryOutputWorkingHoursList: auxiliaryOutputWorkingHoursList, + ...this.experimentInfo + }, + { + headers: { + "Content-Type": "application/json" + }, + noQs: true + } + ) + .then(res => { + if (res.code === 200) { + this.submitLoading = false; + this.$message.success("鎿嶄綔鎴愬姛"); + this.$emit("goback"); + } + }) + .catch(error => { + console.error(error); + }); }) - }).catch(() => {}) + .catch(() => {}); } - } - }).catch(error => { - console.error(error) - this.submitLoading = false; }) - return - }, - async handleCType(){ - if(this.insOrder.departmentLims=='璐ㄩ噺閮�'){ - await this.$axios.post(this.$api.insOrderPlan.verifyPlan, { + .catch(error => { + console.error(error); + this.submitLoading = false; + }); + return; + }, + async handleCType() { + if (this.insOrder.departmentLims == "璐ㄩ噺閮�") { + await this.$axios + .post(this.$api.insOrderPlan.verifyPlan, { sampleId: this.orderId, type: 1, laboratory: this.sonLaboratory, tell: null - }).then(res => { + }) + .then(res => { if (res.code === 200) { } - }).catch(error => { }) - } - }, - // 缁熶竴鍦ㄨ繖閲屼繚瀛樻暟鎹� - saveInsContext(currentInsItemId) { - try { - console.log(1111,this.param) - if(this.param){ - let param = null - if(currentInsItemId){ - param = {[currentInsItemId] : this.param[currentInsItemId]} - }else{ - param = this.param - } - this.$axios.post(this.$api.insOrderPlan.saveInsContext, { + .catch(error => {}); + } + }, + // 缁熶竴鍦ㄨ繖閲屼繚瀛樻暟鎹� + saveInsContext(currentInsItemId) { + try { + console.log(1111, this.param); + if (this.param) { + let param = null; + if (currentInsItemId) { + param = { [currentInsItemId]: this.param[currentInsItemId] }; + } else { + param = this.param; + } + this.$axios + .post(this.$api.insOrderPlan.saveInsContext, { param: JSON.stringify(param), - currentTable:this.currentTable, - num:this.currentSample.num1 - }).then(res => { - if (res.code == 201) { - this.$message.error('淇濆瓨澶辫触') - return - } - this.$message.success('宸蹭繚瀛�') + currentTable: this.currentTable, + num: this.currentSample.num1 }) - // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 - this.worker.postMessage(JSON.stringify({ - type: 'saveData', - tableList:this.tableList, - param:this.param, - currentTable:this.currentTable - })); - } - }catch (error) { - console.log(999,error); - } - }, - // 璁惧鏀瑰彉 - changeEquip(val, n,v) { - this.$set(n.v,'v',val) - this.tableList[0].arr.forEach((item,index)=>{ - item.forEach((m,i)=>{ - if(this.param[m.i]){ - this.param[m.i].state = 1 - } - if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'&&v){ - this.$set(m.v,'v',v) - } - }) - }) - for (let i in this.param) { - if(this.param[i].state!=1){ - delete this.param[i] - } - } - if(val&&v){ - for (let i1 in this.param[n.i].equipName) { - if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { - this.$delete(this.param[n.i].equipValue[i1].v,'v') - this.$set(this.param[n.i].equipValue[i1].v,'v',val) - this.$delete(this.param[n.i].equipName[i1].v,'v') - this.$set(this.param[n.i].equipName[i1].v,'v',v) - } - } - } - for (let i in this.equipOptions) { - if (this.equipOptions[i].value == val) { - for (let i1 in this.param[n.i].equipName) { - if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { - this.$delete(this.param[n.i].equipValue[i1].v,'v') - this.$set(this.param[n.i].equipValue[i1].v,'v',val) - this.$delete(this.param[n.i].equipName[i1].v,'v') - this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label) - this.tableList[0].arr.forEach((item,index)=>{ - item.forEach((m)=>{ - if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'){ - this.$set(m.v,'v',this.equipOptions[i].label) - } - }) - }) + .then(res => { + if (res.code == 201) { + this.$message.error("淇濆瓨澶辫触"); + return; } + this.$message.success("宸蹭繚瀛�"); + }); + // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 + this.worker.postMessage( + JSON.stringify({ + type: "saveData", + tableList: this.tableList, + param: this.param, + currentTable: this.currentTable + }) + ); + } + } catch (error) { + console.log(999, error); + } + }, + // 璁惧鏀瑰彉 + changeEquip(val, n, v) { + this.$set(n.v, "v", val); + this.tableList[0].arr.forEach((item, index) => { + item.forEach((m, i) => { + if (this.param[m.i]) { + this.param[m.i].state = 1; + } + if (m.i == n.i && m.v.ps && m.v.ps.value == "璁惧鍚嶇О" && v) { + this.$set(m.v, "v", v); + } + }); + }); + for (let i in this.param) { + if (this.param[i].state != 1) { + delete this.param[i]; + } + } + if (val && v) { + for (let i1 in this.param[n.i].equipName) { + if ( + this.param[n.i].equipName[i1].i === n.i && + this.param[n.i].equipName[i1].r === n.r + ) { + this.$delete(this.param[n.i].equipValue[i1].v, "v"); + this.$set(this.param[n.i].equipValue[i1].v, "v", val); + this.$delete(this.param[n.i].equipName[i1].v, "v"); + this.$set(this.param[n.i].equipName[i1].v, "v", v); + } + } + } + for (let i in this.equipOptions) { + if (this.equipOptions[i].value == val) { + for (let i1 in this.param[n.i].equipName) { + if ( + this.param[n.i].equipName[i1].i === n.i && + this.param[n.i].equipName[i1].r === n.r + ) { + this.$delete(this.param[n.i].equipValue[i1].v, "v"); + this.$set(this.param[n.i].equipValue[i1].v, "v", val); + this.$delete(this.param[n.i].equipName[i1].v, "v"); + this.$set( + this.param[n.i].equipName[i1].v, + "v", + this.equipOptions[i].label + ); + this.tableList[0].arr.forEach((item, index) => { + item.forEach(m => { + if (m.i == n.i && m.v.ps && m.v.ps.value == "璁惧鍚嶇О") { + this.$set(m.v, "v", this.equipOptions[i].label); + } + }); + }); } } } - // 淇濆瓨鏁版嵁 - this.saveInsContext(n.i) - }, - // 鏍峰搧妫�鏌� - changeSampleCheck(val, n,type){ - this.$set(n.v,'v',val) - if(type=='鍓�'){ - // 妫�楠屽墠 - this.saveInsContext(n.i) - }else{ - // 妫�楠屽悗 - this.saveInsContext(n.i) - } - }, - getAuthorizedPerson() { - this.$axios.get(this.$api.user.getUserMenu).then(res => { - let data = [] - // let userName = JSON.parse(localStorage.getItem("user")).name; - res.data.forEach(a => { - if(!this.inspectorList.includes(a.name)) { - data.push({ + } + // 淇濆瓨鏁版嵁 + this.saveInsContext(n.i); + }, + // 鏍峰搧妫�鏌� + changeSampleCheck(val, n, type) { + this.$set(n.v, "v", val); + if (type == "鍓�") { + // 妫�楠屽墠 + this.saveInsContext(n.i); + } else { + // 妫�楠屽悗 + this.saveInsContext(n.i); + } + }, + getAuthorizedPerson() { + this.$axios.get(this.$api.user.getUserMenu).then(res => { + let data = []; + // let userName = JSON.parse(localStorage.getItem("user")).name; + res.data.forEach(a => { + if (!this.inspectorList.includes(a.name)) { + data.push({ label: a.name, value: a.id - }) - } - }) - this.personList = data - }) - }, - scrollInit() { - // 鑾峰彇瑕佺粦瀹氫簨浠剁殑鍏冪礌 - const nav = document.getElementById("nav") - var flag; // 榧犳爣鎸変笅 - var downX; // 榧犳爣鐐瑰嚮鐨剎涓嬫爣 - var scrollLeft; // 褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲� - nav.addEventListener("mousedown", function(event) { - flag = true; - downX = event.clientX; // 鑾峰彇鍒扮偣鍑荤殑x涓嬫爣 - scrollLeft = this.scrollLeft; // 鑾峰彇褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲� - }); - nav.addEventListener("mousemove", function(event) { - if (flag) { // 鍒ゆ柇鏄惁鏄紶鏍囨寜涓嬫粴鍔ㄥ厓绱犲尯鍩� - var moveX = event.clientX; // 鑾峰彇绉诲姩鐨剎杞� - var scrollX = moveX - downX; // 褰撳墠绉诲姩鐨剎杞翠笅鏍囧噺鍘诲垰鐐瑰嚮涓嬪幓鐨剎杞翠笅鏍囧緱鍒伴紶鏍囨粦鍔ㄨ窛绂� - this.scrollLeft = scrollLeft - scrollX // 榧犳爣鎸変笅鐨勬粴鍔ㄦ潯鍋忕Щ閲忓噺鍘诲綋鍓嶉紶鏍囩殑婊戝姩璺濈 + }); } }); - // 榧犳爣鎶捣鍋滄鎷栧姩 - nav.addEventListener("mouseup", function() { - flag = false; - }); - // 榧犳爣绂诲紑鍏冪礌鍋滄鎷栧姩 - nav.addEventListener("mouseleave", function(event) { - flag = false; - }); - }, - // 椤甸潰閲岄潰鍒囨崲鏍峰搧 - async caretSample(num){ - let index = this.currentKey + num - if(index < 1){ - this.$message.error('褰撳墠鏄涓�涓牱鍝�') - return - } else if(index > this.sampleProduct.length){ - this.$message.error('褰撳墠鏄渶鍚庝竴涓牱鍝�') - return + this.personList = data; + }); + }, + scrollInit() { + // 鑾峰彇瑕佺粦瀹氫簨浠剁殑鍏冪礌 + const nav = document.getElementById("nav"); + var flag; // 榧犳爣鎸変笅 + var downX; // 榧犳爣鐐瑰嚮鐨剎涓嬫爣 + var scrollLeft; // 褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲� + nav.addEventListener("mousedown", function(event) { + flag = true; + downX = event.clientX; // 鑾峰彇鍒扮偣鍑荤殑x涓嬫爣 + scrollLeft = this.scrollLeft; // 鑾峰彇褰撳墠鍏冪礌婊氬姩鏉$殑鍋忕Щ閲� + }); + nav.addEventListener("mousemove", function(event) { + if (flag) { + // 鍒ゆ柇鏄惁鏄紶鏍囨寜涓嬫粴鍔ㄥ厓绱犲尯鍩� + var moveX = event.clientX; // 鑾峰彇绉诲姩鐨剎杞� + var scrollX = moveX - downX; // 褰撳墠绉诲姩鐨剎杞翠笅鏍囧噺鍘诲垰鐐瑰嚮涓嬪幓鐨剎杞翠笅鏍囧緱鍒伴紶鏍囨粦鍔ㄨ窛绂� + this.scrollLeft = scrollLeft - scrollX; // 榧犳爣鎸変笅鐨勬粴鍔ㄦ潯鍋忕Щ閲忓噺鍘诲綋鍓嶉紶鏍囩殑婊戝姩璺濈 } - this.currentKey = index - this.currentSample = this.HaveJson(this.sampleProduct[index - 1]) - // 鑾峰彇妫�楠岄」 - let list = await this.getCurrentProduct(this.currentSample.id,0) - this.currentSample.insProduct = this.HaveJson(list) - // 鍒濆鍖栧悗绔紶鍙� - this.param = {} - this.changeType = 0; - this.currentSample.insProduct.forEach((a, j) => { - if(this.handleCasing(a.inspectionItem)){ - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null, - beforeCheck:null, - afterCheck:null, - } - } - }) - // 椤甸潰鏁版嵁澶勭悊 - this.getTableLists() - // 鏇存柊鍒板绾跨▼ - this.worker.postMessage(JSON.stringify({ - type: 'saveData', - tableList:this.tableList, - param:this.param, - currentTable:this.currentTable - })); - }, - caretBushing(num){ - let index = this.currentKey0 + num - if(index < 1){ - this.$message.error('褰撳墠鏄涓�涓绠�') - return - } else if(index > this.bushing.length){ - this.$message.error('褰撳墠鏄渶鍚庝竴涓绠�') - return - } - this.currentKey0 = index - this.currentBushing = this.HaveJson(this.bushing[index - 1]) - this.fiberOpticTape = [] - this.currentFiberOpticTape = null; - this.fiberOptic = [] - this.currentFiberOptic = null; - if( this.currentBushing.fiber&& this.currentBushing.fiber.length>0){ - // 鐩存帴閰嶇疆鍏夌氦 - this.fiberOptic = this.currentBushing.fiber; - }else if( this.currentBushing.fibers&& this.currentBushing.fibers.length>0){ - // 閰嶇疆鍏夌氦甯﹀悗锛屽啀閰嶇疆鍏夌氦 - this.fiberOpticTape = this.currentBushing.fibers; - } - }, - async caretTape(num){ - let index = this.currentKey1 + num - if(index < 1){ - this.$message.error('褰撳墠鏄涓�涓厜绾ゅ甫') - return - } else if(index > this.fiberOpticTape.length){ - this.$message.error('褰撳墠鏄渶鍚庝竴涓厜绾ゅ甫') - return - } - this.currentKey1 = index - this.currentFiberOpticTape = this.HaveJson(this.fiberOpticTape[index - 1]) - this.param = {} - this.fiberOptic = [] - this.currentFiberOptic = null; - this.currentFiberOpticTape.productList.forEach(a => { + }); + // 榧犳爣鎶捣鍋滄鎷栧姩 + nav.addEventListener("mouseup", function() { + flag = false; + }); + // 榧犳爣绂诲紑鍏冪礌鍋滄鎷栧姩 + nav.addEventListener("mouseleave", function(event) { + flag = false; + }); + }, + // 椤甸潰閲岄潰鍒囨崲鏍峰搧 + async caretSample(num) { + let index = this.currentKey + num; + if (index < 1) { + this.$message.error("褰撳墠鏄涓�涓牱鍝�"); + return; + } else if (index > this.sampleProduct.length) { + this.$message.error("褰撳墠鏄渶鍚庝竴涓牱鍝�"); + return; + } + this.currentKey = index; + this.currentSample = this.HaveJson(this.sampleProduct[index - 1]); + // 鑾峰彇妫�楠岄」 + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); + // 鍒濆鍖栧悗绔紶鍙� + this.param = {}; + this.changeType = 0; + this.currentSample.insProduct.forEach((a, j) => { + if (this.handleCasing(a.inspectionItem)) { this.param[a.id] = { insValue: [], comValue: [], resValue: null, equipValue: [], equipName: [], - insResult: null - } + insResult: null, + beforeCheck: null, + afterCheck: null + }; + } + }); + // 椤甸潰鏁版嵁澶勭悊 + this.getTableLists(); + // 鏇存柊鍒板绾跨▼ + this.worker.postMessage( + JSON.stringify({ + type: "saveData", + tableList: this.tableList, + param: this.param, + currentTable: this.currentTable }) - let list = await this.getCurrentProduct(this.currentFiberOpticTape.id,1) - this.getTableLists0(list) - if(this.currentFiberOpticTape.fiber&&this.currentFiberOpticTape.fiber.length>0){ - // 閰嶇疆鍏夌氦 - this.fiberOptic = this.currentFiberOpticTape.fiber; + ); + }, + caretBushing(num) { + let index = this.currentKey0 + num; + if (index < 1) { + this.$message.error("褰撳墠鏄涓�涓绠�"); + return; + } else if (index > this.bushing.length) { + this.$message.error("褰撳墠鏄渶鍚庝竴涓绠�"); + return; + } + this.currentKey0 = index; + this.currentBushing = this.HaveJson(this.bushing[index - 1]); + this.fiberOpticTape = []; + this.currentFiberOpticTape = null; + this.fiberOptic = []; + this.currentFiberOptic = null; + if (this.currentBushing.fiber && this.currentBushing.fiber.length > 0) { + // 鐩存帴閰嶇疆鍏夌氦 + this.fiberOptic = this.currentBushing.fiber; + } else if ( + this.currentBushing.fibers && + this.currentBushing.fibers.length > 0 + ) { + // 閰嶇疆鍏夌氦甯﹀悗锛屽啀閰嶇疆鍏夌氦 + this.fiberOpticTape = this.currentBushing.fibers; + } + }, + async caretTape(num) { + let index = this.currentKey1 + num; + if (index < 1) { + this.$message.error("褰撳墠鏄涓�涓厜绾ゅ甫"); + return; + } else if (index > this.fiberOpticTape.length) { + this.$message.error("褰撳墠鏄渶鍚庝竴涓厜绾ゅ甫"); + return; + } + this.currentKey1 = index; + this.currentFiberOpticTape = this.HaveJson( + this.fiberOpticTape[index - 1] + ); + this.param = {}; + this.fiberOptic = []; + this.currentFiberOptic = null; + this.currentFiberOpticTape.productList.forEach(a => { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + }; + }); + let list = await this.getCurrentProduct(this.currentFiberOpticTape.id, 1); + this.getTableLists0(list); + if ( + this.currentFiberOpticTape.fiber && + this.currentFiberOpticTape.fiber.length > 0 + ) { + // 閰嶇疆鍏夌氦 + this.fiberOptic = this.currentFiberOpticTape.fiber; + } + }, + async caretOptic(num) { + let index = this.currentKey2 + num; + if (index < 1) { + this.$message.error("褰撳墠鏄涓�涓厜绾�"); + return; + } else if (index > this.fiberOptic.length) { + this.$message.error("褰撳墠鏄渶鍚庝竴涓厜绾�"); + return; + } + this.currentKey2 = index; + this.currentFiberOptic = this.HaveJson(this.fiberOptic[index - 1]); + this.currentFiberOptic.productList.forEach(a => { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + }; + }); + let list = await this.getCurrentProduct(this.currentFiberOptic.id, 2); + this.getTableLists0(list); + }, + async handleSuccessUp(response) { + this.upLoading = false; + if (response.code == 200) { + this.$message.success("涓婁紶鎴愬姛"); + this.$refs.fileList.selectList(); + if (this.sonLaboratory === "鐢佃矾璇曢獙") { + // // 鐢佃矾璇曢獙鏁伴噰 + // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); + this.currentNum++; } - }, - async caretOptic(num){ - let index = this.currentKey2 + num - if(index < 1){ - this.$message.error('褰撳墠鏄涓�涓厜绾�') - return - } else if(index > this.fiberOptic.length){ - this.$message.error('褰撳墠鏄渶鍚庝竴涓厜绾�') - return + } else { + this.$message.error(response.message); + } + }, + beforeUpload(file) { + if ( + this.sonLaboratory === "鐢佃矾璇曢獙" && + (file.name.includes("浜よ皟") || file.name.includes("浜掕皟")) && + !this.$refs.CircuitParameters.allBandList.find(m => m.band) + ) { + this.$message.error("涓婁紶闄勪欢鍓嶈鍏堝~鍐欏苟淇濆瓨棰戞"); + return false; + } else { + // if(file.name.includes('浜よ皟')||file.name.includes('浜掕皟')){ + // this.$refs.CircuitParameters.saveAll() + // } + if (file.size > 1024 * 1024 * 10) { + this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M"); + this.$refs.upload.clearFiles(); + return false; + } else { + this.upLoading = true; + return true; } - this.currentKey2 = index - this.currentFiberOptic = this.HaveJson(this.fiberOptic[index - 1]) - this.currentFiberOptic.productList.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null - } + } + }, + onError(err, file, fileList) { + this.$message.error("涓婁紶澶辫触"); + this.$refs.upload.clearFiles(); + }, + handleDown(row) { + this.$axios + .post(this.$api.insOrderPlan.downFile, { + id: row.id }) - let list = await this.getCurrentProduct(this.currentFiberOptic.id,2) - this.getTableLists0(list) - }, - async handleSuccessUp(response, ) { - this.upLoading = false; - if (response.code == 200) { - this.$message.success('涓婁紶鎴愬姛'); - this.$refs.fileList.selectList() - if(this.sonLaboratory === '鐢佃矾璇曢獙'){ - // // 鐢佃矾璇曢獙鏁伴噰 - // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 - let list = await this.getCurrentProduct(this.currentSample.id,0) - this.currentSample.insProduct = this.HaveJson(list) - this.currentNum++ - } - }else { - this.$message.error(response.message); - } - }, - beforeUpload(file) { - if(this.sonLaboratory === '鐢佃矾璇曢獙'&&(file.name.includes('浜よ皟')||file.name.includes('浜掕皟'))&&!this.$refs.CircuitParameters.allBandList.find(m=>m.band)){ - this.$message.error('涓婁紶闄勪欢鍓嶈鍏堝~鍐欏苟淇濆瓨棰戞'); - return false - }else{ - // if(file.name.includes('浜よ皟')||file.name.includes('浜掕皟')){ - // this.$refs.CircuitParameters.saveAll() - // } - if (file.size > 1024 * 1024 * 10) { - this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); - this.$refs.upload.clearFiles() - return false; - } else { - this.upLoading = true; - return true; - } - } - }, - onError(err, file, fileList) { - this.$message.error('涓婁紶澶辫触') - this.$refs.upload.clearFiles() - }, - handleDown(row){ - this.$axios.post(this.$api.insOrderPlan.downFile, { - id: row.id, - }).then(res => { + .then(res => { if (res.code === 200) { - let url = ''; - if(res.data.type==1){ - url = this.javaApi+'/img/'+res.data.fileUrl - file.downloadIamge(url,row.fileName) - }else{ - url = this.javaApi+'/word/'+res.data.fileUrl - const link = document.createElement('a'); + let url = ""; + if (res.data.type == 1) { + url = this.javaApi + "/img/" + res.data.fileUrl; + file.downloadIamge(url, row.fileName); + } else { + url = this.javaApi + "/word/" + res.data.fileUrl; + const link = document.createElement("a"); link.href = url; link.download = row.fileName; link.click(); } } - }).catch(error => { - }) - }, - /** - * 灏嗘暟鍊紇淇濈暀ct.fa涓�'##'鍚庣殑鎸囧畾灏忔暟浣嶆暟锛屽苟杩斿洖鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆� - * - * @param v 瑕佹牸寮忓寲鐨勬暟鍊� - * @param ct 鍖呭惈鏍煎紡鍖栭厤缃殑瀵硅薄 - * @param ct.fa 鏍煎紡鍖栭厤缃瓧绗︿覆锛岃嫢鍖呭惈'##'鍒欐寜鐓у叾鍚庣殑鍐呭纭畾灏忔暟浣嶆暟 - * @returns 鏍煎紡鍖栧悗鐨勫瓧绗︿覆鎴栧師濮嬫暟鍊硷紙鑻ラ厤缃笉绗﹀悎瑕佹眰锛� - */ - toFixed(v,ct){ - if(v&&ct&&ct.fa){ - if(ct.fa.includes('.')){ - let num = ct.fa.slice(4).length - return Number(v).toFixed(num) - }else{ - return v - } - }else{ - return v + .catch(error => {}); + }, + /** + * 灏嗘暟鍊紇淇濈暀ct.fa涓�'##'鍚庣殑鎸囧畾灏忔暟浣嶆暟锛屽苟杩斿洖鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆� + * + * @param v 瑕佹牸寮忓寲鐨勬暟鍊� + * @param ct 鍖呭惈鏍煎紡鍖栭厤缃殑瀵硅薄 + * @param ct.fa 鏍煎紡鍖栭厤缃瓧绗︿覆锛岃嫢鍖呭惈'##'鍒欐寜鐓у叾鍚庣殑鍐呭纭畾灏忔暟浣嶆暟 + * @returns 鏍煎紡鍖栧悗鐨勫瓧绗︿覆鎴栧師濮嬫暟鍊硷紙鑻ラ厤缃笉绗﹀悎瑕佹眰锛� + */ + toFixed(v, ct) { + if (v && ct && ct.fa) { + if (ct.fa.includes(".")) { + let num = ct.fa.slice(4).length; + return Number(v).toFixed(num); + } else { + return v; } - }, - async getCurrentItem(){ - let list = await this.getCurrentProduct(this.currentSample.id,0) - this.currentSample.insProduct = this.HaveJson(list) - }, - saveVersion(){ - if(this.currentTableState!=0&&this.currentTableState!=1){ - this.$message.error('璇烽�夋嫨鐗堟湰') - return - } - this.versionLoading = true; - this.$axios.post(this.$api.insOrderPlan.chooseVersion, { + } else { + return v; + } + }, + async getCurrentItem() { + let list = await this.getCurrentProduct(this.currentSample.id, 0); + this.currentSample.insProduct = this.HaveJson(list); + }, + saveVersion() { + if (this.currentTableState != 0 && this.currentTableState != 1) { + this.$message.error("璇烽�夋嫨鐗堟湰"); + return; + } + this.versionLoading = true; + this.$axios + .post(this.$api.insOrderPlan.chooseVersion, { orderStateId: this.orderStateId, version: this.currentTableState - }).then(res => { + }) + .then(res => { this.versionLoading = false; - if(res.code==201){ - return + if (res.code == 201) { + return; } - this.versionDialogVisible = false - }) - }, - async goHistory(num){ - if(this.num==1&&num==-1){ - this.$message.error('褰撳墠鏄涓�鏉¤褰�') - return - }else if(this.num1==this.num&&num==1){ - this.$message.error('褰撳墠鏄渶鍚庝竴鏉¤褰�') - return - } - this.num = this.num + num - this.tableLoading = true - await this.handleChangeSample(this.currentSample) - this.currentNum++ - this.tableLoading = false - }, - lookFile(row){ - this.currentFile = row; - if(row.type==1){ - this.currentFile.url = this.javaApi+'/img/'+row.fileUrl - }else{ - this.currentFile.url = this.javaApi+'/word/'+row.fileUrl - } - this.lookFileVisible = true - }, - handleBack(){ - try { - if(!this.isLook&&this.state==1&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')){ - this.$confirm('璇风‘璁ゅ綋鍓嶆暟鎹槸鍚﹀叏閮ㄤ繚瀛橈紝鏄惁杩斿洖锛�', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' + this.versionDialogVisible = false; + }); + }, + async goHistory(num) { + if (this.num == 1 && num == -1) { + this.$message.error("褰撳墠鏄涓�鏉¤褰�"); + return; + } else if (this.num1 == this.num && num == 1) { + this.$message.error("褰撳墠鏄渶鍚庝竴鏉¤褰�"); + return; + } + this.num = this.num + num; + this.tableLoading = true; + await this.handleChangeSample(this.currentSample); + this.currentNum++; + this.tableLoading = false; + }, + lookFile(row) { + this.currentFile = row; + if (row.type == 1) { + this.currentFile.url = this.javaApi + "/img/" + row.fileUrl; + } else { + this.currentFile.url = this.javaApi + "/word/" + row.fileUrl; + } + this.lookFileVisible = true; + }, + handleBack() { + try { + if ( + !this.isLook && + this.state == 1 && + this.tableLists + .find(m => m.templateId == this.currentTable) + .templateName.includes("鐢佃矾璇曢獙") + ) { + this.$confirm("璇风‘璁ゅ綋鍓嶆暟鎹槸鍚﹀叏閮ㄤ繚瀛橈紝鏄惁杩斿洖锛�", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" }).then(async () => { - this.loading = true - if(await this.$refs.CircuitParameters.saveAll()){ - this.$emit('goback') - this.loading = false - }else{ - this.loading = false + this.loading = true; + if (await this.$refs.CircuitParameters.saveAll()) { + this.$emit("goback"); + this.loading = false; + } else { + this.loading = false; } - }) - }else{ - this.$emit('goback') + }); + } else { + this.$emit("goback"); } - } catch (error) { - this.$emit('goback') - } - }, - selectInsProductTemplate(){ - this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate,{ - version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:'' - }).then(res => { - if (res.code == 201) return - this.templates = res.data + } catch (error) { + this.$emit("goback"); + } + }, + selectInsProductTemplate() { + this.$axios + .post(this.$api.insProductTemplate.chooseInsProductTemplate, { + version: this.insOrder.sampleType == "鏃犳簮鍣ㄤ欢" ? 2 : "" }) - }, - selectInsProductTemplateById(e){ - if(e){ - this.$axios.post(this.$api.insProductTemplate.getInsProductTemplate + '?id=' + e).then(res => { - if (res.code == 201) return - let obj = JSON.parse(res.data.message) - if(this.currentTableState!=res.data.version&&this.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){ - this.$message.error('鐢佃皟/闈炵數璋冩ā鏉跨増鏈笉涓�鑷达紝璇烽噸鏂伴�夋嫨') - this.template = null - return + .then(res => { + if (res.code == 201) return; + this.templates = res.data; + }); + }, + selectInsProductTemplateById(e) { + if (e) { + this.$axios + .post(this.$api.insProductTemplate.getInsProductTemplate + "?id=" + e) + .then(res => { + if (res.code == 201) return; + let obj = JSON.parse(res.data.message); + if ( + this.currentTableState != res.data.version && + this.insOrder.sampleType != "鏃犳簮鍣ㄤ欢" + ) { + this.$message.error("鐢佃皟/闈炵數璋冩ā鏉跨増鏈笉涓�鑷达紝璇烽噸鏂伴�夋嫨"); + this.template = null; + return; } // 褰撳墠妯℃澘涓湭鍖呭惈鎵�鏈夐」鐩� - let state = this.currentSample.insProduct.every(item=>{ - if(obj.allBandList&&obj.allBandList.length>0&&obj.allBandList[0].projectList&&obj.allBandList[0].projectList.length>0&&item.inspectionItemSubclass&&obj.allBandList[0].projectList.find(m=>m.inspectionItemSubclass==item.inspectionItemSubclass)){ - return true - }else{ - return false + let state = this.currentSample.insProduct.every(item => { + if ( + obj.allBandList && + obj.allBandList.length > 0 && + obj.allBandList[0].projectList && + obj.allBandList[0].projectList.length > 0 && + item.inspectionItemSubclass && + obj.allBandList[0].projectList.find( + m => m.inspectionItemSubclass == item.inspectionItemSubclass + ) + ) { + return true; + } else { + return false; } - }) - if(!state){ - this.template = null - this.$message.error('褰撳墠妯℃澘涓湭鍖呭惈鎵�鏈夐」鐩紝璇烽噸鏂伴�夋嫨') - return + }); + if (!state) { + this.template = null; + this.$message.error("褰撳墠妯℃澘涓湭鍖呭惈鎵�鏈夐」鐩紝璇烽噸鏂伴�夋嫨"); + return; } // 淇濆瓨鐗堟湰 // this.saveVersion() // 濡傛灉妯℃澘鐨勬楠岄」澶氫簡锛屽垯鍒犻櫎澶氫綑鐨� - obj.allBandList.forEach(item=>{ - item.projectList.forEach((m,i)=>{ - if(!this.currentSample.insProduct.find(n=>m.inspectionItemSubclass==n.inspectionItemSubclass)){ - item.projectList.splice(i,1) + obj.allBandList.forEach(item => { + item.projectList.forEach((m, i) => { + if ( + !this.currentSample.insProduct.find( + n => m.inspectionItemSubclass == n.inspectionItemSubclass + ) + ) { + item.projectList.splice(i, 1); } - }) - }) - this.$refs.CircuitParameters.upTemplate(obj) - }) - } - }, - addTemplateDia(){ - let obj = { - allBandList:this.$refs.CircuitParameters.allBandList, - intermodulationNum:this.$refs.CircuitParameters.intermodulationNum, - angleList:this.$refs.CircuitParameters.angleList, - } - if (this.templateName) { - this.templateLoading = true; - this.$axios.post(this.$api.insProductTemplate.addInsProductTemplate, { - name: this.templateName, - version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:this.currentTableState, - message:JSON.stringify(obj) - }, { - headers: { - 'Content-Type': 'application/json' + }); + }); + this.$refs.CircuitParameters.upTemplate(obj); + }); + } + }, + addTemplateDia() { + let obj = { + allBandList: this.$refs.CircuitParameters.allBandList, + intermodulationNum: this.$refs.CircuitParameters.intermodulationNum, + angleList: this.$refs.CircuitParameters.angleList + }; + if (this.templateName) { + this.templateLoading = true; + this.$axios + .post( + this.$api.insProductTemplate.addInsProductTemplate, + { + name: this.templateName, + version: + this.insOrder.sampleType == "鏃犳簮鍣ㄤ欢" + ? 2 + : this.currentTableState, + message: JSON.stringify(obj) + }, + { + headers: { + "Content-Type": "application/json" + } } - }).then(res => { - if (res.code == 201) return + ) + .then(res => { + if (res.code == 201) return; this.templateLoading = false; this.templateDia = false; - this.$message.success('淇濆瓨鎴愬姛') - this.selectInsProductTemplate() - this.templateName = '' - }) - } else { - this.$message.error('璇峰~鍐欐ā鏉垮悕绉�') - } - }, - handleDelete(row){ - this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - this.$axios.post(this.$api.insProductTemplate.delInsProductTemplate, { - id: row.id - }).then(res => { - if (res.code === 201) { - return - } - this.$message.success('鍒犻櫎鎴愬姛') - this.selectInsProductTemplate() - }).catch(e => { - this.$message.error('鍒犻櫎澶辫触') - }) - }).catch(() => {}) + this.$message.success("淇濆瓨鎴愬姛"); + this.selectInsProductTemplate(); + this.templateName = ""; + }); + } else { + this.$message.error("璇峰~鍐欐ā鏉垮悕绉�"); } + }, + handleDelete(row) { + this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + this.$axios + .post(this.$api.insProductTemplate.delInsProductTemplate, { + id: row.id + }) + .then(res => { + if (res.code === 201) { + return; + } + this.$message.success("鍒犻櫎鎴愬姛"); + this.selectInsProductTemplate(); + }) + .catch(e => { + this.$message.error("鍒犻櫎澶辫触"); + }); + }) + .catch(() => {}); } } +}; </script> diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index 154f5a7..4e9f36c 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -277,6 +277,7 @@ <el-button @click="handleConnect(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState == 5 || scope.row.insState == 3||scope.row.insState == 6||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="connect">浜ゆ帴</el-button> <el-button @click="cancelSubmitPlan(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.userName&&!scope.row.userName.includes(userName))" v-if="inspection">鎾ら攢</el-button> <el-button @click="handleReview(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || scope.row.insState != 3 ||(scope.row.checkName&&!scope.row.checkName.includes(userName))" v-if="review">澶嶆牳</el-button> + <el-button @click="handleReview0(scope.row)" type="text" size="small" :disabled="scope.row.userName == null || (scope.row.insState != 4&&scope.row.insState != 5&&scope.row.insState != 6) ||(scope.row.checkName&&!scope.row.checkName.includes(userName))" v-if="verifyPlan2">绾犳澶嶆牳</el-button> <el-button @click="claimFun(scope.row)" type="text" size="small" :disabled="scope.row.userName != null || scope.row.checkName!=null" v-if="claim">璁ら</el-button> <el-button @click="lookHistory0(scope.row)" type="text" size="small">鏌ョ湅璁板綍</el-button> </template> @@ -442,6 +443,34 @@ <span slot="footer" class="dialog-footer"> <el-button @click="exportVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="confirmExport" :loading="upLoadExport">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog title="绾犳澶嶆牳" :visible.sync="upInsReviewDia" width="600px"> + <el-radio-group + v-model="verifyPlanInfo.type" + style="display: flex;flex-direction: column" + > + <el-radio :label="1" style="margin: 10px 0; " + >缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio + > + <el-radio :label="0" style="margin: 10px 0; ">鍐嶆妫�楠岃鏍峰搧</el-radio> + <el-radio :label="2" style="margin: 10px 0; ">姝ゅ鎵樺崟缁撴潫</el-radio> + <p style="font-size: 12px;color:red"> + 鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑� + </p> + </el-radio-group> + <p style="margin-top: 16px;margin-bottom: 6px;"><span style="color:red;margin-right: 4px;">*</span>绾犳鍘熷洜锛�</p> + <el-input + type="textarea" + :rows="2" + placeholder="璇疯緭鍏�" + v-model="verifyPlanInfo.tell"> + </el-input> + <span slot="footer" class="dialog-footer"> + <el-button @click="upInsReviewDia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="upInsReview" :loading="reviewLoading" + >纭� 瀹�</el-button + > </span> </el-dialog> <input id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input> @@ -682,6 +711,7 @@ getInsProduct2:false, claim:false, review:false, + verifyPlan2:false, connect:false, inspection:false, isLook:false,//鏄惁鏄煡鐪嬪巻鍙查〉闈� @@ -704,6 +734,9 @@ ids:[] }, sampleCodeBtnDisabled:true, + upInsReviewDia:false, + verifyPlanInfo:{}, + reviewLoading:false } }, watch:{ @@ -959,6 +992,7 @@ let review = false let claim = false let jumpTeam = false + let verifyPlan2 = false // let getInsProduct2 = false // let getInsOrderUserList = false for (var i = 0; i < power.length; i++) { @@ -970,6 +1004,9 @@ } if (power[i].menuMethod == 'verifyPlan') { review = true + } + if (power[i].menuMethod == 'verifyPlan2') { + verifyPlan2 = true } if (power[i].menuMethod == 'claimInsOrderPlan') { claim = true @@ -990,21 +1027,22 @@ // if (!getInsProduct2) { // this.componentData.do.splice(5, 1) // } - if (!claim) { - this.componentData.do.splice(4, 1) - } - if (!review) { - this.componentData.do.splice(3, 1) - } - if (!connect) { - this.componentData.do.splice(2, 1) - } - if (!inspection) { - this.componentData.do.splice(1, 1) - } + // if (!claim) { + // this.componentData.do.splice(4, 1) + // } + // if (!review) { + // this.componentData.do.splice(3, 1) + // } + // if (!connect) { + // this.componentData.do.splice(2, 1) + // } + // if (!inspection) { + // this.componentData.do.splice(1, 1) + // } // this.getInsProduct2 = getInsProduct2 this.claim = claim this.review = review + this.verifyPlan2 =verifyPlan2 this.connect = connect this.inspection = inspection this.jumpTeam = jumpTeam @@ -1287,6 +1325,39 @@ this.orderStateId = this.currentHistory.orderStateId this.num1 = row.num this.historyDialogVisible = false + }, + // 绾犳澶嶆牳 + upInsReview(){ + if(this.verifyPlanInfo.type!=0&&this.verifyPlanInfo.type!=1&&this.verifyPlanInfo.type!=2){ + return this.$message.error("璇烽�夋嫨澶嶆牳鐘舵��"); + } + if(!this.verifyPlanInfo.tell){ + return this.$message.error("璇疯緭鍏ョ籂姝e鏍哥殑鍘熷洜"); + } + this.reviewLoading = true; + this.$axios + .post(this.$api.insOrderPlan.verifyPlan2, { + sampleId: this.verifyPlanInfo.sampleId, + type: this.verifyPlanInfo.type, + laboratory: this.componentData.entity.sonLaboratory, + tell: this.verifyPlanInfo.tell + }) + .then(res => { + if (res.code === 200) { + this.$message.success("鎿嶄綔鎴愬姛"); + this.upInsReviewDia = false; + this.refreshTable() + } + this.reviewLoading = false; + }) + .catch(error => { + console.error(error); + this.reviewLoading = false; + }); + }, + handleReview0(row){ + this.verifyPlanInfo = row; + this.upInsReviewDia = true } } } -- Gitblit v1.9.3