From 38f01dc619fb9b7326abc345a216793750758c9a Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期五, 14 三月 2025 20:09:45 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
---
src/api/cnas/resourceDemand/device.js | 291
src/views/CNAS/resourceDemand/device/component/state.vue | 13
src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelCapacity/index.vue | 12
src/views/business/inspectionTask/Inspection.vue | 8086 +++++++++++++++++++++++++++
src/views/CNAS/personnel/personnelInfo/Department/components/Records/Add.vue | 2
src/views/CNAS/personnel/personnelInfo/Department/components/TrainingRecord/index.vue | 2
src/views/business/inspectionTask/index.vue | 2065 ++++++
src/views/CNAS/personnel/personnelInfo/Department/components/Communicate/index.vue | 12
src/views/CNAS/personnel/personnelInfo/Department/components/Records/index.vue | 20
src/views/CNAS/resourceDemand/device/component/fault.vue | 2
src/views/business/inspectionOrder/add.vue | 269
src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/index.vue | 33
src/views/business/inspectionOrder/fiberoptic-config.vue | 914 --
src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue | 14
src/api/cnas/personnel/personnelInfo.js | 10
src/views/CNAS/resourceDemand/device/component/maintenance.vue | 73
src/components/Table/lims-table.vue | 287
src/views/CNAS/personnel/personnelInfo/Department/components/JobResponsibilities/index.vue | 7
src/views/CNAS/personnel/personnelInfo/Department/components/rewardPunishmentRecord/index.vue | 45
src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue | 11
src/views/business/inspectionOrder/equip-config.vue | 1236 ++-
src/api/business/inspectionOrder.js | 4
src/utils/file.js | 25
src/views/CNAS/resourceDemand/device/component/borrow.vue | 4
.env.development | 3
src/api/standard/standardLibrary.js | 9
/dev/null | 311 -
src/api/business/inspectionTask.js | 256
src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelTraining/index.vue | 2
src/utils/excelFountion.js | 376 +
src/views/CNAS/personnel/personnelInfo/Department/components/Plan/index.vue | 16
src/views/CNAS/resourceDemand/device/component/record.vue | 70
.env.production | 3
src/views/business/inspectionOrder/fiberoptic-config-readonly.vue | 2741 ++++----
src/views/business/inspectionOrder/index.vue | 556 -
35 files changed, 13,861 insertions(+), 3,919 deletions(-)
diff --git a/.env.development b/.env.development
index 77fc3a8..747b42f 100644
--- a/.env.development
+++ b/.env.development
@@ -9,3 +9,6 @@
# 璺敱鎳掑姞杞�
VUE_CLI_BABEL_TRANSPILE_MODULES = true
+
+# 鏈湴鐜ip+绔彛
+VUE_BASE_URL = ''
\ No newline at end of file
diff --git a/.env.production b/.env.production
index 23d226f..a462f7f 100644
--- a/.env.production
+++ b/.env.production
@@ -6,3 +6,6 @@
# LIMS瀹為獙瀹ょ鐞嗙郴缁�/鐢熶骇鐜
VUE_APP_BASE_API = '/prod-api'
+
+# 鐢熶骇鐜ip+绔彛
+VUE_BASE_URL = ''
\ No newline at end of file
diff --git a/src/api/business/inspectionOrder.js b/src/api/business/inspectionOrder.js
index d6fc987..3665efe 100644
--- a/src/api/business/inspectionOrder.js
+++ b/src/api/business/inspectionOrder.js
@@ -111,8 +111,8 @@
export function viewDetails(query) {
return request({
url: '/insOrder/viewDetails',
- method: 'get',
- params: query
+ method: 'post',
+ data: query
})
}
diff --git a/src/api/business/inspectionTask.js b/src/api/business/inspectionTask.js
new file mode 100644
index 0000000..8b3ad4d
--- /dev/null
+++ b/src/api/business/inspectionTask.js
@@ -0,0 +1,256 @@
+import request from '@/utils/request'
+
+// 鍔ㄦ�佽幏鍙杢ab琛ㄥご
+export function getTabHeader(query) {
+ return request({
+ url: '/insOrderPlan/getTabHeader',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ョ湅缁撴灉鎸夐挳
+export function getInsOrderPlanList(query) {
+ return request({
+ url: '/insOrderPlan/getInsOrderPlanList',
+ method: 'post',
+ data: query
+ })
+}
+
+// 瀵煎嚭濮旀墭璐圭敤
+export function exportCommissionFees(query) {
+ return request({
+ url: '/insOrderPlan/exportCommissionFees',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
+
+// 瀵煎嚭寰呮浠诲姟
+export function exportUnInsProducts(query) {
+ return request({
+ url: '/insOrderPlan/exportUnInsProducts',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
+
+// 瀵煎嚭鏌ョ湅妫�楠岀粨鏋淓xcel
+export function exportInsOrderPlanResult(query) {
+ return request({
+ url: '/insOrderPlan/exportInsOrderPlanResult',
+ method: 'post',
+ data: query,
+ responseType: 'blob'
+ })
+}
+
+// 鏌ョ湅妫�楠屼换鍔″垪琛�
+export function selectInsOrderPlanList(query) {
+ return request({
+ url: '/insOrderPlan/selectInsOrderPlanList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 妫�楠屽崟璇︽儏-浠诲姟鍒囨崲
+export function inspectionOrderDetailsTaskSwitching(query) {
+ return request({
+ url: '/insOrderPlan/inspectionOrderDetailsTaskSwitching',
+ method: 'get',
+ params: query
+ })
+}
+
+// 璁ら鎸夐挳
+export function claimInsOrderPlan(query) {
+ return request({
+ url: '/insOrderPlan/claimInsOrderPlan',
+ method: 'post',
+ data: query
+ })
+}
+
+// 妫�楠屾寜閽�
+export function doInsOrder(query) {
+ return request({
+ url: '/insOrderPlan/doInsOrder',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鍒囨崲濂楃/鍏夌氦/鍏夌氦甯﹁褰曟ā鐗堟煡璇㈡楠屽唴瀹�
+export function getReportModel(query) {
+ return request({
+ url: '/insOrderPlan/getReportModel',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭
+export function getInsProduct(query) {
+ return request({
+ url: '/insOrderPlan/getInsProduct',
+ method: 'get',
+ params: query
+ })
+}
+
+// 浜ゆ帴鎸夐挳
+export function upPlanUser(query) {
+ return request({
+ url: '/insOrderPlan/upPlanUser',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鍒ゆ柇浜ゆ帴鐨勮瘯楠屽
+export function upPlanUser2(query) {
+ return request({
+ url: '/insOrderPlan/upPlanUser2',
+ method: 'get',
+ params: query
+ })
+}
+
+// 澶嶆牳鎸夐挳
+export function verifyPlan(query) {
+ return request({
+ url: '/insOrderPlan/verifyPlan',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鏍¢獙妫�楠屼换鍔℃彁浜�
+export function checkSubmitPlan(query) {
+ return request({
+ url: '/insOrderPlan/checkSubmitPlan',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鎻愪氦妫�楠屼换鍔�
+export function submitPlan(query) {
+ return request({
+ url: '/insOrderPlan/submitPlan',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鑾峰彇璁惧鍚嶇О
+export function getEquipName(query) {
+ return request({
+ url: '/insOrderPlan/getEquipName',
+ method: 'get',
+ params: query
+ })
+}
+
+// 淇濆瓨妫�楠屽唴瀹�
+export function saveInsContext(query) {
+ return request({
+ url: '/insOrderPlan/saveInsContext',
+ method: 'post',
+ data: query
+ })
+}
+
+// 涓婁紶闄勪欢鎸夐挳
+export function uploadFile(query) {
+ return request({
+ url: '/insOrderPlan/uploadFile',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鍒犻櫎闄勪欢鎸夐挳
+export function delfile(query) {
+ return request({
+ url: '/insOrderPlan/delfile',
+ method: 'post',
+ data: query
+ })
+}
+
+// 涓嬭浇闄勪欢
+export function downFile(query) {
+ return request({
+ url: '/insOrderPlan/downFile',
+ method: 'get',
+ params: query
+ })
+}
+
+// 濉啓娓╁害涓庢箍搴�
+export function write(query) {
+ return request({
+ url: '/insOrderPlan/write',
+ method: 'post',
+ data: query
+ })
+}
+
+// 娓╁害寰幆鏌ョ湅鍒楄〃鏁版嵁(鍖呮嫭閫氳繃鏍峰搧id,寰幆娆℃暟,娓╁害,寰幆娆℃暟杩涜绛涢��)
+export function temCycle(query) {
+ return request({
+ url: '/insOrderPlan/temCycle',
+ method: 'get',
+ params: query
+ })
+}
+
+// 寮у瀭鐗规畩椤规煡鐪嬪垪琛ㄦ暟鎹�
+export function getSagTemperatureProducts(query) {
+ return request({
+ url: '/insOrderPlan/getSagTemperatureProducts',
+ method: 'get',
+ params: query
+ })
+}
+
+// (鐢靛姏鐨勫簲鍔涘簲鍙�)淇濆瓨妫�楠屽唴瀹�
+export function saveInsContext2(query) {
+ return request({
+ url: '/insOrderPlan/saveInsContext2',
+ method: 'post',
+ data: query
+ })
+}
+
+// 鏍规嵁璁㈠崟id鏌ヨ鏍峰搧淇℃伅
+export function getSampleInfoByOrderId(query) {
+ return request({
+ url: '/insOrderPlan/getSampleInfoByOrderId',
+ method: 'get',
+ params: query
+ })
+}
+
+// 浠诲姟灞曠ず
+export function tasksShow(query) {
+ return request({
+ url: '/insOrderPlan/tasksShow',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鑾峰彇瀛愯瘯楠屽褰撴湀鐨勬�绘楠屼换鍔℃暟閲�
+export function getCurrentMonthPlanTotal(query) {
+ return request({
+ url: '/insOrderPlan/getCurrentMonthPlanTotalBySonLaboratory',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/cnas/personnel/personnelInfo.js b/src/api/cnas/personnel/personnelInfo.js
index c9d6eaf..7698be2 100644
--- a/src/api/cnas/personnel/personnelInfo.js
+++ b/src/api/cnas/personnel/personnelInfo.js
@@ -737,6 +737,16 @@
});
}
+// 濂栨儵璁板綍 瀵煎嚭
+export function rewardPunishmentExport(query) {
+ return request({
+ url: "/personRewardPunishmentRecord/rewardPunishmentExport",
+ method: "get",
+ responseType: "blob",
+ params: query,
+ });
+}
+
/**
* @desc 宸ヤ綔灞ュ巻
*/
diff --git a/src/api/cnas/resourceDemand/device.js b/src/api/cnas/resourceDemand/device.js
index b82cf37..659d384 100644
--- a/src/api/cnas/resourceDemand/device.js
+++ b/src/api/cnas/resourceDemand/device.js
@@ -155,9 +155,9 @@
});
}
//浣跨敤璁板綍 瀵煎嚭
-export function exportUseRecord(query) {
+export function deviceRecordExport(query) {
return request({
- url: "/deviceRecord/exportUseRecord",
+ url: "/deviceRecord/deviceRecordExport",
method: "get",
responseType: "blob",
params: query,
@@ -398,41 +398,6 @@
});
}
-//璁惧缁存姢鍒犻櫎
-export function deleteDeviceMaintenance(query) {
- return request({
- url: "/deviceMaintain/deleteDeviceMaintenance",
- method: "delete",
- params: query,
- });
-}
-//璁惧缁存姢鍒犻櫎
-export function deviceMaintenanceExport(query) {
- return request({
- url: "/deviceMaintain/deviceMaintenanceExport",
- method: "get",
- responseType: "blob",
- params: query,
- });
-}
-
-// 鏂板璁惧缁存姢淇濆吇
-export function addDeviceMaintenance(data) {
- return request({
- url: "/deviceMaintain/addDeviceMaintenance",
- method: "post",
- data: data,
- });
-}
-//璁惧缁存姢琛� 鏌ヨ
-export function getDeviceMaintenancePage(query) {
- return request({
- url: "/deviceMaintain/getDeviceMaintenancePage",
- method: "get",
- params: query,
- });
-}
-
// 鍊熺敤-淇濆瓨
export function saveDeviceBorrow(data) {
return request({
@@ -534,208 +499,6 @@
params: query,
});
}
-
-//璁惧鎶ュ簾鐢宠鍒楄〃
-export function pageDeviceScrapped(query) {
- return request({
- url: "/deviceScrapped/pageDeviceScrapped",
- method: "get",
- params: query,
- });
-}
-
-// 瀵煎嚭
-export function exportDeviceScrapped(query) {
- return request({
- url: "/deviceScrapped/exportDeviceScrapped",
- method: "get",
- responseType: "blob",
- params: query,
- });
-}
-
-//鍒犻櫎璁惧鎶ュ簾鐢宠
-export function delDeviceScrapped(query) {
- return request({
- url: "/deviceScrapped/delDeviceScrapped",
- method: "delete",
- params: query,
- });
-}
-
-//鏌ヨ璁惧鎶ュ簾鐢宠
-export function getDeviceScrapped(query) {
- return request({
- url: "/deviceScrapped/getDeviceScrapped",
- method: "get",
- params: query,
- });
-}
-
-// 鏂板璁惧鎶ュ簾鐢宠
-export function addDeviceScrapped(data) {
- return request({
- url: "/deviceScrapped/addDeviceScrapped",
- method: "post",
- data: data,
- });
-}
-
-//璁惧鏁呴殰缁翠慨鍒楄〃
-export function pageDeviceBreakdownMaintenance(query) {
- return request({
- url: "/deviceBreakdownMaintenance/pageDeviceBreakdownMaintenance",
- method: "get",
- params: query,
- });
-}
-
-// 璁惧鏁呴殰涓庣淮淇�-瀵煎嚭
-export function exportDeviceBreakdownMaintenance(query) {
- return request({
- url: "/deviceBreakdownMaintenance/exportDeviceBreakdownMaintenance",
- method: "get",
- responseType: "blob",
- params: query,
- });
-}
-
-//鍒犻櫎璁惧鏁呴殰缁翠慨
-export function delDeviceBreakdownMaintenance(query) {
- return request({
- url: "/deviceBreakdownMaintenance/delDeviceBreakdownMaintenance",
- method: "delete",
- params: query,
- });
-}
-
-//鏌ヨ璁惧鏁呴殰缁翠慨
-export function getDeviceBreakdownMaintenance(query) {
- return request({
- url: "/deviceBreakdownMaintenance/getDeviceBreakdownMaintenance",
- method: "get",
- params: query,
- });
-}
-
-// 鏂板璁惧鏁呴殰缁翠慨
-export function addDeviceBreakdownMaintenance(data) {
- return request({
- url: "/deviceBreakdownMaintenance/addDeviceBreakdownMaintenance",
- method: "post",
- data: data,
- });
-}
-
-//鍒嗛〉鏌ヨ璁惧鐐规璁板綍
-export function getDeviceInspectionRecordByPage(query) {
- return request({
- url: "/deviceInspectionRecord/getDeviceInspectionRecordByPage",
- method: "get",
- params: query,
- });
-}
-
-// 瀵煎嚭璁惧鐐规璁板綍
-export function exportDeviceInspectionRecord(query) {
- return request({
- url: "/deviceInspectionRecord/exportDeviceInspectionRecord",
- method: "get",
- responseType: "blob",
- params: query,
- });
-}
-
-//鍒犻櫎璁惧鐐规璁板綍
-export function deleteDeviceInspectionRecord(query) {
- return request({
- url: "/deviceInspectionRecord/deleteDeviceInspectionRecord",
- method: "delete",
- params: query,
- });
-}
-
-//璁惧鐐规璁板綍璇︽儏
-export function getDeviceInspectionRecord(query) {
- return request({
- url: "/deviceInspectionRecord/getDeviceInspectionRecord",
- method: "get",
- params: query,
- });
-}
-
-// 鏂板璁惧鐐规璁板綍
-export function addDeviceInspectionRecord(data) {
- return request({
- url: "/deviceInspectionRecord/addDeviceInspectionRecord",
- method: "post",
- data: data,
- });
-}
-
-// 淇敼璁惧鐐规璁板綍
-export function updateDeviceInspectionRecord(data) {
- return request({
- url: "/deviceInspectionRecord/updateDeviceInspectionRecord",
- method: "post",
- data: data,
- });
-}
-
-// 澶嶆牳璁惧鐐规璁板綍
-export function reviewDeviceInspectionRecord(data) {
- return request({
- url: "/deviceInspectionRecord/reviewDeviceInspectionRecord",
- method: "post",
- data: data,
- });
-}
-
-//璁惧浜嬫晠鎶ュ憡鍒楄〃
-export function pageDeviceAccidentReport(query) {
- return request({
- url: "/deviceAccidentReport/pageDeviceAccidentReport",
- method: "get",
- params: query,
- });
-}
-
-// 瀵煎嚭璁惧浜嬫晠
-export function exportDeviceAccidentReport(query) {
- return request({
- url: "/deviceAccidentReport/exportDeviceAccidentReport",
- method: "get",
- responseType: "blob",
- params: query,
- });
-}
-
-//鍒犻櫎璁惧浜嬫晠鎶ュ憡
-export function delDeviceAccidentReport(query) {
- return request({
- url: "/deviceAccidentReport/delDeviceAccidentReport",
- method: "delete",
- params: query,
- });
-}
-
-//鏌ヨ璁惧浜嬫晠鎶ュ憡
-export function getDeviceAccidentReport(query) {
- return request({
- url: "/deviceAccidentReport/getDeviceAccidentReport",
- method: "get",
- params: query,
- });
-}
-
-// 鏂板璁惧浜嬫晠鎶ュ憡
-export function addDeviceAccidentReport(data) {
- return request({
- url: "/deviceAccidentReport/addDeviceAccidentReport",
- method: "post",
- data: data,
- });
-}
//浣滀笟鎸囧涔︽煡璇�
export function pageByPageQueryOfHomeworkInstructions(query) {
return request({
@@ -821,14 +584,7 @@
params: query,
});
}
-// 璁惧杩愯鎬昏-鏍规嵁id鑾峰彇璁惧鏁呴殰鏁版嵁
-export function device(query) {
- return request({
- url: "/deviceFaults/device",
- method: "get",
- params: query,
- });
-}
+
//璁惧楠屾敹涓洓涓猼able琛ㄦ牸鐨勫垹闄ゅ姛鑳�
export function deleteIncidentReportAll(query) {
return request({
@@ -879,6 +635,14 @@
responseType: "blob"
});
}
+// 璁惧杩愯鎬昏-鏍规嵁id鑾峰彇璁惧鏁呴殰鏁版嵁
+export function device(query) {
+ return request({
+ url: "/deviceFaults/device",
+ method: "get",
+ params: query,
+ });
+}
//娣诲姞璁惧鏁呴殰
export function addOrUpdateDeviceFaultOne(query) {
return request({
@@ -913,4 +677,37 @@
params: query,
});
}
+//璁惧缁存姢 瀵煎嚭
+export function deviceMaintenanceExport(query) {
+ return request({
+ url: "/deviceMaintain/deviceMaintenanceExport",
+ method: "get",
+ params: query,
+ responseType: "blob"
+ });
+}
+//璁惧缁存姢 鍒犻櫎
+export function deleteMaintain(query) {
+ return request({
+ url: "/deviceMaintain/delete",
+ method: "delete",
+ params: query,
+ });
+}
+//璁惧缁存姢 鏂板
+export function addMaintain(query) {
+ return request({
+ url: "/deviceMaintain/add",
+ method: "post",
+ data: query,
+ });
+}
+//璁惧缁存姢 鏌ヨ
+export function getDeviceMaintenancePage(query) {
+ return request({
+ url: "/deviceMaintain/getDeviceMaintenancePage",
+ method: "get",
+ params: query,
+ });
+}
diff --git a/src/api/standard/standardLibrary.js b/src/api/standard/standardLibrary.js
index 63752ea..98861cf 100644
--- a/src/api/standard/standardLibrary.js
+++ b/src/api/standard/standardLibrary.js
@@ -159,3 +159,12 @@
method: "get",
});
}
+
+// 浠呰幏鍙栧厜绾ょ殑鍨嬪彿
+export function getStandTreeBySampleType(query) {
+ return request({
+ url: "/standardTree/getStandTreeBySampleType",
+ method: "get",
+ params:query
+ });
+}
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index 999ce8b..74628ad 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -1,83 +1,31 @@
<template>
<div>
<!-- 琛ㄦ牸 -->
- <el-table
- ref="multipleTable"
- v-loading="tableLoading"
- :border="border"
- :data="tableData"
- :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
- :height="height"
- :highlight-current-row="highlightCurrentRow"
- :row-class-name="rowClassName"
- :row-style="rowStyle"
- :row-key="rowKey"
- :span-method="spanMethod"
- :stripe="stripe"
- style="width: 100%"
- tooltip-effect="dark"
- @row-click="rowClick"
- @current-change="currentChange"
- @selection-change="handleSelectionChange"
- class="lims-table"
- >
- <el-table-column
- align="center"
- type="selection"
- width="55"
- v-if="isSelection"
- />
- <el-table-column
- align="center"
- label="搴忓彿"
- type="index"
- width="60"
- :index="indexMethod"
- />
+ <el-table ref="multipleTable" v-loading="tableLoading" element-loading-text="鍔犺浇涓�..."
+ element-loading-spinner="el-icon-loading" :border="border" :data="tableData"
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="height"
+ :highlight-current-row="highlightCurrentRow" :row-class-name="rowClassName" :row-style="rowStyle"
+ :row-key="rowKey" :span-method="spanMethod" :stripe="stripe" style="width: 100%" tooltip-effect="dark"
+ @row-click="rowClick" @current-change="currentChange" @selection-change="handleSelectionChange"
+ class="lims-table">
+ <el-table-column align="center" type="selection" width="55" v-if="isSelection" />
+ <el-table-column align="center" label="搴忓彿" type="index" width="60" :index="indexMethod" />
- <el-table-column
- v-for="(item, index) in column"
- :key="index"
- :column-key="item.columnKey"
- :filter-method="item.filterHandler"
- :filter-multiple="item.filterMultiple"
- :filtered-value="item.filteredValue"
- :filters="item.filters"
- :fixed="item.fixed"
- :label="item.label"
- :min-width="item.minWidth"
- :prop="item.prop"
- :show-overflow-tooltip="
- item.dataType === 'action' || item.dataType === 'slot' ? false : true
- "
- :sortable="item.sortable ? true : false"
- :type="item.type"
- align="center"
- :width="item.dataType == 'action' ? btnWidth : item.width"
- >
+ <el-table-column v-for="(item, index) in column" :key="index" :column-key="item.columnKey"
+ :filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue"
+ :filters="item.filters" :fixed="item.fixed" :label="item.label" :min-width="item.minWidth" :prop="item.prop"
+ :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true
+ " :sortable="item.sortable ? true : false" :type="item.type" align="center"
+ :width="item.dataType == 'action' ? btnWidth : item.width">
<!-- <div class="123" v-if="item.type == ''"> -->
- <template
- v-if="item.hasOwnProperty('colunmTemplate')"
- :slot="item.colunmTemplate"
- slot-scope="scope"
- >
- <slot
- v-if="item.theadSlot"
- :index="index"
- :name="item.theadSlot"
- :row="scope.row"
- />
+ <template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope">
+ <slot v-if="item.theadSlot" :index="index" :name="item.theadSlot" :row="scope.row" />
</template>
<template slot-scope="scope">
<!-- 鎻掓Ы -->
<div v-if="item.dataType == 'slot'">
- <slot
- v-if="item.slot"
- :index="scope.$index"
- :name="item.slot"
- :row="scope.row"
- />
+ <slot v-if="item.slot" :index="scope.$index" :name="item.slot" :row="scope.row" />
</div>
<!-- 杩涘害鏉� -->
<div v-else-if="item.dataType == 'progress'">
@@ -85,141 +33,73 @@
</div>
<!-- 鍥剧墖 -->
<div v-else-if="item.dataType == 'image'">
- <img
- :src="javaApi + '/img/' + scope.row[item.prop]"
- alt=""
- style="width: 40px; height: 40px; margin-top: 10px"
- />
+ <img :src="javaApi + '/img/' + scope.row[item.prop]" alt=""
+ style="width: 40px; height: 40px; margin-top: 10px" />
</div>
<!-- tag -->
<div v-else-if="item.dataType == 'tag'">
- <el-tag
- v-if="
- typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
- 'string'
- "
- :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(scope.row[item.prop], item.formatType)"
- >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
- >
- <el-tag
- v-for="(tag, index) in dataTypeFn(
- scope.row[item.prop],
- item.formatData
- )"
- v-else-if="
- typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
- 'object'
- "
- :key="index"
- :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(tag, item.formatType)"
- >{{
+ <el-tag v-if="
+ typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
+ 'string'
+ " :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
+ formatters(item.formatData) }}</el-tag>
+ <el-tag v-for="(tag, index) in dataTypeFn(
+ scope.row[item.prop],
+ item.formatData
+ )" v-else-if="
+ typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
+ 'object'
+ " :key="index" :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(tag, item.formatType)">{{
item.tagGroup
? tag[item.tagGroup.label]
? tag[item.tagGroup.label]
: tag
: tag
- }}</el-tag
- >
- <el-tag
- v-else
- :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(scope.row[item.prop], item.formatType)"
- >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
- >
+ }}</el-tag>
+ <el-tag v-else :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
+ formatters(item.formatData) }}</el-tag>
</div>
<!-- 鎸夐挳 -->
- <div
- v-else-if="item.dataType == 'action'"
- :style="`width:${getWidth(item.operation, scope.row)}`"
- >
+ <div v-else-if="item.dataType == 'action'" :style="`width:${getWidth(item.operation, scope.row)}`">
<template v-for="(o, key) in item.operation">
- <el-button
- v-show="o.type != 'upload'"
- size="mini"
- v-if="o.showHide ? o.showHide(scope.row) : true"
- :disabled="o.disabled ? o.disabled(scope.row) : false"
- :icon="iconFn(o)"
- :plain="o.plain"
- :style="{ color: o.name === '鍒犻櫎' ? '#f56c6c' : o.color }"
- :type="o.type | typeFn(scope.row)"
- @click="o.clickFun(scope.row)"
- :key="key"
- >
+ <el-button v-show="o.type != 'upload'" size="mini" v-if="o.showHide ? o.showHide(scope.row) : true"
+ :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
+ :style="{ color: o.name === '鍒犻櫎' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)"
+ @click="o.clickFun(scope.row)" :key="key">
{{ o.name }}
</el-button>
- <el-upload
- :action="javaApi + o.url"
- size="mini"
- ref="upload"
- :multiple="o.multiple ? o.multiple : false"
- :disabled="o.disabled ? o.disabled(scope.row) : false"
- :accept="
- o.accept
- ? o.accept
- : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
- "
- v-if="o.type == 'upload' && o.url"
- style="display: inline-block; width: 50px"
- :data="o.data ? o.data(scope.row) : {}"
- :before-upload="
- o.beforeUpload ? o.beforeUpload(scope.row) : () => true
- "
- v-show="o.showHide ? o.showHide(scope.row) : true"
- :headers="uploadHeader"
- :on-error="onError"
- :on-exceed="onExceed"
- :on-success="handleSuccessUp"
- :show-file-list="false"
- :key="key"
- >
- <el-button
- :size="o.size ? o.size : 'small'"
- type="text"
- :disabled="o.disabled ? o.disabled(scope.row) : false"
- >{{ o.name }}</el-button
- >
+ <el-upload :action="javaApi + o.url" size="mini" ref="upload" :multiple="o.multiple ? o.multiple : false"
+ :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
+ ? o.accept
+ : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+ " v-if="o.type == 'upload' && o.url" style="display: inline-block; width: 50px"
+ :data="o.data ? o.data(scope.row) : {}" :before-upload="o.beforeUpload ? o.beforeUpload(scope.row) : () => true
+ " v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader" :on-error="onError"
+ :on-exceed="onExceed" :on-success="handleSuccessUp" :show-file-list="false" :key="key">
+ <el-button :size="o.size ? o.size : 'small'" type="text"
+ :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
</el-upload>
- <el-upload
- action="#"
- :on-change="
- (file, fileList) => o.clickFun(scope.row, file, fileList)
- "
- :multiple="o.multiple ? o.multiple : false"
- :limit="o.limit ? o.limit : 1"
- :disabled="o.disabled ? o.disabled(scope.row) : false"
- :accept="
- o.accept
- ? o.accept
- : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
- "
- v-if="o.type == 'upload' && !o.url"
- style="display: inline-block; width: 50px"
- v-show="o.showHide ? o.showHide(scope.row) : true"
- :auto-upload="false"
- :on-exceed="onExceed"
- :show-file-list="false"
- :key="key"
- >
- <el-button
- :size="o.size ? o.size : 'small'"
- type="text"
- :disabled="o.disabled ? o.disabled(scope.row) : false"
- >{{ o.name }}</el-button
- >
+ <el-upload action="#" :on-change="(file, fileList) => o.clickFun(scope.row, file, fileList)
+ " :multiple="o.multiple ? o.multiple : false" :limit="o.limit ? o.limit : 1"
+ :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
+ ? o.accept
+ : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+ " v-if="o.type == 'upload' && !o.url" style="display: inline-block; width: 50px"
+ v-show="o.showHide ? o.showHide(scope.row) : true" :auto-upload="false" :on-exceed="onExceed"
+ :show-file-list="false" :key="key">
+ <el-button :size="o.size ? o.size : 'small'" type="text"
+ :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
</el-upload>
</template>
</div>
<!-- 鍙偣鍑荤殑鏂囧瓧 -->
- <div
- v-else-if="item.dataType == 'link'"
- class="cell"
- style="width: 100%"
- @click="goLink(scope.row, item.linkEvent)"
- >
+ <div v-else-if="item.dataType == 'link'" class="cell" style="width: 100%"
+ @click="goLink(scope.row, item.linkEvent)">
<span class="link" v-if="!item.formatData">
{{ scope.row[item.prop] }}
</span>
@@ -234,16 +114,8 @@
</template>
</el-table-column>
</el-table>
- <pagination
- v-if="page"
- v-show="page.total > 0"
- :total="page.total"
- :layout="page.layout"
- :page.sync="page.current"
- :limit.sync="page.size"
- @pagination="pagination"
- style="background-color: #fff"
- />
+ <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current"
+ :limit.sync="page.size" @pagination="pagination" style="background-color: #fff" />
</div>
</template>
@@ -332,19 +204,19 @@
handleSelectionChange: {
type: Function,
default: () => {
- return () => {};
+ return () => { };
},
},
rowClick: {
type: Function,
default: () => {
- return () => {};
+ return () => { };
},
},
currentChange: {
type: Function,
default: () => {
- return () => {};
+ return () => { };
},
},
border: {
@@ -373,7 +245,7 @@
},
rowClassName: {
type: Function,
- default: () => {},
+ default: () => { },
},
rowStyle: {
type: Function,
@@ -412,10 +284,20 @@
// this.doLayout();
// },
},
+ updated() {
+ this.$nextTick(() => {
+ this.$refs.multipleTable.doLayout();
+ });
+ },
mounted() {
this.calculateSpanInfo();
},
methods: {
+ doLayout() {
+ this.$nextTick(() => {
+ this.$refs.multipleTable && this.$refs.multipleTable.doLayout();
+ });
+ },
getWidth(row, row0) {
let count = 0;
row.forEach((a) => {
@@ -487,6 +369,7 @@
if (!linkEvent) {
return this.$message.warning("璇烽厤缃甽ingk浜嬩欢");
}
+ console.log(linkEvent);
linkEvent.vueComponent[linkEvent.method](row);
},
// 鍚堝苟鍗曞厓鏍�
@@ -576,11 +459,11 @@
</script>
<style scoped>
-.el-table >>> .el-table__empty-text {
+.el-table>>>.el-table__empty-text {
text-align: center;
}
->>> .cell {
+>>>.cell {
padding: 0 !important;
}
@@ -597,7 +480,7 @@
cursor: pointer;
}
->>> .el-table__body-wrapper::-webkit-scrollbar {
+>>>.el-table__body-wrapper::-webkit-scrollbar {
height: 14px;
/* 璁剧疆婊氬姩鏉″搴� */
}
diff --git a/src/utils/excelFountion.js b/src/utils/excelFountion.js
new file mode 100644
index 0000000..693c16e
--- /dev/null
+++ b/src/utils/excelFountion.js
@@ -0,0 +1,376 @@
+
+/**
+ * 璁$畻澶氫釜鏁板�肩殑鍜�
+ *
+ * @param val 鏁板�煎瀷鍙傛暟锛屽彲鍙橀暱鍙傛暟鍒楄〃
+ * @returns 杩斿洖鎵�鏈夊弬鏁扮殑鍜岋紝濡傛灉鍙傛暟鍒楄〃涓虹┖鎴栧弬鏁扮被鍨嬮潪鏁板�煎瀷锛屽垯杩斿洖null
+ */
+function SUM(...val){
+ try {
+ let num = null;
+ if(val&&val.length>0){
+ val.forEach(item=>{
+ num+=item;
+ })
+ }
+ return num;
+ } catch (error) {
+
+ }
+}
+/**
+ * 璁$畻浼犲叆鍙傛暟涓殑鏈�澶у��
+ *
+ * @param ...val 鍙彉鍙傛暟鍒楄〃锛岀敤浜庤绠楁渶澶у�肩殑鏁板�兼垨鍙浆鎹负鏁板�肩殑绫诲瀷
+ * @returns 杩斿洖鏈�澶у�硷紝濡傛灉鍙傛暟鍒楄〃涓虹┖鎴栦负null/undefined/''锛屽垯杩斿洖null
+ */
+function MAX(...val){
+ try {
+ let max = null;
+ if(val&&val.length>0){
+ val = val.filter(item=>item!=null&&item!=='')
+ if(val.length>0){
+ max = Math.max(...val)
+ }else{
+ max = null;
+ }
+ }
+ return max;
+ } catch (error) {
+
+ }
+}
+/**
+ * 璁$畻浼犲叆鍙傛暟涓殑鏈�灏忓��
+ *
+ * @param val 鍙彉鍙傛暟锛岀敤浜庤绠楁渶灏忓�肩殑鏁板�兼暟缁�
+ * @returns 杩斿洖浼犲叆鍙傛暟涓殑鏈�灏忓�硷紝濡傛灉浼犲叆鍙傛暟涓虹┖鎴栨墍鏈夊�煎潎涓簄ull鎴栫┖瀛楃涓诧紝鍒欒繑鍥瀗ull
+ */
+function MIN(...val){
+ try {
+ let min = null;
+ if(val&&val.length>0){
+ val = val.filter(item=>item!=null&&item!=='')
+ // console.log(val)
+ if(val.length>0){
+ min = Math.min(...val)
+ }
+ }
+ return min;
+ } catch (error) {
+
+ }
+}
+/**
+ * 璁$畻缁欏畾鏁板�肩殑骞冲潎鍊�
+ *
+ * @param val 鏁板�煎垪琛紝鍙寘鍚换鎰忎釜鍙傛暟
+ * @returns 杩斿洖骞冲潎鍊硷紝濡傛灉鏁板�煎垪琛ㄤ负绌烘垨鍖呭惈闈炴暟鍊奸」锛屽垯杩斿洖null
+ */
+function AVERAGE(...val){
+ try {
+ let num = 0;
+ let arr = [];
+ if(val&&val.length>0){
+ arr = val.filter(item=>item!=null&&item!=='')
+ arr.forEach(item=>{
+ num+=item;
+ })
+ if(arr.length>0){
+ return num/arr.length;
+ }else{
+ return null;
+ }
+ }else{
+ return null;
+ }
+ } catch (error) {
+
+ }
+}
+/**
+ * 璁$畻涓�涓暟鐨勭粷瀵瑰��
+ *
+ * @param val 浠绘剰鏁板��
+ * @returns 杩斿洖璇ユ暟鍊肩殑缁濆鍊�
+ */
+function ABS(val){
+ try {
+ return Math.abs(val);
+ } catch (error) {
+
+ }
+}
+/**
+ * 璁$畻涓�缁勬暟瀛楃殑涓綅鏁�
+ *
+ * @param val 浠绘剰涓弬鏁帮紝闇�瑕佽绠椾腑浣嶆暟鐨勬暟瀛�
+ * @returns 濡傛灉鍙傛暟涓湁鏈夋晥鐨勬暟瀛楋紝鍒欒繑鍥炶绠楀嚭鐨勪腑浣嶆暟锛涘惁鍒欒繑鍥瀗ull
+ */
+function MEDIAN(...val){
+ try {
+ let arr = [];
+ if(val&&val.length>0){
+ arr = val.filter(item=>item!=null&&item!=='')
+ const sortedArr = arr.sort((a, b) => a - b);
+ // 璁$畻涓綅鏁�
+ const half = Math.floor(sortedArr.length / 2);
+ if(arr.length>0){
+ // 濡傛灉鏁扮粍闀垮害鏄鏁帮紝鐩存帴鍙栦腑闂寸殑鍏冪礌
+ if (sortedArr.length % 2 === 1) {
+ return sortedArr[half];
+ } else { // 濡傛灉鏁扮粍闀垮害鏄伓鏁帮紝鍙栦腑闂翠袱涓厓绱犵殑骞冲潎鍊�
+ return (sortedArr[half - 1] + sortedArr[half]) / 2;
+ }
+ }else{
+ return null;
+ }
+ }else{
+ return null;
+ }
+ } catch (error) {
+
+ }
+}
+
+/**
+ * 璁$畻骞�
+ *
+ * @param str 瀛楃涓插舰寮忕殑骞傝〃杈惧紡锛屼緥濡�"2^3"
+ * @returns 杩斿洖璁$畻鍚庣殑骞傚�硷紝濡傛灉琛ㄨ揪寮忔棤鏁堝垯杩斿洖null
+ */
+function CalculatePower(str){
+ try {
+ if(str&&str.includes('^')){
+ let arr = str.split('^');
+ if(arr&&arr.length>1){
+ return Math.pow(arr[0],arr[1]);
+ }else{
+ return null;
+ }
+ }
+ } catch (error) {
+
+ }
+}
+
+
+
+/**
+ * 鏍规嵁鍧愭爣鑾峰彇鍒楀悕
+ * @param {Object} cellId
+ */
+function getColumnNameFromId(cellId){
+ try{
+ if (! Array.isArray(cellId)) {
+ cellId = cellId.split('-');
+ }
+ var i = cellId[0];
+ var letter = '';
+ if (i > 701) {
+ letter += String.fromCharCode(64 + parseInt(i / 676));
+ letter += String.fromCharCode(64 + parseInt((i % 676) / 26));
+ } else if (i > 25) {
+ letter += String.fromCharCode(64 + parseInt(i / 26));
+ }
+ letter += String.fromCharCode(65 + (i % 26));
+ return letter + (parseInt(cellId[1]) + 1);
+ }catch(e){
+ console.log('error',cellId)
+ }
+}
+/**
+ * 鏍规嵁鍒楀悕鑾峰彇鍧愭爣
+ * @param {Object} id
+ * @param {Object} arr
+ */
+function getIdFromColumnName(id, arr) {
+ try{
+ // Get the letters
+ var t = /^[a-zA-Z]+/.exec(id);
+ if (t) {
+ // Base 26 calculation
+ var code = 0;
+ for (var i = 0; i < t[0].length; i++) {
+ code += parseInt(t[0].charCodeAt(i) - 64) * Math.pow(26, (t[0].length - 1 - i));
+ }
+ code--;
+ // Make sure jexcel starts on zero
+ if (code < 0) {
+ code = 0;
+ }
+
+ // Number
+ var number = parseInt(/[0-9]+$/.exec(id));
+ if (number > 0) {
+ number--;
+ }
+
+ if (arr == true) {
+ id = [ code, number ];
+ } else {
+ // id = code + '-' + number;
+ id = {
+ c:code,
+ r:number
+ }
+ }
+ }
+ return id;
+ }catch(e){
+ console.log('error',id)
+ }
+}
+
+/**
+ * 鏇存敼鍙傛暟
+ *
+ * @param f 鍙傛暟鍒楄〃
+ * @returns 杩斿洖涓�涓寘鍚潗鏍囦俊鎭殑鏁扮粍
+ */
+function changeParameter(f){
+ try {
+ let arr = getABCList(f)
+ let arr2 = []
+ arr.forEach(item=>{
+ if(item.includes(':')){
+ let r0 = getIdFromColumnName(item.split(':')[0]).r;
+ let c0 = getIdFromColumnName(item.split(':')[0]).c;
+ let r1 = getIdFromColumnName(item.split(':')[1]).r;
+ let c1 = getIdFromColumnName(item.split(':')[1]).c;
+ for (let i = Number(r0); i <= Number(r1); i++) {
+ for (let u = Number(c0); u <= Number(c1); u++) {
+ arr2.push({
+ r: i,
+ c: u
+ })
+ }
+ }
+ }else{
+ arr2.push(getIdFromColumnName(item))
+ }
+ })
+ return arr2;
+ } catch (error) {
+
+ }
+}
+/**
+ * 鑾峰彇鍖呭惈 ABC 瀛楃鐨勫垪琛�
+ *
+ * @param f 瀛楃涓诧紝鍖呭惈闇�瑕佽В鏋愮殑鍏紡鎴栬〃杈惧紡
+ * @returns 鍖呭惈 ABC 瀛楃鐨勬暟缁勫垪琛�
+ */
+function getABCList(f){
+ try {
+ let regex = /[=\+\-\*\%\(\)\/\^\s]/g;
+ let fouList = [
+ "SUM",
+ 'MAX',
+ 'MIN',
+ 'AVERAGE',
+ 'ABS',
+ ]
+ f = f.replace(regex, ',').replace(new RegExp('"&', 'g'),'').replace(new RegExp('&"', 'g'),'')
+ fouList.forEach(item=>{
+ f = f.replace(new RegExp(item, 'g'),'')
+ })
+ // console.log('f',f)
+ let arr = f.split(',').filter(item=>{
+ return item&& /[a-zA-Z]/.test(item)&&item!='undefined'&&item!='null'
+ });
+ return arr;
+ } catch (error) {
+
+ }
+}
+/**
+ * 鑾峰彇鎵�鏈夊崟鍏冩牸
+ *
+ * @param f 琛ㄦ牸鏁版嵁鎴栫浉鍏冲弬鏁�
+ * @returns 杩斿洖涓�涓璞★紝鍏堕敭涓哄崟鍏冩牸鐨勫敮涓�鏍囪瘑绗︼紙鐢卞垪鍜岃ID鎷兼帴鑰屾垚锛夛紝鍊间负null
+ */
+function getAllCell(f){
+ try {
+ let arr = changeParameter(f)
+ let arr0 = {}
+ arr.forEach(item=>{
+ arr0[getColumnNameFromId(`${item.c}`+'-'+`${item.r}`)] = null
+ })
+ return arr0;
+ } catch (error) {
+
+ }
+}
+
+/**
+ * 璁$畻鍑芥暟
+ *
+ * @param f 瀛楃涓茬被鍨嬶紝琛ㄧず寰呰绠楃殑鍏紡
+ * @param comValue 瀵硅薄绫诲瀷锛岃〃绀鸿鏇挎崲鐨勫崟鍏冩牸鍊硷紝閿负鍗曞厓鏍煎悕绉帮紝鍊间负鏇挎崲鍚庣殑鍊�
+ * @returns 杩斿洖璁$畻鍚庣殑缁撴灉锛屽鏋滆绠楀け璐ュ垯杩斿洖0
+ */
+function compute(f,comValue){
+ try {
+ let str = f
+ // 鑾峰彇鍗曞厓鏍煎搴斿��
+ let arr = getAllCell(f)
+ for (var a in comValue) {
+ if(comValue[a]!=='undefined'&&comValue[a]!=='null'&&comValue[a]!==undefined){
+ if(typeof(comValue[a])=='string'&&comValue[a].includes('^')){
+ // 璁$畻骞傛
+ arr[a] = CalculatePower(comValue[a])
+ } else if (typeof(comValue[a])=='string'&&comValue[a].includes('/')) {
+ arr[a] = comValue[a]
+ } else{
+ arr[a] = comValue[a]
+ }
+ }
+ }
+ // 瑙f瀽鍏紡鍙傛暟锛岀壒鍒槸甯︼細鐨�
+ let arr0 = getABCList(f)
+ let obj = {}
+ arr0.forEach(item=>{
+ if(item.includes(':')){
+ let arr1 = []
+ let r0 = getIdFromColumnName(item.split(':')[0]).r;
+ let c0 = getIdFromColumnName(item.split(':')[0]).c;
+ let r1 = getIdFromColumnName(item.split(':')[1]).r;
+ let c1 = getIdFromColumnName(item.split(':')[1]).c;
+ for (let i = Number(r0); i <= Number(r1); i++) {
+ for (let u = Number(c0); u <= Number(c1); u++) {
+ arr1.push({
+ r: i,
+ c: u
+ })
+ }
+ }
+ let arr2 = []
+ arr1.forEach(m=>{
+ arr2.push(getColumnNameFromId(`${m.c}`+'-'+`${m.r}`))
+ })
+ obj[item.split(':').join('-')] = arr2.join(',')
+ }else{
+ obj[item] = item
+ }
+ })
+ str = str.replace(new RegExp(':', 'g'),'')
+ // 鏇挎崲鍙傛暟
+ for (var a in obj) {
+ str = str.replace(new RegExp(a, 'g'),obj[a])
+ }
+ // 璁$畻
+ for (var a in arr) {
+ str = str.replace(new RegExp(a, 'g'),arr[a])
+ }
+ return eval(str)
+ } catch (error) {
+
+ }
+}
+
+export default {
+ compute,
+ changeParameter,
+ AVERAGE
+}
diff --git a/src/utils/file.js b/src/utils/file.js
index c3a3e7b..d8ff0fd 100644
--- a/src/utils/file.js
+++ b/src/utils/file.js
@@ -59,3 +59,28 @@
image.src = imgsrc;
}
};
+
+
+export function transformExcel(response,tempName){
+ const relType = ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel;charset=UTF-8']
+ let type = response.type
+ if (relType.includes(type)) {
+ const blob = new Blob([response], {type: 'application/vnd.ms-excel'})
+ let temp = tempName
+ if(response.headers){
+ const disposition = response.headers["content-disposition"]
+ temp = disposition.substring(disposition.lastIndexOf('=') + 1)
+ }
+ let filename = decodeURI(temp)
+ // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
+ const elink = document.createElement('a')
+ elink.download = filename
+ elink.style.display = 'none'
+ elink.href = URL.createObjectURL(blob)
+ document.body.appendChild(elink)
+ elink.click()
+ URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
+ document.body.removeChild(elink)
+ }
+}
+
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Communicate/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Communicate/index.vue
index 086b96b..8e4f746 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Communicate/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Communicate/index.vue
@@ -10,7 +10,7 @@
</div>
</template>
<template v-slot:table>
- <limsTable :column="columnData" :height="'calc(100vh - 21em)'" :table-data="tableData"
+ <limsTable :column="columnData" :height="'calc(100vh - 22em)'" :table-data="tableData"
:table-loading="loading" style="margin-top: 18px; padding: 0 15px;" :page="page"
@pagination="pagination"></limsTable>
</template>
@@ -95,7 +95,7 @@
tableData: [],
page: {
current: 1,
- pageSize: 20,
+ size: 20,
total: 0
},
loading: false
@@ -113,11 +113,11 @@
const params = this.isDepartment ? {
departLimsId: this.departId,
current: this.page.current,
- size: this.page.pageSize
+ size: this.page.size
} : {
userId: this.departId,
current: this.page.current,
- size: this.page.pageSize
+ size: this.page.size
}
const { code, data } = await personPersonCommunicationAbilityPage(params)
if (code == 200) {
@@ -147,9 +147,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(async () => {
- let formData = new FormData()
- formData.append('id', id)
- const { code } = await deletePersonCommunicationAbility(formData)
+ const { code } = await deletePersonCommunicationAbility({ id })
if (code == 200) {
this.$message({
type: 'success',
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/JobResponsibilities/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/JobResponsibilities/index.vue
index ef784f1..790a82a 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/JobResponsibilities/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/JobResponsibilities/index.vue
@@ -206,20 +206,19 @@
this.$refs.form.validate((valid) => {
if (valid === true || saveState !== '1submit') {
// 缁欏綋鍓嶇幆鑺傝缃垱寤轰汉涓庢椂闂�
- let user = JSON.parse(localStorage.getItem('user'));
const dateTime = dateFormat(new Date());
// 鑾峰彇褰撳墠鐜妭鎿嶄綔浜轰笌鏃ユ湡
switch (this.currentStep) {
case 0:
- this.form.submittingOperator = user.name;
+ this.form.submittingOperator = this.$store.state.user.name;
this.form.submittingDate = dateTime;
break;
case 1:
- this.form.incumbentOperator = user.name;
+ this.form.incumbentOperator = this.$store.state.user.name;
this.form.incumbentDate = dateTime;
break;
case 2:
- this.form.supervisorOperator = user.name;
+ this.form.supervisorOperator = this.$store.state.user.name;
this.form.supervisorDate = dateTime;
break;
default:
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/index.vue
index d6fa9a2..6456262 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/index.vue
@@ -10,7 +10,7 @@
</div>
</template>
<template v-slot:table>
- <limsTable :column="columnData" :height="'calc(100vh - 21em)'" :table-data="tableData"
+ <limsTable :column="columnData" :height="'calc(100vh - 22em)'" :table-data="tableData"
:table-loading="loading" style="margin-top: 18px; padding: 0 15px;" :page="page"
@pagination="pagination"></limsTable>
</template>
@@ -27,7 +27,6 @@
deletePersonPostAuthorizationRecord,
exportPersonPostAuthorizationRecord
} from '@/api/cnas/personnel/personnelInfo.js'
-import { nextTick } from "vue";
export default {
components: {
@@ -56,22 +55,28 @@
prop: 'id'
}, {
label: '璇佷功缂栧彿',
- prop: 'certificateNumber'
+ prop: 'certificateNumber',
+ width: '120px'
}, {
label: '琚换鑱屼汉鍛�',
- prop: 'userName'
+ prop: 'userName',
+ width: '120px'
}, {
label: '浠昏亴宀椾綅',
- prop: 'post'
+ prop: 'post',
+ width: '120px'
}, {
label: '鐞嗚鑰冭瘯鎴愮哗',
- prop: 'num1'
+ prop: 'num1',
+ width: '160px'
}, {
label: '鎿嶄綔鎶�鑳借�冭瘯鎴愮哗',
- prop: 'num2'
+ prop: 'num2',
+ width: '160px'
}, {
label: '鎿嶄綔鏃堕棿',
- prop: 'updateTime'
+ prop: 'updateTime',
+ width: '120px'
}, {
label: '澶囨敞',
prop: 'remarks',
@@ -80,6 +85,7 @@
label: '鎿嶄綔',
dataType: 'action',
width: 160,
+ fixed: 'right',
operation: [
{
name: '缂栬緫',
@@ -107,7 +113,7 @@
tableData: [],
page: {
current: 1,
- pageSize: 20,
+ size: 20,
total: 0
},
loading: false
@@ -126,15 +132,14 @@
*/
async getTableData() {
this.loading = true
- await nextTick()
const params = this.isDepartment ? {
departLimsId: this.departId,
current: this.page.current,
- size: this.page.pageSize
+ size: this.page.size
} : {
userId: this.departId,
current: this.page.current,
- size: this.page.pageSize
+ size: this.page.size
}
const { code, data } = await PersonPostAuthorizationRecordPage(params)
if (code == 200) {
@@ -167,9 +172,7 @@
* @desc api鍒犻櫎
*/
async delMandate(id) {
- const formData = new FormData()
- formData.append('id', id)
- const { code, data } = await deletePersonPostAuthorizationRecord(formData)
+ const { code, data } = await deletePersonPostAuthorizationRecord({ id })
if (code == 200) {
this.$message({ message: '鍒犻櫎鎴愬姛', type: 'success' })
this.getTableData()
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelCapacity/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelCapacity/index.vue
index 49dd10d..347cc33 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelCapacity/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelCapacity/index.vue
@@ -294,7 +294,14 @@
}, {
label: '纭浜�',
prop: 'confirmOperatingPersonnelId',
- minWidth: '100'
+ minWidth: '100',
+ dataType: "tag",
+ formatData: (params) => {
+ let obj = this.responsibleOptions.find(m => m.id == params)
+ if (obj) {
+ return obj.name
+ }
+ },
}, {
label: '纭鏃ユ湡',
prop: 'confirmDate',
@@ -383,6 +390,7 @@
};
},
mounted() {
+ this.getUserList();
this.getList(this.departId);
},
methods: {
@@ -446,7 +454,6 @@
this.form = {
jobResponsibilitiesTem: []
}
- this.getUserList();
this.getResponsibilities();
},
@@ -461,7 +468,6 @@
} else {
this.$set(this.form, 'jobResponsibilitiesTem', [])
}
- this.getUserList();
this.getResponsibilities();
},
submitForm() {
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelTraining/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelTraining/index.vue
index add2c39..728e737 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelTraining/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/PersonnelTraining/index.vue
@@ -849,7 +849,7 @@
handleClaimFun(claimAndClaim, rowId) {
claimOfTrainingAndAssessmentRecords({
claimAndClaim,
- rowId
+ courseId: rowId
}).then((res) => {
this.getInDetailPlan(this.currentChangeRow.id);
});
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/index.vue
index cc43a63..5725459 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/index.vue
@@ -100,8 +100,8 @@
},
yearTableData: [], // 骞磋〃
yearPage: {
- curent: 1,
- pageSize: 20,
+ current: 1,
+ size: 20,
total: 0
},
yearColumnData: [
@@ -199,8 +199,8 @@
},
yearDetailTableData: [], // 骞存槑缁嗚〃
yearDeatilPage: {
- curent: 1,
- pageSize: 20,
+ current: 1,
+ size: 20,
total: 0
},
yearDetailColumnData: [
@@ -298,8 +298,8 @@
async getYearPlanList() {
this.yearLoading = true
const { code, data } = await yearPlanList({
- current: this.yearPage.curent,
- size: this.yearPage.pageSize,
+ current: this.yearPage.current,
+ size: this.yearPage.size,
organizationPerson: this.yearForm.organizationPerson,
departId: this.departId
})
@@ -357,8 +357,8 @@
this.yearDetailLoading = true
const { code, data } = await yearPlanDetailList({
planId: this.planId,
- current: this.yearDeatilPage.curent,
- size: this.yearDeatilPage.pageSize,
+ current: this.yearDeatilPage.current,
+ size: this.yearDeatilPage.size,
date: this.yearDetailForm.date,
project: this.yearDetailForm.project
})
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/Add.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/Add.vue
index 0919282..1a2f8f8 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/Add.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/Add.vue
@@ -190,7 +190,7 @@
if (step == 1) {
let result = this.mainForm.superviseForm
result.currentState = this.active + 1
- result.technicalDirectorDate = dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss')
+ result.technicalDirectorDate = dateFormat(new Date())
return result
}
if (step == 2) {
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue
index 325cf70..de58664 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue
@@ -110,7 +110,7 @@
}
},
mounted() {
- this.isPermission = isPermission("isSubmit")
+ // this.isPermission = isPermission("isSubmit")
console.log('鏉冮檺', this.isPermission);
},
methods: {
@@ -160,7 +160,7 @@
*/
async getControlData(id) {
const { code, data } = await personSupervisionControlSheetPage({ id })
- if (code == 202) {
+ if (!data) {
this.controlType = '鏂板'
this.supervisionRecordId = id
this.active = 0
@@ -168,7 +168,7 @@
this.controlId = undefined
this.initForm()
}
- if (code == 200) {
+ if (data && code == 200) {
this.currentResponsible = data.currentResponsible
this.controlType = '缂栬緫'
this.controlId = data.id
@@ -207,6 +207,7 @@
} else if (type == 'save') {
currentState = undefined
}
+
if (this.active == 0) {
let { discoveryApproach, ...condiFormRest } = this.mainForm.condiForm
let approcahStr = discoveryApproach.join(',')
@@ -266,10 +267,10 @@
* @desc 鎻愪氦琛ㄥ崟
*/
async submitForm(form) {
- let user = JSON.parse(localStorage.getItem('user'));
+
form.responsibleDepartmentId = Number(form.responsibleDepartmentId)
const { code } = await addOrUpdatePersonSupervisionControl({
- currentResponsible: user.name,
+ currentResponsible: this.$store.state.user.name,
...form
})
if (this.controlType == '鏂板') {
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue
index 7dad14c..c806da4 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue
@@ -94,7 +94,7 @@
}
},
mounted() {
- this.isPermission = isPermission("isSubmit")
+ // this.isPermission = isPermission("isSubmit")
console.log('鏉冮檺', this.isPermission);
},
methods: {
@@ -118,14 +118,14 @@
*/
async getProcessData(id) {
const { code, data } = await personSupervisionProcessingPage({ id })
- if (code == 202) {
+ if (!data) {
this.controlType = '鏂板'
this.supervisionRecordId = id
this.active = 0
this.pageStatus = 0
this.processId = undefined
}
- if (code == 200) {
+ if (data && code == 200) {
this.currentResponsible = data.currentResponsible
this.controlType = '缂栬緫'
this.supervisionRecordId = id
@@ -162,7 +162,7 @@
console.log('绗�1姝�', this.active, currentState)
let { factForm } = this.mainForm
this.submitForm({
- proposingDepartmentDate: dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss'),
+ proposingDepartmentDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
currentState: currentState,
...factForm
})
@@ -171,7 +171,7 @@
console.log('绗�2姝�', this.active, currentState)
let { reasonForm } = this.mainForm
this.submitForm({
- causeAnalysisDate: dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss'),
+ causeAnalysisDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
currentState: currentState,
...reasonForm
})
@@ -181,7 +181,7 @@
let { measureForm } = this.mainForm
let { requestDepartmentConfirmation, ...measureFormRest } = measureForm
this.submitForm({
- correctiveActionDate: dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss'),
+ correctiveActionDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
currentState: currentState,
requestDepartmentConfirmation: requestDepartmentConfirmation ? 1 : 2,
...measureFormRest
@@ -191,7 +191,7 @@
console.log('绗�4姝�', this.active, currentState)
let { resultForm } = this.mainForm
this.submitForm({
- verificationDepartmentDate: dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss'),
+ verificationDepartmentDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
currentState: currentState,
...resultForm
})
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/index.vue
index 413d1a2..c34c01c 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/index.vue
@@ -17,7 +17,7 @@
</template>
<template v-slot:table>
<limsTable :column="superviseColumnData" :handleSelectionChange="handleSelectionChange"
- :height="'calc(100vh - 19em)'" :isSelection="true" :table-data="superviseTableData"
+ :height="'calc(100vh - 20em)'" :isSelection="true" :table-data="superviseTableData"
:table-loading="superviseLoading" rowKey="id" style="margin-top: 18px; padding: 0 15px;"
:page="page" @pagination="pagination">
<div slot="action" slot-scope="scope">
@@ -95,7 +95,7 @@
loading: false,
page: {
current: 1,
- pageSize: 20,
+ size: 20,
total: 0
},
// 鐩戠潱璁板綍
@@ -245,7 +245,7 @@
},
pagination({ page, limit }) {
this.page.current = page;
- this.page.pageSize = limit;
+ this.page.size = limit;
this.getTableData();
},
// 鑾峰彇鐩戠潱璁板綍
@@ -255,7 +255,7 @@
departLimsId: this.isDepartment ? this.departId : null,
userId: this.isDepartment ? null : this.departId,
current: this.page.current,
- size: this.page.pageSize
+ size: this.page.size
})
if (code == 200) {
this.superviseTableData = data.records
@@ -325,10 +325,10 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
})
- .then(() => {
+ .then(async () => {
console.log(this.multipleSelection)
- let ids = this.multipleSelection.map((item) => item.id)
- const code = this.delTableData(ids)
+ let ids = this.multipleSelection.map((item) => item.id).join(',')
+ const code = await this.delTableData(ids)
this.$message({
type: code == 200 ? 'success' : 'error',
message: code == 200 ? '鍒犻櫎鎴愬姛锛�' : '鍒犻櫎澶辫触锛�'
@@ -338,11 +338,7 @@
},
// 鍒犻櫎api
async delTableData(ids) {
- const { code } = await this.$axios({
- method: 'delete',
- url: deletePersonSupervisionRecord,
- data: ids
- })
+ const { code } = await deletePersonSupervisionRecord({ ids })
return code
},
// 琛岃儗鏅壊
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/TrainingRecord/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/TrainingRecord/index.vue
index 4f228e4..b7eb0bf 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/TrainingRecord/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/TrainingRecord/index.vue
@@ -16,7 +16,7 @@
</div>
</template>
<template v-slot:table>
- <limsTable :column="trainingColumn" :currentChange="currentChange" :height="'calc(100vh - 18em)'"
+ <limsTable :column="trainingColumn" :currentChange="currentChange" :height="'calc(100vh - 20em)'"
:highlightCurrentRow="true" :table-data="trainingTableData" :table-loading="trainingLoading"
style="padding: 0 15px;" :page="trainingPagination" @pagination="trainingPaginationMethod">
</limsTable>
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/rewardPunishmentRecord/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/rewardPunishmentRecord/index.vue
index a9e1122..47c8291 100644
--- a/src/views/CNAS/personnel/personnelInfo/Department/components/rewardPunishmentRecord/index.vue
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/rewardPunishmentRecord/index.vue
@@ -108,7 +108,9 @@
import {
deleteRewardPunishment,
addOrUpdateRewardPunishment,
- rewardPunishmentPage
+ rewardPunishmentPage,
+ selectUserList,
+ rewardPunishmentExport
} from '@/api/cnas/personnel/personnelInfo.js'
export default {
props: {
@@ -212,56 +214,23 @@
},
handleDown() {
this.outLoading = true
- this.$axios.post(this.$api.deviceCheck.rewardPunishmentExport, {
+ rewardPunishmentExport({
userId: this.isDepartment ? '' : this.departId,
departmentId: this.isDepartment ? this.departId : '',
userName: this.search.userName,
startTime: this.search.searchTimeList && this.search.searchTimeList[0],
endTime: this.search.searchTimeList && this.search.searchTimeList[1]
- }, { responseType: 'blob' }).then(res => {
+ }).then(res => {
this.outLoading = false
const blob = new Blob([res], {
type: 'application/force-download'
})
- //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
- let reader = new FileReader();
- reader.readAsText(blob, 'utf-8');
- reader.onload = () => {
- try {
- let result = JSON.parse(reader.result);
- if (result.message) {
- this.$message.error(result.message);
- } else {
- // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
- const elink = document.createElement('a')
- elink.download = decodeURI('濂栨儵璁板綍' + '.xlsx')
- elink.style.display = 'none'
- elink.href = URL.createObjectURL(blob)
- document.body.appendChild(elink)
- elink.click();
- URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
- document.body.removeChild(elink)
- this.$message.success('瀵煎嚭鎴愬姛')
- }
- } catch (err) {
- console.log(err);
- // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
- const elink = document.createElement('a')
- elink.download = decodeURI('濂栨儵璁板綍' + '.xlsx')
- elink.style.display = 'none'
- elink.href = URL.createObjectURL(blob)
- document.body.appendChild(elink)
- elink.click();
- URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
- document.body.removeChild(elink)
- this.$message.success('瀵煎嚭鎴愬姛')
- }
- }
+ this.$download.saveAs(blob, '濂栨儵璁板綍' + '.xlsx')
})
},
// 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
getUserList() {
- this.$axios.get(this.$api.deviceScope.selectUserList).then(res => {
+ selectUserList().then(res => {
if (res.code == 200) {
this.responsibleOptions = res.data
}
diff --git a/src/views/CNAS/resourceDemand/device/component/borrow.vue b/src/views/CNAS/resourceDemand/device/component/borrow.vue
index fd18aba..3f229d5 100644
--- a/src/views/CNAS/resourceDemand/device/component/borrow.vue
+++ b/src/views/CNAS/resourceDemand/device/component/borrow.vue
@@ -58,7 +58,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍊熺敤浜鸿仈绯绘柟寮忥細" prop="borrowerContactInformation" label-width="150px">
- <el-input v-model="form.borrowerContactInformation" size="small"></el-input>
+ <el-input v-model="form.borrowerContactInformation" :disabled="currentStep > 0" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -341,7 +341,7 @@
// 鐩戝惉鐐瑰嚮el-tree鐨勬暟鎹紝杩涜鏁版嵁鍒锋柊
clickNodeVal(newVal) {
if (newVal.value) {
- thisqueryParams.deviceId = this.clickNodeVal.value
+ this.queryParams.deviceId = this.clickNodeVal.value
this.refreshTable()
}
},
diff --git a/src/views/CNAS/resourceDemand/device/component/fault.vue b/src/views/CNAS/resourceDemand/device/component/fault.vue
index c509165..b50dc6a 100644
--- a/src/views/CNAS/resourceDemand/device/component/fault.vue
+++ b/src/views/CNAS/resourceDemand/device/component/fault.vue
@@ -525,7 +525,7 @@
exportRewardAndPunishmentRecords({deviceId: this.clickNodeVal.value}).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$dowmload.saveAs(blob, '璁惧鏁呴殰琛�.xlsx')
+ this.$download.saveAs(blob, '璁惧鏁呴殰琛�.xlsx')
})
},
selectAllByOne(row) {
diff --git a/src/views/CNAS/resourceDemand/device/component/maintenance.vue b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
index c875750..243614f 100644
--- a/src/views/CNAS/resourceDemand/device/component/maintenance.vue
+++ b/src/views/CNAS/resourceDemand/device/component/maintenance.vue
@@ -68,12 +68,14 @@
<el-col :span="24">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶ゅ唴瀹�', trigger: 'blur' }]" label="缁存姢鍐呭:"
prop="content">
- <el-input v-model="formData.content" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
+ <el-input v-model="formData.content" :disabled="!this.editMode" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇烽�夋嫨缁存姢鏃堕棿', trigger: 'blur' }]" label="缁存姢鏃堕棿:" prop="date">
- <el-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
+ <el-date-picker v-model="formData.date" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ :disabled="!this.editMode"
style="width:100%" type="date" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
@@ -92,6 +94,7 @@
prop="nextDate">
<el-date-picker
v-model="formData.nextDate"
+ :disabled="!this.editMode"
:picker-options="{ disabledDate: this.disabledDate }"
format="yyyy-MM-dd"
placeholder="閫夋嫨鏃ユ湡" size="small"
@@ -103,12 +106,12 @@
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ョ淮鎶や汉', trigger: 'blur' }]" label="缁存姢浜�:" prop="name">
- <el-input v-model="formData.name" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
+ <el-input v-model="formData.name" clearable placeholder="璇疯緭鍏�" :disabled="!this.editMode" size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="澶囨敞:">
- <el-input v-model="formData.comments" placeholder="璇疯緭鍏�" size="small" type="textarea"></el-input>
+ <el-input v-model="formData.comments" placeholder="璇疯緭鍏�" :disabled="!this.editMode" size="small" type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -123,12 +126,12 @@
<script>
import {
- exportMaintenanceRecord,
- deleteDeviceMaintenance,
- selectDeviceByCode,
- addDeviceMaintenance,
- getDeviceMaintenancePage, deviceMaintenanceExport,
-} from '@/api/cnas/resourceDemand/device.js'
+ addMaintain,
+ deleteMaintain,
+ deviceMaintenanceExport, getDeviceMaintenancePage,
+ selectDeviceByCode
+} from "@/api/cnas/resourceDemand/device";
+
export default {
props: {
clickNodeVal: {
@@ -160,13 +163,22 @@
},
methods: {
//涓嬫缁存姢鏃ユ湡:绂佺敤鍦ㄧ淮鎶ゆ棩鏈熷墠鐨勬棩鏈�
- disabledDate(time) {
+ disabledDate(time){
let selectDate = this.formData.date
- if (selectDate) {
+ if(selectDate){
let oldDate = new Date(selectDate)
return time <= oldDate.getTime()
}
return false
+ },
+ //瀵煎嚭
+ handleDown() {
+ this.outLoading = true
+ deviceMaintenanceExport({deviceId: this.clickNodeVal.value}).then(res => {
+ this.outLoading = false
+ const blob = new Blob([res], { type: 'application/octet-stream' });
+ this.$download.saveAs(blob, '璁惧缁存姢.xlsx')
+ })
},
handleSizeChange(val) {
this.search.size = val
@@ -182,15 +194,6 @@
this.dialogVisible = true;
this.formData = row;
},
- // 瀵煎嚭
- handleDownOne() {
- this.outLoading = true
- deviceMaintenanceExport({ deviceId: this.clickNodeVal.value }).then(res => {
- this.outLoading = false
- const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧缁存姢.xlsx')
- })
- },
//鎿嶄綔璇︽儏鍒犻櫎
handleDeleteClick(index, row) {
this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
@@ -198,8 +201,8 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- deleteDeviceMaintenance({ id: row.id }).then(res => {
- this.getAllMessage(this.clickNodeVal.value)
+ deleteMaintain({id: row.id}).then(res => {
+ this.MaintainParam.splice(index, 1);
this.$message({
type: 'success',
message: '鍒犻櫎鎴愬姛!'
@@ -214,7 +217,7 @@
},
//鐐瑰嚮鍚庡彲缂栬緫
add() {
- selectDeviceByCode({ id: this.clickNodeVal.value }).then(res => {
+ selectDeviceByCode({id: this.clickNodeVal.value}).then(res => {
this.formData.deviceName = res.data.deviceName
this.formData.managementNumber = res.data.managementNumber
this.$nextTick(() => {
@@ -228,15 +231,15 @@
this.$refs['form'].validate((valid) => {
if (valid) {
this.formData.deviceId = this.clickNodeVal.value;
- addDeviceMaintenance(this.formData).then(res => {
+ addMaintain(this.formData).then(res => {
if (res.code == 200) {
this.$message.success('娣诲姞鎴愬姛');
- this.getAllMessage(this.clickNodeVal.value)
+ // this.MaintainParam.push(this.formData)
this.dialogVisible = false;
this.formData = {}; //娓呯┖琛ㄥ崟
+ this.getAllMessage(this.clickNodeVal.value)
}
})
- // this.MaintainParam.push(this.formData)
}
})
},
@@ -251,10 +254,13 @@
},
//鑾峰彇琛ㄥ崟璁惧缁存姢淇℃伅
getAllMessage(deviceId) {
- getDeviceMaintenancePage({
- deviceId,
- ...this.search
- }).then(res => {
+ const params = {
+ deviceId: deviceId,
+ size: this.search.size,
+ current: this.search.current,
+ deviceNumber: this.search.deviceNumber,
+ }
+ getDeviceMaintenancePage(params).then(res => {
if (res.code == 200) {
this.MaintainParam = res.data.records
this.search.total = res.data.total
@@ -303,10 +309,10 @@
.search {
background-color: #fff;
+ height: 40px;
display: flex;
align-items: center;
position: relative;
- margin-top: 10px;
}
.search_thing {
@@ -339,7 +345,4 @@
transform: translate(0, -50%);
}
-.form .search_label {
- width: 120px;
-}
</style>
diff --git a/src/views/CNAS/resourceDemand/device/component/record.vue b/src/views/CNAS/resourceDemand/device/component/record.vue
index d4eec0c..6e05311 100644
--- a/src/views/CNAS/resourceDemand/device/component/record.vue
+++ b/src/views/CNAS/resourceDemand/device/component/record.vue
@@ -112,7 +112,7 @@
type="textarea"></el-input>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="24">
<el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄦ棩鏈�', trigger: 'blur' }]" label="浣跨敤鏃ユ湡:"
prop="useDateList">
@@ -125,24 +125,13 @@
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡">
</el-date-picker>
- <!-- <el-date-picker
- v-model="form.useDateList" :disabled="isShow" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd HH:mm:ss"
- size="small"
- start-placeholder="寮�濮嬫棩鏈�"
- style="width:100%"
- type="datetimerange"
- value-format="yyyy-MM-dd HH:mm:ss">
- </el-date-picker> -->
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉', trigger: 'change' }]" label="浣跨敤浜�:"
+ <el-form-item :rules="[{ required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉', trigger: 'blur' }]"
+ label="浣跨敤浜�:"
prop="usePerson">
<el-input v-model="form.usePerson" :disabled="isShow" size="small" style="width:100%"></el-input>
- <!-- <el-select v-model="form.usePerson" placeholder="璇烽�夋嫨" :disabled="isShow" size="small" style="width:100%">
- <el-option v-for="item in responsiblePersonList" :key="item.name" :label="item.name" :value="item.id">
- </el-option>
- </el-select> -->
</el-form-item>
</el-col>
<el-col :span="24">
@@ -162,11 +151,9 @@
<script>
import {
deviceRecordPage,
- exportUseRecord,
selectDeviceByCode,
saveDeviceRecord,
- updateDeviceRecord,
- deleteDeviceRecord,
+ deleteDeviceRecord, deviceRecordExport,
} from '@/api/cnas/resourceDemand/device.js'
import { selectUserCondition } from "@/api/system/user";
export default {
@@ -224,7 +211,6 @@
remark: '',
},
dialogVisible: false,
- operationType: '',
formParamList: [],
}
},
@@ -264,25 +250,20 @@
}
})
},
- // 鎵撳紑瀵煎嚭寮规閫夋嫨缂栧埗浜恒�佹壒鍑嗕汉
- openHandleOut() {
- this.ratifyDialog = true
- },
//瀵煎嚭
handleDown() {
this.outLoading = true
- exportUseRecord({
+ deviceRecordExport({
deviceId: this.clickNodeVal.value,
exportDate: this.exportDate
}).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧浣跨敤璁板綍.doc')
+ this.$download.saveAs(blob, '璁惧浣跨敤璁板綍.xlsx')
})
},
//鏂板缓
openAdd() {
- this.operationType = 'add'
this.getUserList()
selectDeviceByCode({ id: this.clickNodeVal.value }).then(res => {
this.form.deviceName = res.data.deviceName
@@ -292,12 +273,6 @@
})
});
},
- usePersonName(value) {
- const index = this.userList.findIndex(item => item.id === value)
- if (index > -1) {
- this.form.usePerson = this.userList[index].name
- }
- },
//纭娣诲姞璁板綍
saveRecord() {
this.$refs.form.validate((valid) => {
@@ -305,33 +280,22 @@
this.form.useStartDate = this.form.useDateList[0]
this.form.useEndDate = this.form.useDateList[1]
this.form.deviceId = this.clickNodeVal.value
- if (this.operationType === 'add') {
- saveDeviceRecord(this.form).then(res => {
- if (res.code == 200) {
- this.$message.success('鏂板鎴愬姛')
- this.getTableList(this.clickNodeVal.value)
- this.dialogVisible = false
- }
- })
- this.dialogVisible = false;
- } else {
- updateDeviceRecord(this.form).then(res => {
- if (res.code == 200) {
- this.$message.success('淇敼鎴愬姛')
- this.getTableList(this.clickNodeVal.value)
- this.dialogVisible = false
- }
- })
- this.dialogVisible = false;
- }
+ saveDeviceRecord(this.form).then(res => {
+ if (res.code == 200) {
+ this.$message.success('鏂板鎴愬姛')
+ this.getTableList(this.clickNodeVal.value)
+ this.dialogVisible = false
+ }
+ })
+ this.dialogVisible = false;
}
});
},
//鏌ョ湅璇︽儏
- showDetailsDialog(type, row) {
- this.operationType = type;
+ showDetailsDialog(row) {
console.log(row)
this.dialogVisible = true;
+ this.isShow = true;
this.getUserList()
this.form = row;
let list = []
@@ -459,7 +423,7 @@
}
.search_label {
- width: 140px;
+ width: 74px;
font-size: 14px;
text-align: right;
margin-right: 10px;
diff --git a/src/views/CNAS/resourceDemand/device/component/state.vue b/src/views/CNAS/resourceDemand/device/component/state.vue
index e7467ce..6099084 100644
--- a/src/views/CNAS/resourceDemand/device/component/state.vue
+++ b/src/views/CNAS/resourceDemand/device/component/state.vue
@@ -43,10 +43,9 @@
<el-table-column label="褰撳墠鐘舵��" min-width="130" prop="currentState"></el-table-column>
<el-table-column label="褰撳墠璐d换浜�" min-width="180" prop="currentResponsible"></el-table-column>
<!-- 鎿嶄綔鎸夐挳 -->
- <el-table-column fixed="right" label="鎿嶄綔" min-width="150">
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="120" align="center">
<template #default="{ row }">
<el-button size="small" type="text" @click="handleViewClick(row)">鏌ョ湅</el-button>
- <el-button size="small" type="text" @click="handleDownOne(row)">瀵煎嚭</el-button>
<el-button size="small" type="text" @click="handleDeleteClick(row)">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -240,7 +239,6 @@
import {
saveDeviceState,
selectDeviceByCode,
- exportDeviceStatus,
deleteDeviceState,
deviceStateExport,
getDeviceStatePage,
@@ -422,15 +420,6 @@
this.$refs['form'].clearValidate()
})
this.dialogVisible = true
- },
- // 瀵煎嚭
- handleDownOne(row) {
- this.outLoading = true
- exportDeviceStatus({ deviceId: row.deviceId, processNumber: row.processNumber }).then(res => {
- this.outLoading = false
- const blob = new Blob([res], { type: 'application/octet-stream' });
- this.$download.saveAs(blob, '璁惧鍋�/鍚敤.doc')
- })
},
// 鍒犻櫎
handleDeleteClick(row) {
diff --git a/src/views/business/inspectionOrder/add.vue b/src/views/business/inspectionOrder/add.vue
index ade64a8..c46e5fa 100644
--- a/src/views/business/inspectionOrder/add.vue
+++ b/src/views/business/inspectionOrder/add.vue
@@ -1,9 +1,6 @@
<template>
<div class="bg-1">
- <div
- v-show="!configShow && !equipConfigShow && !cableConfigShow"
- style="margin: 5px 15px"
- >
+ <div style="margin: 5px 15px" v-show="!configShow && !equipConfigShow">
<el-row class="title">
<el-col :span="6"
>濮旀墭鍗曚俊鎭� 鎬讳环锛�<span style="color: #3a7bfa"
@@ -80,17 +77,14 @@
v-show="active == 3 && addObj.companyId"
>閫氳繃</el-button
>
- <el-button size="medium" @click="$router.go(-1)">
+ <el-button size="medium" @click="goBack">
<span style="color: #3a7bfa">杩斿洖</span>
</el-button>
</el-col>
</el-row>
</div>
- <basic-container>
- <div
- class="search"
- v-show="!configShow && !equipConfigShow && !cableConfigShow"
- >
+ <basic-container v-show="!configShow && !equipConfigShow">
+ <div class="search">
<el-form
:model="addObj"
:rules="formRule"
@@ -395,7 +389,7 @@
</basic-container>
<div
class="search"
- v-if="active == 1"
+ v-if="active == 1 && !configShow && !equipConfigShow"
style="display: flex; background: transparent"
>
<div style="display: flex; align-items: center">
@@ -443,7 +437,7 @@
</div>
</div>
</div>
- <basic-container>
+ <basic-container v-show="!configShow && !equipConfigShow">
<div style="height: auto">
<el-table
class="el-table sampleTable"
@@ -909,104 +903,103 @@
<el-dialog
title="妫�楠屼笅鍙�"
:visible.sync="issuedDialogVisible"
- width="400px"
+ width="450px"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
>
<div class="body" style="max-height: 60vh">
- <el-row>
- <el-col class="search_thing" :span="22">
- <div class="search_label">
- <span class="required-span">* </span>绾﹀畾鏃堕棿锛�
- </div>
- <div class="search_input">
- <el-date-picker
- size="small"
- v-model="distributeData.appointed"
- :picker-options="pickerOptions"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- value-format="yyyy-MM-dd"
- style="width: 100%"
- format="yyyy-MM-dd"
- >
- </el-date-picker>
- </div>
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>绾﹀畾鏃堕棿锛�</div>
</el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label">
+ <el-col :span="16">
+ <el-date-picker
+ size="small"
+ v-model="distributeData.appointed"
+ :picker-options="{ disabledDate: this.disabledDate }"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd"
+ style="width: 100%"
+ format="yyyy-MM-dd"
+ >
+ </el-date-picker>
+ </el-col>
+ </el-row>
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div>
<span class="required-span" v-if="addObj.type == 2">* </span
>鎸囨淳浜哄憳锛�
</div>
- <div class="search_input">
- <el-select
- multiple
- v-model="distributeData.userId"
- placeholder="璇烽�夋嫨"
- size="small"
- filterable
- style="width: 100%"
- @change="changeUser"
- >
- <el-option-group
- v-for="(item, index) in Object.keys(personList)"
- :key="index"
- :label="item"
- >
- <el-option
- v-for="op in personList[item]"
- :key="op.id"
- :label="op.name"
- :value="op.id"
- >
- </el-option>
- </el-option-group>
- </el-select>
- </div>
</el-col>
- <el-col
- class="search_thing"
- :span="22"
- v-if="distributeData.userId.length > 0"
- >
- <div class="search_label">
- <span class="required-span">* </span>璇曢獙瀹わ細
- </div>
- <div class="search_input">
- <el-select
- v-model="distributeData.sonLaboratory"
- placeholder="璇烽�夋嫨"
- size="small"
- filterable
- style="width: 100%"
+ <el-col :span="16">
+ <el-select
+ multiple
+ v-model="distributeData.userId"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ @change="changeUser"
+ >
+ <el-option-group
+ v-for="(item, index) in Object.keys(personList)"
+ :key="index"
+ :label="item"
>
<el-option
- v-for="item in sonLaboratoryList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
>
</el-option>
- </el-select>
- </div>
+ </el-option-group>
+ </el-select>
</el-col>
- <el-col class="search_thing" :span="22">
- <div class="search_label">
- <span class="required-span">* </span>鍒涘缓濮旀墭鍗曪細
- </div>
- <div class="search_input">
- <el-select
- v-model="distributeData.isCreate"
- placeholder="璇烽�夋嫨"
- size="small"
- filterable
- style="width: 100%"
+ </el-row>
+ <el-row
+ v-if="distributeData.userId.length > 0"
+ style="margin-bottom: 20px"
+ >
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>璇曢獙瀹わ細</div>
+ </el-col>
+ <el-col :span="16">
+ <el-select
+ v-model="distributeData.sonLaboratory"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in sonLaboratoryList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
>
- <el-option label="鏄�" :value="true"></el-option>
- <el-option label="鍚�" :value="false"></el-option>
- </el-select>
- </div>
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-row>
+ <el-row style="margin-bottom: 20px">
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>鍒涘缓濮旀墭鍗曪細</div>
+ </el-col>
+ <el-col :span="16">
+ <el-select
+ v-model="distributeData.isCreate"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ filterable
+ style="width: 100%"
+ >
+ <el-option label="鏄�" :value="true"></el-option>
+ <el-option label="鍚�" :value="false"></el-option>
+ </el-select>
</el-col>
</el-row>
</div>
@@ -1022,17 +1015,15 @@
<el-dialog title="涓嶉�氳繃鍘熷洜" :visible.sync="noDialogVisible" width="400px">
<div class="body" style="max-height: 60vh">
<el-row>
- <el-col class="search_thing" :span="22">
- <div class="search_label">
- <span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�
- </div>
- <div class="search_input">
- <el-input
- v-model="tell"
- size="small"
- placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"
- ></el-input>
- </div>
+ <el-col :span="8" style="text-align: right">
+ <div><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div>
+ </el-col>
+ <el-col :span="16">
+ <el-input
+ v-model="tell"
+ size="small"
+ placeholder="璇疯緭鍏ヤ笉閫氳繃鍘熷洜"
+ ></el-input>
</el-col>
</el-row>
</div>
@@ -1055,7 +1046,7 @@
:active="active"
:inspectionItemST="inspectionItemST"
/>
- <fiberOpticConfigTwo
+ <fiberOpticConfigReadOnly
:currentId="currentId"
v-if="configShow && examine == 1"
:active="active"
@@ -1065,7 +1056,6 @@
v-if="equipConfigShow"
:active="active"
/>
- <cableConfig v-if="cableConfigShow" :active="active" />
<!-- 鍗曢�夌壒娈婂�煎鐞嗘-->
<el-dialog
title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
@@ -1572,7 +1562,6 @@
import fiberOpticConfig from "./fiberoptic-config.vue";
import fiberOpticConfigReadOnly from "./fiberoptic-config-readonly.vue";
import equipConfig from "./equip-config.vue";
-import cableConfig from "./cable-config.vue";
import getLodop from "@/utils/lodop";
import { bigEval } from "@/utils/bigEval";
import { getDicts } from "@/api/system/dict/data";
@@ -1581,7 +1570,6 @@
fiberOpticConfig,
fiberOpticConfigReadOnly,
equipConfig,
- cableConfig,
},
computed: {
...mapGetters(["nickName", "loginUserInfo"]),
@@ -1593,14 +1581,6 @@
examine: 0,
active: 0,
currentId: 0,
- pickerOptions: {
- disabledDate(time) {
- // 褰撳墠鏃堕棿鍔犱笂涓夊ぉ鐨勬椂闂存埑
- const threeDaysLater = Date.now() + 24 * 60 * 60 * 1000;
- // 绂佺敤涓夊ぉ鍚庝箣鍓嶇殑鎵�鏈夋棩鏈�
- return time.getTime() < threeDaysLater;
- },
- },
fiberLoss: [],
qrDataList: [],
isFocus: false,
@@ -1769,7 +1749,6 @@
bsm1Dia: false,
bsm1DiaAll: false,
equipConfigShow: false,
- cableConfigShow: false,
bsm2: false,
bsm2Val: null,
bsm2Dia: false,
@@ -1887,7 +1866,7 @@
},
},
created() {
- this.active = this.$route.query.active;
+ this.active = Number(this.$route.query.active);
this.currentId = this.$route.query.currentId;
this.examine = this.$route.query.examine;
this.isReview = this.$route.query.isReview;
@@ -1934,6 +1913,21 @@
}
},
methods: {
+ goBack() {
+ let path = this.$route.query.isPlan
+ ? "/business/inspectionTask"
+ : "/business/inspectionOrder";
+ this.$router.push(path);
+ },
+ //涓嬫鏍告煡鏃ユ湡:绂佺敤鍦ㄦ牳鏌ユ棩鏈熷墠鐨勬棩鏈�
+ disabledDate(time) {
+ if (time) {
+ let now = new Date();
+ now.setHours(0, 0, 0, 0);
+ return time < now.getTime();
+ }
+ return false;
+ },
changeType(type) {
this.hasSendUrgentOrder(type)
.then((res) => {
@@ -3324,6 +3318,20 @@
b.id = null;
delete b.bsmRow;
});
+ if (a.bushing && a.bushing.length > 0) {
+ a.bushing.forEach((b) => {
+ b.fiber.forEach((c) => {
+ c.productList.forEach((d) => {
+ d.id = null;
+ });
+ });
+ b.fibers.forEach((c) => {
+ c.productList.forEach((d) => {
+ d.id = null;
+ });
+ });
+ });
+ }
});
this.editTable.forEach((item) => {
sampleList.forEach((a) => {
@@ -3358,7 +3366,7 @@
if (res.code === 200) {
this.$message.success("宸叉彁浜�");
this.bsm3Dia = false;
- this.$router.go(-1);
+ this.goBack();
}
this.saveLoad = false;
})
@@ -3369,7 +3377,6 @@
},
upInsOrderOfState(state) {
if (state == 1) {
- //this.saveLoad = true
this.issuedDialogVisible = true;
selectOrderManDay({
id: this.currentId,
@@ -3378,7 +3385,6 @@
if (res.code === 200) {
this.distributeData.orderId = this.currentId;
this.distributeData.appointed = res.data;
- console.log("绾﹀畾鏃堕棿", this.distributeData.appointed);
}
})
.catch((error) => {
@@ -3530,7 +3536,7 @@
this.$message.success("鎻愪氦鎴愬姛");
this.issuedDialogVisible = false;
this.upLoad = false;
- this.$router.go(-1);
+ this.goBack();
//瀹℃牳閫氳繃鍚庯紝鑷姩鎵撳嵃浜岀淮鐮�
//TODO: 鐢靛姏璇曢獙瀹ゆ殏鏃朵笉鐢ㄦ爣绛炬墦鍗�
if (
@@ -3808,7 +3814,6 @@
val.forEach((a) => {
this.productIds.push(a.id);
});
- console.log("selectChange", this.sampleList);
},
rowClick(row, column, event) {
this.currentMethod = row;
@@ -4622,7 +4627,7 @@
this.tell = "";
this.$message.success("鎻愪氦鎴愬姛");
this.issuedDialogVisible = false;
- this.$router.go(-1);
+ this.goBack();
}
})
.catch((error) => {
@@ -4695,20 +4700,6 @@
return;
}
this.equipConfigShow = true;
- } else {
- if (this.sampleId === null) {
- this.$message.error("鏈�変腑鏍峰搧");
- return;
- }
- }
- },
- openCableConfig() {
- if (this.active === 1) {
- if (this.sampleIds.length === 0) {
- this.$message.error("鏈�夋嫨鏍峰搧");
- return;
- }
- this.cableConfigShow = true;
} else {
if (this.sampleId === null) {
this.$message.error("鏈�変腑鏍峰搧");
diff --git a/src/views/business/inspectionOrder/cable-config.vue b/src/views/business/inspectionOrder/cable-config.vue
deleted file mode 100644
index 575fc95..0000000
--- a/src/views/business/inspectionOrder/cable-config.vue
+++ /dev/null
@@ -1,311 +0,0 @@
-<template>
- <div class="ins_order_config">
- <div>
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">鐢电紗閰嶇疆</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
- </el-button>
- <el-button size="medium" type="primary" @click="save">淇� 瀛�</el-button>
- </el-col>
- </el-row>
- </div>
- <div class="search">
- <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;" @input="changeTab">
- <el-radio-button label="缁濈紭">缁� 缂�</el-radio-button>
- <el-radio-button label="鎶ゅ">鎶� 濂�</el-radio-button>
- </el-radio-group>
- <div class="search_thing" v-if="currentTab=='缁濈紭'">
- <div class="search_label">鑺暟锛�</div>
- <el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="insulating.num"></el-input>
- </div>
- <div class="search_thing" v-if="currentTab=='缁濈紭'">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="insulating.standardMethodListId" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
- @change="(value)=>methodChange(value)">
- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div>
- <div class="search_thing" v-if="currentTab=='鎶ゅ'">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="sheath.standardMethodListId" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
- @change="(value)=>methodChange(value)">
- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div>
- </div>
- <div class="table">
- <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border
- @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" @select-all="handleAll">
- <el-table-column type="selection" width="65" :selectable="selectable"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
- </el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
- <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
- <template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
- <span v-else>{{ scope.row.ask }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
-</template>
-
-<script>
-import { Tree } from 'element-ui'
-export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
- },
- data(vm) {
- return {
- standardList:[],
- vaule0:'',
- currentTab:'缁濈紭',
- upIndex:0,
- productList: [],
- productIds: [],
- sample: [],
- tree: '',
- standards: [],
- insulating: {
- standardMethodListId: null,
- insProduct: [],
- num: 1
- },
- sheath: {
- standardMethodListId: null,
- insProduct: []
- },
- isAskOnlyRead: false
- }
- },
- mounted() {
- this.$parent.sampleIds.forEach(a => {
- for (var i = 0; i < this.$parent.sampleList.length; i++) {
- if (this.$parent.sampleList[i].id == a) {
- this.sample.push(this.$parent.sampleList[i])
- if(this.$parent.sampleList[i].insulating !== undefined && this.$parent.sampleList[i].insulating !== null){
- this.insulating = this.$parent.sampleList[i].insulating
- }
- if(this.$parent.sampleList[i].sheath !== undefined && this.$parent.sampleList[i].sheath !== null){
- this.sheath = this.$parent.sampleList[i].sheath
- }
- break
- }
- }
- })
- let obj = this.$parent.addObj
- this.tree = obj.factory + ' - ' + obj.laboratory + ' - ' + obj.sampleType + ' - ' + obj.sample
- this.selectsStandardMethodByFLSSM2()
- this.productList = this.insulating.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- methods: {
- outConfig() {
- this.$parent.cableConfigShow = false
- },
- selectProduct(val) {
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- },
- handleAll(e) {
- if (e.length > 0) {
- this.productList.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- selectsStandardMethodByFLSSM2() {
- this.standards = []
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.tree
- }).then(res => {
- this.standards = res.data.standardMethodList
- })
- },
- methodChange(val) {
- if (val === null || val === '') return
- let standard = this.standards.find(a => a.id === val)
- if(standard!=null && standard.code==='濮旀墭瑕佹眰'){
- this.isAskOnlyRead = true
- }else{
- this.isAskOnlyRead = false
- }
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: this.$parent.addObj.model,
- standardMethodListId: val,
- factory: this.tree + ' - '
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- if(this.currentTab==='缁濈紭'){
- this.insulating.insProduct = res.data
- }else if(this.currentTab==='鎶ゅ'){
- this.sheath.insProduct = res.data
- }
- this.productList = res.data
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- })
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- save(){
- if(this.insulating.insProduct.length === 0 && this.sheath.insProduct.length === 0){
- this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- return
- }
- if(this.insulating.insProduct.length !== 0){
- if(this.insulating.num === null || this.insulating.num === '' || this.insulating.num <= 0){
- this.$message.error('缂哄皯鑺暟鏃犳硶淇濆瓨')
- return
- }
- }
- this.sample.forEach(a=>{
- a.insulating = this.insulating
- a.sheath = this.sheath
- })
- this.$message.success('宸蹭繚瀛�')
- },
- changeTab(val){
- if(val==='缁濈紭'){
- this.productList = this.insulating.insProduct
- }else if(val==='鎶ゅ'){
- this.productList = this.sheath.insProduct
- }
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- }
- }
-}
-</script>
-
-<style scoped>
-.ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
-
- .title {
- height: 60px;
- line-height: 60px;
- }
-
- .search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- }
-
- .search_thing {
- width: 300px;
- display: flex;
- align-items: center;
- }
-
- .search_label {
- width: 100px;
- font-size: 14px;
- text-align: right;
- }
-
- .search_input {
- width: calc(100% - 70px);
- }
- .table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 26px - 24px);
- padding: 20px;
- }
-</style>
-<style>
- .ins_order_config .has-gutter .el-table__cell .cell {
- line-height: 30px;
- background-color: #fafafa;
- }
-
- .ins_order_config .has-gutter .el-table__cell {
- background-color: #fafafa !important;
- }
-
- .ins_order_config .el-table__row .cell {
- font-size: 12px;
- }
-
- .ins_order_config .el-table .warning-row .cell {
- color: #bababa;
- }
-</style>
diff --git a/src/views/business/inspectionOrder/equip-config.vue b/src/views/business/inspectionOrder/equip-config.vue
index ddf3fbd..33f637c 100644
--- a/src/views/business/inspectionOrder/equip-config.vue
+++ b/src/views/business/inspectionOrder/equip-config.vue
@@ -2,54 +2,152 @@
<div class="ins_order_config">
<div>
<el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">瀛愭牱鍝侀厤缃�</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" type="primary" @click="addChild" v-if="active==1">娣诲姞瀛愭牱鍝�</el-button>
- <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button>
+ <el-col :span="6" style="padding-left: 20px; text-align: left"
+ >瀛愭牱鍝侀厤缃�</el-col
+ >
+ <el-col :span="18" style="text-align: right">
+ <el-button
+ size="medium"
+ type="primary"
+ @click="addChild"
+ v-if="active == 1"
+ >娣诲姞瀛愭牱鍝�</el-button
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ @click="save"
+ :loading="saveLoad"
+ v-if="active == 1"
+ >淇� 瀛�</el-button
+ >
<el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
+ <span style="color: #3a7bfa">杩� 鍥�</span>
</el-button>
</el-col>
</el-row>
</div>
<div class="center">
- <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
- border highlight-current-row @row-click="rowClick" @current-change="selectSample">
- <!-- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> -->
- <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
- <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
+ <el-table
+ class="el-table sampleTable"
+ ref="sampleTable"
+ :data="sampleList"
+ height="50%"
+ tooltip-effect="dark"
+ border
+ highlight-current-row
+ @row-click="rowClick"
+ @current-change="selectSample"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="65"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ prop="sample"
+ label="鏍峰搧鍚嶇О"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.sample"
+ clearable
+ :readonly="active > 1"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="140" align="center">
+ <el-table-column
+ prop="sampleCode"
+ label="鏍峰搧缂栧彿"
+ min-width="140"
+ align="center"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
- :readonly="active>1"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.sampleCode"
+ clearable
+ placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ :readonly="active > 1"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100">
+ <el-table-column
+ prop="model"
+ label="鏍峰搧鍨嬪彿"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧鍨嬪彿"
- size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
- <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
+ <el-select
+ v-model="scope.row.model"
+ filterable
+ allow-create
+ default-first-option
+ placeholder="鏍峰搧鍨嬪彿"
+ size="small"
+ @change="handleChangeModel"
+ :disabled="active > 1"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in models"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="modelNum" label="鍨嬪彿鍙傛暟" width="130" align="center" v-if="!(active>1)">
+ <el-table-column
+ prop="modelNum"
+ label="鍨嬪彿鍙傛暟"
+ width="130"
+ align="center"
+ v-if="!(active > 1)"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�"
- @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
- @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.modelNum"
+ clearable
+ placeholder="闈炲繀濉�"
+ @keyup.enter.native="
+ methodChange(scope.row.standardMethodListId, scope.row)
+ "
+ @clear="methodChange(scope.row.standardMethodListId, scope.row)"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
+ <el-table-column
+ prop="standardMethodListId"
+ label="妫�楠屾爣鍑�"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
- placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
- @focus="methodFocus" :readonly="active>1" style="width: 100%;">
- <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
+ <el-select
+ v-model="scope.row.standardMethodListId"
+ :disabled="scope.row.model == null || active > 1"
+ placeholder="妫�楠屾爣鍑�"
+ size="small"
+ :loading="methodLoad"
+ @change="(value) => methodChange(value, scope.row)"
+ @focus="methodFocus"
+ :readonly="active > 1"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in methods"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
</el-option>
</el-select>
</template>
@@ -58,59 +156,162 @@
</el-table-column>
<el-table-column label="鎿嶄綔" width="120">
<template slot-scope="scope">
- <el-button @click.native.prevent="deleteRow(scope.$index, sampleList)" type="text"
- size="small">鍒犻櫎</el-button>
+ <el-button
+ @click.native.prevent="deleteRow(scope.$index, sampleList)"
+ type="text"
+ size="small"
+ >鍒犻櫎</el-button
+ >
</template>
</el-table-column>
</el-table>
- <el-table class="el-table" ref="productTable" :data="productList" height="50%" tooltip-effect="dark" border
- @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
- <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
- :filter-method="filterHandler"></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
+ <el-table
+ class="el-table"
+ ref="productTable"
+ :data="productList"
+ height="50%"
+ tooltip-effect="dark"
+ border
+ @selection-change="selectProduct"
+ style="margin-bottom: 10px"
+ @select="upProductSelect"
+ :row-class-name="tableRowClassName"
+ v-loading="getProductLoad"
+ @select-all="handleAll"
+ >
+ <el-table-column
+ type="selection"
+ width="65"
+ :selectable="selectable"
+ v-if="active == 1"
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="140"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠岄」瀛愰」"
+ min-width="140"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="sonLaboratory"
+ label="瀛愬疄楠屽"
+ min-width="130"
+ show-overflow-tooltip
+ :filters="filters"
+ :filter-method="filterHandler"
+ ></el-table-column>
+ <el-table-column
+ prop="methodS"
+ label="璇曢獙鏂规硶"
+ min-width="120"
+ show-overflow-tooltip
+ >
</el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="unit"
+ label="璁¢噺鍗曚綅"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="price"
+ label="鍗曚环"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="section"
+ label="鍖洪棿"
+ min-width="120"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
<template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鍊�"
+ v-model="scope.row.ask"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ @change="(e) => requestChange(e, scope.row)"
+ v-if="active == 1 && isAskOnlyRead"
+ ></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
</el-table>
</div>
- <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px" @closed="addObj.sampleNum = 1">
- <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
- <el-row style="margin-bottom: 10px;">
+ <el-dialog
+ title="閫夋嫨瀛愭牱鍝�"
+ :visible.sync="selectStandardTree"
+ width="400px"
+ @closed="addObj.sampleNum = 1"
+ >
+ <div
+ class="body"
+ style="height: 60vh; overflow-y: auto; user-select: none"
+ v-if="selectStandardTree"
+ >
+ <el-row style="margin-bottom: 10px">
<el-col :span="24">
<label>鏍峰搧鏁伴噺锛�</label>
- <el-input-number v-model="addObj.sampleNum" :min="1" label="璇疯緭鍏ユ暟閲�" size="small"></el-input-number>
+ <el-input-number
+ v-model="addObj.sampleNum"
+ :min="1"
+ label="璇疯緭鍏ユ暟閲�"
+ size="small"
+ ></el-input-number>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
- <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
- style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
- @keyup.enter.native="searchFilter"></el-input>
+ <el-input
+ placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
+ suffix-icon="el-icon-search"
+ v-model="search"
+ size="small"
+ style="margin-bottom: 5px"
+ clearable
+ @blur="searchFilter"
+ @clear="searchFilter"
+ @keyup.enter.native="searchFilter"
+ ></el-input>
</el-col>
</el-row>
- <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
- :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
- @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
+ <el-tree
+ :data="list"
+ ref="tree"
+ :props="{ children: 'children', label: 'label' }"
+ node-key="label"
+ :filter-node-method="filterNode"
+ @node-click="handleNodeClick"
+ highlight-current
+ @node-expand="nodeOpen"
+ @node-collapse="nodeClose"
+ :default-expanded-keys="expandedKeys"
+ @dblclick.native="activeStandardTree"
+ >
<div class="custom-tree-node" slot-scope="{ node, data }">
<el-row>
<el-col :span="24">
- <span><i
- :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
- {{ data.code }} {{ data.label }}</span>
+ <span
+ ><i
+ :class="`node_i ${
+ data.children != undefined
+ ? data.code === '[1]'
+ ? 'el-icon-folder-opened'
+ : 'el-icon-folder'
+ : 'el-icon-tickets'
+ }`"
+ ></i>
+ {{ data.code }} {{ data.label }}</span
+ >
</el-col>
</el-row>
</div>
@@ -121,24 +322,42 @@
<el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
</span>
</el-dialog>
- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"
- :before-close="beforeClose">
- <div class="body" style="max-height: 60vh;">
+ <el-dialog
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+ :visible.sync="bsm1Dia"
+ width="500px"
+ :show-close="false"
+ :before-close="beforeClose"
+ >
+ <div class="body" style="max-height: 60vh">
<el-row v-if="bsm1">
<el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
+ <div class="search_label">
+ <span class="required-span">* </span>鎶ゅ瀵嗗害锛�
+ </div>
<div class="search_input">
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ ></el-radio>
</el-radio-group>
</div>
</el-col>
<el-col class="search_thing" :span="22">
<div class="search_label">瑕佹眰鍊硷細</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
+ <div
+ class="search_input"
+ v-show="bsm1Val !== null && bsm1Val !== ''"
+ >
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
+ >
</el-radio-group>
</div>
</el-col>
@@ -149,443 +368,504 @@
</template>
<script>
- export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
+import {
+ getStandTreeBySampleType,
+ selectStandardTreeList2,
+ selectStandardMethodEnum,
+ selectsStandardMethodByFLSSM,
+ selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+export default {
+ props: {
+ active: {
+ type: Number,
+ default: () => 0,
},
- data() {
- return {
- saveLoad: false,
- sampleList: [],
- productList: [],
- getProductLoad: false,
- filters: [],
- sampleIds: [],
- isAskOnlyRead: false,
- selectStandardTree: false,
- search: '',
- expandedKeys: [],
- addObj: {
- sampleNum: 1,
- },
- selectTree: null,
- models: [],
- sample: {
- sampleCode: null,
- laboratory: null,
- factory: null,
- sampleType: null,
- sample: null,
- model: null,
- modelNum: null,
- sampleNum: 1,
- isLeave: 0,
- unit: null
- },
- currentMethod: null,
- methods: [],
- methodLoad: false,
- sampleId: null,
- bsmRow: null,
- bsm1: false,
- bsm1Val: null,
- bsm1Dia: false,
- list: [],
- parentSample: []
+ },
+ data() {
+ return {
+ saveLoad: false,
+ sampleList: [],
+ productList: [],
+ getProductLoad: false,
+ filters: [],
+ sampleIds: [],
+ isAskOnlyRead: false,
+ selectStandardTree: false,
+ search: "",
+ expandedKeys: [],
+ addObj: {
+ sampleNum: 1,
+ },
+ selectTree: null,
+ models: [],
+ sample: {
+ sampleCode: null,
+ laboratory: null,
+ factory: null,
+ sampleType: null,
+ sample: null,
+ model: null,
+ modelNum: null,
+ sampleNum: 1,
+ isLeave: 0,
+ unit: null,
+ },
+ currentMethod: null,
+ methods: [],
+ methodLoad: false,
+ sampleId: null,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm1Dia: false,
+ list: [],
+ parentSample: [],
+ };
+ },
+ mounted() {
+ this.selectStandardTreeList();
+ this.selectStandardMethods();
+ this.$parent.sampleIds.forEach((a) => {
+ for (var i = 0; i < this.$parent.sampleList.length; i++) {
+ if (this.$parent.sampleList[i].id == a) {
+ this.sampleList = this.$parent.sampleList[i].childSampleList;
+ this.parentSample.push(this.$parent.sampleList[i]);
+ break;
+ }
+ }
+ });
+ },
+ methods: {
+ selectStandardTreeList() {
+ selectStandardTreeList()
+ .then((res) => {
+ if (res.code === 200) {
+ this.list = res.data;
+ this.list.forEach((a) => {
+ this.expandedKeys.push(a.label);
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ save() {
+ if (this.sampleList.length === 0) {
+ this.$message.error("缂哄皯閰嶇疆鏃犳硶淇濆瓨");
+ return;
+ }
+ this.parentSample.forEach((a) => {
+ a.childSampleList = this.sampleList;
+ });
+ this.$message.success("宸蹭繚瀛�");
+ },
+ deleteRow(index, rows) {
+ this.productList = [];
+ rows.splice(index, 1);
+ },
+ outConfig() {
+ this.$parent.equipConfigShow = false;
+ },
+ addChild() {
+ this.selectStandardTree = true;
+ },
+ selectSample(val) {
+ if (val === null) return;
+ this.sampleIds = [val.id];
+ },
+ rowClick(row, column, event) {
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.sampleId = row.id;
+ if (this.active !== 1) {
+ this.sampleIds = [];
+ this.sampleIds.push(row.id);
+ }
+ this.productList = row.insProduct;
+ setTimeout(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ }, 200);
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ selectable() {
+ if (this.active > 1) {
+ return false;
+ } else {
+ return true;
}
},
- mounted() {
- this.selectStandardTreeList()
- this.selectStandardMethods()
- this.$parent.sampleIds.forEach(a => {
- for (var i = 0; i < this.$parent.sampleList.length; i++) {
- if (this.$parent.sampleList[i].id == a) {
- this.sampleList = this.$parent.sampleList[i].childSampleList
- this.parentSample.push(this.$parent.sampleList[i])
- break
- }
- }
- })
+ handleChangeModel(e) {
+ let num = this.selectTree.split("-").length;
+ if (num != 5) {
+ this.selectTree = this.selectTree + " - " + e;
+ } else {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ this.selectTree = arr0.join("-") + "- " + e;
+ }
},
- methods: {
- selectStandardTreeList() {
- this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
- this.list = res.data
- this.list.forEach(a => {
- this.expandedKeys.push(a.label)
- })
- })
- },
- save() {
- if (this.sampleList.length === 0) {
- this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- return
- }
- this.parentSample.forEach(a => {
- a.childSampleList = this.sampleList
- })
- this.$message.success('宸蹭繚瀛�')
- },
- deleteRow(index, rows) {
- this.productList = []
- rows.splice(index, 1);
- },
- outConfig() {
- this.$parent.equipConfigShow = false
- },
- addChild() {
- this.selectStandardTree = true
- },
- selectSample(val) {
- if (val === null) return
- this.sampleIds = [val.id]
- },
- rowClick(row, column, event) {
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.sampleId = row.id
- if (this.active !== 1) {
- this.sampleIds = []
- this.sampleIds.push(row.id)
- }
- this.productList = row.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- handleChangeModel(e) {
- let num = this.selectTree.split('-').length;
- if (num != 5) {
- this.selectTree = this.selectTree + ' - ' + e
- } else {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- this.selectTree = arr0.join('-') + '- ' + e
- }
- },
- methodChange(val, row) {
- if (val === null || val === '') return
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.getProductLoad = true
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: row.model + '-' + row.modelNum,
- standardMethodListId: val,
- factory: this.selectTree,
- }, {
- headers: {
- 'Content-Type': 'application/json'
+ methodChange(val, row) {
+ if (val === null || val === "") return;
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.getProductLoad = true;
+ selectStandardProductList({
+ model: row.model + "-" + row.modelNum,
+ standardMethodListId: val,
+ factory: this.selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ row.insProduct = this.HaveJson(res.data);
+ this.getProductLoad = false;
+ this.productList = row.insProduct;
+ this.$refs.sampleTable.setCurrentRow(row);
+ setTimeout(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ }, 200);
}
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- row.insProduct = this.HaveJson(res.data)
- this.getProductLoad = false
- this.productList = row.insProduct
- this.$refs.sampleTable.setCurrentRow(row)
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
})
- },
- methodFocus() {
- this.selectsStandardMethodByFLSSM()
- },
- selectStandardMethods() {
- this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
- this.methods = res.data
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ methodFocus() {
+ this.selectsStandardMethodByFLSSM();
+ },
+ selectStandardMethods() {
+ selectStandardMethodEnum()
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = res.data;
+ }
})
- },
- selectsStandardMethodByFLSSM() {
- this.methodLoad = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.selectTree
- }).then(res => {
- this.methodLoad = false
- try {
- if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: selectTree
- }).then(ress => {
- this.methods = ress.data.standardMethodList
- })
- } else {
- this.methods = res.data.standardMethodList
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectsStandardMethodByFLSSM() {
+ this.methodLoad = true;
+ selectsStandardMethodByFLSSM({
+ tree: this.selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methodLoad = false;
+ try {
+ if (
+ res.data.standardMethodList.length == 0 &&
+ this.selectTree.split("-").length == 5
+ ) {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ let selectTree = arr0
+ .join("-")
+ .substring(0, arr0.join("-").length - 1);
+ selectsStandardMethodByFLSSM({
+ tree: selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ this.methods = res.data.standardMethodList;
+ }
+ } catch (e) {}
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectProduct(val) {
+ this.productIds = [];
+ val.forEach((a) => {
+ this.productIds.push(a.id);
+ });
+ },
+ upProductSelect(selection, row) {
+ row.state = row.state == 1 ? 0 : 1;
+ if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 1
+ ) {
+ if (row.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(row);
+ }
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 0
+ ) {
+ this.bsm1 = false;
+ }
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ if (m.id == row.id) {
+ m.state = row.state;
}
- } catch (e) {}
- })
- },
- selectProduct(val) {
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- if (row.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(row)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- this.bsm1 = false
+ return m;
+ });
}
- this.sampleList.map(item => {
+ return item;
+ });
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (row.state === 0) {
+ return "warning-row";
+ }
+ return "";
+ },
+ handleAll(e) {
+ if (e.length > 0) {
+ this.productList.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ } else {
+ this.productList.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ this.productList.forEach((p) => {
+ if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 1
+ ) {
+ if (p.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(p);
+ }
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 0
+ ) {
+ this.bsm1 = false;
+ }
+ });
+ if (e.length > 0) {
+ this.sampleList.map((item) => {
if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.state = row.state;
- }
+ item.insProduct.map((m) => {
+ m.state = 1;
return m;
- })
+ });
}
- return item
- })
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- handleAll(e) {
- if (e.length > 0) {
- this.productList.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- this.productList.forEach(p => {
- if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- if (p.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(p)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- this.bsm1 = false
- }
- })
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- filterHandler(value, row, column) {
- const property = column['property'];
- return row[property] === value;
- },
- requestChange(e, row) {
- this.sampleList.map(item => {
+ return item;
+ });
+ } else {
+ this.sampleList.map((item) => {
if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.ask = e;
- }
+ item.insProduct.map((m) => {
+ m.state = 0;
return m;
- })
+ });
}
- return item
- })
- },
- activeStandardTree() {
- let trees = this.selectTree.split(" - ")
- if (trees.length < 4) {
- this.$message.error('鏈�夋嫨瀛愪骇鍝�')
- return
+ return item;
+ });
+ }
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout();
+ });
+ },
+ filterHandler(value, row, column) {
+ const property = column["property"];
+ return row[property] === value;
+ },
+ requestChange(e, row) {
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ if (m.id == row.id) {
+ m.ask = e;
+ }
+ return m;
+ });
}
- this.addObj.factory = trees[0]
- this.addObj.laboratory = trees[1]
- this.addObj.sampleType = trees[2]
- if(trees[3]===''){
- this.addObj.sample = (trees[4] == undefined ? null : trees[4])
- }else if(trees[3]===undefined){
- this.addObj.sample = trees[2]
- }else{
- this.addObj.sample = trees[3]
+ return item;
+ });
+ },
+ activeStandardTree() {
+ let trees = this.selectTree.split(" - ");
+ if (trees.length < 4) {
+ this.$message.error("鏈�夋嫨瀛愪骇鍝�");
+ return;
+ }
+ this.addObj.factory = trees[0];
+ this.addObj.laboratory = trees[1];
+ this.addObj.sampleType = trees[2];
+ if (trees[3] === "") {
+ this.addObj.sample = trees[4] == undefined ? null : trees[4];
+ } else if (trees[3] === undefined) {
+ this.addObj.sample = trees[2];
+ } else {
+ this.addObj.sample = trees[3];
+ }
+ this.addObj.model = trees[4] == undefined ? null : trees[4];
+ this.selectStandardTree = false;
+ this.sample.joinName = null;
+ this.sample.joinModel = null;
+ this.sample.joinNum = 1;
+ this.sample.sample = this.addObj.sample;
+ this.sample.model = this.addObj.model;
+ this.sample.unit = this.addObj.unit;
+ this.sample.standardMethodListId = null;
+ this.sample.insProduct = [];
+ this.sample.id = this.count;
+ this.sample.num = this.addObj.sampleNum;
+ this.sampleList.push(this.HaveJson(this.sample));
+ this.count++;
+ this.$refs.sampleTable.doLayout();
+ },
+ searchFilter() {
+ this.$refs.tree.filter(this.search);
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ handleNodeClick(val, node, el) {
+ this.selectTree = "";
+ this.models = val.children;
+ this.getNodeParent(node);
+ this.selectTree = this.selectTree.replace(" - ", "");
+ let data = this.selectTree.split(" - ");
+ let data2 = "";
+ for (let index = data.length - 1; index >= 0; index--) {
+ data2 += " - " + data[index];
+ }
+ this.selectTree = data2.replace(" - ", "");
+ },
+ getNodeParent(val) {
+ if (val.parent != null) {
+ if (val.data.children === null) {
+ this.selectTree += " - " + val.label + " - " + "";
+ } else {
+ this.selectTree += " - " + val.label;
}
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
- this.selectStandardTree = false
- this.sample.joinName = null
- this.sample.joinModel = null
- this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
- this.sample.model = this.addObj.model
- this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
- this.sample.insProduct = []
- this.sample.id = this.count
- this.sample.num = this.addObj.sampleNum
- this.sampleList.push(this.HaveJson(this.sample))
- this.count++
- this.$refs.sampleTable.doLayout()
- },
- searchFilter() {
- this.$refs.tree.filter(this.search)
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- handleNodeClick(val, node, el) {
- this.selectTree = ''
- this.models = val.children
- this.getNodeParent(node)
- this.selectTree = this.selectTree.replace(' - ', '')
- let data = this.selectTree.split(' - ')
- let data2 = ''
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index]
+ this.getNodeParent(val.parent);
+ }
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr(
+ "class",
+ "node_i el-icon-folder-opened"
+ );
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
+ },
+ beforeClose(done) {
+ if (this.bsm1) {
+ if (this.bsm1Val === null || this.bsm1Val === "") {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
}
- this.selectTree = data2.replace(' - ', '')
- },
- getNodeParent(val) {
- if (val.parent != null) {
- if (val.data.children === null) {
- this.selectTree += ' - ' + val.label + ' - ' + ''
- } else {
- this.selectTree += ' - ' + val.label
- }
- this.getNodeParent(val.parent)
+ }
+ done();
+ },
+ upBsm1(val) {
+ let sections = JSON.parse(this.bsmRow.section);
+ let asks = JSON.parse(this.bsmRow.ask);
+ let tells = JSON.parse(this.bsmRow.tell);
+ let manHours = JSON.parse(this.bsmRow.manHour);
+ let prices = JSON.parse(this.bsmRow.price);
+ for (var a in sections) {
+ if (val === sections[a]) {
+ this.productList.forEach((p) => {
+ if (p.id === this.bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ break;
}
- },
- nodeOpen(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
- },
- nodeClose(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
- },
- beforeClose(done) {
- if (this.bsm1) {
- if (this.bsm1Val === null || this.bsm1Val === '') {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- }
- done()
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- }
- }
+ }
+ },
+ },
+};
</script>
<style scoped>
- .ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
+.ins_order_config {
+ width: 100%;
+ height: 100%;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
+.ins_order_config::-webkit-scrollbar {
+ width: 0;
+}
- .title {
- height: 60px;
- line-height: 60px;
- }
+.title {
+ height: 60px;
+ line-height: 60px;
+}
- .center {
- width: 100%;
- height: calc(100% - 60px);
- }
+.center {
+ width: 100%;
+ height: calc(100% - 60px);
+}
+>>> .all-disabled .el-checkbox__input .el-checkbox__inner {
+ background-color: #edf2fc;
+ border-color: #dcdfe6;
+ cursor: not-allowed;
+}
- >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
- background-color: #edf2fc;
- border-color: #dcdfe6;
- cursor: not-allowed;
- }
+.node_i {
+ color: orange;
+ font-size: 18px;
+}
- .node_i {
- color: orange;
- font-size: 18px;
- }
-
- .el-select-dropdown__item {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
+.el-select-dropdown__item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
</style>
diff --git a/src/views/business/inspectionOrder/fiberoptic-config-readonly.vue b/src/views/business/inspectionOrder/fiberoptic-config-readonly.vue
index 20c02c1..c06c44c 100644
--- a/src/views/business/inspectionOrder/fiberoptic-config-readonly.vue
+++ b/src/views/business/inspectionOrder/fiberoptic-config-readonly.vue
@@ -2,67 +2,128 @@
<div class="ins_order_config">
<div>
<el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">鍏夌氦閰嶇疆</el-col>
- <el-col :span="18" style="text-align: right;">
- <!-- <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button> -->
+ <el-col :span="6" style="padding-left: 20px; text-align: left"
+ >鍏夌氦閰嶇疆</el-col
+ >
+ <el-col :span="18" style="text-align: right">
<el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
+ <span style="color: #3a7bfa">杩� 鍥�</span>
</el-button>
</el-col>
</el-row>
</div>
<div class="center">
- <el-row :gutter="10" style="margin-bottom: 10px;">
+ <el-row :gutter="10" style="margin-bottom: 10px">
<el-col :span="9">
<div class="grid-content">
<h5>濂楃</h5>
<div
- style="display: flex;align-items: center;justify-content: space-between;padding: 0 12px;box-sizing: border-box;">
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 12px;
+ box-sizing: border-box;
+ "
+ >
<div class="search-item">
- <label style="width: 70px;">鏍峰搧鍨嬪彿</label>
- <span class="models" :title="models">{{models}}</span>
+ <label style="width: 70px">鏍峰搧鍨嬪彿</label>
+ <span class="models" :title="models">{{ models }}</span>
</div>
- <el-radio-group v-model="packageInfo.radio" size="small" @change="isInspection()" :disabled="active!=1">
+ <el-radio-group
+ v-model="packageInfo.radio"
+ size="small"
+ @change="isInspection()"
+ :disabled="active != 1"
+ >
<el-radio :label="0">鍏ㄦ</el-radio>
<el-radio :label="1">鎶芥</el-radio>
</el-radio-group>
</div>
<div
- style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;">
- <div class="search-item" style="margin-right: 10px;">
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 8px;
+ padding: 0 12px;
+ box-sizing: border-box;
+ "
+ >
+ <div class="search-item" style="margin-right: 10px">
<label>濂楃鏁扮洰</label>
- <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @blur="addBushing" :disabled="active!=1"></el-input>
+ <el-input
+ v-model="packageInfo.num1"
+ placeholder="璇疯緭鍏�"
+ size="small"
+ @blur="addBushing"
+ :disabled="active != 1"
+ ></el-input>
</div>
- <div class="search-item" style="margin-right: 10px;">
+ <div class="search-item" style="margin-right: 10px">
<label style="width: 100px">姣忔牴绠℃娊妫�鏍囧噯閲�</label>
- <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @blur="addStandNum" :disabled="active!=1" style="width:70px"></el-input>
+ <el-input
+ v-model="packageInfo.standNum"
+ placeholder="璇疯緭鍏�"
+ size="small"
+ @blur="addStandNum"
+ :disabled="active != 1"
+ style="width: 70px"
+ ></el-input>
</div>
<div class="search-item">
<label style="width: 100px">姣忔牴绠℃娊妫�妫�娴嬮噺</label>
- <el-input v-model="packageInfo.testNum" placeholder="璇疯緭鍏�" size="small" @blur="addTestNum"
- style="width:70px"
- :disabled="packageInfo.radio===0||active!=1"></el-input>
+ <el-input
+ v-model="packageInfo.testNum"
+ placeholder="璇疯緭鍏�"
+ size="small"
+ @blur="addTestNum"
+ style="width: 70px"
+ :disabled="packageInfo.radio === 0 || active != 1"
+ ></el-input>
</div>
</div>
- <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small"
+ <el-table
+ ref="table0"
+ :data="bushing"
+ tooltip-effect="dark"
+ style="width: 100%"
+ height="203px"
+ size="small"
@selection-change="handleSelectionChange1"
- :header-cell-class-name="setClassName0">
- <!-- <el-table-column
- type="selection"
- width="45"
- :selectable="()=>(active==1)">
- </el-table-column> -->
+ :header-cell-class-name="setClassName0"
+ >
<el-table-column label="绠¤壊鏍�" show-overflow-tooltip>
<template slot-scope="scope">
- <el-select v-model="scope.row.color" size="mini" :disabled="active!=1" allow-create filterable >
- <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
- :value="color.value"></el-option>
+ <el-select
+ v-model="scope.row.color"
+ size="mini"
+ :disabled="active != 1"
+ allow-create
+ filterable
+ >
+ <el-option
+ v-for="(color, i) in colors"
+ :key="i"
+ :label="color.dictLable"
+ :value="color.dictValue"
+ ></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="standNum" label="鏍囬噺" show-overflow-tooltip align="center">
+ <el-table-column
+ prop="standNum"
+ label="鏍囬噺"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="testNum" label="娴嬭瘯閲�" show-overflow-tooltip align="center">
+ <el-table-column
+ prop="testNum"
+ label="娴嬭瘯閲�"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
</el-table>
</div>
@@ -70,37 +131,83 @@
<el-col :span="15">
<div class="grid-content">
<h5>妫�娴嬮」淇℃伅</h5>
- <el-table ref="productTable" :data="detectionItems" tooltip-effect="dark" style="width: 100%"
- :row-class-name="tableRowClassName"
- :header-cell-class-name="setClassName"
- height="283px"
- size="small" @selection-change="handleSelectionChange2"
+ <el-table
+ ref="productTable"
+ :data="detectionItems"
+ tooltip-effect="dark"
+ style="width: 100%"
+ :row-class-name="tableRowClassName"
+ :header-cell-class-name="setClassName"
+ height="283px"
+ size="small"
+ @selection-change="handleSelectionChange2"
@select-all="handleAll"
@select="upProductSelect"
+ >
+ <el-table-column
+ label="瀹為獙瀹�"
+ show-overflow-tooltip
+ prop="sonLaboratory"
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ show-overflow-tooltip
>
- <!-- <el-table-column type="selection" width="55"
- :selectable="()=>((currentDetectionItems||this.selectFiberList.length > 0 || this.multiFiberList.length > 0)&&active==1)">
- </el-table-column> -->
- <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip>
</el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" show-overflow-tooltip width="100px">
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠岄」瀛愰」"
+ show-overflow-tooltip
+ width="100px"
+ >
</el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="90" show-overflow-tooltip>
+ <el-table-column
+ prop="methodS"
+ label="璇曢獙鏂规硶"
+ min-width="90"
+ show-overflow-tooltip
+ >
</el-table-column>
- <el-table-column prop="price" label="鍗曚环" width="70" show-overflow-tooltip>
+ <el-table-column
+ prop="price"
+ label="鍗曚环"
+ width="70"
+ show-overflow-tooltip
+ >
</el-table-column>
- <el-table-column prop="unit" label="鍗曚綅" width="70" show-overflow-tooltip>
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ width="70"
+ show-overflow-tooltip
+ >
</el-table-column>
<!-- <el-table-column prop="manDay" label="棰勮鏃堕棿" width="90" show-overflow-tooltip>
</el-table-column> -->
- <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px">
+ <el-table-column
+ prop="ask"
+ label="妫�娴嬭姹�"
+ show-overflow-tooltip
+ width="200px"
+ >
<template slot-scope="scope">
- <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
+ <el-input
+ v-model="scope.row.ask"
+ placeholder="璇疯緭鍏�"
+ size="small"
+ :disabled="active != 1"
+ v-if="!isAskOnlyRead"
+ ></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
- <el-table-column prop="tell" label="瑕佹眰鎻忚堪" show-overflow-tooltip width="150">
+ <el-table-column
+ prop="tell"
+ label="瑕佹眰鎻忚堪"
+ show-overflow-tooltip
+ width="150"
+ >
</el-table-column>
</el-table>
</div>
@@ -109,240 +216,365 @@
<el-row :gutter="10">
<el-col :span="12" v-if="packageInfo.ismiers">
<div class="grid-content">
- <h5>鍏夌氦甯�
- <el-button size="mini" type="primary" class="btns" @click="addFibers"
- v-if="active==1">鐢熸垚鍏夌氦甯�</el-button>
- <!-- <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0" v-if="active==1">娓呴櫎</el-button> -->
+ <h5>
+ 鍏夌氦甯�
+ <el-button
+ size="mini"
+ type="primary"
+ class="btns"
+ @click="addFibers"
+ v-if="active == 1"
+ >鐢熸垚鍏夌氦甯�</el-button
+ >
</h5>
<div
- style="display: flex;align-items: center;justify-content: space-between;margin:4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
- <!-- <div class="search-item" style="width: 50%;margin-right: 16px;">
- <label style="width: 80px;">绾ゅ甫绫诲瀷</label>
- <el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="selectBushing.length===0||active!=1"
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 4px 0 6px 0;
+ padding: 0 12px;
+ box-sizing: border-box;
+ "
+ >
+ <div class="search-item" style="width: 50%; margin-right: 16px">
+ <label style="width: 80px">绾ゅ甫绫诲瀷</label>
+ <el-select
+ v-model="miresModel"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ :disabled="selectBushing.length === 0 || active != 1"
+ >
+ <el-option
+ v-for="(item, a) in miresModels"
+ :key="a"
+ :label="item.label"
+ :value="item.value"
>
- <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div> -->
- <!-- <div class="search-item" style="width: 50%;">
- <label style="width: 80px;">鍙傝�冩爣鍑�</label>
- <el-select v-model="miresStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="miresModel===null||active!=1" @focus="selectsStandardMethodByFLSSM2()"
- @change="(value)=>methodChange2(value)">
- <el-option v-for="item in miresStandards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div> -->
- <div class="search-item" style="width: 50%;margin-right: 16px;">
- <label style="width: 80px;">绾ゅ甫绫诲瀷</label>
- <el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="selectBushing.length===0||active!=1"
- >
- <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
- <div class="search-item" style="width: 50%;">
- <label style="width: 80px;">鍙傝�冩爣鍑�</label>
- <el-select v-model="miresStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="miresModel===null||active!=1"
- @focus="selectsStandardMethodByFLSSM2()"
- @change="(value)=>methodChange2(value)">
- <el-option v-for="item in miresStandards" :key="item.id" :label="item.code" :value="item.id">
+ <div class="search-item" style="width: 50%">
+ <label style="width: 80px">鍙傝�冩爣鍑�</label>
+ <el-select
+ v-model="miresStandard"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ :disabled="miresModel === null || active != 1"
+ @focus="selectsStandardMethodByFLSSM2()"
+ @change="(value) => methodChange2(value)"
+ >
+ <el-option
+ v-for="item in miresStandards"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
</el-option>
</el-select>
</div>
-
</div>
- <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
- size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)"
- :header-cell-class-name="setClassName0">
- <!-- <el-table-column
- type="selection"
- width="55"
- :selectable="()=>(active==1)">
- </el-table-column> -->
- <el-table-column prop="color" label="绠″鑹叉爣" width="90" align="center">
+ <el-table
+ ref="table2"
+ :data="fibersList"
+ tooltip-effect="dark"
+ style="width: 100%"
+ height="270px"
+ size="small"
+ @selection-change="handleSelectionChange"
+ highlight-current-row
+ @row-click="
+ (row, column, event) => rowClickFiber(row, column, event, 1)
+ "
+ :header-cell-class-name="setClassName0"
+ >
+ <el-table-column
+ prop="color"
+ label="绠″鑹叉爣"
+ width="90"
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" show-overflow-tooltip align="center">
- <!-- <template slot-scope="scope">
- <el-input v-model="scope.row.code" placeholder="璇疯緭鍏�" size="mini" ></el-input>
- </template> -->
+ <el-table-column
+ prop="code"
+ label="鍏夌氦甯︾紪鍙�"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="model" label="鍏夌氦甯﹁鏍�" show-overflow-tooltip align="center">
- <!-- <template slot-scope="scope">
- <el-input v-model="scope.row.model" placeholder="璇疯緭鍏�" size="mini" ></el-input>
- </template> -->
+ <el-table-column
+ prop="model"
+ label="鍏夌氦甯﹁鏍�"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="standard" label="鍙傝�冩爣鍑�" show-overflow-tooltip align="center">
- <!-- <template slot-scope="scope">
- <el-input v-model="scope.row.standard" placeholder="璇疯緭鍏�" size="mini" ></el-input>
- </template> -->
+ <el-table-column
+ prop="standard"
+ label="鍙傝�冩爣鍑�"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="num" label="鍏夌氦妫�娴嬮噺" show-overflow-tooltip align="center">
- <!-- <template slot-scope="scope">
- <el-input v-model="scope.row.num" placeholder="璇疯緭鍏�" size="mini" ></el-input>
- </template> -->
+ <el-table-column
+ prop="num"
+ label="鍏夌氦妫�娴嬮噺"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
</el-table>
</div>
</el-col>
- <el-col :span="!packageInfo.ismiers?24:12">
+ <el-col :span="!packageInfo.ismiers ? 24 : 12">
<div class="grid-content">
- <h5>鍏夌氦
- <el-button size="mini" type="primary" class="btns" @click="addFiber"
- v-if="active==1">鍏夌氦閰嶈壊</el-button>
- </h5>
+ <h5>
+ 鍏夌氦
+ <el-button
+ size="mini"
+ type="primary"
+ class="btns"
+ @click="addFiber"
+ v-if="active == 1"
+ >鍏夌氦閰嶈壊</el-button
+ >
+ </h5>
<div
- style="display: flex;align-items: center;justify-content: space-between;margin: 4px 0 6px 0;padding: 0 12px;box-sizing: border-box;">
- <!-- <div class="search-item" style="width: 50%;margin-right: 16px;">
- <label style="width: 80px;">鍏夌氦绫诲瀷</label>
- <el-select v-model="mireModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="selectBushing.length===0||active!=1">
- <el-option v-for="(item,a) in mireModels" :key="a" :label="item.label" :value="item.value">
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 4px 0 6px 0;
+ padding: 0 12px;
+ box-sizing: border-box;
+ "
+ >
+ <div class="search-item" style="width: 50%; margin-right: 16px">
+ <label style="width: 80px">鍏夌氦绫诲瀷</label>
+ <el-select
+ v-model="mireModel"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, a) in mireModels"
+ :key="a"
+ :label="item.label"
+ :value="item.value"
+ >
</el-option>
</el-select>
</div>
- <div class="search-item" style="width: 50%;">
- <label style="width: 80px;">鍙傝�冩爣鍑�</label>
- <el-select v-model="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="mireModel===null||active!=1" @focus="selectsStandardMethodByFLSSM()"
- @change="(value)=>methodChange(value)" :loading="mireStandardLoading">
- <el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
- </div> -->
- <div class="search-item" style="width: 50%;margin-right: 16px;">
- <label style="width: 80px;">鍏夌氦绫诲瀷</label>
- <el-select v-model="mireModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- >
- <el-option v-for="(item,a) in mireModels" :key="a" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="search-item" style="width: 50%;">
- <label style="width: 80px;">鍙傝�冩爣鍑�</label>
- <el-select v-model="mireStandard" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
- :disabled="mireModel===null||active!=1"
- @focus="selectsStandardMethodByFLSSM()"
- @change="(value)=>methodChange(value)" :loading="mireStandardLoading">
- <el-option v-for="item in mireStandards" :key="item.id" :label="item.code" :value="item.id">
+ <div class="search-item" style="width: 50%">
+ <label style="width: 80px">鍙傝�冩爣鍑�</label>
+ <el-select
+ v-model="mireStandard"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ :disabled="mireModel === null || active != 1"
+ @focus="selectsStandardMethodByFLSSM()"
+ @change="(value) => methodChange(value)"
+ :loading="mireStandardLoading"
+ >
+ <el-option
+ v-for="item in mireStandards"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
</el-option>
</el-select>
</div>
</div>
- <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
- size="small" highlight-current-row @selection-change="handleSelectionChange4"
- @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)"
- :header-cell-class-name="setClassName0">
- <!-- <el-table-column
- type="selection"
- width="55"
- :selectable="()=>(active==1)">
- </el-table-column> -->
- <el-table-column prop="bushColor" label="绠″鑹叉爣" width="90" align="center">
+ <el-table
+ ref="table3"
+ :data="fiberList"
+ tooltip-effect="dark"
+ style="width: 100%"
+ height="270px"
+ size="small"
+ highlight-current-row
+ @selection-change="handleSelectionChange4"
+ @row-click="
+ (row, column, event) => rowClickFiber(row, column, event, 0)
+ "
+ :header-cell-class-name="setClassName0"
+ >
+ <el-table-column
+ prop="bushColor"
+ label="绠″鑹叉爣"
+ width="90"
+ align="center"
+ >
</el-table-column>
<el-table-column prop="color" label="鍏夌氦鑹叉爣" width="120">
- <!-- <template slot-scope="scope">
- <el-select v-model="scope.row.color" size="mini" :disabled="active!=1" allow-create filterable >
- <el-option v-for="(color,i) in colors" :key="i" :label="color.lable"
- :value="color.value"></el-option>
- </el-select>
- </template> -->
</el-table-column>
- <el-table-column prop="model" label="鍏夌氦瑙勬牸" show-overflow-tooltip align="center">
+ <el-table-column
+ prop="model"
+ label="鍏夌氦瑙勬牸"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
- <el-table-column prop="standard" label="鍙傝�冩爣鍑�" show-overflow-tooltip align="center">
+ <el-table-column
+ prop="standard"
+ label="鍙傝�冩爣鍑�"
+ show-overflow-tooltip
+ align="center"
+ >
</el-table-column>
</el-table>
</div>
</el-col>
</el-row>
</div>
- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
- <div class="body" style="max-height: 60vh;">
+ <el-dialog
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+ :visible.sync="bsm1Dia"
+ width="500px"
+ :show-close="false"
+ :before-close="beforeClose"
+ >
+ <div class="body" style="max-height: 60vh">
<el-row v-if="bsm1">
<el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
+ <div class="search_label">
+ <span class="required-span">* </span>鎶ゅ瀵嗗害锛�
+ </div>
<div class="search_input">
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ ></el-radio>
</el-radio-group>
</div>
</el-col>
<el-col class="search_thing" :span="22">
<div class="search_label">瑕佹眰鍊硷細</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
+ <div
+ class="search_input"
+ v-show="bsm1Val !== null && bsm1Val !== ''"
+ >
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
+ >
</el-radio-group>
</div>
</el-col>
<el-col class="search_thing" :span="22">
<div class="search_label">鍗曚环锛�</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
+ <div
+ class="search_input"
+ v-show="bsm1Val !== null && bsm1Val !== ''"
+ >
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.price)[ai]}}</el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(bsmRow.price)[ai] }}</el-radio
+ >
</el-radio-group>
</div>
</el-col>
</el-row>
<el-row v-if="bsm2">
<el-col class="search_thing" :span="22">
- <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div>
+ <div class="search_label" style="width: 220px">
+ <span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�
+ </div>
<div class="search_input">
- <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0" style="width: 70%;"
- :controls="false" @change="bsm2Up"></el-input-number>
- <span>MAX锛歿{bsm2Val3.length}}</span>
+ <el-input-number
+ size="medium"
+ v-model="bsm2Val"
+ :min="1"
+ :max="bsm2Val3.length"
+ :precision="0"
+ style="width: 70%"
+ :controls="false"
+ @change="bsm2Up"
+ ></el-input-number>
+ <span>MAX锛歿{ bsm2Val3.length }}</span>
</div>
</el-col>
- <el-col style="margin-top: 6px;">
- <el-col v-for="(a,ai) in bsm2Val2" :key="ai">
+ <el-col style="margin-top: 6px">
+ <el-col v-for="(a, ai) in bsm2Val2" :key="ai">
<el-col :span="10">
- <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-select
+ v-model="a[0]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
<el-option
- v-for="(item,index) in sampleList"
+ v-for="(item, index) in sampleList"
:key="index"
- :label="index+1"
- :value="index+1">
+ :label="index + 1"
+ :value="index + 1"
+ >
</el-option>
</el-select>
</el-col>
- <!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> -->
- <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>
+ <el-col
+ :span="4"
+ class="pairing"
+ style="border: 0; color: rgba(0, 0, 0, 0.2)"
+ >鈥斺��</el-col
+ >
<el-col :span="10">
- <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-select
+ v-model="a[1]"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="width: 100%"
+ >
<el-option
- v-for="(item,index) in sampleList"
+ v-for="(item, index) in sampleList"
:key="index"
- :label="index+1"
- :value="index+1">
+ :label="index + 1"
+ :value="index + 1"
+ >
</el-option>
</el-select>
</el-col>
- <!-- <el-col :span="10" class="pairing">{{a[1]}}</el-col> -->
</el-col>
</el-col>
</el-row>
- <!-- <el-row v-if="bsm3">
- <el-col class="search_thing" :span="22" style="display: flex;align-items: center;">
- <div class="search_label"><span class="required-span">* </span>RTS锛�</div>
- <div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="bsm3Val"></el-input>
- </div>
- </el-col>
- </el-row> -->
</div>
</el-dialog>
- <el-dialog title="RTS濉啓" :visible.sync="bsm3Dia" width="500px" :show-close="false" :before-close="beforeClose0">
+ <el-dialog
+ title="RTS濉啓"
+ :visible.sync="bsm3Dia"
+ width="500px"
+ :show-close="false"
+ :before-close="beforeClose0"
+ >
<el-row>
- <el-col class="search_thing" :span="22" style="display: flex;align-items: center;">
- <div class="search_label"><span class="required-span">* </span>RTS锛�</div>
+ <el-col
+ class="search_thing"
+ :span="22"
+ style="display: flex; align-items: center"
+ >
+ <div class="search_label">
+ <span class="required-span">* </span>RTS锛�
+ </div>
<div class="search_input">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="bsm3Val"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="bsm3Val"
+ ></el-input>
</div>
</el-col>
</el-row>
@@ -351,744 +583,644 @@
</template>
<script>
-import { set } from 'vue'
- export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
+import { getDicts } from "@/api/system/dict/data";
+import {
+ getStandTreeBySampleType,
+ selectStandardTreeList2,
+ selectStandardMethodEnum,
+ selectsStandardMethodByFLSSM,
+ selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+export default {
+ props: {
+ active: {
+ type: Number,
+ default: () => 0,
},
- data() {
- return {
- detectionType: null,
- detectionSelect: [],
- selectFiberList: [],
- type:1,
- saveLoad: false,
- packageInfo: {
- radio: 1,
- num1: null,
+ },
+ data() {
+ return {
+ detectionType: null,
+ detectionSelect: [],
+ selectFiberList: [],
+ type: 1,
+ saveLoad: false,
+ packageInfo: {
+ radio: 1,
+ num1: null,
+ standNum: null,
+ testNum: null,
+ ismiers: false,
+ },
+ tableData: [],
+ tape: {
+ value: "",
+ },
+ options: [],
+ sample: [],
+ models: "",
+ colors: [],
+ wires: [],
+ bushing: [],
+ mireModels: [],
+ mireModel: null,
+ mireStandard: [],
+ mireStandards: null,
+ miresModels: [],
+ miresModel: null,
+ miresStandard: [],
+ miresStandards: null,
+ selectBushing: [],
+ productList: [],
+ productList2: [],
+ fiberList: [],
+ fibersList: [],
+ selectFibers: [],
+ detectionItems: [],
+ currentDetectionItems: null,
+ mireStandardLoading: false,
+ multiFiberList: [],
+ isAskOnlyRead: true,
+ bsm1Dia: false,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm2: false,
+ bsm2Val: null,
+ bsm2Dia: false,
+ bsm2Val2: [],
+ bsm2Val3: [],
+ sampleIds: [],
+ bsm3Val: null,
+ bsmRow3: null,
+ bsm3Dia: false,
+ sorted: false,
+ };
+ },
+ computed: {
+ isAllDisabled() {
+ return (
+ this.multiFiberList.length > 0 ||
+ this.currentDetectionItems ||
+ this.active != 1
+ );
+ },
+ },
+ watch: {},
+ mounted() {
+ this.$parent.sampleIds.forEach((a) => {
+ for (var i = 0; i < this.$parent.sampleList.length; i++) {
+ if (this.$parent.sampleList[i].id == a) {
+ this.sample.push(this.$parent.sampleList[i]);
+ this.models += "," + this.$parent.sampleList[i].model;
+ break;
+ }
+ }
+ });
+ console.log(111, this.sample);
+ this.models = this.models.replace(",", "");
+ this.packageInfo.ismiers = this.models
+ .split(",")
+ .every(
+ (e) =>
+ (e.indexOf("d") > -1 || e.indexOf("D") > -1) && !e.includes("ADSS")
+ );
+ if (
+ this.sample[0].bushing === undefined ||
+ this.sample[0].bushing === null
+ ) {
+ this.bushing = [];
+ } else {
+ this.bushing = this.HaveJson(this.sample[0].bushing);
+ this.packageInfo.num1 = this.sample[0].bushing.length;
+ this.packageInfo.standNum = this.sample[0].bushing[0].standNum;
+ this.packageInfo.testNum = this.sample[0].bushing[0].testNum;
+ this.bushing.forEach((a) => {
+ if (a.fibers == null || a.fibers.length == 0) a.fibers = [];
+ if (a.fiber == null || a.fiber.length == 0) a.fiber = [];
+ // 鍒ゆ柇鏄惁鍚湁鍏夌氦甯�
+ if (this.packageInfo.ismiers) {
+ // this.fibersList = [] // 鏂板
+ // this.fiberList = [] // 鏂板
+ if (a.fibers.length > 0) {
+ a.fibers.sort((a, b) => a.id - b.id);
+ a.fibers.forEach((b) => {
+ this.$set(b, "color", a.color);
+ // 鍏夌氦甯�
+ this.fibersList.push(b);
+ // 鍏夌氦
+ b.fiber.forEach((c) => {
+ this.fiberList.push(c);
+ });
+ });
+ } else {
+ a.fiber.forEach((b) => {
+ this.fiberList.push(b);
+ });
+ }
+ } else {
+ // this.fiberList = []
+ a.fiber.forEach((b) => {
+ this.fiberList.push(b);
+ });
+ }
+ });
+ }
+
+ this.getTypeDicts1();
+ this.getStandTreeBySampleType();
+ this.getStandTreeBySampleType2();
+ this.selectsStandardMethodByFLSSM2();
+ },
+ methods: {
+ handleSelectionChange(val) {
+ // this.selectFibers = val
+ this.multiFiberList = val;
+ },
+ handleSelectionChange1(val) {
+ this.selectBushing = val;
+ },
+ handleSelectionChange2(val) {
+ this.detectionSelect = val;
+ // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦甯�
+ if (this.detectionItems.type == 1) {
+ this.multiFiberList.forEach((item) => {
+ this.fibersList.forEach((a) => {
+ if (a.ident == item.ident) {
+ a.productList = [];
+ this.fibersList.find((a) => a.ident == item.ident).productList =
+ this.detectionSelect;
+ }
+ });
+ });
+ }
+ if (this.detectionItems.type == 0) {
+ // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦
+ console.log("000", this.selectFiberList);
+ this.selectFiberList.forEach((item) => {
+ this.fiberList.forEach((a) => {
+ if (a.ident == item.ident) {
+ a.productList = [];
+ this.fiberList.find((a) => a.ident == item.ident).productList =
+ this.detectionSelect;
+ }
+ });
+ });
+ }
+ },
+ handleSelectionChange4(val) {
+ this.selectFiberList = val;
+ },
+ outConfig() {
+ this.$parent.configShow = false;
+ },
+ getTypeDicts1() {
+ getDicts("fiber_color_type")
+ .then((res) => {
+ if (res.code === 200) {
+ this.colors = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 濂楃鏁扮洰鐢熸垚琛ㄦ牸鏁版嵁
+ addBushing() {
+ this.bushing = [];
+ for (let i = 0; i < this.packageInfo.num1; i++) {
+ let bushing = {
+ ident: this.bushing.length + 1,
+ color: this.colors[i].dictLabel,
standNum: null,
testNum: null,
- ismiers: false
- },
- tableData: [],
- tape: {
- value: ''
- },
- options: [],
- sample: [],
- models: '',
- colors: [],
- wires: [],
- bushing: [],
- mireModels: [],
- mireModel: null,
- mireStandard: [],
- mireStandards: null,
- miresModels: [],
- miresModel: null,
- miresStandard: [],
- miresStandards: null,
- selectBushing: [],
- productList: [],
- productList2: [],
- fiberList: [],
- fibersList: [],
- selectFibers: [],
- detectionItems: [],
- currentDetectionItems:null,
- mireStandardLoading:false,
- multiFiberList:[],
- isAskOnlyRead:true,
- bsm1Dia: false,
- bsmRow: null,
- bsm1: false,
- bsm1Val: null,
- bsm2: false,
- bsm2Val: null,
- bsm2Dia: false,
- bsm2Val2: [],
- bsm2Val3: [],
- sampleIds:[],
- bsm3Val: null,
- bsmRow3: null,
- bsm3Dia: false,
- sorted: false
+ fibers: [],
+ fiber: [],
+ };
+ this.bushing.push(bushing);
}
},
- computed: {
- isAllDisabled() {
- return this.multiFiberList.length > 0||this.currentDetectionItems||this.active!=1
- },
- },
- watch: {
- // mireModel(val1,val0) {
- // if(val1!=val0){
- // this.mireStandards = []
- // this.fiberList = []
- // this.multiFiberList = []
- // this.detectionItems = []
- // this.currentDetectionItems = null;
- // }
- // },
- // mireStandard(val1,val0) {
- // if(val1!=val0){
- // this.fiberList = []
- // this.multiFiberList = []
- // this.detectionItems = []
- // this.currentDetectionItems = null;
- // }
- // }
- },
- mounted() {
- this.$parent.sampleIds.forEach(a => {
- for (var i = 0; i < this.$parent.sampleList.length; i++) {
- if (this.$parent.sampleList[i].id == a) {
- this.sample.push(this.$parent.sampleList[i])
- this.models += (',' + this.$parent.sampleList[i].model)
- break
- }
- }
- })
- console.log(111, this.sample);
- this.models = this.models.replace(',', '')
- this.packageInfo.ismiers = this.models.split(',').every(e=>(e.indexOf('d')>-1||e.indexOf('D')>-1)&&!e.includes('ADSS'))
- if(this.sample[0].bushing === undefined || this.sample[0].bushing === null){
- this.bushing = []
- }else{
- this.bushing = this.HaveJson(this.sample[0].bushing)
- this.packageInfo.num1 = this.sample[0].bushing.length
- this.packageInfo.standNum = this.sample[0].bushing[0].standNum
- this.packageInfo.testNum = this.sample[0].bushing[0].testNum
- this.bushing.forEach(a=>{
- if(a.fibers==null || a.fibers.length ==0)a.fibers=[]
- if(a.fiber==null || a.fiber.length == 0)a.fiber=[]
- // 鍒ゆ柇鏄惁鍚湁鍏夌氦甯�
- if(this.packageInfo.ismiers){
- // this.fibersList = [] // 鏂板
- // this.fiberList = [] // 鏂板
- if(a.fibers.length>0){
- a.fibers.sort((a,b)=>a.id-b.id)
- a.fibers.forEach(b=>{
- this.$set(b,'color',a.color)
- // 鍏夌氦甯�
- this.fibersList.push(b)
- // 鍏夌氦
- b.fiber.forEach(c=>{
- this.fiberList.push(c)
- })
- })
- } else {
- a.fiber.forEach(b=>{
- this.fiberList.push(b)
- })
+ // 濂楃鏍囧噯閲忚祴鍊�
+ addStandNum() {
+ if (this.selectBushing.length > 0) {
+ this.bushing.forEach((item) => {
+ this.selectBushing.forEach((a) => {
+ if (item.ident == a.ident) {
+ item.standNum = this.packageInfo.standNum;
}
-
- }else{
- // this.fiberList = []
- a.fiber.forEach(b=>{
- this.fiberList.push(b)
- })
- }
- })
+ });
+ });
}
-
- this.getTypeDicts1()
- this.getStandTreeBySampleType()
- this.getStandTreeBySampleType2()
- this.selectsStandardMethodByFLSSM2()
},
- methods: {
- handleSelectionChange(val) {
- // this.selectFibers = val
- this.multiFiberList = val
- },
- handleSelectionChange1(val) {
- this.selectBushing = val
- },
- handleSelectionChange2(val){
- this.detectionSelect = val
- // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦甯�
- if(this.detectionItems.type == 1) {
- this.multiFiberList.forEach(item => {
- this.fibersList.forEach(a => {
- if(a.ident == item.ident){
- a.productList = []
- this.fibersList.find(a => a.ident == item.ident).productList = this.detectionSelect
- }
- })
- })
-
+ // 濂楃妫�娴嬮噺璧嬪��
+ addTestNum() {
+ if (this.selectBushing.length > 0) {
+ this.bushing.forEach((item) => {
+ this.selectBushing.forEach((a) => {
+ if (item.ident == a.ident) {
+ item.testNum = this.packageInfo.testNum;
+ }
+ });
+ });
}
- if(this.detectionItems.type == 0) {
- // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦
- console.log('000',this.selectFiberList);
- this.selectFiberList.forEach(item => {
- this.fiberList.forEach(a => {
- if(a.ident == item.ident){
- a.productList = []
- this.fiberList.find(a => a.ident == item.ident).productList = this.detectionSelect
- }
- })
- })
- }
- },
- handleSelectionChange4(val){
- this.selectFiberList = val
- },
- outConfig() {
- this.$parent.configShow = false
- },
- getTypeDicts1() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "鑹叉爣"
- }).then(res => {
- this.colors = res.data
- })
- },
- // 濂楃鏁扮洰鐢熸垚琛ㄦ牸鏁版嵁
- addBushing() {
- this.bushing = []
- for(let i = 0; i < this.packageInfo.num1; i++){
- let bushing = {
- ident: this.bushing.length + 1,
- color: this.colors[i].label,
- standNum: null,
- testNum: null,
- fibers: [],
- fiber: []
- }
- this.bushing.push(bushing)
- }
- },
- // 濂楃鏍囧噯閲忚祴鍊�
- addStandNum() {
- if(this.selectBushing.length > 0) {
- this.bushing.forEach(item => {
- this.selectBushing.forEach(a => {
- if(item.ident == a.ident) {
- item.standNum = this.packageInfo.standNum
- }
- })
- })
- }
- },
- // 濂楃妫�娴嬮噺璧嬪��
- addTestNum() {
- if(this.selectBushing.length > 0) {
- this.bushing.forEach(item => {
- this.selectBushing.forEach(a => {
- if(item.ident == a.ident) {
- item.testNum = this.packageInfo.testNum
- }
- })
- })
- }
- },
- isInspection() {
- this.fiberList = []
- this.fibersList = []
- this.detectionItems = []
+ },
+ isInspection() {
+ this.fiberList = [];
+ this.fibersList = [];
+ this.detectionItems = [];
- // 椤甸潰鏄惁鍚湁鍏夌氦甯�
- if(this.packageInfo.ismiers) {
- // 鍏ㄦ
- if (this.packageInfo.radio == 0) {
+ // 椤甸潰鏄惁鍚湁鍏夌氦甯�
+ if (this.packageInfo.ismiers) {
+ // 鍏ㄦ
+ if (this.packageInfo.radio == 0) {
// 鏍规嵁鏍囧噯閲忚祴鍊兼娴嬮噺
- if(parseInt(this.packageInfo.standNum) > 0 ) {
+ if (parseInt(this.packageInfo.standNum) > 0) {
// 缁欏厜绾ゅ甫璧嬪��
- this.packageInfo.testNum = this.packageInfo.standNum
- this.selectBushing = this.bushing
- this.addFibers()
- this.multiFiberList = this.fibersList
+ this.packageInfo.testNum = this.packageInfo.standNum;
+ this.selectBushing = this.bushing;
+ this.addFibers();
+ this.multiFiberList = this.fibersList;
// 榛樿鍕鹃��
setTimeout(() => {
- this.selectBushing.forEach(item =>{
- let rowToSelect = this.bushing.find(a => a.ident == item.ident)
- this.$refs.table0.toggleRowSelection(rowToSelect, true)
- })
+ this.selectBushing.forEach((item) => {
+ let rowToSelect = this.bushing.find(
+ (a) => a.ident == item.ident
+ );
+ this.$refs.table0.toggleRowSelection(rowToSelect, true);
+ });
- this.multiFiberList.forEach(item =>{
- let rowToSelect = this.fibersList.find(a => a.ident == item.ident)
- this.$refs.table2.toggleRowSelection(rowToSelect, true)
- })
- }, 200)
+ this.multiFiberList.forEach((item) => {
+ let rowToSelect = this.fibersList.find(
+ (a) => a.ident == item.ident
+ );
+ this.$refs.table2.toggleRowSelection(rowToSelect, true);
+ });
+ }, 200);
+ }
+ }
+ } else {
+ if (this.packageInfo.radio == 0) {
+ if (parseInt(this.packageInfo.standNum) > 0) {
+ this.packageInfo.testNum = this.packageInfo.standNum;
+ this.selectBushing = this.bushing;
+ this.addFiber();
+ // 榛樿鍕鹃��
+ setTimeout(() => {
+ this.selectBushing.forEach((item) => {
+ let rowToSelect = this.bushing.find(
+ (a) => a.ident == item.ident
+ );
+ this.$refs.table0.toggleRowSelection(rowToSelect, true);
+ });
+ }, 200);
+ }
}
}
- }else {
- if(this.packageInfo.radio == 0) {
- if(parseInt(this.packageInfo.standNum) > 0 ) {
- this.packageInfo.testNum = this.packageInfo.standNum
- this.selectBushing = this.bushing
- this.addFiber()
- // 榛樿鍕鹃��
- setTimeout(() => {
- this.selectBushing.forEach(item =>{
- let rowToSelect = this.bushing.find(a => a.ident == item.ident)
- this.$refs.table0.toggleRowSelection(rowToSelect, true)
- })
- }, 200)
- }
+ },
+ upNum() {
+ this.fiberList = [];
+ this.fibersList = [];
+ this.detectionItems = [];
+ if (this.packageInfo.radio === 0) {
+ this.packageInfo.testNum = this.packageInfo.standNum;
+ }
+ if (
+ parseInt(this.packageInfo.standNum) < parseInt(this.packageInfo.testNum)
+ ) {
+ this.packageInfo.testNum = this.packageInfo.standNum;
+ }
+ if (
+ this.packageInfo.num1 !== null &&
+ this.packageInfo.num1 !== "" &&
+ this.packageInfo.standNum !== null &&
+ this.packageInfo.standNum !== "" &&
+ this.packageInfo.testNum != null &&
+ this.packageInfo.testNum !== ""
+ ) {
+ let colors2 = [];
+ if (this.packageInfo.num1 / this.colors.length > 1) {
+ let num = this.packageInfo.num1 / this.colors.length;
+ if (this.packageInfo.num1 % this.colors.length > 0) num += 1;
+ for (var i = 0; i < num; i++) {
+ colors2 = colors2.concat(this.colors);
}
+ } else {
+ colors2 = colors2.concat(this.colors);
}
-
-
-
- },
- upNum() {
- this.fiberList = []
- this.fibersList = []
- this.detectionItems = []
- if (this.packageInfo.radio === 0) {
- this.packageInfo.testNum = this.packageInfo.standNum
+ this.bushing = [];
+ for (var i = 0; i < this.packageInfo.num1; i++) {
+ let bushing = {
+ color: colors2[i].dictLabel,
+ standNum: this.packageInfo.standNum,
+ testNum: this.packageInfo.testNum,
+ fibers: [],
+ fiber: [],
+ };
+ this.bushing.push(bushing);
}
- if (parseInt(this.packageInfo.standNum) < parseInt(this.packageInfo.testNum)) {
- this.packageInfo.testNum = this.packageInfo.standNum
- }
- if (this.packageInfo.num1 !== null && this.packageInfo.num1 !== '' &&
- this.packageInfo.standNum !== null && this.packageInfo.standNum !== '' &&
- this.packageInfo.testNum != null && this.packageInfo.testNum !== '') {
- let colors2 = []
- if (this.packageInfo.num1 / this.colors.length > 1) {
- let num = this.packageInfo.num1 / this.colors.length
- if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- for (var i = 0; i < num; i++) {
- colors2 = colors2.concat(this.colors)
- }
- } else {
- colors2 = colors2.concat(this.colors)
- }
- this.bushing = []
- for (var i = 0; i < this.packageInfo.num1; i++) {
- let bushing = {
- color: colors2[i].label,
- standNum: this.packageInfo.standNum,
- testNum: this.packageInfo.testNum,
- fibers: [],
- fiber: []
- }
- this.bushing.push(bushing)
- }
- // 缁欏厜绾ゅ甫璧嬪��
- if(this.selectBushing.length===0){
- this.selectBushing = this.bushing
+ // 缁欏厜绾ゅ甫璧嬪��
+ if (this.selectBushing.length === 0) {
+ this.selectBushing = this.bushing;
}
// this.miresModels 绾ゅ甫绫诲瀷
// this.miresStandards 鍙傝�冩爣鍑�
- this.fibersList = []
- this.packageInfo.ismiers = true
- this.fiberList = []
- this.selectBushing.forEach(a => {
- a.fiber = []
- a.fibers = []
- for(let j = 0; j < parseInt(a.testNum); j++){
- let fibers = {
- id: this.fibersList.length + 1,
- code: null,
- color: a.color,
- model: null,
- standard: null,
- num: a.testNum,
- productList: this.HaveJson(this.productList2),
- fiber: []
- }
- a.fibers.push(fibers)
- this.fibersList.push(fibers)
- }
- })
+ this.fibersList = [];
+ this.packageInfo.ismiers = true;
+ this.fiberList = [];
+ this.selectBushing.forEach((a) => {
+ a.fiber = [];
+ a.fibers = [];
+ for (let j = 0; j < parseInt(a.testNum); j++) {
+ let fibers = {
+ id: this.fibersList.length + 1,
+ code: null,
+ color: a.color,
+ model: null,
+ standard: null,
+ num: a.testNum,
+ productList: this.HaveJson(this.productList2),
+ fiber: [],
+ };
+ a.fibers.push(fibers);
+ this.fibersList.push(fibers);
+ }
+ });
} else {
- this.bushing = []
- }
- },
- getStandTreeBySampleType() {
- this.$axios.post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: '閫氫俊浜у搧瀹為獙瀹�',
- sampleType: '鍏夌氦'
- }).then(res => {
- this.mireModels = []
- res.data.forEach(a => {
- this.mireModels.push({
- label: a.model,
- value: a.sample + ' - ' + a.model
- })
- })
- })
- },
- getStandTreeBySampleType2() {
- this.$axios.post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: '閫氫俊浜у搧瀹為獙瀹�',
- sampleType: '鍏夌氦甯�'
- }).then(res => {
- this.miresModels = []
- res.data.forEach(a => {
- this.miresModels.push({
- label: a.model,
- value: a.model
- })
- })
- })
- },
- selectsStandardMethodByFLSSM() {
- this.mireStandards = []
- this.mireStandardLoading = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - ' + this.mireModel
- }).then(res => {
- this.mireStandardLoading = false
- this.mireStandards = res.data.standardMethodList
- })
- },
- selectsStandardMethodByFLSSM2() {
- this.miresStandards = []
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel
- }).then(res => {
- this.miresStandards = res.data.standardMethodList
- })
- },
- methodChange(val) {
- // if (val === null || val === '') return
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: this.mireModel.split(' - ')[1],
- // standardMethodListId: val,
- // factory: ''
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // res.data.forEach(a => {
- // a.state = 0
- // })
- // this.productList = res.data
- // setTimeout(() => {
- // this.productList.forEach(a => {
- // if (a.state == 1) this.toggleSelection(a)
- // })
- // this.addFiber()
- // }, 200)
- // })
-
- // 灏嗕笅鎷夋鍊艰祴鍊肩粰鍏夌氦 鐩戝惉鍘婚櫎
- if(this.selectFiberList.length == 0) {
- this.$message.error('璇烽�夋嫨鏁版嵁')
- return
- }
- this.selectFiberList.forEach(item => {
- this.fiberList.forEach(a => {
- if(a.ident == item.ident){
- a.model = this.mireModel.split(' - ')[1] // 鍏夌氦瑙勬牸
- a.noSplitModel = this.mireModel // 鍏夌氦瑙勬牸
- if(this.mireStandards != null) {
- a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code // 鍙傝�冩爣鍑�
- }
- }
- })
- })
- if (val === null || val === '') return
- if(this.mireStandards == null ) return
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: this.mireModel.split(' - ')[1],
- standardMethodListId: val,
- factory: ''
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- this.detectionItems = []
- if(res.data != null && res.data.length != 0){
- res.data.forEach(a => {
- a.state = 0
- })
- this.detectionItems = res.data
- this.detectionType = 0
- this.$set(this.detectionItems,'type',0)
- }
-
- })
- },
- methodChange2(val) {
- // if (val === null || val === '') return
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: '',
- // standardMethodListId: val,
- // factory: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel + ' - ',
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // res.data.forEach(a => {
- // a.state = 0
- // })
- // this.productList2 = res.data
- // setTimeout(() => {
- // this.productList2.forEach(a => {
- // if (a.state == 1) this.toggleSelection(a)
- // })
- // this.addFibers()
- // }, 200)
- // })
-
- if(this.multiFiberList.length == 0) {
- this.$message.error('璇烽�夋嫨闇�瑕佹洿鏀圭殑鏁版嵁')
- return
- }
- if (val === null || val === '') return
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: '',
- standardMethodListId: val,
- factory: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel + ' - ',
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
- }).then(res => {
- // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
- this.detectionItems = []
- if(res.data != null && res.data.length != 0){
- res.data.forEach(a => {
- a.state = 0
- })
- this.detectionItems = res.data
- this.detectionType = 1
- this.$set(this.detectionItems,'type',1)
- }
-
- // 缁欓�変腑鐨勫厜绾ゅ甫璧嬪��
- for(let i= 0; i < this.fibersList.length; i++){
- this.multiFiberList.forEach(item => {
- if(this.fibersList[i].ident == item.ident){
- this.fibersList[i].model = this.miresModel // 绾ゅ甫瑙勬牸
- this.fibersList[i].num = this.miresModel.replace('鑺�','') // 鍏夌氦妫�娴嬮噺
- this.fibersList[i].productList = this.detectionItems // 妫�娴嬮」
- this.miresStandards.forEach(a => {
- if(a.id == this.miresStandard) {
- this.fibersList[i].standard = a.code // 鍙傝�冩爣鍑�
- }
- })
- }
- })
- }
+ this.bushing = [];
+ }
+ },
+ getStandTreeBySampleType() {
+ getStandTreeBySampleType({
+ laboratory: "閫氫俊浜у搧瀹為獙瀹�",
+ sampleType: "鍏夌氦",
})
- },
- addFiber() {
- // 鏈�鏂�
- let colors2 = []
- if (this.packageInfo.num1 / this.colors.length > 1) {
- let num = this.packageInfo.num1 / this.colors.length
- if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- for (var i = 0; i < num; i++) {
- colors2 = colors2.concat(this.colors)
+ .then((res) => {
+ if (res.code === 200) {
+ this.mireModels = [];
+ res.data.forEach((a) => {
+ this.mireModels.push({
+ label: a.model,
+ value: a.sample + " - " + a.model,
+ });
+ });
}
- } else {
- colors2 = colors2.concat(this.colors)
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ getStandTreeBySampleType2() {
+ getStandTreeBySampleType({
+ laboratory: "閫氫俊浜у搧瀹為獙瀹�",
+ sampleType: "鍏夌氦甯�",
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.miresModels = [];
+ res.data.forEach((a) => {
+ this.miresModels.push({
+ label: a.model,
+ value: a.model,
+ });
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectsStandardMethodByFLSSM() {
+ this.mireStandards = [];
+ this.mireStandardLoading = true;
+ selectsStandardMethodByFLSSM({
+ tree: "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - " + this.mireModel,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.mireStandardLoading = false;
+ this.mireStandards = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectsStandardMethodByFLSSM2() {
+ this.miresStandards = [];
+ selectsStandardMethodByFLSSM({
+ tree: "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " + this.miresModel,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.miresStandards = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ methodChange(val) {
+ // 灏嗕笅鎷夋鍊艰祴鍊肩粰鍏夌氦 鐩戝惉鍘婚櫎
+ if (this.selectFiberList.length == 0) {
+ this.$message.error("璇烽�夋嫨鏁版嵁");
+ return;
+ }
+ this.selectFiberList.forEach((item) => {
+ this.fiberList.forEach((a) => {
+ if (a.ident == item.ident) {
+ a.model = this.mireModel.split(" - ")[1]; // 鍏夌氦瑙勬牸
+ a.noSplitModel = this.mireModel; // 鍏夌氦瑙勬牸
+ if (this.mireStandards != null) {
+ a.standard = this.mireStandards.find(
+ (a) => a.id == this.mireStandard
+ ).code; // 鍙傝�冩爣鍑�
+ }
+ }
+ });
+ });
+ if (val === null || val === "") return;
+ if (this.mireStandards == null) return;
+ selectStandardProductList({
+ model: this.mireModel.split(" - ")[1],
+ standardMethodListId: val,
+ factory: "",
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ this.detectionItems = res.data;
+ this.detectionType = 0;
+ this.$set(this.detectionItems, "type", 0);
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ methodChange2(val) {
+ if (this.multiFiberList.length == 0) {
+ this.$message.error("璇烽�夋嫨闇�瑕佹洿鏀圭殑鏁版嵁");
+ return;
+ }
+ if (val === null || val === "") return;
+ selectStandardProductList({
+ model: "",
+ standardMethodListId: val,
+ factory:
+ "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " +
+ this.miresModel +
+ " - ",
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ this.detectionItems = res.data;
+ this.detectionType = 1;
+ this.$set(this.detectionItems, "type", 1);
+ }
+
+ // 缁欓�変腑鐨勫厜绾ゅ甫璧嬪��
+ for (let i = 0; i < this.fibersList.length; i++) {
+ this.multiFiberList.forEach((item) => {
+ if (this.fibersList[i].ident == item.ident) {
+ this.fibersList[i].model = this.miresModel; // 绾ゅ甫瑙勬牸
+ this.fibersList[i].num = this.miresModel.replace("鑺�", ""); // 鍏夌氦妫�娴嬮噺
+ this.fibersList[i].productList = this.detectionItems; // 妫�娴嬮」
+ this.miresStandards.forEach((a) => {
+ if (a.id == this.miresStandard) {
+ this.fibersList[i].standard = a.code; // 鍙傝�冩爣鍑�
+ }
+ });
+ }
+ });
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ addFiber() {
+ // 鏈�鏂�
+ let colors2 = [];
+ if (this.packageInfo.num1 / this.colors.length > 1) {
+ let num = this.packageInfo.num1 / this.colors.length;
+ if (this.packageInfo.num1 % this.colors.length > 0) num += 1;
+ for (var i = 0; i < num; i++) {
+ colors2 = colors2.concat(this.colors);
}
- this.fiberList = []
- // 閫夋嫨浜嗗厜绾ゅ甫
- if (this.packageInfo.ismiers) {
- if(this.multiFiberList.length != 0){
- this.multiFiberList.forEach((a,index) => {
- a.fiber = []
+ } else {
+ colors2 = colors2.concat(this.colors);
+ }
+ this.fiberList = [];
+ // 閫夋嫨浜嗗厜绾ゅ甫
+ if (this.packageInfo.ismiers) {
+ if (this.multiFiberList.length != 0) {
+ this.multiFiberList.forEach((a, index) => {
+ a.fiber = [];
for (var i = 0; i < parseInt(a.num); i++) {
let fiber = {
ident: this.fiberList.length + 1,
bushColor: a.color,
- color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
+ color:
+ colors2[
+ i + parseInt(a.num) * index > colors2.length
+ ? 0
+ : i + parseInt(a.num) * index * index
+ ].dictLabel,
model: null,
noSplitModel: null,
standard: null,
fibersIdent: a.ident,
- productList: []
- }
- this.fiberList.push(fiber)
+ productList: [],
+ };
+ this.fiberList.push(fiber);
}
- })
+ });
} else {
- this.selectBushing.forEach((a,index) => {
- a.fiber = []
+ this.selectBushing.forEach((a, index) => {
+ a.fiber = [];
for (var i = 0; i < parseInt(a.testNum); i++) {
let fiber = {
ident: this.fiberList.length + 1,
bushColor: a.color,
- color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
+ color:
+ colors2[
+ i + parseInt(a.testNum) * index > colors2.length
+ ? 0
+ : i + parseInt(a.testNum) * index
+ ].dictLabel,
model: null,
noSplitModel: null,
standard: null,
- productList: []
- }
- this.fiberList.push(fiber)
+ productList: [],
+ };
+ this.fiberList.push(fiber);
}
- })
+ });
}
- }else {
- this.fiberList = []
- let flag = true
+ } else {
+ this.fiberList = [];
+ let flag = true;
// 鎸夌収椤哄簭鐢熸垚鍏夌氦鑹叉爣
- let colors2 = []
+ let colors2 = [];
if (this.packageInfo.num1 / this.colors.length > 1) {
- let num = this.packageInfo.num1 / this.colors.length
- if (this.packageInfo.num1 % this.colors.length > 0) num += 1
+ let num = this.packageInfo.num1 / this.colors.length;
+ if (this.packageInfo.num1 % this.colors.length > 0) num += 1;
for (var i = 0; i < num; i++) {
- colors2 = colors2.concat(this.colors)
+ colors2 = colors2.concat(this.colors);
}
} else {
- colors2 = colors2.concat(this.colors)
+ colors2 = colors2.concat(this.colors);
}
// 鏍规嵁濂楃鐨勬祴璇曢噺鐢熸垚瀵瑰簲鐨勬暟閲忕殑鍏夌氦鏁版嵁
- this.selectBushing.forEach((item,index) =>{
- if(item.testNum != null && item.testNum != ''){
- for(let i =0; i < parseInt(item.testNum); i++){
+ this.selectBushing.forEach((item, index) => {
+ if (item.testNum != null && item.testNum != "") {
+ for (let i = 0; i < parseInt(item.testNum); i++) {
let fiber = {
ident: this.fiberList.length + 1,
bushColor: item.color,
- color: colors2[(i+(parseInt(item.testNum)*index))>colors2.length?0:i+(parseInt(item.testNum)*index)*index].label,
- model: null,
+ color:
+ colors2[
+ i + parseInt(item.testNum) * index > colors2.length
+ ? 0
+ : i + parseInt(item.testNum) * index * index
+ ].dictLabel,
+ model: null,
standard: null,
- productList: []
- }
- this.fiberList.push(fiber)
+ productList: [],
+ };
+ this.fiberList.push(fiber);
}
- }else {
- flag = false
+ } else {
+ flag = false;
}
- })
- if(!flag){
- this.$message.error('璇峰~鍐欏厜绾ゆ娴嬮噺')
- return
+ });
+ if (!flag) {
+ this.$message.error("璇峰~鍐欏厜绾ゆ娴嬮噺");
+ return;
}
}
- // 浜屼唬
- // // 鏄惁閫夋嫨濂楃
- // if(this.selectBushing.length == 0) {
- // this.$message.error('鏈�夋嫨濂楃')
- // return
- // }
- // this.fiberList = []
- // let flag = true
- // // 鎸夌収椤哄簭鐢熸垚鍏夌氦鑹叉爣
- // let colors2 = []
- // if (this.packageInfo.num1 / this.colors.length > 1) {
- // let num = this.packageInfo.num1 / this.colors.length
- // if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- // for (var i = 0; i < num; i++) {
- // colors2 = colors2.concat(this.colors)
- // }
- // } else {
- // colors2 = colors2.concat(this.colors)
- // }
- // // 鏍规嵁濂楃鐨勬祴璇曢噺鐢熸垚瀵瑰簲鐨勬暟閲忕殑鍏夌氦鏁版嵁
- // this.selectBushing.forEach((item,index) =>{
- // if(item.testNum != null && item.testNum != ''){
- // for(let i =0; i < parseInt(item.testNum); i++){
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: item.color,
- // color: colors2[(i+(parseInt(item.testNum)*index))>colors2.length?0:i+(parseInt(item.testNum)*index)*index].label,
- // model: null,
- // standard: null,
- // productList: []
- // }
- // this.fiberList.push(fiber)
- // }
- // }else {
- // flag = false
- // }
- // })
- // if(!flag){
- // this.$message.error('璇峰~鍐欏厜绾ゆ娴嬮噺')
- // return
- // }
-
-
- // 鏈�鍒�
- // let colors2 = []
- // if (this.packageInfo.num1 / this.colors.length > 1) {
- // let num = this.packageInfo.num1 / this.colors.length
- // if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- // for (var i = 0; i < num; i++) {
- // colors2 = colors2.concat(this.colors)
- // }
- // } else {
- // colors2 = colors2.concat(this.colors)
- // }
- // this.fiberList = []
- // let model = this.mireModel.split(' - ')[1]
- // let standard = this.mireStandards.find(a => a.id == this.mireStandard).code
- // if (this.packageInfo.ismiers) {
- // if(this.selectFibers.length === 0){
- // this.$message.error('鏈�夋嫨鍏夌氦甯�')
- // return
- // }
- // this.selectFibers.forEach((a,index) => {
- // a.fiber = []
- // for (var i = 0; i < parseInt(a.num); i++) {
- // let fiber = {
- // bushColor: a.color,
- // color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- // model: model,
- // standard: standard,
- // productList: this.HaveJson(this.productList)
- // }
- // a.fiber.push(fiber)
- // this.fiberList.push(fiber)
- // }
- // })
- // } else {
- // this.selectBushing.forEach((a,index) => {
- // a.fiber = []
- // for (var i = 0; i < parseInt(a.testNum); i++) {
- // let fiber = {
- // bushColor: a.color,
- // color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
- // model: model,
- // standard: standard,
- // productList: this.HaveJson(this.productList)
- // }
- // a.fiber.push(fiber)
- // this.fiberList.push(fiber)
- // }
- // })
- // }
- },
- addFibers() {
- // if(this.selectBushing.length===0){
- // this.$message.error('鏈�夋嫨濂楃')
- // return
- // }
- // this.fibersList = []
- // let standard = this.miresStandards.find(a => a.id == this.miresStandard).code
- // this.packageInfo.ismiers = true
- // this.fiberList = []
- // this.selectBushing.forEach(a => {
- // a.fiber = []
- // a.fibers = []
- // for (var i = 0; i < parseInt(a.testNum); i++) {
- // let fibers = {
- // code: null,
- // color: a.color,
- // model: this.miresModel,
- // standard: standard,
- // num: a.testNum,
- // productList: this.HaveJson(this.productList2),
- // fiber: []
- // }
- // a.fibers.push(fibers)
- // this.fibersList.push(fibers)
- // }
- // })
-
- if(this.selectBushing.length == 0) {
- this.$message.error('鏈�夋嫨濂楃')
- return
- }
- // 濂楃鐨勬祴璇曢噺 * 閫夋嫨鐨勫厜绾ゅ甫鏁伴噺
- this.fibersList = []
- this.selectBushing.forEach(item => {
- for(let i = 0; i < parseInt(this.packageInfo.testNum); i++){
+ },
+ addFibers() {
+ if (this.selectBushing.length == 0) {
+ this.$message.error("鏈�夋嫨濂楃");
+ return;
+ }
+ // 濂楃鐨勬祴璇曢噺 * 閫夋嫨鐨勫厜绾ゅ甫鏁伴噺
+ this.fibersList = [];
+ this.selectBushing.forEach((item) => {
+ for (let i = 0; i < parseInt(this.packageInfo.testNum); i++) {
let fibers = {
ident: this.fibersList.length + 1,
color: item.color,
@@ -1097,503 +1229,428 @@
standard: null,
num: null,
fiber: [],
- productList: []
- }
- this.fibersList.push(fibers)
+ productList: [],
+ };
+ this.fibersList.push(fibers);
}
- })
- },
- rowClickFiber(row, column, event,type){
- console.log('row',row);
- if(type == 1) {
- this.fiberList = row.fiber
- if(row.productList != null && row.productList.length > 0) {
- this.detectionItems = []
- this.detectionItems = row.productList
- }
- if(row.fiber != null && row.fiber.length > 0) {
- this.fiberList = []
- this.fiberList = row.fiber
- }
- }else if (type == 0){
- this.detectionItems = []
- this.detectionItems = row.productList
- }
- // if(type == 1) {
- // if((row.model == null || row.model == '') && (row.standard == null || row.standard == '')){
- // this.detectionItems = []
- // return
- // }
- // if(row.model != null && row.model != ''){
- // this.miresModel = row.model
- // this.selectsStandardMethodByFLSSM2()
- // }
- // setTimeout(() => {
- // if(row.standard !=null && row.standard != ''){
- // this.miresStandard = this.miresStandards.find(a => a.code == row.standard).id
- // }
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: '',
- // standardMethodListId: this.miresStandard,
- // factory: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel + ' - ',
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
- // this.detectionItems = []
- // if(res.data != null && res.data.length != 0){
- // this.detectionItems = res.data
- // this.detectionType = 1
- // this.$set(this.detectionItems,'type',1)
- // if (row.productList != null && row.productList.length > 0) {
- // let product = JSON.parse(JSON.stringify(row.productList))
- // setTimeout(() => {
- // product.forEach(p => {
- // let rowToSelect = this.detectionItems.find(item => item.id === p.id);
- // if (rowToSelect) {
- // this.toggleSelection(rowToSelect);
- // }
- // });
- // },200)
- // }
- // }
- // })
- // },1000)
- // }else if(type == 0) {
- // if((row.noSplitModel == null || row.noSplitModel == '') && (row.standard == null || row.standard == '')){
- // this.detectionItems = []
- // return
- // }
- // if(row.model != null && row.model != ''){
- // this.mireModel = row.noSplitModel
- // this.selectsStandardMethodByFLSSM()
- // }
- // setTimeout(() => {
- // if(row.standard !=null && row.standard != ''){
- // this.mireStandard = this.mireStandards.find(a => a.code == row.standard).id
- // }
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: this.mireModel.split(' - ')[1],
- // standardMethodListId: this.mireStandard,
- // factory: ''
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // this.detectionItems = []
- // if(res.data != null && res.data.length != 0){
- // res.data.forEach(a => {
- // a.state = 0
- // })
- // this.detectionItems = res.data
- // this.detectionType = 0
- // this.$set(this.detectionItems,'type',0)
-
- // if (row.productList != null && row.productList.length > 0) {
- // let product = JSON.parse(JSON.stringify(row.productList))
- // setTimeout(() => {
- // product.forEach(p => {
- // let rowToSelect = this.detectionItems.find(item => item.id === p.id);
- // if (rowToSelect) {
- // this.toggleSelection(rowToSelect);
- // }
- // });
- // },200)
- // }
- // }
- // })
- // },1000);
- // }
+ });
},
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
+ rowClickFiber(row, column, event, type) {
+ console.log("row", row);
+ if (type == 1) {
+ this.fiberList = row.fiber;
+ if (row.productList != null && row.productList.length > 0) {
+ this.detectionItems = [];
+ this.detectionItems = row.productList;
}
- return '';
- },
- handleAll(e) {
- if (e.length > 0) {
- console.log(this.detectionItems);
- this.detectionItems.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.detectionItems.map(m => {
- m.state = 0
- return m
- })
+ if (row.fiber != null && row.fiber.length > 0) {
+ this.fiberList = [];
+ this.fiberList = row.fiber;
}
- if (e.length > 0) {
- if(this.multiFiberList.length > 0){
- this.multiFiberList.map(item => {
- item.productList.map(m=>{
- m.state = 1;
- return m;
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
+ } else if (type == 0) {
+ this.detectionItems = [];
+ this.detectionItems = row.productList;
+ }
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (row.state === 0) {
+ return "warning-row";
+ }
+ return "";
+ },
+ handleAll(e) {
+ if (e.length > 0) {
+ console.log(this.detectionItems);
+ this.detectionItems.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ } else {
+ this.detectionItems.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ if (e.length > 0) {
+ if (this.multiFiberList.length > 0) {
+ this.multiFiberList.map((item) => {
+ item.productList.map((m) => {
m.state = 1;
return m;
- })
- }
+ });
+ return item;
+ });
} else {
- if(this.multiFiberList.length > 0){
- this.multiFiberList.map(item => {
- item.productList.map(m=>{
- m.state = 0;
- return m;
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
+ this.currentDetectionItems.productList.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ }
+ } else {
+ if (this.multiFiberList.length > 0) {
+ this.multiFiberList.map((item) => {
+ item.productList.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ return item;
+ });
+ } else {
+ this.currentDetectionItems.productList.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ }
+ this.bsmRow3 = [];
+ this.detectionItems.forEach((p) => {
+ if (this.type == 1) {
+ if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 1
+ ) {
+ if (p.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(p);
+ }
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 0
+ ) {
+ this.bsm1 = false;
+ }
+ if (
+ p.bsm === "1" &&
+ p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length > 1 &&
+ p.state === 1
+ ) {
+ this.bsm2 = true;
+ this.bsm1Dia = true;
+ if (this.bsm2Val2.length === 0) {
+ this.bsm2Val =
+ ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+ this.computationalPairing(this.sampleList.length);
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+ }
+ } else if (
+ p.bsm === "1" &&
+ p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ p.state === 1
+ ) {
+ this.bsm2 = false;
+ }
+ }
+ // if (p.ask.includes('RTS')&&p.state === 1) {
+ // p.rts = ''
+ // this.bsm3Val = ''
+ // this.bsm3Dia = true
+ // this.bsmRow3.push(p)
+ // }
+ });
+
+ if (e.length > 0) {
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ }
+ return item;
+ });
+ } else {
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
m.state = 0;
return m;
});
}
- }
- this.bsmRow3 = []
- this.detectionItems.forEach(p => {
- if(this.type==1){
- if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- if (p.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(p)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- this.bsm1 = false
+ return item;
+ });
+ }
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout();
+ });
+ },
+ upProductSelect(selection, row) {
+ row.state = row.state == 1 ? 0 : 1;
+ if (this.selectFiberList.length > 0) {
+ this.selectFiberList.map((item) => {
+ item.productList.map((m) => {
+ if (m.id == row.id) {
+ m.state = row.state;
}
- if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && p.state === 1) {
- this.bsm2 = true
- this.bsm1Dia = true
- if(this.bsm2Val2.length === 0){
- this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- this.computationalPairing(this.sampleList.length)
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- }
- } else if (p.bsm === '1' && p.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && p.state === 1) {
- this.bsm2 = false
- }
+ return m;
+ });
+ return item;
+ });
+ } else {
+ this.currentDetectionItems.productList.map((m) => {
+ if (m.id == row.id) {
+ m.state = row.state;
}
- // if (p.ask.includes('RTS')&&p.state === 1) {
- // p.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3.push(p)
- // }
- })
-
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- if(this.selectFiberList.length > 0){
- this.selectFiberList.map(item => {
- item.productList.map(m=>{
- if(m.id == row.id){
- m.state = row.state;
- }
- return m
- })
- return item
- })
- }else{
- this.currentDetectionItems.productList.map(m=>{
- if(m.id == row.id){
- m.state = row.state;
- }
- return m;
- });
- }
- if(this.type==1){
- if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- if (row.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(row)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- this.bsm1 = false
+ return m;
+ });
+ }
+ if (this.type == 1) {
+ if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 1
+ ) {
+ if (row.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(row);
}
- if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && this.sampleList.length > 1 && row.state === 1) {
- this.bsm2 = true
- this.bsm1Dia = true
- if(this.bsm2Val2.length === 0){
- this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
- this.computationalPairing(this.sampleList.length)
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
- }
- } else if (row.bsm === '1' && row.inspectionItem === '鍏夌氦鎺ュご鎹熻��' && row.state === 1) {
- this.bsm2 = false
- }
- }else{
- this.bsm1Dia = false
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 0
+ ) {
+ this.bsm1 = false;
}
- // if (row.ask.includes('RTS')&&row.state === 1) {
- // this.bsmRow3 = null;
- // row.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3 = row
- // }else{
- // this.bsm3Dia = false
- // }
- },
- computationalPairing(n){
- const nums = [];
- for (let i = 1; i <= n; i++) {
- nums.push(i);
- }
- this.bsm2Val3 = this.HaveJson(this.permute(nums))
- },
- setClassName({ column }) {
- if (column.type == 'selection' && !this.isAllDisabled) {
- return 'all-disabled'
- }
- },
- setClassName0({ column }){
- if (column.type == 'selection' && this.active!=1) {
- return 'all-disabled'
- }
- },
- clearFibers(){
- this.packageInfo.ismiers = false
- this.fibersList = []
- this.bushing.forEach(a=>{
- a.fibers = []
- })
- },
- save(){
- // if(this.bushing.length === 0){
- // this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- // return
- // }
- // for(let a in this.bushing){
- // if(this.bushing[a].fibers.length===0&&this.bushing[a].fiber.length===0){
- // this.$message.error(this.bushing[a].color+'绠¤壊鏍囧绠$己灏戦厤缃棤娉曚繚瀛�')
- // return
- // }
- // }
- // this.sample.forEach(a=>{
- // a.bushing = this.bushing
- // })
- // this.$message.success('宸蹭繚瀛�')
- // this.$emit('saveFiberopticConfig')
-
- if(this.bushing.length === 0){
- this.$message.error('缂哄皯濂楃鏃犳硶淇濆瓨')
- return
- }
- this.bushing.forEach(item=>{
- // 濡傛灉鍏夌氦甯︽湁鍊�
- if(this.fibersList.length != 0) {
- this.fibersList.forEach(a=>{
- a.fiber = this.fiberList.filter(b=>b.fibersIdent == a.ident)
- })
- item.fibers = this.fibersList // 鍏夌氦甯�
- item.fiber = [] // 鍏夌氦
- }else {
- // 濡傛灉鍏夌氦甯︽病鏈夊��
- item.fibers = [] // 鍏夌氦甯�
- item.fiber = this.fiberList // 鍏夌氦
- }
- })
- this.sample.forEach(a=>{
- a.bushing = this.bushing
- })
- this.$message.success('宸蹭繚瀛�')
- this.$emit("saveFiberopticConfig");
- },
- beforeClose(done){
- if (this.bsm1) {
- if (this.bsm1Val === null || this.bsm1Val === '') {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- }
- if (this.bsm2) {
+ if (
+ row.bsm === "1" &&
+ row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ this.sampleList.length > 1 &&
+ row.state === 1
+ ) {
+ this.bsm2 = true;
+ this.bsm1Dia = true;
if (this.bsm2Val2.length === 0) {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
+ this.bsm2Val =
+ ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+ this.computationalPairing(this.sampleList.length);
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
}
- let set = new Set()
- for (let i=0;i<this.bsm2Val2.length;i++){
- let num0 = set.size
- set.add(JSON.stringify(this.bsm2Val2[i]))
- let num1 = set.size
- if(num1==num0){
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- set.add(JSON.stringify(this.bsm2Val2[i].reverse()))
- let num2 = set.size
- if(num1==num2){
- this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- return
- }
- }
+ } else if (
+ row.bsm === "1" &&
+ row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+ row.state === 1
+ ) {
+ this.bsm2 = false;
}
- done()
- },
- beforeClose0(done){
- if(!this.bsm3Val){
- this.$message.error('RST蹇呴』濉啓')
- return
- }else{
- if(Array.isArray(this.bsmRow3)){
- this.bsmRow3.forEach(item=>{
- item.rts = this.bsm3Val
- })
- }else{
- this.bsmRow3.rts = this.bsm3Val
- }
+ } else {
+ this.bsm1Dia = false;
+ }
+ },
+ computationalPairing(n) {
+ const nums = [];
+ for (let i = 1; i <= n; i++) {
+ nums.push(i);
+ }
+ this.bsm2Val3 = this.HaveJson(this.permute(nums));
+ },
+ setClassName({ column }) {
+ if (column.type == "selection" && !this.isAllDisabled) {
+ return "all-disabled";
+ }
+ },
+ setClassName0({ column }) {
+ if (column.type == "selection" && this.active != 1) {
+ return "all-disabled";
+ }
+ },
+ clearFibers() {
+ this.packageInfo.ismiers = false;
+ this.fibersList = [];
+ this.bushing.forEach((a) => {
+ a.fibers = [];
+ });
+ },
+ save() {
+ if (this.bushing.length === 0) {
+ this.$message.error("缂哄皯濂楃鏃犳硶淇濆瓨");
+ return;
+ }
+ this.bushing.forEach((item) => {
+ // 濡傛灉鍏夌氦甯︽湁鍊�
+ if (this.fibersList.length != 0) {
+ this.fibersList.forEach((a) => {
+ a.fiber = this.fiberList.filter((b) => b.fibersIdent == a.ident);
+ });
+ item.fibers = this.fibersList; // 鍏夌氦甯�
+ item.fiber = []; // 鍏夌氦
+ } else {
+ // 濡傛灉鍏夌氦甯︽病鏈夊��
+ item.fibers = []; // 鍏夌氦甯�
+ item.fiber = this.fiberList; // 鍏夌氦
}
- done()
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- bsm2Up(val){
- let list = []
- for(let a=1;a < this.bsm2Val3.length + 1;a++){
- list.push(a)
- }
- let set = new Set()
- let size1 = set.length
- while(set.size < val){
- set.add(Math.ceil(Math.random() * this.bsm2Val3.length))
- }
- this.bsm2Val2 = []
- for(let a of set){
- this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a-1]))
+ });
+ this.sample.forEach((a) => {
+ a.bushing = this.bushing;
+ });
+ this.$message.success("宸蹭繚瀛�");
+ this.$emit("saveFiberopticConfig");
+ },
+ beforeClose(done) {
+ if (this.bsm1) {
+ if (this.bsm1Val === null || this.bsm1Val === "") {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
}
}
- }
- }
+ if (this.bsm2) {
+ if (this.bsm2Val2.length === 0) {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
+ }
+ let set = new Set();
+ for (let i = 0; i < this.bsm2Val2.length; i++) {
+ let num0 = set.size;
+ set.add(JSON.stringify(this.bsm2Val2[i]));
+ let num1 = set.size;
+ if (num1 == num0) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+ let num2 = set.size;
+ if (num1 == num2) {
+ this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+ return;
+ }
+ }
+ }
+ done();
+ },
+ beforeClose0(done) {
+ if (!this.bsm3Val) {
+ this.$message.error("RST蹇呴』濉啓");
+ return;
+ } else {
+ if (Array.isArray(this.bsmRow3)) {
+ this.bsmRow3.forEach((item) => {
+ item.rts = this.bsm3Val;
+ });
+ } else {
+ this.bsmRow3.rts = this.bsm3Val;
+ }
+ }
+ done();
+ },
+ upBsm1(val) {
+ let sections = JSON.parse(this.bsmRow.section);
+ let asks = JSON.parse(this.bsmRow.ask);
+ let tells = JSON.parse(this.bsmRow.tell);
+ let manHours = JSON.parse(this.bsmRow.manHour);
+ let prices = JSON.parse(this.bsmRow.price);
+ for (var a in sections) {
+ if (val === sections[a]) {
+ this.productList.forEach((p) => {
+ if (p.id === this.bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ break;
+ }
+ }
+ },
+ bsm2Up(val) {
+ let list = [];
+ for (let a = 1; a < this.bsm2Val3.length + 1; a++) {
+ list.push(a);
+ }
+ let set = new Set();
+ let size1 = set.length;
+ while (set.size < val) {
+ set.add(Math.ceil(Math.random() * this.bsm2Val3.length));
+ }
+ this.bsm2Val2 = [];
+ for (let a of set) {
+ this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1]));
+ }
+ },
+ },
+};
</script>
<style scoped>
- .ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
+.ins_order_config {
+ width: 100%;
+ height: 100%;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 10px 15px;
+}
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
+.ins_order_config::-webkit-scrollbar {
+ width: 0;
+}
- .title {
- height: 60px;
- line-height: 60px;
- }
+.title {
+ height: 60px;
+ line-height: 60px;
+}
- .center {
- width: 100%;
- height: calc(100% - 60px);
- }
+.center {
+ width: 100%;
+ height: calc(100% - 60px);
+}
- .grid-content {
- background: #fff;
- border-radius: 4px;
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.05);
- }
+.grid-content {
+ background: #fff;
+ border-radius: 4px;
+ box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.05);
+}
- .grid-content h5 {
- color: #3A7BFA;
- font-weight: 400;
- line-height: 32px;
- padding-left: 16px;
- box-sizing: border-box;
- border-bottom: 1px solid #eee;
- }
+.grid-content h5 {
+ color: #3a7bfa;
+ font-weight: 400;
+ line-height: 32px;
+ padding-left: 16px;
+ box-sizing: border-box;
+ border-bottom: 1px solid #eee;
+}
- .search-item {
- display: flex;
- align-items: center;
- line-height: 36px;
- }
+.search-item {
+ display: flex;
+ align-items: center;
+ line-height: 36px;
+}
- .search-item label {
- width: 90px;
- font-size: 12px;
- color: #606266;
- /* text-align: right; */
- }
+.search-item label {
+ width: 90px;
+ font-size: 12px;
+ color: #606266;
+ /* text-align: right; */
+}
- .btns {
- margin: 8px 0 8px 10px;
- }
+.btns {
+ margin: 8px 0 8px 10px;
+}
- >>>.el-table th.el-table__cell>.cell {
- padding-top: 2px !important;
- padding-bottom: 2px !important;
- }
- >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
- background-color: #edf2fc;
- border-color: #dcdfe6;
- cursor: not-allowed;
- }
- .models{
- font-size:14px;
- width:320px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
+>>> .el-table th.el-table__cell > .cell {
+ padding-top: 2px !important;
+ padding-bottom: 2px !important;
+}
+>>> .all-disabled .el-checkbox__input .el-checkbox__inner {
+ background-color: #edf2fc;
+ border-color: #dcdfe6;
+ cursor: not-allowed;
+}
+.models {
+ font-size: 14px;
+ width: 300px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
</style>
diff --git a/src/views/business/inspectionOrder/fiberoptic-config.vue b/src/views/business/inspectionOrder/fiberoptic-config.vue
index eeeb0dc..b88a619 100644
--- a/src/views/business/inspectionOrder/fiberoptic-config.vue
+++ b/src/views/business/inspectionOrder/fiberoptic-config.vue
@@ -119,8 +119,8 @@
<el-option
v-for="(color, i) in colors"
:key="i"
- :label="color.lable"
- :value="color.value"
+ :label="color.dictLable"
+ :value="color.dictValue"
></el-option>
</el-select>
</template>
@@ -551,8 +551,8 @@
<el-option
v-for="(color, i) in colors"
:key="i"
- :label="color.lable"
- :value="color.value"
+ :label="color.dictLable"
+ :value="color.dictValue"
></el-option>
</el-select>
</template>
@@ -796,6 +796,15 @@
</template>
<script>
+import { getDicts } from "@/api/system/dict/data";
+import {
+ getStandTreeBySampleType,
+ selectStandardTreeList2,
+ selectStandardMethodEnum,
+ selectsStandardMethodByFLSSM,
+ selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+import { permute } from "@/api/business/inspectionOrder";
export default {
props: {
active: {
@@ -999,8 +1008,8 @@
let color = this.colors[i];
for (let j = 0; j < newFiberList.length; j++) {
let newColor = newFiberList[j];
- if (color.value == newColor[0]) {
- newFiberList[j].push(color.orderNum);
+ if (color.dictValue == newColor[0]) {
+ newFiberList[j].push(color.dictSort);
}
}
}
@@ -1279,12 +1288,14 @@
this.$parent.configShow = false;
},
getTypeDicts1() {
- this.$axios
- .post(this.$api.enums.selectEnumByCategory, {
- category: "鑹叉爣",
- })
+ getDicts("fiber_color_type")
.then((res) => {
- this.colors = res.data;
+ if (res.code === 200) {
+ this.colors = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
// 濂楃鏁扮洰鐢熸垚琛ㄦ牸鏁版嵁
@@ -1293,7 +1304,7 @@
for (let i = 0; i < this.packageInfo.num1; i++) {
let bushing = {
ident: this.bushing.length + 1,
- color: this.colors[i].label,
+ color: this.colors[i].dictLabel,
standNum: null,
testNum: null,
fibers: [],
@@ -1366,11 +1377,6 @@
this.multiFiberList = this.fibersList;
// 榛樿鍕鹃��
setTimeout(() => {
- // this.selectBushing.forEach(item =>{
- // let rowToSelect = this.bushing.find(a => a.ident == item.ident)
- // this.$refs.table0.toggleRowSelection(rowToSelect, true)
- // })
-
this.multiFiberList.forEach((item) => {
let rowToSelect = this.fibersList.find(
(a) => a.ident == item.ident
@@ -1401,10 +1407,6 @@
this.addFiber(1);
// 榛樿鍕鹃��
setTimeout(() => {
- // this.selectBushing.forEach(item =>{
- // let rowToSelect = this.bushing.find(a => a.ident == item.ident)
- // this.$refs.table0.toggleRowSelection(rowToSelect, true)
- // })
this.fiberList.forEach((item) => {
this.$refs.table3.toggleRowSelection(item, true);
});
@@ -1446,7 +1448,7 @@
this.bushing = [];
for (var i = 0; i < this.packageInfo.num1; i++) {
let bushing = {
- color: colors2[i].label,
+ color: colors2[i].dictLabel,
standNum: this.packageInfo.standNum,
testNum: this.packageInfo.testNum,
fibers: [],
@@ -1486,83 +1488,76 @@
}
},
getStandTreeBySampleType() {
- this.$axios
- .post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: "閫氫俊浜у搧瀹為獙瀹�",
- sampleType: "鍏夌氦",
- })
+ getStandTreeBySampleType({
+ laboratory: "閫氫俊浜у搧瀹為獙瀹�",
+ sampleType: "鍏夌氦",
+ })
.then((res) => {
- this.mireModels = [];
- res.data.forEach((a) => {
- this.mireModels.push({
- label: a.model,
- value: a.sample + " - " + a.model,
+ if (res.code === 200) {
+ this.mireModels = [];
+ res.data.forEach((a) => {
+ this.mireModels.push({
+ label: a.model,
+ value: a.sample + " - " + a.model,
+ });
});
- });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
getStandTreeBySampleType2() {
- this.$axios
- .post(this.$api.standardTree.getStandTreeBySampleType, {
- laboratory: "閫氫俊浜у搧瀹為獙瀹�",
- sampleType: "鍏夌氦甯�",
- })
+ getStandTreeBySampleType({
+ laboratory: "閫氫俊浜у搧瀹為獙瀹�",
+ sampleType: "鍏夌氦甯�",
+ })
.then((res) => {
- this.miresModels = [];
- res.data.forEach((a) => {
- this.miresModels.push({
- label: a.model,
- value: a.model,
+ if (res.code === 200) {
+ this.miresModels = [];
+ res.data.forEach((a) => {
+ this.miresModels.push({
+ label: a.model,
+ value: a.model,
+ });
});
- });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
selectsStandardMethodByFLSSM() {
this.mireStandards = [];
this.mireStandardLoading = true;
- this.$axios
- .post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - " + this.mireModel,
- })
+ selectsStandardMethodByFLSSM({
+ tree: "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦 - " + this.mireModel,
+ })
.then((res) => {
- this.mireStandardLoading = false;
- this.mireStandards = res.data.standardMethodList;
+ if (res.code === 200) {
+ this.mireStandardLoading = false;
+ this.mireStandards = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
selectsStandardMethodByFLSSM2() {
this.miresStandards = [];
- this.$axios
- .post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree:
- "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " + this.miresModel,
- })
+ selectsStandardMethodByFLSSM({
+ tree: "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " + this.miresModel,
+ })
.then((res) => {
- this.miresStandards = res.data.standardMethodList;
+ if (res.code === 200) {
+ this.miresStandards = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
methodChange(val) {
- // if (val === null || val === '') return
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: this.mireModel.split(' - ')[1],
- // standardMethodListId: val,
- // factory: ''
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // res.data.forEach(a => {
- // a.state = 0
- // })
- // this.productList = res.data
- // setTimeout(() => {
- // this.productList.forEach(a => {
- // if (a.state == 1) this.toggleSelection(a)
- // })
- // this.addFiber()
- // }, 200)
- // })
-
// 灏嗕笅鎷夋鍊艰祴鍊肩粰鍏夌氦 鐩戝惉鍘婚櫎
if (this.selectFiberList.length == 0) {
this.$message.error("璇烽�夋嫨鏁版嵁");
@@ -1571,135 +1566,91 @@
if (val === null || val === "") return;
if (this.mireStandards == null) return;
- this.$axios
- .post(
- this.$api.standardTree.selectStandardProductList,
- {
- model: this.mireModel.split(" - ")[1],
- standardMethodListId: val,
- factory: "",
- },
- {
- headers: {
- "Content-Type": "application/json",
- },
- }
- )
+ selectStandardProductList({
+ model: this.mireModel.split(" - ")[1],
+ standardMethodListId: val,
+ factory: "",
+ })
.then((res) => {
- this.detectionItems = [];
- if (res.data != null && res.data.length != 0) {
- res.data.forEach((a) => {
- a.state = 0;
- });
- this.detectionItems = res.data;
- this.detectionType = 0;
- this.$set(this.detectionItems, "type", 0);
- }
- this.mireStandards.find((a) => a.id == val).code == "濮旀墭瑕佹眰"
- ? (this.isAskOnlyRead = false)
- : (this.isAskOnlyRead = true);
- this.selectFiberList.forEach((item) => {
- this.fiberList.forEach((a) => {
- if (a.ident == item.ident) {
- a.model = this.mireModel.split(" - ")[1]; // 鍏夌氦瑙勬牸
- a.noSplitModel = this.mireModel; // 鍏夌氦瑙勬牸
- if (this.mireStandards != null) {
- a.standard = this.mireStandards.find(
- (a) => a.id == this.mireStandard
- ).code; // 鍙傝�冩爣鍑�
+ if (res.code === 200) {
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ this.detectionItems = res.data;
+ this.detectionType = 0;
+ this.$set(this.detectionItems, "type", 0);
+ }
+ this.mireStandards.find((a) => a.id == val).code == "濮旀墭瑕佹眰"
+ ? (this.isAskOnlyRead = false)
+ : (this.isAskOnlyRead = true);
+ this.selectFiberList.forEach((item) => {
+ this.fiberList.forEach((a) => {
+ if (a.ident == item.ident) {
+ a.model = this.mireModel.split(" - ")[1]; // 鍏夌氦瑙勬牸
+ a.noSplitModel = this.mireModel; // 鍏夌氦瑙勬牸
+ if (this.mireStandards != null) {
+ a.standard = this.mireStandards.find(
+ (a) => a.id == this.mireStandard
+ ).code; // 鍙傝�冩爣鍑�
+ }
}
- }
+ });
});
- });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
},
methodChange2(val) {
- // if (val === null || val === '') return
- // this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- // model: '',
- // standardMethodListId: val,
- // factory: '涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - ' + this.miresModel + ' - ',
- // }, {
- // headers: {
- // 'Content-Type': 'application/json'
- // }
- // }).then(res => {
- // res.data.forEach(a => {
- // a.state = 0
- // })
- // this.productList2 = res.data
- // setTimeout(() => {
- // this.productList2.forEach(a => {
- // if (a.state == 1) this.toggleSelection(a)
- // })
- // this.addFibers()
- // }, 200)
- // })
if (this.multiFiberList.length == 0) {
this.$message.error("璇烽�夋嫨闇�瑕佹洿鏀圭殑鏁版嵁");
return;
}
if (val === null || val === "") return;
- this.$axios
- .post(
- this.$api.standardTree.selectStandardProductList,
- {
- model: "",
- standardMethodListId: val,
- factory:
- "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " +
- this.miresModel +
- " - ",
- },
- {
- headers: {
- "Content-Type": "application/json",
- },
- }
- )
+ selectStandardProductList({
+ model: "",
+ standardMethodListId: val,
+ factory:
+ "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " +
+ this.miresModel +
+ " - ",
+ })
.then((res) => {
- // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
- this.detectionItems = [];
- if (res.data != null && res.data.length != 0) {
- res.data.forEach((a) => {
- a.state = 0;
- });
- this.detectionItems = res.data;
- this.detectionType = 1;
- this.$set(this.detectionItems, "type", 1);
- // 鍒ゆ柇鏄惁涓哄鎵樿姹�
- this.miresStandards.find((a) => a.id == val).code == "濮旀墭瑕佹眰"
- ? (this.isAskOnlyRead = false)
- : (this.isAskOnlyRead = true);
- }
- // 缁欓�変腑鐨勫厜绾ゅ甫璧嬪��
- // for(let i= 0; i < this.fibersList.length; i++){
- // this.multiFiberList.forEach(item => {
- // if(this.fibersList[i].ident == item.ident){
- // this.fibersList[i].model = this.miresModel // 绾ゅ甫瑙勬牸
- // this.fibersList[i].num = this.miresModel.replace('鑺�','') // 鍏夌氦妫�娴嬮噺
- // this.fibersList[i].productList = this.detectionItems // 妫�娴嬮」
- // this.miresStandards.forEach(a => {
- // if(a.id == this.miresStandard) {
- // this.fibersList[i].standard = a.code // 鍙傝�冩爣鍑�
- // }
- // })
- // }
- // })
- // }
- for (let i = 0; i < this.multiFiberList.length; i++) {
- for (let j = 0; j < this.fibersList.length; j++) {
- if (this.multiFiberList[i].ident == this.fibersList[j].ident) {
- this.fibersList[j].model = this.miresModel; // 绾ゅ甫瑙勬牸
- this.fibersList[j].num = this.miresModel.replace("鑺�", ""); // 鍏夌氦妫�娴嬮噺
- this.miresStandards.forEach((a) => {
- if (a.id == this.miresStandard) {
- this.fibersList[j].standard = a.code; // 鍙傝�冩爣鍑�
- }
- });
+ if (res.code === 200) {
+ // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ this.detectionItems = res.data;
+ this.detectionType = 1;
+ this.$set(this.detectionItems, "type", 1);
+ // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+ this.miresStandards.find((a) => a.id == val).code == "濮旀墭瑕佹眰"
+ ? (this.isAskOnlyRead = false)
+ : (this.isAskOnlyRead = true);
+ }
+ for (let i = 0; i < this.multiFiberList.length; i++) {
+ for (let j = 0; j < this.fibersList.length; j++) {
+ if (this.multiFiberList[i].ident == this.fibersList[j].ident) {
+ this.fibersList[j].model = this.miresModel; // 绾ゅ甫瑙勬牸
+ this.fibersList[j].num = this.miresModel.replace("鑺�", ""); // 鍏夌氦妫�娴嬮噺
+ this.miresStandards.forEach((a) => {
+ if (a.id == this.miresStandard) {
+ this.fibersList[j].standard = a.code; // 鍙傝�冩爣鍑�
+ }
+ });
+ }
}
}
}
+ })
+ .catch((error) => {
+ console.error(error);
});
},
addFiber(isInspection) {
@@ -1762,7 +1713,7 @@
let fiber = {
ident: this.fiberList.length + 1,
bushColor: item.color,
- color: colors3[count].label,
+ color: colors3[count].dictLabel,
model: null,
noSplitModel: null,
standard: null,
@@ -1775,65 +1726,6 @@
}
}
});
- // this.multiFiberList.forEach((a, index) => {
- // a.fiber = [];
- // if (index > 0 && index < this.multiFiberList.length) {
- // if (
- // this.multiFiberList[index].color ==
- // this.multiFiberList[index - 1].color
- // ) {
- // // 鏍规嵁姣忔牴绠℃娊妫�鏍囧噯閲� 纭畾 棰滆壊寰幆
- // //let colors3 = colors2.slice(0,this.packageInfo.standNum)
- // for (var i = 0; i < parseInt(a.num); i++) {
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: a.color,
- // // color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- // color: colors2[count].label,
- // model: null,
- // noSplitModel: null,
- // standard: null,
- // fibersIdent: a.ident,
- // productList: [],
- // };
- // this.fiberList.push(fiber);
- // count++;
- // }
- // } else {
- // // 鏍规嵁姣忔牴绠℃娊妫�鏍囧噯閲� 纭畾 棰滆壊寰幆
- // let colors3 = colors2.slice(0, this.packageInfo.standNum);
- // for (var i = 0; i < parseInt(a.num); i++) {
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: a.color,
- // // color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- // color: colors3[i].label,
- // model: null,
- // noSplitModel: null,
- // standard: null,
- // fibersIdent: a.ident,
- // productList: [],
- // };
- // this.fiberList.push(fiber);
- // }
- // }
- // } else {
- // for (var i = 0; i < parseInt(a.num); i++) {
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: a.color,
- // // color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- // color: colors2[i].label,
- // model: null,
- // noSplitModel: null,
- // standard: null,
- // fibersIdent: a.ident,
- // productList: [],
- // };
- // this.fiberList.push(fiber);
- // }
- // }
- // });
} else {
let count = 0;
let colors3 = colors2.slice(0, this.packageInfo.standNum);
@@ -1844,7 +1736,7 @@
let fiber = {
ident: this.fiberList.length + 1,
bushColor: item.color,
- color: colors3[count].label,
+ color: colors3[count].dictLabel,
model: null,
standard: null,
productList: [],
@@ -1880,7 +1772,7 @@
let fiber = {
ident: this.fiberList.length + 1,
bushColor: item.color,
- color: colors3[count].label,
+ color: colors3[count].dictLabel,
model: null,
standard: null,
productList: [],
@@ -1889,24 +1781,6 @@
count++;
count = count % item.standNum;
}
- // else {
- // for (let i = 0; i < parseInt(item.testNum); i++) {
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: item.color,
- // color:
- // colors2[
- // i + parseInt(item.testNum) * index > colors2.length
- // ? 0
- // : i + parseInt(item.testNum) * index * index
- // ].label,
- // model: null,
- // standard: null,
- // productList: [],
- // };
- // this.fiberList.push(fiber);
- // }
- // }
} else {
flag = false;
}
@@ -1917,125 +1791,8 @@
return;
}
}
- // 浜屼唬
- // // 鏄惁閫夋嫨濂楃
- // if(this.selectBushing.length == 0) {
- // this.$message.error('鏈�夋嫨濂楃')
- // return
- // }
- // this.fiberList = []
- // let flag = true
- // // 鎸夌収椤哄簭鐢熸垚鍏夌氦鑹叉爣
- // let colors2 = []
- // if (this.packageInfo.num1 / this.colors.length > 1) {
- // let num = this.packageInfo.num1 / this.colors.length
- // if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- // for (var i = 0; i < num; i++) {
- // colors2 = colors2.concat(this.colors)
- // }
- // } else {
- // colors2 = colors2.concat(this.colors)
- // }
- // // 鏍规嵁濂楃鐨勬祴璇曢噺鐢熸垚瀵瑰簲鐨勬暟閲忕殑鍏夌氦鏁版嵁
- // this.selectBushing.forEach((item,index) =>{
- // if(item.testNum != null && item.testNum != ''){
- // for(let i =0; i < parseInt(item.testNum); i++){
- // let fiber = {
- // ident: this.fiberList.length + 1,
- // bushColor: item.color,
- // color: colors2[(i+(parseInt(item.testNum)*index))>colors2.length?0:i+(parseInt(item.testNum)*index)*index].label,
- // model: null,
- // standard: null,
- // productList: []
- // }
- // this.fiberList.push(fiber)
- // }
- // }else {
- // flag = false
- // }
- // })
- // if(!flag){
- // this.$message.error('璇峰~鍐欏厜绾ゆ娴嬮噺')
- // return
- // }
-
- // 鏈�鍒�
- // let colors2 = []
- // if (this.packageInfo.num1 / this.colors.length > 1) {
- // let num = this.packageInfo.num1 / this.colors.length
- // if (this.packageInfo.num1 % this.colors.length > 0) num += 1
- // for (var i = 0; i < num; i++) {
- // colors2 = colors2.concat(this.colors)
- // }
- // } else {
- // colors2 = colors2.concat(this.colors)
- // }
- // this.fiberList = []
- // let model = this.mireModel.split(' - ')[1]
- // let standard = this.mireStandards.find(a => a.id == this.mireStandard).code
- // if (this.packageInfo.ismiers) {
- // if(this.selectFibers.length === 0){
- // this.$message.error('鏈�夋嫨鍏夌氦甯�')
- // return
- // }
- // this.selectFibers.forEach((a,index) => {
- // a.fiber = []
- // for (var i = 0; i < parseInt(a.num); i++) {
- // let fiber = {
- // bushColor: a.color,
- // color: colors2[(i+(parseInt(a.num)*index))>colors2.length?0:i+(parseInt(a.num)*index)*index].label,
- // model: model,
- // standard: standard,
- // productList: this.HaveJson(this.productList)
- // }
- // a.fiber.push(fiber)
- // this.fiberList.push(fiber)
- // }
- // })
- // } else {
- // this.selectBushing.forEach((a,index) => {
- // a.fiber = []
- // for (var i = 0; i < parseInt(a.testNum); i++) {
- // let fiber = {
- // bushColor: a.color,
- // color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
- // model: model,
- // standard: standard,
- // productList: this.HaveJson(this.productList)
- // }
- // a.fiber.push(fiber)
- // this.fiberList.push(fiber)
- // }
- // })
- // }
},
addFibers() {
- // if(this.selectBushing.length===0){
- // this.$message.error('鏈�夋嫨濂楃')
- // return
- // }
- // this.fibersList = []
- // let standard = this.miresStandards.find(a => a.id == this.miresStandard).code
- // this.packageInfo.ismiers = true
- // this.fiberList = []
- // this.selectBushing.forEach(a => {
- // a.fiber = []
- // a.fibers = []
- // for (var i = 0; i < parseInt(a.testNum); i++) {
- // let fibers = {
- // code: null,
- // color: a.color,
- // model: this.miresModel,
- // standard: standard,
- // num: a.testNum,
- // productList: this.HaveJson(this.productList2),
- // fiber: []
- // }
- // a.fibers.push(fibers)
- // this.fibersList.push(fibers)
- // }
- // })
-
if (this.selectBushing.length == 0) {
this.$message.error("鏈�夋嫨濂楃");
return;
@@ -2058,7 +1815,7 @@
let fibers = {
ident: this.fibersList.length + 1,
color: item.color,
- colorShow: item.color + "-" + colors2[i].label,
+ colorShow: item.color + "-" + colors2[i].dictLabel,
code: null,
model: null,
standard: null,
@@ -2071,45 +1828,6 @@
});
},
rowClickFiber(row, column, event, type) {
- // console.log("row", row);
- // this.type = type
- // if(this.active===1){
- // if(type==0){
- // let standard = null;
- // try{
- // standard = this.miresStandards.find(a => a.id == this.miresStandards)
- // }catch(e){}
- // if(standard&&standard.code=='濮旀墭瑕佹眰'){
- // this.isAskOnlyRead = false;
- // }else{
- // this.isAskOnlyRead = true;
- // }
- // }else{
- // let standard = null;
- // try{
- // standard = this.mireStandards.find(a => a.id == this.mireStandard)
- // }catch(e){}
- // if(standard&&standard.code=='濮旀墭瑕佹眰'){
- // this.isAskOnlyRead = false;
- // }else{
- // this.isAskOnlyRead = true;
- // }
- // }
- // }
- // if(this.type==1){
- // if (this.active !== 1) {
- // this.sampleIds = []
- // this.sampleIds.push(row.id)
- // }
- // }
- // this.currentDetectionItems = row
- // this.detectionItems = row.productList
- // if(this.detectionItems === null) return
- // setTimeout(() => {
- // this.detectionItems.forEach(a => {
- // if (a.state == 1) this.toggleSelection(a)
- // })
- // }, 200)
if (type == 1) {
this.fiberList = row.fiber;
if (
@@ -2129,64 +1847,60 @@
(a) => a.code == row.standard
).id;
}
- this.$axios
- .post(
- this.$api.standardTree.selectStandardProductList,
- {
- model: "",
- standardMethodListId: this.miresStandard,
- factory:
- "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " +
- this.miresModel +
- " - ",
- },
- {
- headers: {
- "Content-Type": "application/json",
- },
- }
- )
+ selectStandardProductList({
+ model: "",
+ standardMethodListId: this.miresStandard,
+ factory:
+ "涓ぉ绉戞妧妫�娴嬩腑蹇� - 閫氫俊浜у搧瀹為獙瀹� - 鍏夌氦甯� - " +
+ this.miresModel +
+ " - ",
+ })
.then((res) => {
- // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
- this.detectionItems = [];
- if (res.data != null && res.data.length != 0) {
- res.data.forEach((a) => {
- a.state = 0;
- this.$set(a, "isFibers", 1);
- });
- // 鍒ゆ柇鏄惁涓哄鎵樿姹�
- this.miresStandards.find((a) => a.id == this.miresStandard)
- .code == "濮旀墭瑕佹眰"
- ? (this.isAskOnlyRead = false)
- : (this.isAskOnlyRead = true);
- if (!this.isAskOnlyRead) {
- row.productList.forEach((a) => {
- res.data.forEach((b) => {
- if (a.id == b.id) {
- b.ask = a.ask;
- b.tell = a.tell;
- }
- });
+ if (res.code === 200) {
+ // 灏嗚幏鍙栫殑妫�娴嬮」淇℃伅璧嬪��
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ this.$set(a, "isFibers", 1);
});
- }
- this.detectionItems = res.data;
- this.detectionType = 1;
- this.$set(this.detectionItems, "type", 1);
-
- if (row.productList != null && row.productList.length > 0) {
- let product = JSON.parse(JSON.stringify(row.productList));
- setTimeout(() => {
- product.forEach((p) => {
- let rowToSelect = this.detectionItems.find(
- (item) => item.id === p.id
- );
- if (rowToSelect) {
- this.toggleSelection(rowToSelect);
- }
+ // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+ this.miresStandards.find((a) => a.id == this.miresStandard)
+ .code == "濮旀墭瑕佹眰"
+ ? (this.isAskOnlyRead = false)
+ : (this.isAskOnlyRead = true);
+ if (!this.isAskOnlyRead) {
+ row.productList.forEach((a) => {
+ res.data.forEach((b) => {
+ if (a.id == b.id) {
+ b.ask = a.ask;
+ b.tell = a.tell;
+ }
+ });
});
- }, 200);
+ }
+ this.detectionItems = res.data;
+ this.detectionType = 1;
+ this.$set(this.detectionItems, "type", 1);
+
+ if (row.productList != null && row.productList.length > 0) {
+ let product = JSON.parse(JSON.stringify(row.productList));
+ setTimeout(() => {
+ product.forEach((p) => {
+ let rowToSelect = this.detectionItems.find(
+ (item) => item.id === p.id
+ );
+ if (rowToSelect) {
+ this.toggleSelection(rowToSelect);
+ }
+ });
+ }, 200);
+ }
}
}
+ })
+ .catch((error) => {
+ console.error(error);
});
}, 500);
} else if (type == 0) {
@@ -2207,60 +1921,56 @@
(a) => a.code == row.standard
).id;
}
- this.$axios
- .post(
- this.$api.standardTree.selectStandardProductList,
- {
- model: this.mireModel.split(" - ")[1],
- standardMethodListId: this.mireStandard,
- factory: "",
- },
- {
- headers: {
- "Content-Type": "application/json",
- },
- }
- )
+ selectStandardProductList({
+ model: this.mireModel.split(" - ")[1],
+ standardMethodListId: this.mireStandard,
+ factory: "",
+ })
.then((res) => {
- this.detectionItems = [];
- if (res.data != null && res.data.length != 0) {
- res.data.forEach((a) => {
- a.state = 0;
- this.$set(a, "isFibers", 0);
- });
- // 鍒ゆ柇鏄惁涓哄鎵樿姹�
- this.mireStandards.find((a) => a.id == this.mireStandard)
- .code == "濮旀墭瑕佹眰"
- ? (this.isAskOnlyRead = false)
- : (this.isAskOnlyRead = true);
- if (!this.isAskOnlyRead) {
- row.productList.forEach((a) => {
- res.data.forEach((b) => {
- if (a.id == b.id) {
- b.ask = a.ask;
- b.tell = a.tell;
- }
- });
+ if (res.code === 200) {
+ this.detectionItems = [];
+ if (res.data != null && res.data.length != 0) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ this.$set(a, "isFibers", 0);
});
- }
- this.detectionItems = res.data;
- this.detectionType = 0;
- this.$set(this.detectionItems, "type", 0);
-
- if (row.productList != null && row.productList.length > 0) {
- let product = JSON.parse(JSON.stringify(row.productList));
- setTimeout(() => {
- product.forEach((p) => {
- let rowToSelect = this.detectionItems.find(
- (item) => item.id === p.id
- );
- if (rowToSelect) {
- this.toggleSelection(rowToSelect);
- }
+ // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+ this.mireStandards.find((a) => a.id == this.mireStandard)
+ .code == "濮旀墭瑕佹眰"
+ ? (this.isAskOnlyRead = false)
+ : (this.isAskOnlyRead = true);
+ if (!this.isAskOnlyRead) {
+ row.productList.forEach((a) => {
+ res.data.forEach((b) => {
+ if (a.id == b.id) {
+ b.ask = a.ask;
+ b.tell = a.tell;
+ }
+ });
});
- }, 200);
+ }
+ this.detectionItems = res.data;
+ this.detectionType = 0;
+ this.$set(this.detectionItems, "type", 0);
+
+ if (row.productList != null && row.productList.length > 0) {
+ let product = JSON.parse(JSON.stringify(row.productList));
+ setTimeout(() => {
+ product.forEach((p) => {
+ let rowToSelect = this.detectionItems.find(
+ (item) => item.id === p.id
+ );
+ if (rowToSelect) {
+ this.toggleSelection(rowToSelect);
+ }
+ });
+ }, 200);
+ }
}
}
+ })
+ .catch((error) => {
+ console.error(error);
});
}, 500);
}
@@ -2298,12 +2008,6 @@
return item;
});
}
- // else {
- // this.currentDetectionItems.productList.map((m) => {
- // m.state = 1;
- // return m;
- // });
- // }
} else {
if (this.multiFiberList.length > 0) {
this.multiFiberList.map((item) => {
@@ -2314,12 +2018,6 @@
return item;
});
}
- // else {
- // this.currentDetectionItems.productList.map((m) => {
- // m.state = 0;
- // return m;
- // });
- // }
}
this.bsmRow3 = [];
this.detectionItems.forEach((p) => {
@@ -2372,12 +2070,6 @@
this.bsm2 = false;
}
}
- // if (p.ask.includes('RTS')&&p.state === 1) {
- // p.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3.push(p)
- // }
});
if (e.length > 0) {
@@ -2423,28 +2115,8 @@
this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
return;
}
- // set.add(JSON.stringify(tempList[i].reverse()))
- // let num2 = set.size
- // if (num1 == num2) {
- // console.log(111,set);
- // console.log(111,tempList);
- // this.$message.error('鍏宠仈椤圭洰涓嶈兘閲嶅')
- // return
- // }
}
- //杞崲鐔旀帴閰嶅鐨勭紪鍙�
- // let transformList = []
- // for(let i=0;i<this.bsm2Val2.length;i++){
- // let colorIndex1 = Number(this.bsm2Val2[i][0]-1)
- // let colorIndex2 = Number(this.bsm2Val2[i][1]-1)
- // let code1 = this.sampleList[0].sampleCode + '-' + this.fiberList[colorIndex1].bushColor + '-' + this.fiberList[colorIndex1].color
- // let code2 = this.sampleList[1].sampleCode + '-' + this.fiberList[colorIndex2].bushColor + '-' + this.fiberList[colorIndex2].color
- // transformList.push([code1,code2])
- // }
this.isBsm2Val2 = true;
- // console.log(this.bsm2Val2);
- // console.log(transformList);
- // this.$parent.fiberPairing = JSON.stringify(this.bsm2Val2)
}
this.bsm1Dia = false;
this.isBsm2Val2 = false;
@@ -2465,9 +2137,6 @@
);
}
let arr = [...new Set(this.fiberLoss)];
- console.log("list", list);
- console.log("this.fiberLoss", this.fiberLoss);
- console.log("arr", arr);
row.state = row.state == 1 ? 0 : 1;
if (this.selectFiberList.length > 0) {
this.selectFiberList.map((item) => {
@@ -2527,23 +2196,6 @@
console.log("arr", arr);
if (this.bsm2) {
this.computationalPairing(this.selectFiberList.length);
- // 榛樿灞曠ず涓�瀵逛竴
- // this.bsm2Up(this.selectFiberList.length);
- // if (this.bsm2Val2.length === 0) {
- // this.bsm2Val = this.selectFiberList.length;
- // this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
- // console.log(222, this.bsm2Val2);
- // } else {
- // this.bsm2Val = this.selectFiberList.length;
- // }
- // if (this.bsm2Val2.length === 0) {
- // this.bsm2Val =
- // ((this.fiberList.length + 1) * this.fiberList.length) / 2;
- // this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
- // console.log(222, this.bsm2Val2);
- // } else {
- // this.bsm2Val = this.fiberPairing.length;
- // }
}
}
} else if (
@@ -2556,15 +2208,6 @@
} else {
this.bsm1Dia = false;
}
- // if (row.ask.includes('RTS')&&row.state === 1) {
- // this.bsmRow3 = null;
- // row.rts = ''
- // this.bsm3Val = ''
- // this.bsm3Dia = true
- // this.bsmRow3 = row
- // }else{
- // this.bsm3Dia = false
- // }
},
checkSampleCodeHasNull() {
const emptyCodeArr = this.sampleList.filter(
@@ -2575,25 +2218,26 @@
computationalPairing(n, isValue = false) {
this.bsm1Dia = true;
this.isLoading = true;
- this.$axios
- .get(this.$api.insOrder.permute + "?num=" + n + "&isValue=" + isValue)
+ permute({
+ num: n,
+ isValue: isValue,
+ })
.then((res) => {
- this.bsm2Val3Length = this.HaveJson(res.data.resultData);
- if (this.bsm2Val2.length === 0) {
- this.bsm2Val = this.selectFiberList.length;
- this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
- console.log(222, this.bsm2Val2);
- } else {
- this.bsm2Val = this.selectFiberList.length;
+ if (res.code === 200) {
+ this.bsm2Val3Length = this.HaveJson(res.data.resultData);
+ if (this.bsm2Val2.length === 0) {
+ this.bsm2Val = this.selectFiberList.length;
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+ } else {
+ this.bsm2Val = this.selectFiberList.length;
+ }
+ this.bsm2Up(this.selectFiberList.length);
+ this.isLoading = false;
}
- this.bsm2Up(this.selectFiberList.length);
- this.isLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
});
- // const nums = [];
- // for (let i = 1; i <= n; i++) {
- // nums.push(i);
- // }
- // this.bsm2Val3 = this.HaveJson(this.permute(nums));
},
permute(nums) {
const result = [];
@@ -2632,30 +2276,6 @@
});
},
save() {
- // if(this.bushing.length === 0){
- // this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- // return
- // }
- // for(let a in this.bushing){
- // if(this.bushing[a].fibers.length===0&&this.bushing[a].fiber.length===0){
- // this.$message.error(this.bushing[a].color+'绠¤壊鏍囧绠$己灏戦厤缃棤娉曚繚瀛�')
- // return
- // }
- // }
- // this.sample.forEach(a=>{
- // a.bushing = this.bushing
- // })
- // this.$message.success('宸蹭繚瀛�')
- // this.$emit('saveFiberopticConfig')
- // if(this.inspectionItemST == 1) {
- // this.$message.success('宸蹭繚瀛�')
- // this.sample.forEach(a=>{
- // a.bushing = this.bushing
- // })
- // this.$emit('saveFiberopticConfig')
- // return
- // }
-
let flag = true;
let flags = true;
@@ -3268,8 +2888,8 @@
let color = this.colors[i];
for (let j = 0; j < newFiberList.length; j++) {
let newColor = newFiberList[j];
- if (color.value == newColor[0]) {
- newFiberList[j].push(color.orderNum);
+ if (color.dictValue == newColor[0]) {
+ newFiberList[j].push(color.dictSort);
}
}
}
@@ -3297,19 +2917,6 @@
this.bsm2Val2 = resultList;
console.log("this.bsm2Val2", this.bsm2Val2);
} else {
- // if (val == this.bsm2Val3.length) {
- // this.bsm2Val2 = [];
- // this.computationalPairing(this.selectFiberList.length,true);
- // if (this.bsm2Val2.length === 0) {
- // this.bsm2Val =
- // ((this.selectFiberList.length + 1) * this.selectFiberList.length) / 2;
- // this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
- // } else {
- // this.bsm2Val = this.selectFiberList.length;
- // }
- // this.bsm1DiaLoading = false;
- // console.log('loading',this,this.bsm1DiaLoading);
- // } else {
// 涓�瀵逛竴
this.bsm1DiaLoading = true;
let list = [];
@@ -3352,6 +2959,7 @@
height: 100%;
overflow-y: auto;
overflow-x: hidden;
+ padding: 10px 15px;
}
.models {
font-size: 14px;
diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index 52e18dc..206fe23 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/src/views/business/inspectionOrder/index.vue
@@ -238,7 +238,7 @@
>
<p style="font-size: 16px; color: #333333" v-if="!isQuash">
濮旀墭缂栧彿<span style="color: #34bd66">{{
- this.insOrderRow.entrustCode
+ this.insOrderRow.outEntrustCode
}}</span
>鐨勪俊鎭槸鍚︽挙閿�
</p>
@@ -258,14 +258,10 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-row v-if="!isQuash">
- <el-button @click="handleClose">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitForm" :loading="upLoad"
- >纭� 瀹�</el-button
- >
- </el-row>
- <el-row v-else>
- <el-button @click="handleClose">杩� 鍥�</el-button>
+ <el-row>
+ <el-button @click="handleClose">{{
+ isQuash ? "杩� 鍥�" : "鍙� 娑�"
+ }}</el-button>
<el-button type="primary" @click="submitForm" :loading="upLoad"
>纭� 瀹�</el-button
>
@@ -390,18 +386,6 @@
width="80%"
>
<div class="table-container" v-if="deleteDialogVisible">
- <!-- <ValueTable
- ref="ValueTableDataDelete"
- :url="
- $api.insOrder.selectNoProducts +
- '?orderId=' +
- orderId +
- '&ids=' +
- this.revocationInsProductIds
- "
- :componentData="componentDataDelete"
- :isColumnWidth="true"
- /> -->
<el-table
height="500px"
ref="revokeTable"
@@ -822,28 +806,39 @@
</template>
<script>
-import limsTable from "@/components/Table/lims-table.vue";
import {
selectInsOrderParameter,
labelPrinting,
exportChecked,
selectSampleAndProductByOrderId,
- hasSendUrgentOrder,
- delCustomById,
- upCustom,
+ selectSampleByOrderId,
+ selectProductsBySampleId,
+ revoke,
+ viewDetails,
+ downReport,
+ selectTemperatureByProductId,
+ selectTemperatureNumberByProductId,
+ revokeReviewTemperatureByProductId,
+ revokeReviewConsistentByProductId,
+ revokeReviewProduct,
+ revokeReviewSample,
+ updateStatus,
+ updateInspected,
+ revocationPassed,
+ revocationCancel,
} from "@/api/business/inspectionOrder";
+import { upPlanUser2 } from "@/api/business/inspectionTask";
import { getDicts } from "@/api/system/dict/data";
import vueQr from "vue-qr";
import getLodop from "@/utils/lodop";
import Add from "./add.vue";
import { mapGetters } from "vuex";
-import LimsTable from "@/components/Table/lims-table.vue";
+import limsTable from "@/components/Table/lims-table.vue";
export default {
components: {
limsTable,
Add,
vueQr,
- LimsTable,
},
computed: {
...mapGetters(["permissions"]),
@@ -1018,7 +1013,9 @@
{
name: "鎶ュ憡涓嬭浇",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.download(row);
+ },
disabled: (row, index) => {
return row.state != 4 || row.isRatify != 1;
},
@@ -1026,7 +1023,9 @@
{
name: "瀹℃牳",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handleVerify(row);
+ },
disabled: (row, index) => {
return row.state != 0;
},
@@ -1034,7 +1033,9 @@
{
name: "鎾ら攢",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handlEquash(row);
+ },
disabled: (row, index) => {
return row.state != 1 && row.state != 0;
},
@@ -1042,7 +1043,9 @@
{
name: "鎾ら攢瀹℃牳",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.handlEquashCheck(row);
+ },
disabled: (row, index) => {
return (
(row.state != 1 && row.state != 0) ||
@@ -1193,7 +1196,9 @@
{
name: "鏌ョ湅",
type: "text",
- clickFun: (row) => {},
+ clickFun: (row) => {
+ this.viewDetails(row);
+ },
showHide: (row) => {
return (
row.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" ||
@@ -1430,23 +1435,23 @@
sampleCode: row.sampleCode,
inspectionItemSubclass: row.inspectionItemSubclass,
};
- this.$axios
- .post(this.$api.insOrder.viewDetails, data, {
- headers: {
- "Content-Type": "application/json",
- },
- })
+ viewDetails(data)
.then((res) => {
- this.viewDetailsList = res.data;
- if (res.data[0].tableHeader) {
- this.tableHeader = res.data[0].tableHeader;
- } else {
- this.tableHeader = [
- {
- testValue0: "",
- },
- ];
+ if (res.code === 200) {
+ this.viewDetailsList = res.data;
+ if (res.data[0].tableHeader) {
+ this.tableHeader = res.data[0].tableHeader;
+ } else {
+ this.tableHeader = [
+ {
+ testValue0: "",
+ },
+ ];
+ }
}
+ })
+ .catch((error) => {
+ console.error(error);
});
},
getLabelPrinting(selection) {
@@ -1628,7 +1633,7 @@
active: 2,
currentId: row.id,
examine: 1,
- isReview: true,
+ isPlan: false,
},
});
},
@@ -1647,33 +1652,7 @@
},
// 涓嬭浇鎶ュ憡
download(row) {
- // let url = row.urlS ? row.urlS : row.url;
- // if (url) {
- // url = url.split(".")[0] + ".pdf";
- // const link = document.createElement("a");
- // link.href = this.javaApi + url;
- // link.target = "_blank";
- // document.body.appendChild(link);
- // link.click();
- // }
-
- // if(row.tempUrlPdf) {
- // const link = document.createElement('a');
- // link.href = this.javaApi + row.tempUrlPdf;
- // link.target = '_blank';
- // document.body.appendChild(link);
- // link.click();
- // }
- this.$axios
- .get(
- this.$api.insReport.downReport + "?id=" + row.reportId + "&type=1",
- {
- headers: {
- "Content-Type": "application/json",
- },
- responseType: "blob",
- }
- )
+ downReport({ id: row.reportId })
.then((res) => {
let fileName = row.tempUrlPdf;
if (fileName.includes("_")) {
@@ -1686,14 +1665,21 @@
link.download = fileName;
document.body.appendChild(link);
link.click();
+ })
+ .catch((error) => {
+ console.error(error);
});
},
// 瀹℃牳
handleVerify(row) {
- // this.verifyDialogVisible = true;
- this.active = 3;
- this.currentId = row.id;
- this.examine = 1;
+ this.$router.push({
+ name: "showDetails",
+ query: {
+ active: 3,
+ currentId: row.id,
+ examine: 1,
+ },
+ });
},
// 鍏ㄩ��
handleSelectionAll(val) {
@@ -1910,108 +1896,108 @@
if (this.deleteTilte == "鎾ら攢") {
// 鏄惁鏄俯搴﹀惊鐜�
if (tree.temperature) {
- this.$axios
- .get(
- this.$api.insOrder.selectTemperatureByProductId +
- "?productId=" +
- tree.id
- )
+ selectTemperatureByProductId({ productId: tree.id })
.then((res) => {
- this.loadRecursion(this.treeTableData, tree.id, res.data);
- resolve(res.data);
- this.recursionTreeTableData(this.revokeData, this.treeTableData);
- treeNode.loading = false;
+ if (res.code === 200) {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
}
// 鏄惁鏄楠屾鏁�
else if (tree.temperatureNumber) {
- this.$axios
- .get(
- this.$api.insOrder.selectTemperatureNumberByProductId +
- "?parentId=" +
- tree.parentId +
- "&inspectionItem=" +
- tree.inspectionItemTwo
- )
+ selectTemperatureNumberByProductId({
+ parentId: tree.parentId,
+ inspectionItem: tree.inspectionItemTwo,
+ })
.then((res) => {
- this.loadRecursion(this.treeTableData, tree.id, res.data);
- resolve(res.data);
- this.recursionTreeTableData(this.revokeData, this.treeTableData);
- treeNode.loading = false;
+ if (res.code === 200) {
+ this.loadRecursion(this.treeTableData, tree.id, res.data);
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
} else {
- this.$axios
- .get(
- this.$api.insOrder.selectProductsBySampleId +
- "?sampleId=" +
- tree.id +
- "&orderId=" +
- this.orderId
- )
+ selectProductsBySampleId({
+ sampleId: tree.id,
+ orderId: this.orderId,
+ })
.then((res) => {
- this.treeTableData.forEach((m, index) => {
- if (m.sampleId == tree.id) {
- m.children = res.data;
- }
- });
- resolve(res.data);
- this.recursionTreeTableData(this.revokeData, this.treeTableData);
- // // 濡傛灉璇ユ牱鍝佸凡缁忚鍕鹃�� 閭d箞鎵�寰楀埌鐨勬楠岄」涔熻杩涜鍕鹃��
- // let data = this.revokeData.map((item) => item.id);
- // if (data.includes(tree.id)) {
- // this.treeTableData.forEach((m, index) => {
- // if (m.children) {
- // m.children.forEach((n, i) => {
- // if (tree.id == n.sampleId) {
- // this.$refs.revokeTable.toggleRowSelection(n, true);
- // }
- // });
- // }
- // });
- // }
- treeNode.loading = false;
+ if (res.code === 200) {
+ this.treeTableData.forEach((m, index) => {
+ if (m.sampleId == tree.id) {
+ m.children = res.data;
+ }
+ });
+ resolve(res.data);
+ this.recursionTreeTableData(
+ this.revokeData,
+ this.treeTableData
+ );
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
}
} else if (this.deleteTilte == "鎾ら攢瀹℃牳") {
// 鏄惁鏄俯搴﹀惊鐜�
if (tree.temperature) {
- this.$axios
- .get(
- this.$api.insOrder.revokeReviewTemperatureByProductId +
- "?productId=" +
- tree.id
- )
+ revokeReviewTemperatureByProductId({ productId: tree.id })
.then((res) => {
- resolve(res.data);
- treeNode.loading = false;
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
}
// 鏄惁鏄惊鐜鏁�
else if (tree.temperatureNumber) {
- this.$axios
- .get(
- this.$api.insOrder.revokeReviewConsistentByProductId +
- "?parentId=" +
- tree.parentId +
- "&inspectionItem=" +
- tree.inspectionItemTwo
- )
+ revokeReviewConsistentByProductId({
+ parentId: tree.parentId,
+ inspectionItem: tree.inspectionItemTwo,
+ })
.then((res) => {
- resolve(res.data);
- treeNode.loading = false;
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
} else {
- this.$axios
- .get(
- this.$api.insOrder.revokeReviewProduct +
- "?sampleId=" +
- tree.id +
- "&orderId=" +
- this.orderId
- )
+ revokeReviewProduct({
+ sampleId: tree.id,
+ orderId: this.orderId,
+ })
.then((res) => {
- resolve(res.data);
- treeNode.loading = false;
+ if (res.code === 200) {
+ resolve(res.data);
+ treeNode.loading = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
}
}
@@ -2022,18 +2008,20 @@
this.quashDialogVisible = true;
this.insOrderRow = row;
} else {
- // this.componentDataDelete.entity.orderId = row.id
this.orderId = row.id;
- this.$axios
- .get(this.$api.insOrder.selectSampleByOrderId + "?orderId=" + row.id)
+ selectSampleByOrderId({
+ orderId: row.id,
+ })
.then((res) => {
- console.log("res", res);
- this.treeTableData = res.data;
- this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
+ if (res.code === 200) {
+ this.treeTableData = res.data;
+ this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
this.revocationInsProductIds = "";
- this.componentDataDelete.showSelect = true;
- this.componentDataDelete.select = true;
this.deleteTilte = "鎾ら攢";
this.deleteDialogVisible = true;
}
@@ -2083,25 +2071,13 @@
}
});
productIds = [...new Set(productIds)];
- console.log("data", data);
- console.log("data1", data1);
}
- //
-
- console.log("sampleId", sampleIds);
- console.log("productIds", productIds);
let data = {
orderId: this.orderId,
sampleIds: sampleIds,
productIds: productIds,
};
- this.$axios
- .post(this.$api.insOrder.revoke, data, {
- headers: {
- "Content-Type": "application/json",
- },
- noQs: true,
- })
+ revoke(data)
.then((res) => {
if (res.code === 200) {
this.deleteDialogVisible = false;
@@ -2110,47 +2086,14 @@
this.refreshTable();
this.$message.success("鎾ら攢鎴愬姛");
}
+ })
+ .catch((error) => {
+ console.error(error);
});
- console.log("revokeData", this.revokeData);
- console.log("data", data);
- // let ids = this.deleteList.map((m) => m.id).join(",");
- // this.printLoading = true;
- // this.axios
- // .put(
- // this.$api.insOrder.updateInspected +
- // "?ids=" +
- // ids +
- // "&orderId=" +
- // this.orderId
- // )
- // .then((res) => {
- // if (res.code === 200) {
- // this.printLoading = false;
- // this.deleteDialogVisible = false;
- // this.refreshTable("page");
- // this.$message.success("鏇存柊鎴愬姛");
- // }
- // });
} else {
- // this.axios
- // .post(
- // this.$api.insOrder.checkUpdate +
- // "?orderId=" +
- // this.orderId +
- // "&state=" +
- // 1
- // )
- // .then((res) => {
- // if (res.code === 200) {
- // this.printLoading = false;
- // this.deleteDialogVisible = false;
- // this.refreshTable("page");
- // this.$message.success("鏇存柊鎴愬姛");
- // }
- // });
-
- this.axios
- .get(this.$api.insOrder.revocationPassed + "?orderId=" + this.orderId)
+ revocationPassed({
+ orderId: this.orderId,
+ })
.then((res) => {
if (res.code === 200) {
this.printLoading = false;
@@ -2158,28 +2101,26 @@
this.refreshTable();
this.$message.success("鏇存柊鎴愬姛");
}
+ })
+ .catch((error) => {
+ console.error(error);
});
}
},
handlEquashCheck(row) {
- // // this.componentDataDelete.entity.orderId = row.id
- // this.orderId = row.id;
- // this.revocationInsProductIds = row.revocationInsProductIds;
- // this.componentDataDelete.showSelect = false;
- // this.componentDataDelete.select = false;
- // this.deleteTilte = "鎾ら攢瀹℃牳";
- // this.deleteDialogVisible = true;
-
this.orderId = row.id;
this.revocationInsProductIds = row.revocationInsProductIds;
- this.componentDataDelete.showSelect = false;
- this.componentDataDelete.select = false;
this.deleteTilte = "鎾ら攢瀹℃牳";
- this.$axios
- .get(this.$api.insOrder.revokeReviewSample + "?orderId=" + row.id)
+ revokeReviewSample({
+ orderId: row.id,
+ })
.then((res) => {
- console.log("鎾ら攢瀹℃牳鏍峰搧鏌ヨ", res);
- this.treeTableData = res.data;
+ if (res.code === 200) {
+ this.treeTableData = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
});
this.deleteDialogVisible = true;
},
@@ -2188,24 +2129,9 @@
this.deleteDialogVisible = false;
this.revokeData = [];
} else {
- // this.axios
- // .post(
- // this.$api.insOrder.checkUpdate +
- // "?orderId=" +
- // this.orderId +
- // "&state=" +
- // 0
- // )
- // .then((res) => {
- // if (res.code === 200) {
- // this.printLoading = false;
- // this.deleteDialogVisible = false;
- // this.refreshTable("page");
- // this.$message.success("鏇存柊鎴愬姛");
- // }
- // });
- this.axios
- .get(this.$api.insOrder.revocationCancel + "?orderId=" + this.orderId)
+ revocationCancel({
+ orderId: this.orderId,
+ })
.then((res) => {
if (res.code === 200) {
this.printLoading = false;
@@ -2213,26 +2139,32 @@
this.refreshTable();
this.$message.success("鏇存柊鎴愬姛");
}
+ })
+ .catch((error) => {
+ console.error(error);
});
}
},
// 涓嬪彂
handleIssued(row) {
this.issuedDialogVisible = true;
- this.$axios
- .post(this.$api.insOrder.selectOrderManDay, {
- id: row.id,
- })
+ selectOrderManDay({
+ id: row.id,
+ })
.then((res) => {
- this.distributeData.orderId = row.id;
- this.distributeData.sampleId = row.sampleId;
- this.distributeData.appointed = res.data;
- this.distributeData.type = row.type;
- });
- this.$axios
- .post(this.$api.insOrderPlan.upPlanUser2, {
- orderId: row.id,
+ if (res.code === 200) {
+ this.distributeData.orderId = row.id;
+ this.distributeData.sampleId = row.sampleId;
+ this.distributeData.appointed = res.data;
+ this.distributeData.type = row.type;
+ }
})
+ .catch((error) => {
+ console.error(error);
+ });
+ upPlanUser2({
+ orderId: row.id,
+ })
.then((res) => {
if (res.code === 200 && res.data.length > 0) {
this.sonLaboratoryList = [];
@@ -2243,6 +2175,9 @@
});
});
}
+ })
+ .catch((error) => {
+ console.error(error);
});
},
submitForm2() {
@@ -2270,22 +2205,13 @@
return;
}
this.upLoad = true;
- this.$axios
- .post(
- this.$api.insOrder.upInsOrder,
- {
- orderId: this.distributeData.orderId,
- sampleId: this.distributeData.sampleId,
- appointed: this.distributeData.appointed,
- userIdList: [this.distributeData.userId],
- sonLaboratory: this.distributeData.sonLaboratory,
- },
- {
- headers: {
- "Content-Type": "application/json",
- },
- }
- )
+ upInsOrder({
+ orderId: this.distributeData.orderId,
+ sampleId: this.distributeData.sampleId,
+ appointed: this.distributeData.appointed,
+ userIdList: [this.distributeData.userId],
+ sonLaboratory: this.distributeData.sonLaboratory,
+ })
.then((res) => {
if (res.code === 201) {
this.upLoad = false;
@@ -2296,7 +2222,8 @@
this.issuedDialogVisible = false;
this.refreshTable();
})
- .catch((e) => {
+ .catch((error) => {
+ console.error(error);
this.$message.error("淇敼澶辫触");
this.upLoad = false;
});
@@ -2304,10 +2231,9 @@
submitForm() {
this.upLoad = true;
if (this.tabIndex == 1) {
- this.axios
- .put(
- this.$api.insOrder.updateInspected + "?id=" + this.insOrderRow.id
- )
+ updateInspected({
+ id: this.insOrderRow.id,
+ })
.then((res) => {
if (res.code === 200) {
this.upLoad = false;
@@ -2315,10 +2241,14 @@
this.refreshTable();
this.$message.success("鏇存柊鎴愬姛");
}
+ })
+ .catch((error) => {
+ console.error(error);
});
} else {
- this.axios
- .put(this.$api.insOrder.updateStatus + "?id=" + this.insOrderRow.id)
+ updateStatus({
+ id: this.insOrderRow.id,
+ })
.then((res) => {
if (res.code === 200) {
this.upLoad = false;
@@ -2326,17 +2256,11 @@
this.refreshTable();
this.$message.success("鏇存柊鎴愬姛");
}
+ })
+ .catch((error) => {
+ console.error(error);
});
}
- let authorizedPerson =
- this.formData.authorizedPerson.length > 0
- ? this.formData.authorizedPerson.join(",")
- : "";
- delete this.formData.createTime;
- delete this.formData.updateTime;
- delete this.formData.createUser;
- delete this.formData.updateUser;
- this.formData.authorizedPerson = authorizedPerson;
},
// 涓嬪崟
playOrder(num) {
@@ -2347,6 +2271,7 @@
query: {
active: num,
examine: 0,
+ isPlan: false,
},
});
},
@@ -2354,49 +2279,6 @@
this.tabIndex = i;
this.queryParams.state = m.value;
this.getList();
- },
- getUserMenu() {
- this.$axios.get(this.$api.user.getUserMenu).then((res) => {
- let data = [];
- res.data.forEach((a) => {
- data.push({
- label: a.name,
- value: a.id,
- });
- });
- this.componentData.tagField.createUser.select = data;
- });
- },
- getInsStateDicts() {
- this.$axios
- .post(this.$api.enums.selectEnumByCategory, {
- category: "妫�楠屼换鍔$姸鎬�",
- })
- .then((res) => {
- let data = res.data;
- this.insStateList = 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";
- }
- });
- this.componentDataDataLook.tagField.insState.select = data;
- this.componentDataDelete.tagField.insState.select = data;
- });
- },
- selectEnumByCategoryForOrderType() {
- this.$axios
- .post(this.$api.enums.selectEnumByCategory, {
- category: "妫�楠岀被鍒�",
- })
- .then((res) => {
- this.componentData.tagField.orderType.select = res.data;
- });
},
changeUser() {
if (this.sonLaboratoryList.length > 0) {
diff --git a/src/views/business/inspectionTask/Inspection.vue b/src/views/business/inspectionTask/Inspection.vue
new file mode 100644
index 0000000..18c7feb
--- /dev/null
+++ b/src/views/business/inspectionTask/Inspection.vue
@@ -0,0 +1,8086 @@
+<style scoped>
+.custom-table .el-table__header-wrapper th {
+ background-color: #87ceeb; /* 鍙甯︽湁my-custom-table绫荤殑琛ㄦ牸鐢熸晥 */
+ color: #fff;
+}
+.container {
+ overflow: auto; /* 纭繚瀹瑰櫒鑳藉寘瑁规诞鍔ㄥ厓绱� */
+ margin-bottom: 10px;
+}
+
+.right-button {
+ float: right;
+}
+.inspection {
+ height: 100%;
+ overflow-y: auto;
+}
+
+.inspection::-webkit-scrollbar {
+ width: 0;
+}
+
+.title {
+ height: 60px;
+ line-height: 60px;
+}
+
+.search {
+ width: 100%;
+ margin-bottom: 10px;
+ background-color: #fff;
+ border-radius: 3px;
+}
+
+.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-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;
+}
+
+.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;
+}
+
+.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-h-0 {
+ justify-content: center;
+}
+
+.content-h-1 {
+ justify-content: start;
+}
+
+.content-h-2 {
+ justify-content: end;
+}
+
+.content-v-0 {
+ align-items: center;
+}
+
+.content-v-1 {
+ align-items: start;
+}
+
+.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;
+}
+
+.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: 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: 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;
+}
+#lineTd {
+ background: #fff
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjEwMCUiIHkyPSIxMDAlIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEiLz48L3N2Zz4=)
+ no-repeat 100% center;
+}
+.background-grey {
+ background-color: #f0f1f5;
+}
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+}
+
+.search_label {
+ width: 120px;
+ font-size: 14px;
+ text-align: right;
+}
+.search_input {
+ width: calc(100% - 120px);
+}
+</style>
+<style>
+.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 {
+ 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 .center-box .el-input__inner {
+ font-size: 12px;
+ padding: 0 6px;
+ text-align: center;
+}
+
+.inspection .el-textarea__inner {
+ padding: 2px;
+}
+
+.inspection .el-textarea__inner::-webkit-scrollbar {
+ width: 0;
+}
+
+.inspection .el-select {
+ display: flex;
+ align-items: center;
+}
+
+.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; /* 璁剧疆鏈�澶у搴� */
+}
+</style>
+<template>
+ <div v-loading="loading" class="inspection">
+ <el-row class="title">
+ <el-col :span="12" style="padding-left: 20px; text-align: left"
+ >妫�楠屽崟璇︽儏
+ </el-col>
+ <el-col :span="12" style="text-align: right">
+ <el-button
+ size="small"
+ type="primary"
+ @click="connectVisible = true"
+ v-show="insOrderState != 2 && state == 1"
+ >浜ゆ帴</el-button
+ >
+ <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">鍏夌氦鍒囨崲</el-button>
+ <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">鍏夌氦甯﹀垏鎹�</el-button>
+ <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">濂楃鍒囨崲</el-button> -->
+ <el-button
+ size="small"
+ type="primary"
+ @click="
+ sampleVisible = true;
+ uploadSample();
+ "
+ >鏍峰搧鍒囨崲</el-button
+ >
+ <el-button size="small" type="primary" @click="taskVisible = true"
+ >浠诲姟鍒囨崲</el-button
+ >
+ <el-button
+ size="small"
+ type="primary"
+ @click="addVerifyDia = true"
+ v-if="state == 1"
+ :loading="submitLoading"
+ >鎻愪氦</el-button
+ >
+ <!-- 澶嶆牳 -->
+ <el-button
+ size="medium"
+ type="primary"
+ @click="upInsReview(1)"
+ :loading="reviewLoading"
+ v-if="state > 1"
+ >閫氳繃</el-button
+ >
+ <el-button size="medium" @click="upInsReview(0)" v-if="state > 1"
+ >涓嶉�氳繃</el-button
+ >
+ <el-button size="small" @click="$emit('goback')">杩斿洖</el-button>
+ </el-col>
+ </el-row>
+ <div class="search">
+ <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-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="璇疯緭鍏�"
+ ></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-form-item>
+ <el-form-item label="鏍峰搧鏁伴噺:">
+ <el-input
+ clearable
+ v-model="fileterSampleProducts.length"
+ disabled
+ size="small"
+ placeholder="璇疯緭鍏�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓嬪彂鏃堕棿:">
+ <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-form-item>
+ <el-form-item label="绾﹀畾鏃堕棿:">
+ <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="澶囨敞:">
+ <span style="color: red">{{
+ insOrder.remark ? insOrder.remark : "-"
+ }}</span>
+ <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> -->
+ </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 style="display: flex; align-items: center">
+ <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-group>
+ </div>
+ <div style="display: flex; align-items: center">
+ <span
+ v-if="
+ casing.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ (tableLists.find((m) => m.templateId == currentTable)
+ .templateName == '鎴愬搧缂嗘楠屽師濮嬭褰�' ||
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName == '浜屾琚鏉愭枡妫�楠屽師濮嬭褰�')
+ "
+ > 濂楃锛�</span
+ >
+ <el-select
+ v-model="currentTab"
+ placeholder="璇烽�夋嫨"
+ clearable
+ @clear="handleChangeSample({ id: currentSample.id })"
+ @change="(m) => handleChange(m, 3)"
+ v-if="
+ casing.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ (tableLists.find((m) => m.templateId == currentTable)
+ .templateName == '鎴愬搧缂嗘楠屽師濮嬭褰�' ||
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName == '浜屾琚鏉愭枡妫�楠屽師濮嬭褰�')
+ "
+ size="small"
+ :loading="getReportModelLoading"
+ @focus="getReportModel(currentSample.id)"
+ >
+ <el-option
+ v-for="item in casing"
+ :key="item.id"
+ :label="item.color"
+ :value="item.id"
+ >
+ <span style="float: left">{{ item.color }}</span>
+ <el-tag
+ :type="
+ item.state == 1
+ ? 'success'
+ : item.state == 2
+ ? 'warning'
+ : 'danger'
+ "
+ style="float: right; margin-top: 5px"
+ size="small"
+ >
+ {{
+ item.state == 1 ? "宸叉" : item.state == 2 ? "鍦ㄦ" : "鏈"
+ }}
+ </el-tag>
+ </el-option>
+ </el-select>
+
+ <!-- 璇ュ厜绾ゅ甫鐢ㄤ簬鍏夌氦甯︿笅鏈夐」鐩厤缃殑鎯呭喌 -->
+ <span
+ v-if="
+ fibers.filter((f) => f.isExistProduct).length > 0 &&
+ fibers.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ > 鍏夌氦甯︼細</span
+ >
+ <el-select
+ v-model="currentTab"
+ placeholder="璇烽�夋嫨"
+ clearable
+ @clear="handleChangeSample({ id: currentSample.id })"
+ @change="(m) => handleChange(m, 1)"
+ v-if="
+ fibers.filter((f) => f.isExistProduct).length > 0 &&
+ fibers.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ size="small"
+ :loading="getReportModelLoading"
+ @focus="getReportModel(currentSample.id)"
+ >
+ <el-option
+ v-for="item in fibers"
+ :key="item.value"
+ :label="item.bushingColor + '-' + item.code"
+ :value="item.id"
+ >
+ <span style="float: left">{{
+ item.bushingColor + "-" + item.code
+ }}</span>
+ <el-tag
+ :type="
+ item.state == 1
+ ? 'success'
+ : item.state == 2
+ ? 'warning'
+ : 'danger'
+ "
+ style="float: right; margin-top: 5px"
+ size="small"
+ >
+ {{
+ item.state == 1 ? "宸叉" : item.state == 2 ? "鍦ㄦ" : "鏈"
+ }}
+ </el-tag>
+ </el-option>
+ </el-select>
+
+ <!-- 璇ュ厜绾ゅ甫鐢ㄤ簬鍏夌氦甯︽棤椤圭洰锛屼笅闈㈡湁鍏夌氦閰嶇疆鐨勬儏鍐� -->
+ <span
+ v-if="
+ fibers.filter((f) => f.isExistProduct).length === 0 &&
+ fibers.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ > 鍏夌氦甯︼細</span
+ >
+ <el-select
+ v-model="insFibersId"
+ placeholder="璇烽�夋嫨"
+ disabled
+ v-if="
+ fibers.filter((f) => f.isExistProduct).length === 0 &&
+ fibers.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ size="small"
+ >
+ <el-option
+ v-for="item in fibers"
+ :key="item.value"
+ :label="item.bushingColor + '-' + item.code"
+ :value="item.id"
+ >
+ <span style="float: left">{{
+ item.bushingColor + "-" + item.code
+ }}</span>
+ <el-tag
+ :type="
+ item.state == 1
+ ? 'success'
+ : item.state == 2
+ ? 'warning'
+ : 'danger'
+ "
+ style="float: right; margin-top: 5px"
+ size="small"
+ >
+ {{
+ item.state == 1 ? "宸叉" : item.state == 2 ? "鍦ㄦ" : "鏈"
+ }}
+ </el-tag>
+ </el-option>
+ </el-select>
+ <span
+ v-if="
+ fiber.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ > 鍏夌氦锛�</span
+ >
+ <el-select
+ v-model="currentTab"
+ placeholder="璇烽�夋嫨"
+ clearable
+ @clear="handleChangeSample({ id: currentSample.id })"
+ @change="(m) => handleChange(m, 2)"
+ v-if="
+ fiber.length > 0 &&
+ tableLists.find((m) => m.templateId == currentTable) &&
+ tableLists.find((m) => m.templateId == currentTable)
+ .templateName != '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍏夌氦')
+ "
+ size="small"
+ :loading="getReportModelLoading"
+ @focus="getReportModel(currentSample.id)"
+ >
+ <el-option
+ v-for="item in fiber"
+ :label="item.bushColor + '-' + item.color"
+ :key="item.id"
+ :value="item.id"
+ >
+ <span style="float: left">{{
+ item.bushColor + "-" + item.color
+ }}</span>
+ <el-tag
+ :type="
+ item.state == 1
+ ? 'success'
+ : item.state == 2
+ ? 'warning'
+ : 'danger'
+ "
+ style="float: right; margin-top: 5px"
+ size="small"
+ >
+ {{
+ item.state == 1 ? "宸叉" : item.state == 2 ? "鍦ㄦ" : "鏈"
+ }}
+ </el-tag>
+ </el-option>
+ </el-select>
+ <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>
+ <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>
+ <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 ||
+ isEdit ||
+ (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>
+ <!-- 甯歌妫�楠屽師濮嬭褰� -->
+ <div
+ class="center-box"
+ id="nav"
+ v-loading="tableLoading"
+ v-if="
+ !tableLists.find((m) => m.templateId == currentTable) ||
+ (tableLists.find((m) => m.templateId == currentTable).templateName !=
+ '娓╁害寰幆妫�楠屽師濮嬭褰�' &&
+ !tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鐑惊鐜�') &&
+ !tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('娓╁崌璇曢獙') &&
+ !tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('寮у瀭鐗规�ф楠屽師濮嬭褰�') &&
+ !tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鍗曟牴鍨傜洿鐕冪儳') &&
+ !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'
+ )
+ "
+ >
+ <!-- <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"
+ 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>
+ </el-select>
+ <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(n.i)"
+ >
+ <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>
+ </template>
+ <template
+ v-else-if="
+ n.v.ps != undefined &&
+ n.v.ps.value === '璁惧缂栫爜' &&
+ state == 1
+ "
+ >
+ <el-select
+ v-model="n.v.v"
+ placeholder="璁惧"
+ :disabled="n.u != userId && n.u != undefined && n.u != ''"
+ 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>
+ <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
+ "
+ >
+ <!-- <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>
+ <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
+ :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>
+ </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"
+ >
+ <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>
+ <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 &&
+ currentSample.model !== null
+ "
+ >
+ {{ currentSample.model }}
+ </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="caretBushing(-1)"></i> -->
+ <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 : "" }}
+ </div>
+ <i
+ v-if="currentFiberOptic"
+ class="el-icon-caret-right table_caret"
+ @click="caretOptic(1)"
+ ></i>
+ </div>
+ </template>
+ <span
+ v-else
+ :style="`font-family:${n.v.ff} !important;`"
+ v-html="getValue(n.v)"
+ ></span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <!-- 寮у瀭鐗规�ф楠屽師濮嬭褰� -->
+ <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="sagForm"
+ class="form-inline"
+ label-width="120px"
+ 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="sagForm.model"
+ disabled
+ size="small"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="妫�楠屼緷鎹�" style="margin-bottom: 0">
+ <el-input
+ clearable
+ v-model="sagForm.methodName"
+ disabled
+ size="small"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ <!-- <el-form-item label="璁惧鍚嶇О" style="margin-bottom: 0">
+ <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-select
+ ref="sag"
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('sag')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璁惧缂栧彿" style="margin-bottom: 0">
+ <el-select
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ 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"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="棰濆畾鎷夋柇鍔�/kN" style="margin-bottom: 0">
+ <el-input
+ clearable
+ v-model="sagForm.tensileForce"
+ size="small"
+ placeholder="璇疯緭鍏�"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('棰濆畾鎷夋柇鍔�', m)"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璺ㄨ窛闀垮害/m" style="margin-bottom: 0">
+ <el-input
+ clearable
+ v-model="sagForm.spanLength"
+ size="small"
+ placeholder="璇疯緭鍏�"
+ @change="(m) => saveSageInfo('璺ㄨ窛闀垮害', m)"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="杞借嵎/kN" style="margin-bottom: 0">
+ <el-input
+ clearable
+ v-model="sagForm.load"
+ size="small"
+ placeholder="璇疯緭鍏�"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('杞借嵎', m)"
+ ></el-input>
+ <!-- <el-select-->
+ <!-- v-model="sagForm.load"-->
+ <!-- :disabled="state > 1"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- size="small"-->
+ <!-- @change="(m) => saveSageInfo('杞借嵎', m)"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in loadList"-->
+ <!-- :key="item.label"-->
+ <!-- :label="item.value"-->
+ <!-- :value="item.label"-->
+ <!-- >-->
+ <!-- </el-option>-->
+ <!-- </el-select>-->
+ </el-form-item>
+ </el-form>
+ <el-divider></el-divider>
+ <div class="container">
+ <el-button
+ class="right-button"
+ type="primary"
+ size="small"
+ @click="addSag"
+ >娣� 鍔�</el-button
+ >
+ </div>
+ <el-table
+ :data="sagData"
+ class="custom-table"
+ border
+ style="margin-bottom: 20px"
+ >
+ <!-- <el-table-column label="楂樺害 h mm" prop="height" align="center">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.height" style="width: 100%;" size="small" @change="m=>saveSageInfo('楂樺害','height')"></el-input>
+ </template>
+ </el-table-column> -->
+ <el-table-column label="寮у瀭 mm" prop="sag" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.sag"
+ size="small"
+ style="width: 100%"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('寮у瀭', 'sag')"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="瀵肩嚎娓╁害鈩�" align="center">
+ <el-table-column label="1" prop="value0" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value0"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="2" prop="value1" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value1"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="3" prop="value2" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value2"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="4" prop="value3" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value3"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="5" prop="value4" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value4"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="6" prop="value5" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.value5"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀵肩嚎娓╁害', scope.row)"
+ ></el-input>
+ </template>
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="骞冲潎娓╁害鈩�" prop="average" align="center">
+ </el-table-column>
+ <el-table-column label="瀹ゆ俯鈩�" prop="temperature" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.temperature"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('瀹ゆ俯', 'temperature')"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="寮犲姏kN" prop="remark" align="center">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.remark"
+ style="width: 100%"
+ size="small"
+ :disabled="state > 1"
+ @change="(m) => saveSageInfo('寮犲姏', 'remark')"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="small"
+ @click="deleteSag(scope.$index)"
+ ><span style="color: red">鍒犻櫎</span></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <!-- 娓╁害寰幆妫�楠屽師濮嬭褰� -->
+ <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;">
+ <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-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="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>
+ </el-form>
+ <el-table
+ :data="wareTableData"
+ 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">
+ </el-table-column>
+ <el-table-column
+ prop="bushColor"
+ label="绠¤壊鏍�"
+ width="75"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="code"
+ label="鍏夌氦甯︾紪鍙�"
+ width="105"
+ align="center"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="color"
+ label="鍏夌氦鑹叉爣"
+ align="center"
+ width="90"
+ >
+ </el-table-column>
+ <template v-for="(item, index) in wareLength">
+ <el-table-column
+ prop="value0"
+ label="澶栫"
+ align="center"
+ width="100"
+ :key="new Date().getTime() + '1234567'"
+ >
+ <template slot="header">
+ {{ "澶栫" + (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>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="value1"
+ label="鍐呯"
+ align="center"
+ width="100"
+ :key="new Date().getTime() + '23333333'"
+ >
+ <template slot="header">
+ {{ "鍐呯" + (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>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="comValue"
+ align="center"
+ min-width="150"
+ :key="new Date().getTime() + '364654654'"
+ >
+ <template slot="header">
+ {{ "琛板噺绯绘暟" + item }}
+ </template>
+ <template slot-scope="scope">
+ <span>{{ scope.row.arr[index].comValue }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="resValue"
+ label="琛板噺宸�"
+ align="center"
+ v-if="wareForm.inspectionItemSubclass != '20(甯告俯)'"
+ min-width="90"
+ :key="new Date().getTime() + '434634634634'"
+ >
+ <template slot="header">
+ {{ "琛板噺宸�" + (index + 1) }}
+ </template>
+ <template slot-scope="scope">
+ <span>{{ scope.row.arr[index].resValue }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="insResult"
+ label="缁撹"
+ align="center"
+ min-width="70"
+ v-if="wareForm.inspectionItemSubclass != '20(甯告俯)'"
+ :key="new Date().getTime() + '53457689809808-'"
+ >
+ <template slot="header">
+ {{ "缁撹" + (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-else>寰呭畾</span>
+ </template>
+ </el-table-column>
+ </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('娓╁崌璇曢獙')
+ "
+ >
+ <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%;
+ "
+ >
+ <!-- <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <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-select
+ ref="thermalCycle"
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('thermalCycle')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </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-form-item> -->
+ <el-form-item label="鍨嬪彿:" style="margin-bottom: 0">
+ <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-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-select
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ 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"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <!-- <el-form-item label="浠櫒缂栧彿:">
+ <el-select
+ multiple
+ 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> -->
+ <!-- <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-form>
+ <div class="table-container" v-loading="thermalCyclingLoading">
+ <table border="1" cellpadding="10" class="thermal-table">
+ <tr>
+ <td>妫�楠岄」鐩�</td>
+ <td :colspan="thermalCyclingInfo.length">妫�楠岃繃绋嬪��</td>
+ <td style="width: 100px">缁撹</td>
+ </tr>
+ <tr>
+ <td>搴忓彿</td>
+ <td
+ v-for="(m, i) in thermalCyclingInfo.length"
+ :key="i"
+ style="min-width: 150px"
+ >
+ {{ i + 1 }}
+ </td>
+ </tr>
+ <tr v-for="(item, index) in thermalCyclingInfo.arr" :key="index">
+ <td style="width: 100px; text-align: center">{{ item.name }}</td>
+ <td
+ v-for="(m, i) in thermalCyclingInfo.length"
+ :key="i"
+ 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(null, item, null)"
+ ></el-input>
+ <span style="margin-left: 5px; font-size: 12px"> 惟/km</span>
+ </div>
+ </td>
+ <td>
+ <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-else>寰呭畾</span>
+ </template>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <!-- 鍗曟牴鍨傜洿鐕冪儳妫�楠屽師濮嬭褰� -->
+ <div
+ v-loading="tableLoading"
+ v-else-if="
+ 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%;
+ "
+ >
+ <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <el-input
+ v-model="equipForm.value0"
+ disabled
+ size="small"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ <!-- <el-form-item label="浠櫒鍚嶇О" style="margin-bottom: 0">
+ <el-select
+ ref="combustion"
+ multiple
+ collapse-tags
+ style="margin-left: 20px;width: 280px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('combustion')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <el-input
+ v-model="equipForm.value1"
+ disabled
+ size="small"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鍨嬪彿:" style="margin-bottom: 0">
+ <el-input
+ v-model="singleRootVerticalInfo.model"
+ disabled
+ size="small"
+ placeholder=""
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0">
+ <el-input
+ v-model="singleRootVerticalInfo.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-item label="浠櫒缂栧彿:">
+ <el-select
+ multiple
+ collapse-tags
+ style="margin-left: 20px;width: 280px"
+ 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"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="浠櫒缂栧彿:">
+ <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"
+ >
+ </el-option>
+ </el-select>
+ </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>
+ </el-form>
+ <table
+ border="1"
+ cellpadding="10"
+ class="thermal-table"
+ style="margin-bottom: 16px"
+ >
+ <tr>
+ <td>妫�楠岄」鐩�</td>
+ <td>鍗曚綅</td>
+ <td>鏍囧噯瑕佹眰</td>
+ <td :colspan="singleRootVerticalInfo.num">妫�楠岃繃绋嬪��</td>
+ <td>妫�楠岀粨鏋�</td>
+ <td>缁撹</td>
+ </tr>
+ <tr v-for="(item, index) in singleRootVerticalInfo.arr" :key="index">
+ <td>{{ item.inspectionItemSubclass }}</td>
+ <td>{{ item.unit }}</td>
+ <td>{{ item.ask }}</td>
+ <td v-for="(m, i) in singleRootVerticalInfo.num">
+ <el-input
+ clearable
+ size="small"
+ placeholder=""
+ v-model="item.value[i]"
+ :disabled="state > 1"
+ @change="(value) => changeSingleRootVertical(value, item)"
+ ></el-input>
+ </td>
+ <td>{{ item.resValue }}</td>
+ <td>
+ <template>
+ <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>
+ </tr>
+ </table>
+ </div>
+ <!-- 鏋剁┖鍦扮嚎搴斿姏搴斿彉 -->
+ <div
+ v-loading="tableLoading"
+ v-else-if="
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('鏋剁┖鍦扮嚎搴斿姏搴斿彉')
+ "
+ >
+ <el-divider></el-divider>
+ <el-form
+ :inline="true"
+ :model="stressStrainInfo"
+ class="form-inline"
+ label-width="80px"
+ style="
+ justify-content: flex-start;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ "
+ >
+ <el-row style="width: 100%">
+ <el-col :span="5">
+ <el-form-item label="浠櫒缂栧彿:" style="margin-bottom: 0">
+ <el-select
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 200px"
+ 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"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <!-- <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <el-input
+ v-model="equipForm.value0"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item> -->
+ <el-form-item label="浠櫒鍚嶇О" style="margin-bottom: 0">
+ <el-select
+ ref="stressStrain"
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 200px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('stressStrain')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鍨嬪彿:" style="margin-bottom: 0">
+ <el-input
+ v-model="stressStrainInfo.model"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0">
+ <el-input
+ v-model="stressStrainInfo.methodS"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <el-form-item label="" style="margin-bottom: 0"
+ ><el-button
+ size="small"
+ type="primary"
+ style="margin-left: 40px"
+ @click="addStressStrain"
+ :disabled="state > 1"
+ >娣� 鍔�</el-button
+ ><el-button
+ size="small"
+ type="primary"
+ style="margin-left: 10px"
+ @click="saveStressStrain"
+ :disabled="state > 1"
+ >淇� 瀛�</el-button
+ ></el-form-item
+ >
+ </el-col>
+ </el-row>
+ </el-form>
+ <table
+ style="border-collapse: collapse"
+ border="1"
+ cellpadding="10"
+ class="thermal-table"
+ >
+ <tbody>
+ <tr style="background-color: #f0f1f5">
+ <td id="lineTd" style="background-color: #f0f1f5">
+ <span
+ style="
+ float: left;
+ margin-top: 20px;
+ background-color: #f0f1f5;
+ "
+ >鍔涘��</span
+ >
+ <span
+ style="
+ float: right;
+ margin-top: 0px;
+ background-color: #f0f1f5;
+ "
+ >浣嶇Щ(mm)</span
+ >
+ </td>
+ <td v-for="(m, i) in timeList" :key="i">{{ m }}min</td>
+ <td>鎿嶄綔</td>
+ </tr>
+ <tr v-for="(item, index) in powerList" :key="index">
+ <td>
+ <el-input
+ v-model="item.value"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ ></el-input>
+ </td>
+ <td v-for="(m, i) in timeList" :key="i">
+ <el-input
+ v-model="item.arr[i]"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ ></el-input>
+ </td>
+ <td>
+ <el-button
+ size="small"
+ type="text"
+ @click="delStressStrain(index)"
+ style="color: red"
+ >鍒犻櫎</el-button
+ >
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ margin-top: 16px;
+ margin-bottom: 20px;
+ "
+ >
+ <span>寮规�фā閲忥細</span>
+ <el-input
+ size="small"
+ style="width: 100px"
+ @change="changeElasticity"
+ v-model="stressStrainInfo.elasticity"
+ :disabled="state > 1"
+ ></el-input>
+ <span style="color: red; font-size: 12px; margin-left: 16px"
+ >鏍囧噯閲忎负锛歿{
+ stressStrainInfo.ask ? stressStrainInfo.ask : "-"
+ }}
+ 锛屼笉鑳借秴杩囨爣鍑嗛噺鐨劼�2</span
+ >
+ </div>
+ </div>
+ <!-- 闃叉尟閿ゅ姛鐜囩壒鎬� -->
+ <div
+ v-loading="tableLoading"
+ v-else-if="
+ tableLists
+ .find((m) => m.templateId == currentTable)
+ .templateName.includes('闃叉尟閿ゅ姛鐜囩壒鎬�')
+ "
+ >
+ <el-divider></el-divider>
+ <el-form
+ :inline="true"
+ :model="powerCharacteristicsInfo"
+ class="form-inline"
+ label-width="80px"
+ style="
+ justify-content: flex-start;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ "
+ >
+ <el-row style="width: 100%">
+ <el-col :span="5">
+ <el-form-item label="浠櫒缂栧彿:" style="margin-bottom: 0">
+ <el-select
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ 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"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <!-- <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <el-input
+ v-model="equipForm.value0"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item> -->
+ <el-form-item label="浠櫒鍚嶇О" style="margin-bottom: 0">
+ <el-select
+ ref="shockproofHammer"
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 280px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('shockproofHammer')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鍨嬪彿:" style="margin-bottom: 0">
+ <el-input
+ v-model="powerCharacteristicsInfo.model"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0">
+ <el-input
+ v-model="powerCharacteristicsInfo.methodS"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <el-form-item label="" style="margin-top: 4px"
+ ><el-button
+ size="small"
+ type="primary"
+ style="margin-left: 10px"
+ @click="savePowerCharacteristics"
+ :disabled="state > 1"
+ >淇� 瀛�</el-button
+ ></el-form-item
+ >
+ </el-col>
+ </el-row>
+ </el-form>
+ <table
+ style="border-collapse: collapse; margin-bottom: 20px"
+ border="1"
+ cellpadding="10"
+ class="thermal-table"
+ >
+ <tr
+ style="background-color: #f0f1f5; font-size: 18px; font-weight: 700"
+ >
+ <td colspan="8">(鐤插姵鍓�)鍔熺巼鐗规��</td>
+ </tr>
+ <tr style="background-color: #f0f1f5">
+ <td colspan="4">璋愭尟棰戠巼(Hz)</td>
+ <td colspan="4">鑰楄兘(W)</td>
+ </tr>
+ <tr>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4</td>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr0" :key="i">
+ <el-input
+ v-model="powerCharacteristicsInfo.arr0[i].value"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ ></el-input>
+ </td>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr1" :key="i + 9">
+ <el-input
+ v-model="powerCharacteristicsInfo.arr1[i].value"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ ></el-input>
+ </td>
+ </tr>
+ </table>
+
+ <table
+ style="border-collapse: collapse; margin-bottom: 20px"
+ border="1"
+ cellpadding="10"
+ class="thermal-table"
+ >
+ <tr
+ style="background-color: #f0f1f5; font-size: 18px; font-weight: 700"
+ >
+ <td colspan="8">(鐤插姵鍚�)鍔熺巼鐗规��</td>
+ </tr>
+ <tr style="background-color: #f0f1f5">
+ <td colspan="4">璋愭尟棰戠巼(Hz)</td>
+ <td colspan="4">鑰楄兘(W)</td>
+ </tr>
+ <tr>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4</td>
+ <td>1</td>
+ <td>2</td>
+ <td>3</td>
+ <td>4</td>
+ </tr>
+ <tr>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr2" :key="i + 19">
+ <el-input
+ v-model="powerCharacteristicsInfo.arr2[i].value"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ @change="(m) => changeArr2(m, i)"
+ ></el-input>
+ </td>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr3" :key="i + 29">
+ <el-input
+ v-model="powerCharacteristicsInfo.arr3[i].value"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ @change="(m) => changeArr3(m, i)"
+ ></el-input>
+ </td>
+ </tr>
+ <tr>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr2" :key="i + 39">
+ <span v-if="!m.state">寰呭畾</span>
+ <span v-if="m.state == 1" style="color: green">鍚堟牸</span>
+ <span v-if="m.state == 2" style="color: red">涓嶅悎鏍�</span>
+ </td>
+ <td v-for="(m, i) in powerCharacteristicsInfo.arr3" :key="i + 49">
+ <span v-if="!m.state">寰呭畾</span>
+ <span v-if="m.state == 1" style="color: green">鍚堟牸</span>
+ <span v-if="m.state == 2" style="color: red">涓嶅悎鏍�</span>
+ </td>
+ </tr>
+ </table>
+
+ <div style="margin-bottom: 20px; font-size: 12px; color: red">
+ 鎻愮ず锛�(鐤插姵鍓�)鍔熺巼鐗规�у瓨鍦ㄧ殑鎯呭喌涓嬶紝(鐤插姵鍚�)鍔熺巼鐗规�т笅闈㈢殑鍊奸渶瑕佸湪鐤插姵鍓嶅��*0.8鍜岀柌鍔冲墠鍊�*1.2涔嬮棿銆�
+ </div>
+ </div>
+ <!-- 鐤插姵璇曢獙妫�楠屽師濮嬭褰� -->
+ <div
+ v-loading="tableLoading"
+ v-else-if="
+ tableLists.find((m) => m.templateId == currentTable).templateName ==
+ '鐤插姵璇曢獙妫�楠屽師濮嬭褰�'
+ "
+ >
+ <el-divider></el-divider>
+ <el-form
+ :inline="true"
+ :model="fatigueTestInfo"
+ class="form-inline"
+ label-width="80px"
+ style="
+ justify-content: flex-start;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ "
+ >
+ <el-row style="width: 100%">
+ <el-col :span="5">
+ <el-form-item label="浠櫒缂栧彿:" style="margin-bottom: 0">
+ <el-select
+ multiple
+ collapse-tags
+ v-model="equipForm.code0"
+ :disabled="state > 1"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ style="margin-left: 20px; width: 200px"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.value"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <!-- <el-form-item label="浠櫒鍚嶇О:" style="margin-bottom: 0">
+ <el-input
+ v-model="equipForm.value0"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item> -->
+ <el-form-item label="浠櫒鍚嶇О" style="margin-bottom: 0">
+ <el-select
+ ref="fatigueTest"
+ multiple
+ collapse-tags
+ style="margin-left: 20px; width: 200px"
+ v-model="equipForm.value0"
+ size="small"
+ @change="blockModifications('fatigueTest')"
+ >
+ <el-option
+ v-for="item in equipOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="鍨嬪彿:" style="margin-bottom: 0">
+ <el-input
+ v-model="fatigueTestInfo.model"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="5">
+ <el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0">
+ <el-input
+ v-model="fatigueTestInfo.methodS"
+ disabled
+ size="small"
+ placeholder=""
+ style="width: 170px"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <el-form-item label="" style="margin-top: 4px"
+ ><el-button
+ size="small"
+ type="primary"
+ style="margin-left: 10px"
+ @click="saveFatigueTest"
+ :disabled="state > 1"
+ >淇� 瀛�</el-button
+ ></el-form-item
+ >
+ </el-col>
+ </el-row>
+ </el-form>
+ <table
+ style="border-collapse: collapse; margin-bottom: 20px"
+ border="1"
+ cellpadding="10"
+ class="thermal-table"
+ >
+ <tr>
+ <td class="background-grey">寮�濮嬫椂闂�</td>
+ <td>
+ <el-date-picker
+ v-model="fatigueTestInfo.startTime"
+ type="datetime"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </td>
+ <td class="background-grey">缁撴潫鏃堕棿</td>
+ <td>
+ <el-date-picker
+ v-model="fatigueTestInfo.endTime"
+ type="datetime"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </td>
+ <td class="background-grey">鏂藉姞寮犲姏</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.tension"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>kN</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="background-grey">婵�鎸櫒鍒板浐瀹氱璺濈</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.distance0"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>m</span>
+ </td>
+ <td class="background-grey">婵�鎸櫒鍒版偓鍨傜嚎澶硅窛绂�</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.distance1"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>m</span>
+ </td>
+ <td class="background-grey">棰戠巼</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.frequency"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>Hz</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="background-grey">娉㈣吂鎸箙</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.amplitude0"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>mm</span>
+ </td>
+ <td class="background-grey">鍗婃尝闀�</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.wavelength"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>m</span>
+ </td>
+ <td class="background-grey">寮洸鎸箙</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.amplitude1"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>mm</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="background-grey">寮洸搴斿彉</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.strain"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>渭 t</span>
+ </td>
+ <td class="background-grey">妗h窛</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.pitch"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>m</span>
+ </td>
+ <td class="background-grey">鎸姩娆℃暟</td>
+ <td>
+ <el-input
+ v-model="fatigueTestInfo.num"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>娆�</span>
+ </td>
+ </tr>
+ <tr>
+ <td class="background-grey">鐩鍙鎹熶激</td>
+ <td>
+ <el-select
+ v-model="fatigueTestInfo.damage"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ >
+ <el-option label="绗﹀悎" value="绗﹀悎" />
+ <el-option label="涓嶇鍚�" value="涓嶇鍚�" />
+ </el-select>
+ </td>
+ <td
+ class="background-grey"
+ v-if="
+ fatigueTestInfo.sampleType &&
+ fatigueTestInfo.sampleType.includes('棰勭粸寮忛噾鍏�')
+ "
+ >
+ 鍏夌氦闄勫姞琛板噺
+ </td>
+ <td
+ v-if="
+ fatigueTestInfo.sampleType &&
+ fatigueTestInfo.sampleType.includes('棰勭粸寮忛噾鍏�')
+ "
+ >
+ <el-input
+ v-model="fatigueTestInfo.attenuation"
+ :disabled="state > 1"
+ size="small"
+ placeholder=""
+ style="display: inline-block; width: 80%"
+ ></el-input>
+ <span>dB</span>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <el-upload
+ :action="action"
+ :data="{
+ orderId: id,
+ }"
+ v-if="state == 1 && fileAdd"
+ :on-success="handleSuccessUp"
+ :show-file-list="false"
+ accept=".jpg,.jpeg,.png,.bmp,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar"
+ :headers="headers"
+ :on-change="beforeUpload"
+ style="width: 80px !important"
+ :on-error="onError"
+ ref="upload"
+ >
+ <el-button size="small" type="primary" v-if="state == 1"
+ >闄勪欢涓婁紶</el-button
+ >
+ </el-upload>
+ <ValueTable
+ class="value-table"
+ ref="fileList"
+ :url="$api.insOrderPlan.getFileList"
+ :componentData="componentData0"
+ :delUrl="$api.insOrderPlan.delfile"
+ :key="upIndex"
+ style="height: 100%; margin-top: 16px"
+ />
+ </div>
+ <el-drawer title="鍏夌氦鍒囨崲" :visible.sync="fiberOpticVisible" :size="500">
+ <el-table
+ class="el-table"
+ ref="fiberOpticTable"
+ :data="fiberOptic"
+ height="100%"
+ tooltip-effect="dark"
+ border
+ highlight-current-row
+ @row-click="handleChangeOptic"
+ :row-class-name="tableRowClassName"
+ :current-row-key="currentKey2"
+ :row-key="(record) => record.index"
+ v-if="fiberOpticVisible"
+ >
+ <el-table-column
+ type="index"
+ align="center"
+ label="搴忓彿"
+ width="70px"
+ :key="Math.random()"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="bushColor"
+ label="绠″鑹叉爣"
+ min-width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="color"
+ label="鍏夌氦鑹叉爣"
+ min-width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="model"
+ label="鍏夌氦瑙勬牸"
+ min-width="130px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="standard"
+ label="鍙傝�冩爣鍑�"
+ width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ </el-table>
+ </el-drawer>
+ <el-drawer
+ title="鍏夌氦甯﹀垏鎹�"
+ :visible.sync="fiberOpticTapeVisible"
+ :size="500"
+ >
+ <el-table
+ class="el-table"
+ ref="fiberOpticTapeTable"
+ :data="fiberOpticTape"
+ height="100%"
+ tooltip-effect="dark"
+ border
+ highlight-current-row
+ @row-click="handleChangeTape"
+ :row-class-name="tableRowClassName"
+ :current-row-key="currentKey1"
+ :row-key="(record) => record.index"
+ v-if="fiberOpticTapeVisible"
+ >
+ <el-table-column
+ type="index"
+ align="center"
+ label="搴忓彿"
+ width="70px"
+ :key="Math.random()"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="code"
+ label="鍏夌氦甯︾紪鍙�"
+ min-width="110px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="model"
+ label="鍏夌氦甯﹁鏍�"
+ min-width="110px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="standard"
+ label="鍙傝�冩爣鍑�"
+ width="90px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="num"
+ label="鍏夌氦妫�娴嬮噺"
+ min-width="110px"
+ show-overflow-tooltip
+ ></el-table-column>
+ </el-table>
+ </el-drawer>
+ <el-drawer title="濂楃鍒囨崲" :visible.sync="bushingVisible" :size="500">
+ <el-table
+ class="el-table"
+ ref="bushingTable"
+ :data="bushing"
+ height="100%"
+ tooltip-effect="dark"
+ border
+ highlight-current-row
+ @row-click="handleChangeBushing"
+ :row-class-name="tableRowClassName"
+ :current-row-key="currentKey0"
+ :row-key="(record) => record.index"
+ v-if="bushingVisible"
+ >
+ <el-table-column
+ type="index"
+ align="center"
+ label="搴忓彿"
+ width="70px"
+ :key="Math.random()"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="color"
+ label="绠¤壊鏍�"
+ min-width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="standNum"
+ label="鏍囬噺"
+ min-width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="testNum"
+ label="娴嬭瘯閲�"
+ min-width="100px"
+ show-overflow-tooltip
+ ></el-table-column>
+ </el-table>
+ </el-drawer>
+ <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" :size="500">
+ <div style="margin-bottom: 20px; margin-left: 20px">
+ <span>鏍峰搧缂栧彿:</span>
+ <el-input
+ v-model="filterSampleCode"
+ size="small"
+ style="width: 40%; margin-right: 20px"
+ clearable
+ @change="filterSampleProduct"
+ placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�"
+ @clear="filterSampleProduct"
+ @keyup.enter="filterSampleProduct"
+ >
+ </el-input>
+ <el-button
+ type="primary"
+ size="small"
+ @click="filterSampleProduct"
+ icon="el-icon-search"
+ >鏌ヨ</el-button
+ >
+ </div>
+ <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
+ >
+ <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
+ >
+ </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"
+ >
+ <template slot-scope="scope">
+ <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>
+ </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%"
+ />
+ </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_input" style="width: 100%">
+ <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
+ >
+ </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="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-option> -->
+ <el-option-group
+ v-for="(item, index) in Object.keys(personList)"
+ :key="index"
+ :label="item"
+ >
+ <el-option
+ :disabled="
+ inspectorList.filter((name) => name == op.name).length > 0
+ "
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
+ >
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="addVerifyDia = false">鍙� 娑�</el-button>
+ <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"
+ >
+ <div>
+ <table border="1" cellpadding="10" class="thermal-table">
+ <tr>
+ <td style="width: 120px">妫�楠岄」</td>
+ <td style="width: 120px">妫�楠屽瓙椤�</td>
+ <td>鏁伴噰鏁版嵁</td>
+ </tr>
+ <template v-for="(item, index) in getData">
+ <tr>
+ <td :rowspan="item.child.length">{{ item.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
+ >
+ </el-checkbox-group>
+ </td>
+ </tr>
+ <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>
+ </td>
+ </tr>
+ </template>
+ </table>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button
+ type="primary"
+ @click="submitDataGet()"
+ :loading="getDataIndexLoading"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 浜ゆ帴寮规 -->
+ <el-dialog title="妫�楠屼氦鎺�" :visible.sync="connectVisible" width="400px">
+ <div class="search_thing">
+ <div class="search_label" style="width: 90px">
+ <span class="required-span">* </span>浜ゆ帴浜哄憳锛�
+ </div>
+ <div class="search_input">
+ <el-select
+ v-model="connect.connectPerson"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ filterable
+ >
+ <!-- <el-option
+ v-for="item in personList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option> -->
+ <el-option-group
+ v-for="(item, index) in Object.keys(handover)"
+ :key="index"
+ :label="item"
+ >
+ <el-option
+ :disabled="
+ inspectorList.filter((name) => name == op.name).length > 0
+ "
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
+ >
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label" style="width: 90px">
+ <span class="required-span">* </span>璇曢獙瀹わ細
+ </div>
+ <div class="search_input">
+ <el-select
+ v-model="connect.sonLaboratory"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ filterable
+ >
+ <el-option
+ v-for="item in sonLaboratoryList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="connectVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmConnect" :loading="loading"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import limsTable from "@/components/Table/lims-table.vue";
+import file from "@/utils/file";
+import excelFunction from "@/utils/excelFountion";
+export default {
+ props: ["sonLaboratory", "orderId", "state", "inspectorList", "handover"],
+ components: {
+ limsTable,
+ },
+ data() {
+ return {
+ equipName: [],
+ insFibersId: null, //鍏夌氦甯d
+ insOrderState: null,
+ sonLaboratoryList: [],
+ connect: {
+ connectPerson: "",
+ sonLaboratory: "",
+ },
+ connectVisible: false,
+ filterSampleCode: null,
+ fileterSampleProducts: [],
+ isEdit: false,
+ sagData: [],
+ sagForm: {},
+ 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,
+ },
+ isIndex: false,
+ showSelect: false,
+ select: false,
+ selectMethod: "handleChangeTask",
+ sort: false,
+ do: [],
+ isPage: false,
+ linkEvent: {},
+ tagField: {
+ type: {
+ select: [],
+ },
+ insState: {
+ select: [],
+ },
+ },
+ currentId: "",
+ selectField: {},
+ requiredAdd: [],
+ requiredUp: [],
+ },
+ componentData0: {
+ entity: {
+ insOrderId: "",
+ },
+ 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",
+ disabFun: (row, index) => {
+ return this.state != 1;
+ },
+ },
+ ],
+ isPage: false,
+ linkEvent: {},
+ tagField: {
+ type: {
+ select: [
+ {
+ value: 1,
+ label: "鍥剧墖",
+ },
+ {
+ value: 2,
+ label: "鏂囦欢",
+ },
+ ],
+ },
+ },
+ currentId: "",
+ selectField: {},
+ requiredAdd: [],
+ requiredUp: [],
+ },
+ upIndex: 0,
+ getReportModelLoading: false,
+ 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: [],
+ fiberOpticVisible: false,
+ fiberOpticTapeVisible: false,
+ bushingVisible: false,
+ 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: [],
+ otherForm: {
+ humidity: null,
+ temperature: null,
+ },
+ 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: [
+ {
+ faName: "娉㈤暱闄勫姞琛板噺",
+ child: [
+ {
+ name: "1285nm~1330nm",
+ arr: [12, 13, 14, 15],
+ },
+ {
+ name: "1525nm~1575nm",
+ arr: [12, 13, 14, 15],
+ },
+ ],
+ },
+ {
+ faName: "鎴嚦娉㈤暱",
+ child: [
+ {
+ name: "鎴嚦娉㈤暱",
+ arr: [12, 13, 14, 15],
+ },
+ ],
+ },
+ ],
+ getDataIndex: [],
+ getDataIndexLoading: false,
+ changeType: null,
+ getDataTypeId: "",
+ getDataType: null,
+ singleRootVerticalInfo: {
+ model: "",
+ methodName: "",
+ num: 0,
+ arr: [],
+ ask: "",
+ elasticity: null, //寮规�фā閲�
+ },
+ loadList: [],
+ // 鏋剁┖瀵煎湴绾�-搴斿姏搴斿彉--寮�濮�
+ stressStrainInfo: {
+ elasticity: null,
+ },
+ timeList: [5, 10, 15, 30, 45, 60],
+ powerList0: [
+ {
+ value: "30%RTS",
+ arr: ["", "", "", "", "", ""],
+ },
+ {
+ value: "50%RTS",
+ arr: ["", "", "", "", "", ""],
+ },
+ {
+ value: "70%RTS",
+ arr: ["", "", "", "", "", ""],
+ },
+ {
+ value: "85%RTS",
+ arr: ["", "", "", "", "", ""],
+ },
+ ],
+ powerList: [],
+ // 鏋剁┖瀵煎湴绾�-搴斿姏搴斿彉--缁撴潫
+ // 闃叉尟閿ゅ姛鐜囩壒鎬�---寮�濮�
+ powerCharacteristicsInfo: {
+ model: null,
+ methodS: null,
+ arr0: [
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ ], //(鐤插姵鍓�)鍔熺巼鐗规��-璋愭尟棰戠巼(Hz)
+ arr1: [
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ ], //(鐤插姵鍓�)鍔熺巼鐗规��-鑰楄兘(W)
+ arr2: [
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ ], //(鐤插姵鍚�)鍔熺巼鐗规��-璋愭尟棰戠巼(Hz)
+ arr3: [
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ ], //(鐤插姵鍚�)鍔熺巼鐗规��-鑰楄兘(W)
+ },
+ powerCharacteristicsCopy: [
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ {
+ value: "",
+ state: 0,
+ },
+ ],
+ // 闃叉尟閿ゅ姛鐜囩壒鎬�---缁撴潫
+ // 鐤插姵璇曢獙---寮�濮�
+ fatigueTestInfo: {
+ model: null,
+ methodS: null,
+ sampleType: null,
+ // 浠ヤ笅鐨勬槸杈撳叆鍙傛暟
+ startTime: null,
+ endTime: null,
+ tension: null,
+ distance0: null,
+ distance1: null,
+ frequency: null,
+ amplitude0: null,
+ wavelength: null,
+ amplitude1: null,
+ strain: null,
+ pitch: null,
+ num: null,
+ damage: null,
+ attenuation: null,
+ },
+ // 鐤插姵璇曢獙---缁撴潫
+ };
+ },
+ // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
+ computed: {
+ headers() {
+ return {
+ token: sessionStorage.getItem("token"),
+ };
+ },
+ action() {
+ return this.javaApi + this.$api.insOrderPlan.uploadFile;
+ },
+ },
+ created() {
+ console.log("妫�楠屼汉鍛�---", this.inspectorList);
+ this.componentData.entity.sonLaboratory = this.sonLaboratory;
+ this.id = this.orderId;
+ this.getUserInfo();
+ },
+ mounted() {
+ this.getSonLaboratoryList();
+ 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, {
+ id: val,
+ laboratory: this.sonLaboratory,
+ })
+ .then(async (res) => {
+ this.insOrder = res.data.insOrder;
+ this.insOrderState = res.data.insState;
+ this.componentData0.entity.insOrderId = val;
+ this.$refs.fileList.selectList();
+ this.urgentList.forEach((m) => {
+ if (m.value == this.insOrder.type) {
+ this.insOrder.typeName = m.label;
+ }
+ });
+ this.loading = false;
+ if (!res.data.sampleProduct || res.data.sampleProduct.length == 0) {
+ return this.$message.error("璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�");
+ }
+ // 璧嬪�煎綋鍓嶆牱鍝佸垪琛�
+ this.sampleProduct = res.data.sampleProduct;
+ this.fileterSampleProducts = JSON.parse(
+ JSON.stringify(res.data.sampleProduct)
+ );
+ this.currentSample = this.HaveJson(this.sampleProduct[0]);
+ let insProduct = this.HaveJson(this.currentSample.insProduct);
+ // 娓╁害銆佹箍搴﹁祴鍊�
+ if (insProduct && insProduct.length > 0) {
+ const filterList = insProduct.filter(
+ (ele) => ele.temperature || ele.humidity
+ );
+ if (filterList && filterList.length > 0) {
+ let { temperature, humidity } = filterList[0];
+ this.otherForm = {
+ temperature: temperature ? temperature : null,
+ humidity: humidity ? humidity : null,
+ };
+ }
+ }
+ // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
+ let list = await this.getCurrentProduct(this.currentSample.id, 0);
+ console.log(888, list);
+ if (list) {
+ this.currentSample.insProduct = this.HaveJson(list);
+ }
+ // 鍒濆鍖栦紶閫掑埌鍚庣鐨勫弬鏁�
+ this.param = {};
+ this.changeType = 0;
+ this.currentSample.insProduct.forEach((a, j) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ this.determineWhetherToCollectData(); //鏄惁闇�瑕佹暟閲�
+ this.getReportModel(this.currentSample.id); //鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭�
+ 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.currentFiberOpticTape = null;
+ this.fiberOptic = [];
+ this.currentFiberOptic = null;
+ this.bushing = [];
+ this.currentBushing = null;
+ this.currentTab = null;
+ if (bushing && bushing.length > 0) {
+ this.bushing = bushing;
+ }
+ // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ type: "saveData",
+ tableList: this.tableList,
+ param: this.param,
+ currentTable: this.currentTable,
+ })
+ );
+ });
+ },
+ // 鐩戝惉褰撳墠妯℃澘鍙樺寲
+ 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
+ // }
+ //76:鐤插姵璇曢獙妫�楠屽師濮嬭褰曚笉鎵ц涓嬮潰鐨勬搷浣�
+ 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) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ this.getReportModel(this.currentSample.id); //鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭�
+ // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘
+ 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.filter(
+ (m) => m.templateId == val1
+ );
+ // 瀵规ā鏉胯繘琛屽鐞�
+ this.handleTableData();
+ // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ type: "saveData",
+ tableList: this.tableList,
+ param: this.param,
+ currentTable: this.currentTable,
+ })
+ );
+ }
+ }
+ });
+ }
+ },
+ // 鐗规畩妫�楠岄」--鐩戝惉璁惧淇℃伅鏀瑰彉
+ "equipForm.code0": {
+ deep: true,
+ handler(oldVal, newVal) {
+ this.changEquip("code0");
+ },
+ },
+ "equipForm.code1": {
+ deep: true,
+ handler(oldVal, newVal) {
+ this.changEquip("code1");
+ },
+ },
+ // equipForm:{
+ // deep:true,
+ // handler(oldVal,newVal){
+
+ // }
+ // },
+ },
+ beforeDestroy() {
+ // 鍦ㄧ粍浠堕攢姣佸墠纭繚鍋滄 Worker锛岄伩鍏嶅唴瀛樻硠婕�
+ this.stopWorker();
+ },
+ methods: {
+ blockModifications(val) {
+ // 鎭㈠鍘熷鍊�
+ this.$nextTick(() => {
+ this.equipForm.value0 = JSON.parse(JSON.stringify(this.equipName));
+ if (this.$refs[val]) {
+ this.$refs[val].blur();
+ } else {
+ console.error(`No ref found with name ${val}`);
+ }
+ });
+ },
+ getSonLaboratoryList() {
+ this.$axios
+ .post(this.$api.insOrderPlan.upPlanUser2, {
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200 && res.data.length > 0) {
+ this.sonLaboratoryList = [];
+ res.data.forEach((m) => {
+ this.sonLaboratoryList.push({
+ value: m,
+ label: m,
+ });
+ });
+ this.connect.sonLaboratory = this.sonLaboratoryList[0].value;
+ }
+ });
+ },
+ // 鍐呴儴浜ゆ帴
+ confirmConnect() {
+ if (
+ this.connect.connectPerson == null ||
+ this.connect.connectPerson == "" ||
+ this.connect.connectPerson == undefined
+ ) {
+ this.$message.error("鏈�夋嫨浜ゆ帴浜哄憳");
+ return;
+ }
+ if (
+ this.connect.sonLaboratory == null ||
+ this.connect.sonLaboratory == "" ||
+ this.connect.sonLaboratory == undefined
+ ) {
+ this.$message.error("鏈�夋嫨璇曢獙瀹�");
+ return;
+ }
+ this.loading = true;
+ this.$axios
+ .post(this.$api.insOrderPlan.upPlanUser, {
+ orderId: this.orderId,
+ userId: this.connect.connectPerson,
+ sonLaboratory: this.connect.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.loading = false;
+ this.$message.success("鎿嶄綔鎴愬姛");
+ }
+ this.connectVisible = false;
+ this.$emit("goback");
+ })
+ .catch((error) => {
+ console.error(error);
+ this.loading = false;
+ });
+ },
+ // 鏍峰搧缂栧彿鎼滅储
+ filterSampleProduct() {
+ console.log(123, this.filterSampleCode);
+ let list = JSON.parse(JSON.stringify(this.fileterSampleProducts));
+ this.sampleProduct = list.filter((m) =>
+ m.sampleCode.includes(this.filterSampleCode)
+ );
+ },
+ //淇敼璁惧
+ changEquip() {
+ 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.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("寮у瀭") ||
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("鏋剁┖鍦扮嚎搴斿姏搴斿彉") ||
+ 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
+ ) {
+ let list = this.currentSample.insProduct.filter(
+ (m) =>
+ m.inspectionItem.includes("鐑惊鐜�") ||
+ m.inspectionItem.includes("娓╁害寰幆") ||
+ m.inspectionItem.includes("娓╁崌") ||
+ m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ m.inspectionItem.includes("寮у瀭") ||
+ m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ m.inspectionItem.includes("搴斿姏搴斿彉") ||
+ m.inspectionItem.includes("闃叉尟閿ゅ姛鐜囩壒鎬�") ||
+ m.inspectionItem.includes("鎸姩鐤插姵") ||
+ m.inspectionItem.includes("鑸炲姩鐤插姵")
+ );
+ console.log(123, list);
+ list.forEach((m) => {
+ // 淇濆瓨妫�楠屽��
+ console.log(m);
+ if (m.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳") {
+ this.param[m.id].insResult = {
+ i: m.id,
+ v: { v: m.insResult },
+ };
+ this.param[m.id].resValue = {
+ i: m.id,
+ v: { v: m.resValue },
+ };
+ this.param[m.id].insValue = [];
+ m.value.forEach((item) => {
+ let obj = {
+ i: m.id,
+ v: {
+ v: item,
+ },
+ };
+ this.param[m.id].insValue.push(obj);
+ });
+ }
+ // //閲嶆柊璧嬪�糹nsValue
+ // if(m.insProductResult){
+ // const valueArr = JSON.parse(m.insProductResult.insValue)
+ // valueArr.forEach(ele=>{
+ // this.param[m.id].insValue.push({
+ // i:m.id,
+ // v:{v:ele.v}
+ // })
+ // })
+ // }
+ // 鍒濆鍖栬澶囦俊鎭�
+ this.param[m.id].equipValue = [];
+ this.param[m.id].equipName = [];
+ if (this.equipForm.code0) {
+ // 璧嬪�肩涓�涓澶囩殑淇℃伅
+ // this.equipForm.value0 = this.equipOptions.find(
+ // (m) => m.value == this.equipForm.code0
+ // ).label;
+
+ if (
+ !m.inspectionItem.includes("娓╁害寰幆") &&
+ !m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳")
+ ) {
+ // 璧嬪�艰澶囧悕绉�
+
+ let list1 = [];
+ this.equipOptions
+ .filter((m) => this.equipForm.code0.includes(m.value))
+ .forEach((item) => {
+ list1.push(item.label);
+ });
+ this.equipForm.value0 = [...new Set(list1)];
+ this.equipForm.code0.forEach((item, index) => {
+ this.param[m.id].equipValue.push({
+ i: m.id,
+ v: {
+ v: item,
+ },
+ });
+ this.param[m.id].equipName.push({
+ i: m.id,
+ v: {
+ v: list1[index],
+ },
+ });
+ });
+ console.log("this.equipOptions", this.equipOptions);
+ } else {
+ this.equipForm.value0 = this.equipOptions.find(
+ (m) => m.value == this.equipForm.code0
+ ).label;
+ this.param[m.id].equipValue.push({
+ i: m.id,
+ v: {
+ v: this.equipForm.code0,
+ },
+ });
+ this.param[m.id].equipName.push({
+ i: m.id,
+ v: {
+ v: this.equipForm.value0,
+ },
+ });
+ }
+ // this.param[m.id].equipValue.push({
+ // i: m.id,
+ // v: {
+ // v: code0,
+ // },
+ // });
+ // this.param[m.id].equipName.push({
+ // i: m.id,
+ // v: {
+ // v: value0,
+ // },
+ // });
+ }
+ if (
+ this.equipForm.code1 &&
+ (m.inspectionItem.includes("娓╁害寰幆") ||
+ m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳"))
+ ) {
+ // 璧嬪�肩浜屼釜璁惧鐨勪俊鎭�
+ this.equipForm.value1 = this.equipOptions.find(
+ (m) => m.value == this.equipForm.code1
+ ).label;
+ this.param[m.id].equipValue.push({
+ i: m.id,
+ v: {
+ v: this.equipForm.code1,
+ },
+ });
+ this.param[m.id].equipName.push({
+ i: m.id,
+ v: {
+ v: this.equipForm.value1,
+ },
+ });
+ }
+ // 淇濆瓨鏁版嵁
+ this.saveInsContext(m.id);
+ });
+ }
+ },
+ // 鐤插姵璇曢獙鐗规��---寮�濮�
+ getFatigueTestInfo() {
+ for (let i in this.fatigueTestInfo) {
+ this.fatigueTestInfo[i] = null;
+ }
+ let obj = this.currentSample.insProduct.filter(
+ (m) =>
+ m.inspectionItem.includes("鎸姩鐤插姵") ||
+ m.inspectionItem.includes("鑸炲姩鐤插姵")
+ )[0];
+ // 鑾峰彇璁惧鍒楄〃
+ this.getEquipOptions(true, obj.id);
+ this.fatigueTestInfo.model = this.currentSample.model;
+ this.fatigueTestInfo.methodS = obj.methodS;
+ this.fatigueTestInfo.sampleType = obj.sampleType;
+ this.fatigueTestInfo.id = obj.id;
+ this.fatigueTestInfo.insProductResult = obj.insProductResult;
+ // 鍥炴樉鏁版嵁
+ if (
+ obj.insProductResult &&
+ obj.insProductResult.insValue &&
+ obj.insProductResult.insValue.length > 5
+ ) {
+ this.fatigueTestInfo = {
+ ...this.fatigueTestInfo,
+ ...JSON.parse(obj.insProductResult.insValue),
+ };
+ }
+ },
+ //鐤插姵璇曢獙淇濆瓨鏂规硶
+ saveFatigueTest() {
+ let obj = this.HaveJson(this.fatigueTestInfo);
+ delete obj.insProductResult;
+ delete obj.id;
+ delete obj.model;
+ delete obj.methodS;
+ delete obj.sampleType;
+ this.$axios
+ .post(
+ this.$api.insOrderPlan.saveInsContext2,
+ {
+ id: this.fatigueTestInfo.insProductResult
+ ? this.fatigueTestInfo.insProductResult.id
+ : "",
+ insProductId: this.fatigueTestInfo.id,
+ sampleId: this.currentSample.id,
+ orderId: this.currentSample.insOrderId,
+ insValue: JSON.stringify(obj),
+ templateName: "鐤插姵璇曢獙",
+ },
+ {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ }
+ )
+ .then((res) => {
+ if (res.code == 201) {
+ this.$message.error("淇濆瓨澶辫触");
+ return;
+ }
+ this.$message.success("淇濆瓨鎴愬姛");
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ // 鐤插姵璇曢獙鐗规��---缁撴潫
+ // 闃叉尟閿ゅ姛鐜囩壒鎬�---寮�濮�
+ getPowerCharacteristicsInfo() {
+ this.powerCharacteristicsInfo.arr0 = this.HaveJson(
+ this.powerCharacteristicsCopy
+ );
+ this.powerCharacteristicsInfo.arr1 = this.HaveJson(
+ this.powerCharacteristicsCopy
+ );
+ this.powerCharacteristicsInfo.arr2 = this.HaveJson(
+ this.powerCharacteristicsCopy
+ );
+ this.powerCharacteristicsInfo.arr3 = this.HaveJson(
+ this.powerCharacteristicsCopy
+ );
+ let obj = this.currentSample.insProduct.filter((m) =>
+ m.inspectionItem.includes("闃叉尟閿ゅ姛鐜囩壒鎬�")
+ )[0];
+ // 鑾峰彇璁惧鍒楄〃
+ this.getEquipOptions(true, obj.id);
+ this.powerCharacteristicsInfo.model = this.currentSample.model;
+ this.powerCharacteristicsInfo.methodS = obj.methodS;
+ this.powerCharacteristicsInfo.id = obj.id;
+ this.powerCharacteristicsInfo.insProductResult = obj.insProductResult;
+ // 鍥炴樉鏁版嵁
+ if (obj.insProductResult) {
+ if (
+ obj.insProductResult.insValue &&
+ obj.insProductResult.insValue.length > 5
+ ) {
+ let obj0 = JSON.parse(obj.insProductResult.insValue);
+ this.powerCharacteristicsInfo.arr0 = obj0.arr0;
+ this.powerCharacteristicsInfo.arr1 = obj0.arr1;
+ }
+ if (
+ obj.insProductResult.comValue &&
+ obj.insProductResult.comValue.length > 5
+ ) {
+ let obj1 = JSON.parse(obj.insProductResult.comValue);
+ this.powerCharacteristicsInfo.arr2 = obj1.arr2;
+ this.powerCharacteristicsInfo.arr3 = obj1.arr3;
+ }
+ }
+ },
+ // 鏀瑰彉鐤插姵鍚庣殑璋愭尟棰戠巼(Hz)
+ changeArr2(val, index) {
+ if (!this.powerCharacteristicsInfo.arr0[index].value || !val) {
+ return;
+ }
+ let num0 = Number(this.powerCharacteristicsInfo.arr0[index].value) * 0.8;
+ let num1 = Number(this.powerCharacteristicsInfo.arr0[index].value) * 1.2;
+ if (Number(val) > num0 && Number(val) < num1) {
+ this.powerCharacteristicsInfo.arr2[index].state = 1;
+ } else {
+ this.powerCharacteristicsInfo.arr2[index].state = 2;
+ }
+ },
+ // 鏀瑰彉鐤插姵鍚庣殑璋愯�楄兘(W)
+ changeArr3(val, index) {
+ if (!this.powerCharacteristicsInfo.arr1[index].value || !val) {
+ return;
+ }
+ let num0 = Number(this.powerCharacteristicsInfo.arr1[index].value) * 0.8;
+ let num1 = Number(this.powerCharacteristicsInfo.arr1[index].value) * 1.2;
+ if (Number(val) > num0 && Number(val) < num1) {
+ this.powerCharacteristicsInfo.arr3[index].state = 1;
+ } else {
+ this.powerCharacteristicsInfo.arr3[index].state = 2;
+ }
+ },
+ //闃叉尟閿ゅ姛鐜囩壒鎬т繚瀛樻柟娉�
+ savePowerCharacteristics() {
+ let obj0 = {};
+ obj0.arr0 = this.powerCharacteristicsInfo.arr0;
+ obj0.arr1 = this.powerCharacteristicsInfo.arr1;
+ let obj1 = {};
+ obj1.arr2 = this.powerCharacteristicsInfo.arr2;
+ obj1.arr3 = this.powerCharacteristicsInfo.arr3;
+ this.$axios
+ .post(
+ this.$api.insOrderPlan.saveInsContext2,
+ {
+ id: this.powerCharacteristicsInfo.insProductResult
+ ? this.powerCharacteristicsInfo.insProductResult.id
+ : "",
+ insProductId: this.powerCharacteristicsInfo.id,
+ sampleId: this.currentSample.id,
+ orderId: this.currentSample.insOrderId,
+ insValue: JSON.stringify(obj0),
+ comValue: JSON.stringify(obj1),
+ templateName: "闃叉尟閿ゅ姛鐜囩壒鎬�",
+ },
+ {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ }
+ )
+ .then((res) => {
+ if (res.code == 201) {
+ this.$message.error("淇濆瓨澶辫触");
+ return;
+ }
+ this.$message.success("淇濆瓨鎴愬姛");
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ // 闃叉尟閿ゅ姛鐜囩壒鎬�---缁撴潫
+ // 鏋剁┖瀵煎湴绾垮簲鍔涘簲鍙�---寮�濮�
+ getStressStrainInfo() {
+ this.powerList = this.HaveJson(this.powerList0);
+ let obj = this.currentSample.insProduct.filter((m) =>
+ m.inspectionItem.includes("搴斿姏搴斿彉")
+ )[0];
+ // 鑾峰彇璁惧鍒楄〃
+ this.getEquipOptions(true, obj.id);
+ this.stressStrainInfo.model = this.currentSample.model;
+ this.stressStrainInfo.methodS = obj.methodS;
+ this.stressStrainInfo.id = obj.id;
+ this.stressStrainInfo.insProductResult = obj.insProductResult;
+ // 鍥炴樉鏁版嵁
+ this.stressStrainInfo.elasticity = obj.elasticityModulus;
+ if (
+ obj.insProductResult &&
+ obj.insProductResult.insValue &&
+ obj.insProductResult.insValue.length > 5
+ ) {
+ this.powerList = [];
+ let obj0 = JSON.parse(obj.insProductResult.insValue);
+ for (let i in obj0) {
+ this.powerList.push({
+ value: i,
+ arr: obj0[i],
+ });
+ }
+ }
+ let ask = obj.ask
+ ? obj.ask
+ .replace("=", "")
+ .replace("<", "")
+ .replace(">", "")
+ .replace("锛�", "")
+ .replace("锛�", "")
+ .replace("鈮�", "")
+ .replace("鈮�", "")
+ : 0;
+ this.stressStrainInfo.ask = ask;
+ },
+ //鏋剁┖鍦扮嚎搴斿姏搴斿彉淇濆瓨鏂规硶
+ saveStressStrain() {
+ if (
+ this.stressStrainInfo.elasticity == null ||
+ this.stressStrainInfo.elasticity == "" ||
+ undefined == this.stressStrainInfo.elasticity
+ ) {
+ this.$message.error("璇峰厛濉啓寮规�фā閲�");
+ return;
+ }
+ let obj = {};
+ for (let i = 0; i < this.powerList.length; i++) {
+ if (this.powerList[i].value) {
+ obj[this.powerList[i].value] = this.powerList[i].arr;
+ }
+ }
+ obj.elasticityModulus = this.stressStrainInfo.elasticity;
+ this.$axios
+ .post(
+ this.$api.insOrderPlan.saveInsContext2,
+ {
+ id: this.stressStrainInfo.insProductResult
+ ? this.stressStrainInfo.insProductResult.id
+ : "",
+ sampleId: this.currentSample.id,
+ orderId: this.currentSample.insOrderId,
+ insProductId: this.stressStrainInfo.id,
+ insValue: JSON.stringify(obj),
+ templateName: "鏋剁┖鍦扮嚎搴斿姏搴斿彉",
+ },
+ {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ }
+ )
+ .then((res) => {
+ if (res.code == 201) {
+ this.$message.error("淇濆瓨澶辫触");
+ return;
+ }
+ this.$message.success("淇濆瓨鎴愬姛");
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ // 鍒犻櫎璁板綍
+ delStressStrain(index) {
+ if (this.powerList.length == 1) {
+ this.$message.warning("鑷冲皯闇�瑕佷竴鏉℃暟鎹�");
+ return;
+ }
+ this.powerList.splice(index, 1);
+ },
+ // 娣诲姞璁板綍
+ addStressStrain() {
+ this.powerList.push({
+ value: "",
+ arr: ["", "", "", "", "", ""],
+ });
+ },
+ // 濉啓寮规�фā閲�
+ changeElasticity(e) {
+ if (e) {
+ if (!this.stressStrainInfo.ask) {
+ this.$message.warning("璇峰厛鍘绘爣鍑嗗簱缁存姢鏍囧噯閲�");
+ this.stressStrainInfo.elasticity = null;
+ return;
+ }
+ let num = Math.abs(e - Number(this.stressStrainInfo.ask));
+ if (num > 2) {
+ this.$message.warning("寮规�фā閲忎笉鑳借秴杩囨爣鍑嗛噺鐨劼�2");
+ this.stressStrainInfo.elasticity = null;
+ return;
+ }
+ this.stressStrainInfo.elasticity = e;
+ // else {
+ // this.$axios
+ // .post(
+ // this.$api.insOrderPlan.write2 +
+ // "?id=" +
+ // this.stressStrainInfo.id +
+ // "&elasticityModulus=" +
+ // e
+ // )
+ // .then((res) => {
+ // if (res.code == 201) {
+ // this.$message.error("淇濆瓨澶辫触");
+ // return;
+ // }
+ // this.$message.success("宸蹭繚瀛�");
+ // });
+ // }
+ }
+ },
+ // 鏋剁┖瀵煎湴绾垮簲鍔涘簲鍙�---缁撴潫
+ // 寮у瀭鐗规��---寮�濮�
+ // 鍒犻櫎琛�
+ deleteSag(index) {
+ if (this.sagData.length == 1) {
+ this.$message.warning("鑷冲皯闇�瑕佷竴鏉℃暟鎹�");
+ return;
+ }
+ this.sagData.splice(index, 1);
+ //this.saveSageInfo('楂樺害','height')
+ this.saveSageInfo("寮у瀭", "sag");
+ this.saveSageInfo("瀹ゆ俯", "temperature");
+ this.saveSageInfo("寮犲姏", "remark");
+ this.saveSageInfo("瀵肩嚎娓╁害", this.sagData[this.sagData.length - 1]);
+ },
+ // 娣诲姞寮у瀭妫�娴�
+ addSag() {
+ this.sagData.push({
+ height: null,
+ sag: null,
+ value0: null,
+ value1: null,
+ value2: null,
+ value3: null,
+ value4: null,
+ value5: null,
+ average: null,
+ temperature: null,
+ remark: null,
+ });
+ },
+ // 鍒濆鍖栭〉闈㈡暟鎹�
+ getSageInfo() {
+ let obj = this.currentSample.insProduct.filter((m) =>
+ m.inspectionItem.includes("寮у瀭")
+ )[0];
+ // 鑾峰彇璁惧鍒楄〃
+ this.getEquipOptions(true, obj.id);
+ this.$axios
+ .post(this.$api.insOrderPlan.getSagTemperatureProducts, {
+ sampleId: this.currentSample.id,
+ })
+ .then((res) => {
+ if (res.code == 201) return;
+ let { productVos, sampleVo } = res.data;
+ // 鍥炴樉鍩虹淇℃伅
+ this.sagForm = sampleVo;
+ this.sagForm.productVos = productVos;
+ productVos.forEach((item) => {
+ // 鍒濆鍖栧悗绔弬鏁�
+ this.param[item.insProduct.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: {
+ i: item.insProduct.id,
+ r: 0,
+ c: 0,
+ v: {
+ v: null,
+ },
+ },
+ equipValue: [],
+ equipName: [],
+ insResult: {
+ i: item.insProduct.id,
+ v: {
+ v: null,
+ },
+ },
+ };
+ // 鏈夋暟鎹�->鍥炴樉鏁版嵁
+ if (item.insProduct.insProductResult) {
+ let type = item.insProduct.inspectionItemSubclass;
+ let insValue = JSON.parse(
+ item.insProduct.insProductResult.insValue
+ );
+ if (
+ !(
+ type == "棰濆畾鎷夋柇鍔�" ||
+ type == "璺ㄨ窛闀垮害" ||
+ type == "杞借嵎" ||
+ type == "瀵肩嚎娓╁害"
+ )
+ ) {
+ if (this.sagData.length < insValue.length) {
+ for (let i = this.sagData.length; i < insValue.length; i++) {
+ this.sagData.push({
+ height: null,
+ sag: null,
+ value0: null,
+ value1: null,
+ value2: null,
+ value3: null,
+ value4: null,
+ value5: null,
+ average: null,
+ temperature: null,
+ remark: null,
+ });
+ }
+ }
+ }
+ if (insValue.length > 0) {
+ switch (type) {
+ case "棰濆畾鎷夋柇鍔�":
+ this.$set(this.sagForm, "tensileForce", insValue[0].v);
+ break;
+ case "璺ㄨ窛闀垮害":
+ this.$set(this.sagForm, "spanLength", 100);
+ break;
+ case "杞借嵎":
+ this.$set(this.sagForm, "load", insValue[0].v);
+ break;
+ // case '楂樺害':
+ // insValue.forEach((m,i)=>{
+ // this.sagData[i].height = m.v
+ // })
+ // break;
+ case "寮у瀭":
+ insValue.forEach((m, i) => {
+ this.sagData[i].sag = m.v;
+ });
+ break;
+ case "瀹ゆ俯":
+ insValue.forEach((m, i) => {
+ this.sagData[i].temperature = m.v;
+ });
+ break;
+ case "寮犲姏":
+ insValue.forEach((m, i) => {
+ this.sagData[i].remark = m.v;
+ });
+ break;
+ case "瀵肩嚎娓╁害":
+ let comValue = JSON.parse(
+ item.insProduct.insProductResult.comValue
+ );
+ if (comValue.length > 0) {
+ comValue.forEach((m, i) => {
+ this.sagData[i].average = m.v ? m.v : null;
+ });
+ }
+ insValue.forEach((m, i) => {
+ this.sagData[m.c][`value${m.r}`] = m.v ? m.v : null;
+ });
+ break;
+ }
+ }
+ }
+ });
+ })
+ .catch((err) => {});
+ },
+ // 淇濆瓨鏁版嵁
+ saveSageInfo(type, value) {
+ let obj = this.sagForm.productVos.find(
+ (m) => m.insProduct.inspectionItemSubclass == type
+ );
+ if (obj) {
+ if (type == "棰濆畾鎷夋柇鍔�" || type == "璺ㄨ窛闀垮害" || type == "杞借嵎") {
+ this.param[obj.insProduct.id].insValue = [
+ {
+ i: obj.insProduct.id,
+ r: 0,
+ c: 0,
+ v: {
+ v: value,
+ },
+ },
+ ];
+ } else if (type == "瀵肩嚎娓╁害") {
+ let arr = [];
+ for (let i = 0; i < 6; i++) {
+ arr.push(value[`value${i}`]);
+ }
+ arr = arr.filter((m) => m != null).map((m) => Number(m));
+ let num = 0;
+ arr.forEach((item) => {
+ num += item;
+ });
+ value.average = (num / arr.length).toFixed(2);
+ let comValueList = [];
+ let insValueList = [];
+ this.sagData.forEach((item, index) => {
+ comValueList.push({
+ i: obj.insProduct.id,
+ r: 0,
+ c: index,
+ v: {
+ v: item.average,
+ },
+ });
+ for (let i = 0; i < 6; i++) {
+ insValueList.push({
+ i: obj.insProduct.id,
+ r: i,
+ c: index,
+ v: {
+ v: item[`value${i}`],
+ },
+ });
+ }
+ });
+ this.param[obj.insProduct.id].insValue = insValueList;
+ this.param[obj.insProduct.id].comValue = comValueList;
+ } else {
+ let arr = this.sagData.map((m) => {
+ let obj0 = {
+ i: obj.insProduct.id,
+ r: 0,
+ c: 0,
+ v: {
+ v: m[value],
+ },
+ };
+ return obj0;
+ });
+ this.param[obj.insProduct.id].insValue = arr;
+ }
+ // 杩涜鏁版嵁鐨勪繚瀛�
+ this.saveInsContext(obj.insProduct.id);
+ }
+ },
+ // 寮у瀭鐗规��---缁撴潫
+ // 鏁版嵁閲囬泦
+ 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 {
+ const _than = this;
+ // 涓�鑸殑鏁版嵁閲囬泦
+ _than.dataAcquisitionLoading = true;
+ let urlStr =
+ this.$api.deviceScope.dataCollection +
+ "?entrustCode=" +
+ this.insOrder.entrustCode +
+ "&sampleCode=" +
+ this.currentSample.sampleCode +
+ "&id=" +
+ this.currentSample.id;
+ console.log(_than.fibers);
+ if (_than.fibers && _than.fibers.length > 0) {
+ //褰撳墠閫変腑鐨勫厜绾ゅ甫
+ let currentFibers = _than.fibers.find(
+ (f) => f.id == _than.currentTab
+ );
+ if (null == currentFibers || currentFibers.length == 0) {
+ currentFibers = _than.fibers[0];
+ }
+ urlStr +=
+ "&fiberOpticRibbon=" +
+ currentFibers.bushingColor +
+ "-" +
+ currentFibers.code;
+ }
+ let replaceUrlStr = urlStr
+ .split("")
+ .map((s) => s.replace("#", "%23"))
+ .join("");
+ this.$axios.get(replaceUrlStr).then((res) => {
+ this.dataAcquisitionLoading = false;
+ if (res.code != 200) {
+ return;
+ }
+ 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")
+ ) {
+ // 澶勭悊鏁伴噰淇℃伅鏍煎紡
+ if (data[i][j].result) {
+ 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) {
+ console.log(
+ "changeEquip-->>",
+ data[i][j].equipValue,
+ m,
+ data[i][j].equipName
+ );
+ 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;
+ }
+ };
+ },
+ // 濡傛灉瀛樺湪鏁伴噰杩斿洖鐨勬暟缁勯暱搴﹀ぇ浜庢渶澶ц緭鍏ヤ釜鏁帮紝鍒欏脊鍑哄脊妗嗛�夋嫨锛岃繖閲屾槸寮规鐨勬彁浜�
+ 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;
+ }
+ }
+ 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,
+ },
+ },
+ ];
+ // 璧嬪�艰绠楀��
+ 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;
+ }
+ } else {
+ // 20(甯告俯)榛樿鍚堟牸
+ this.param[row.id].insResult.v.v = 1;
+ }
+ this.$refs.wareTableData.doLayout();
+ // 杩涜鏁版嵁鐨勪繚瀛�
+ this.saveInsContext(row.id);
+ },
+ // 褰撳惊鐜鏁般�佹俯搴︾偣鍙樺寲銆丳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;
+ // 鍒濆鍖栦紶鍒板悗绔殑鍙傛暟
+ productVos = productVos.map((m) => {
+ let obj = { ...m, ...m.insProduct };
+ this.param[obj.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: {
+ i: obj.id,
+ v: {
+ v: null,
+ },
+ },
+ equipValue: [],
+ equipName: [],
+ insResult: {
+ i: obj.id,
+ v: {
+ v: null,
+ },
+ },
+ };
+ let insProductResult = obj.insProductResult;
+ // 缁欎紶閫掑埌鍚庣鐨勫弬鏁拌繘琛岃祴鍊硷紝缁欓〉闈㈡暟鎹祴鍊�
+ if (insProductResult) {
+ for (let i in insProductResult) {
+ switch (i) {
+ // 妫�楠屽�艰祴鍊�
+ 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[1].v,
+ },
+ },
+ ];
+ // 椤甸潰鏁版嵁璧嬪��
+ 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: "",
+ },
+ },
+ ];
+ // 椤甸潰鏁版嵁璧嬪��
+ obj.value0 = insValue[0].v;
+ obj.value1 = "";
+ }
+ break;
+ // 璁$畻鍊艰祴鍊�
+ 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,
+ },
+ },
+ ];
+ // 椤甸潰鏁版嵁璧嬪��
+ obj.comValue = comValue[0].v;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ // 鏈�缁堝�艰祴鍊�
+ // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
+ this.param[obj.id].resValue = {
+ i: obj.id,
+ v: {
+ v: obj.lastValue,
+ },
+ };
+ // 椤甸潰鏁版嵁璧嬪��
+ obj.resValue = obj.lastValue;
+ // 缁撹璧嬪��
+ // 鍚庣鐨勫弬鏁拌繘琛岃祴鍊�
+ this.param[obj.id].insResult = {
+ i: obj.id,
+ v: {
+ v: obj.insResult,
+ },
+ };
+ }
+ 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);
+ }
+ arr0 = [];
+ arr0.push(m);
+ } else {
+ arr0.push(m);
+ }
+ });
+ 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[0].length; i++) {
+ arr1.push([]);
+ }
+ arr.forEach((item, index) => {
+ item.forEach((m, i) => {
+ try {
+ arr1[i].push(m);
+ } catch (e) {
+ console.log(e);
+ }
+ });
+ });
+ let arr2 = [];
+ arr1.forEach((item) => {
+ let obj = {
+ bushColor: item[0].bushColor,
+ code: item[0].code,
+ color: item[0].color,
+ arr: item,
+ };
+ arr2.push(obj);
+ });
+ // 杩欐槸椤甸潰鏈�缁堝憟鐜扮殑鏍煎紡
+ 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,
+ })
+ .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]
+ // }
+ // }
+ // }
+ 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;
+ // 鏍规嵁妫�楠岄」锛屽垵濮嬪寲浼犲埌鍚庣鐨勫弬鏁�
+ productVos.forEach((item) => {
+ this.param[item.insProduct.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: {
+ i: item.insProduct.id,
+ r: 0,
+ c: 0,
+ v: {
+ v: null,
+ },
+ },
+ equipValue: [],
+ equipName: [],
+ insResult: {
+ i: item.insProduct.id,
+ v: {
+ v: null,
+ },
+ },
+ inspectionItemSubclass: item.insProduct.inspectionItemSubclass,
+ };
+ let obj = { ...item, ...item.insProduct };
+ let insProductResult = obj.insProductResult;
+ if (insProductResult) {
+ // 缁欓〉闈㈠垪琛ㄨ祴鍊硷紝缁欏悗绔紶鍙傝祴鍊�
+ for (let i in insProductResult) {
+ switch (i) {
+ 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++) {
+ a.arr.push({
+ value0: insValue[i].v,
+ value1: insValue[i].w,
+ });
+ this.thermalCyclingInfo.length++;
+ }
+ a.insResult = obj.insResult;
+ }
+ });
+ // 缁欏悗绔紶鍙傝祴鍊�
+ 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,
+ },
+ });
+ });
+ }
+ break;
+ }
+ }
+ // 缁欏悗绔紶鍙傝祴鍊�
+ this.param[obj.id].insResult = {
+ i: obj.id,
+ v: {
+ v: obj.insResult,
+ },
+ };
+ } else {
+ // 缁欓〉闈㈠垪琛ㄨ祴鍊�
+ this.thermalCyclingInfo.arr.forEach((a) => {
+ if (a.name == obj.inspectionItemSubclass) {
+ 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, true);
+ }
+ },
+ saveThermalCycling(m, item, type, isDelete) {
+ console.log(m, item, type);
+ console.log(this.thermalCyclingInfo);
+ // 缁撴灉鍒ゆ柇
+ if (m == "") {
+ m = "0";
+ }
+ 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;
+ }
+ });
+ 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 (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 currentId = null;
+ for (let i in this.param) {
+ if (this.param[i].inspectionItemSubclass == item.name) {
+ currentId = i;
+ }
+ }
+ if (isDelete) {
+ this.saveInsContext(currentId, true);
+ } else {
+ this.saveInsContext(currentId);
+ }
+ },
+ // 鐑惊鐜�---缁撴潫
+ // 鍗曟牴鍨傜洿鐕冪儳---寮�濮�
+ singleRootVertical() {
+ let obj = this.currentSample.insProduct.filter((m) =>
+ m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳")
+ )[0];
+ this.singleRootVerticalInfo.arr = this.currentSample.insProduct.filter(
+ (m) => m.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳")
+ );
+ if (obj) {
+ let tell = obj.tell;
+ this.singleRootVerticalInfo.num = Number(
+ tell.split(",")[1].replace("鏍�", "")
+ );
+ this.singleRootVerticalInfo.model = obj.model;
+ this.singleRootVerticalInfo.methodName = obj.methodS;
+ this.singleRootVerticalInfo.arr.forEach((a) => {
+ this.$set(a, "value", []);
+ a.value = [];
+ for (let i = 0; i < this.singleRootVerticalInfo.num; i++) {
+ this.$set(a.value, i, "");
+ if (a.insProductResult) {
+ let valueList = JSON.parse(a.insProductResult.insValue);
+ if (valueList.length > 0) {
+ this.$set(a.value, i, valueList[i].v);
+ }
+ }
+ }
+ this.$set(a, "resValue", a.lastValue);
+ this.$set(a, "insResult", a.insResult);
+ });
+ this.getEquipOptions(true, obj.id);
+ }
+ },
+ changeSingleRootVertical(value, item) {
+ let arr = item.value.filter((m) => m !== "");
+ if (
+ item.inspectionItemSubclass == "涓婃敮鏋朵笅缂樺拰鐐寲閮ㄥ垎涓婅捣鐐逛箣闂寸殑璺濈"
+ ) {
+ // 姹傛渶灏忓��
+ item.resValue = Math.min(...arr);
+ } else {
+ // 姹傛渶澶у��
+ item.resValue = Math.max(...arr);
+ }
+ // 淇濆瓨鏈�缁堝��
+ this.param[item.id].resValue = {
+ i: item.id,
+ v: {
+ v: item.resValue,
+ },
+ };
+ // 淇濆瓨妫�楠屽��
+ this.param[item.id].insValue = [];
+ item.value.forEach((a) => {
+ let obj = {
+ i: item.id,
+ v: {
+ v: a,
+ },
+ };
+ this.param[item.id].insValue.push(obj);
+ });
+ let ask = item.ask;
+ if (ask) {
+ if (ask.includes("锝�")) {
+ ask = ask.replace("锝�", "~");
+ }
+ if (ask.includes("锛�")) {
+ ask = ask.replace("锛�", ">");
+ }
+ if (ask.includes("锛�")) {
+ ask = ask.replace("锛�", "<");
+ }
+ if (ask.includes("=")) {
+ let val = ask.replace("=", "");
+ item.insResult = item.resValue == Number(val) ? 1 : 0;
+ } else if (ask.includes("鈮�")) {
+ let val = ask.replace("鈮�", "");
+ item.insResult =
+ item.resValue == Number(val) || item.resValue > Number(val) ? 1 : 0;
+ } else if (ask.includes("鈮�")) {
+ let val = ask.replace("鈮�", "");
+ item.insResult =
+ item.resValue == Number(val) || item.resValue < Number(val) ? 1 : 0;
+ } else if (ask.includes("<")) {
+ let val = ask.replace("<", "");
+ item.insResult = item.resValue < Number(val) ? 1 : 0;
+ } else if (ask.includes(">")) {
+ let val = ask.replace(">", "");
+ item.insResult = item.resValue > Number(val) ? 1 : 0;
+ }
+ // 淇濆瓨缁撹
+ this.param[item.id].insResult = {
+ i: item.id,
+ v: {
+ v: item.insResult,
+ },
+ };
+ // 杩涜鏁版嵁鐨勪繚瀛�
+ this.saveInsContext(item.id);
+ }
+ },
+ // 鍗曟牴鍨傜洿鐕冪儳---缁撴潫
+ // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
+ subOtherForm(m, type) {
+ // let ids = []
+ // for (let i in this.param) {
+ // ids.push(i)
+ // }
+ this.$axios
+ .post(
+ this.$api.insOrderPlan.write,
+ {
+ [type]: Number(m),
+ insOrderId: this.currentSample.insOrderId,
+ },
+ {
+ 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;
+ for (var i = 0; i < power.length; i++) {
+ if (power[i].menuMethod == "uploadFile") {
+ fileAdd = true;
+ }
+ if (power[i].menuMethod == "delfile") {
+ fileDel = true;
+ }
+ if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") {
+ collected = true;
+ }
+ if (power[i].menuMethod == "temDataAcquisition") {
+ temDataAcquisition = true;
+ }
+ }
+ if (!fileDel) {
+ this.componentData0.do.splice(1, 1);
+ }
+ this.fileAdd = fileAdd;
+ this.collected = collected;
+ this.temDataAcquisition = temDataAcquisition;
+ },
+ uploadSample() {
+ 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 = await this.$axios.post(
+ this.$api.insOrderPlan.getInsProduct +
+ "?id=" +
+ id +
+ "&type=" +
+ type +
+ "&laboratory=" +
+ this.sonLaboratory
+ );
+ this.tableLoading = false;
+ console.log("getCurrentProduct-->", res.data);
+ return res.data;
+ },
+ handleChangeBushing(row, column, event) {
+ this.currentBushing = row;
+ this.fiberOpticTape = [];
+ this.currentFiberOpticTape = null;
+ this.fiberOptic = [];
+ this.currentFiberOptic = null;
+ if (row.fiber && row.fiber.length > 0) {
+ // 鐩存帴閰嶇疆鍏夌氦
+ this.fiberOptic = row.fiber;
+ } else if (row.fibers && row.fibers.length > 0) {
+ // 閰嶇疆鍏夌氦甯﹀悗锛屽啀閰嶇疆鍏夌氦
+ this.fiberOpticTape = row.fibers;
+ }
+ this.bushingVisible = false;
+ this.currentKey0 = row.index;
+ },
+ async handleChangeOptic(row, column, event) {
+ this.currentFiberOptic = row;
+ this.currentFiberOptic.productList.forEach((a) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ this.fiberOpticVisible = false;
+ let list = await this.getCurrentProduct(row.id, 2);
+ this.getTableLists0(list);
+ this.currentKey2 = row.index;
+ },
+ async handleChangeTape(row, column, event) {
+ this.currentFiberOpticTape = row;
+ this.param = {};
+ this.fiberOptic = [];
+ this.currentFiberOptic = null;
+ this.currentFiberOpticTape.productList.forEach((a) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ this.fiberOpticTapeVisible = false;
+ let list = await this.getCurrentProduct(row.id, 1);
+ this.getTableLists0(list);
+ if (row.fiber && row.fiber.length > 0) {
+ // 閰嶇疆鍏夌氦
+ this.fiberOptic = row.fiber;
+ }
+ this.currentKey1 = row.index;
+ },
+ // 鍒囨崲鏍峰搧
+ async handleChangeSample(row, column, event) {
+ // 鍒濆鍖栨暟鎹�
+ this.param = {};
+ // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁
+ this.fiberOpticTape = [];
+ this.currentFiberOpticTape = null;
+ this.fiberOptic = [];
+ this.currentFiberOptic = null;
+ this.bushing = [];
+ this.currentBushing = null;
+ this.sampleVisible = false;
+ this.filterSampleCode = null;
+ this.sampleProduct = JSON.parse(
+ JSON.stringify(this.fileterSampleProducts)
+ );
+ // 璧嬪�兼牱鍝�
+ 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) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
+ this.getReportModel(row.id);
+ let bushing = this.currentSample.bushing;
+ if (bushing && bushing.length > 0) {
+ this.bushing = bushing;
+ }
+ // 澶勭悊椤甸潰鍒楄〃鏁版嵁
+ this.getTableLists();
+ // this.currentKey = row.index
+ this.currentKey = this.sampleProduct.findIndex((m) => m.id == row.id) + 1;
+ this.currentTab = null;
+ // 鍚戝绾跨▼鍘讳繚瀛橀〉闈㈠垪琛ㄦ暟鎹�,鍚庣浼犲弬,褰撳墠妯℃澘淇℃伅
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ 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;
+ }
+ },
+ // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
+ getReportModel(id) {
+ if (this.PROJECT != "妫�娴嬩腑蹇�") {
+ return;
+ }
+ this.getReportModelLoading = true;
+ this.$axios
+ .post(
+ this.$api.insOrderPlan.getReportModel +
+ "?sampleId=" +
+ id +
+ "&sonLaboratory=" +
+ this.sonLaboratory,
+ {}
+ )
+ .then((res) => {
+ this.getReportModelLoading = false;
+ this.fibers = res.data["鍏夌氦甯�"];
+ this.fiber = res.data["鍏夌氦"];
+ this.casing = res.data["濂楃"];
+ });
+ },
+ // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲
+ async handleChange(m, type) {
+ if (this.fiber && this.fiber.length > 0) {
+ const fiber = this.fiber.find((ele) => ele.id == m);
+ if (fiber) {
+ this.insFibersId = fiber.insFibersId;
+ }
+ }
+ 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,
+ };
+ });
+ // 椤甸潰鍒楄〃鏁版嵁澶勭悊
+ this.getTableLists0(list);
+ // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁
+ this.getReportModel(this.currentSample.id);
+ // 鍚戝绾跨▼淇濆瓨鏁版嵁
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ type: "saveData",
+ tableList: this.tableList,
+ param: this.param,
+ currentTable: this.currentTable,
+ bushing: m,
+ })
+ );
+ } 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, {
+ 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;
+ });
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "杞借嵎",
+ })
+ .then((res) => {
+ this.loadList = res.data;
+ });
+ },
+ // 瀛楀吀鑾峰彇淇℃伅
+ getInsStateDicts() {
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠屼换鍔$姸鎬�",
+ })
+ .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";
+ }
+ });
+ this.typeList = data;
+ this.componentData.tagField.insState.select = data;
+ });
+ },
+ // 瀛楀吀鑾峰彇淇℃伅
+ getComparisonList() {
+ this.$axios
+ .post(this.$api.enums.selectEnumByCategory, {
+ category: "琛ㄦ牸鍧愭爣杞崲",
+ })
+ .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;
+ }
+ });
+ console.log(111, this.tableLists);
+ if (this.tableLists && this.tableLists.length > 0) {
+ this.tableList = null;
+ this.tableList = [this.tableLists[0]];
+ this.currentTable = this.tableLists[0].templateId;
+ // 澶勭悊椤甸潰鍒楄〃鏁版嵁
+ 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; //椤甸潰瀹藉害--鏍规嵁妯℃澘鏉ョ殑
+ // 鐗规畩妫�楠岄」璁惧鏁版嵁娓呯┖
+ this.equipForm = {
+ value0: null,
+ code0: null,
+ value1: null,
+ code1: null,
+ };
+ // 娓╁害寰幆妫�楠屽師濮嬭褰�--寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists.find((m) => m.templateId == this.currentTable)
+ .templateName == "娓╁害寰幆妫�楠屽師濮嬭褰�"
+ ) {
+ // 瀵硅姹傚�艰繘琛屾媶鍒嗗鐞�,杩涜�屽緱鍑洪〉闈㈠唴瀹�
+ let ask = this.currentSample.insProduct.filter(
+ (m) => m.inspectionItem == "娓╁害寰幆"
+ )[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) => {
+ 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 ask = this.currentSample.insProduct.filter(
+ (m) => m.inspectionItem == "鐑惊鐜�" || m.inspectionItem == "娓╁崌璇曢獙"
+ )[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();
+ }
+ // 鐑惊鐜楠屽師濮嬭褰�---缁撴潫
+ // 鍗曟牴鍨傜洿鐕冪儳妫�楠屽師濮嬭褰�---寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("鍗曟牴鍨傜洿鐕冪儳")
+ ) {
+ this.singleRootVertical();
+ }
+ // 鍗曟牴鍨傜洿鐕冪儳妫�楠屽師濮嬭褰�---缁撴潫
+ // 寮у瀭妫�楠屽師濮嬭褰�---寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("寮у瀭")
+ ) {
+ this.getSageInfo();
+ }
+ // 寮у瀭妫�楠屽師濮嬭褰�---缁撴潫
+
+ // 鏋剁┖鍦扮嚎搴斿姏搴斿彉妫�楠屽師濮嬭褰�---寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("鏋剁┖鍦扮嚎搴斿姏搴斿彉")
+ ) {
+ this.getStressStrainInfo();
+ }
+ // 鏋剁┖鍦扮嚎搴斿姏搴斿彉妫�楠屽師濮嬭褰�---缁撴潫
+
+ // 闃叉尟閿ゅ姛鐜囩壒鎬ф楠屽師濮嬭褰�---寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("闃叉尟閿ゅ姛鐜囩壒鎬�")
+ ) {
+ this.getPowerCharacteristicsInfo();
+ }
+ // 闃叉尟閿ゅ姛鐜囩壒鎬ф楠屽師濮嬭褰�---缁撴潫
+ // 鐤插姵璇曢獙妫�楠屽師濮嬭褰�---寮�濮�
+ if (
+ this.tableLists.find((m) => m.templateId == this.currentTable) &&
+ this.tableLists
+ .find((m) => m.templateId == this.currentTable)
+ .templateName.includes("鐤插姵璇曢獙妫�楠屽師濮嬭褰�")
+ ) {
+ this.getFatigueTestInfo();
+ }
+ // 鐤插姵璇曢獙妫�楠屽師濮嬭褰�---缁撴潫
+ // 鏈寰幆涓昏鍋氶〉闈㈡覆鏌撳眰闈㈢殑澶勭悊--鍗曞厓鏍煎悎骞堕澶勭悊
+ 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瀛樿捣鏉�,鍚庣画妫�楠岄」涔熶細鍦ㄩ〉闈腑鏄剧ず鍑烘潵
+ const itemStr =
+ inspectionItemClass + inspectionItem + inspectionItemSubclass;
+ if (
+ this.currentSample.insProduct[i].templateId ===
+ a.templateId &&
+ itemStr === str &&
+ !(this.changeType != 3 && itemStr.includes("鏉惧绠�"))
+ ) {
+ 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;
+ }
+ }
+ });
+ // 鎿嶄綔璧嬪��--涓昏璧嬪�煎崟浣�,璇曢獙鏂规硶绛変俊鎭�
+ 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;
+ }
+ }
+ }
+ });
+ 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})`;
+ }
+ });
+ }
+ }
+ 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)
+ if (
+ this.param[a.id].comValue.find(
+ (m) => m.c == comValue[i].c && m.r == comValue[i].r
+ )
+ ) {
+ this.param[a.id].comValue.find(
+ (m) => m.c == comValue[i].c && m.r == comValue[i].r
+ ).v.v = this.toFixed(
+ comValue[i].v,
+ this.param[a.id].comValue.find(
+ (m) => m.c == comValue[i].c && m.r == comValue[i].r
+ ).v.ct
+ );
+ } else if (!comValue[i].c || !comValue[i].r) {
+ 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 == "娓╁害寰幆妫�楠屽師濮嬭褰�" &&
+ a.inspectionItem.includes("娓╁害寰幆")) ||
+ a.inspectionItem.includes("鐑惊鐜�") ||
+ a.inspectionItem.includes("娓╁崌璇曢獙") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ a.inspectionItem.includes("寮у瀭") ||
+ a.inspectionItem.includes("搴斿姏搴斿彉") ||
+ a.inspectionItem.includes("鎸姩鐤插姵") ||
+ a.inspectionItem.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 == "娓╁害寰幆妫�楠屽師濮嬭褰�" &&
+ a.inspectionItem.includes("娓╁害寰幆")) ||
+ a.inspectionItem.includes("鐑惊鐜�") ||
+ a.inspectionItem.includes("娓╁崌璇曢獙") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ a.inspectionItem.includes("寮у瀭") ||
+ a.inspectionItem.includes("搴斿姏搴斿彉") ||
+ a.inspectionItem.includes("鎸姩鐤插姵") ||
+ a.inspectionItem.includes("鑸炲姩鐤插姵"))
+ ) {
+ // 娓╁害寰幆璁惧璧嬪��
+ // this.$set(this.equipForm, `code` + i, equipValue[i].v);
+ // this.param[a.id].equipValue[i].v.v = equipValue[i].v;
+ if (
+ a.inspectionItem.includes("娓╁害寰幆") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳")
+ ) {
+ this.$set(this.equipForm, `code` + i, equipValue[i].v);
+ } else {
+ if (Array.isArray(this.equipForm.code0)) {
+ this.equipForm.code0.push(equipValue[i].v);
+ } else {
+ let arr = [];
+ arr.push(equipValue[i].v);
+ this.$set(this.equipForm, `code0`, arr);
+ }
+ }
+ this.param[a.id].equipValue[i].v.v = equipValue[i].v;
+ } else {
+ // 鏅�氳澶囪祴鍊�
+ if (a.inspectionItem.includes("闃叉尟閿ゅ姛鐜囩壒鎬�")) {
+ let filterList = this.param[a.id].equipValue.filter(
+ (m) => m.v.v != "" && m.v.v != null && m.v.v != undefined
+ );
+ if (filterList.length > 0) {
+ this.param[a.id].equipValue[i].v.v = filterList[0].v.v;
+ } else {
+ 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 == "娓╁害寰幆妫�楠屽師濮嬭褰�" &&
+ a.inspectionItem.includes("娓╁害寰幆")) ||
+ a.inspectionItem.includes("鐑惊鐜�") ||
+ a.inspectionItem.includes("娓╁崌璇曢獙") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ a.inspectionItem.includes("寮у瀭") ||
+ a.inspectionItem.includes("搴斿姏搴斿彉") ||
+ a.inspectionItem.includes("鎸姩鐤插姵") ||
+ a.inspectionItem.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 == "娓╁害寰幆妫�楠屽師濮嬭褰�" &&
+ a.inspectionItem.includes("娓╁害寰幆")) ||
+ a.inspectionItem.includes("鐑惊鐜�") ||
+ a.inspectionItem.includes("娓╁崌璇曢獙") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳") ||
+ a.inspectionItem.includes("寮у瀭") ||
+ a.inspectionItem.includes("搴斿姏搴斿彉") ||
+ a.inspectionItem.includes("鎸姩鐤插姵") ||
+ a.inspectionItem.includes("鑸炲姩鐤插姵"))
+ ) {
+ // 娓╁害寰幆璧嬪��
+ // this.$set(this.equipForm, `value` + i, equipName[i].v);
+ if (
+ a.inspectionItem.includes("娓╁害寰幆") ||
+ a.inspectionItem.includes("鍗曟牴鍨傜洿鐕冪儳")
+ ) {
+ this.$set(this.equipForm, `value` + i, equipName[i].v);
+ } else {
+ if (Array.isArray(this.equipForm.value0)) {
+ this.equipForm.value0.push(equipName[i].v);
+ } else {
+ let arr = [];
+ arr.push(equipName[i].v);
+ this.$set(this.equipForm, `value0`, arr);
+ }
+ }
+ // 淇濈暀鏈�鍒濈殑涓�涓澶囧悕绉�
+ this.equipName = JSON.parse(
+ JSON.stringify(this.equipForm.value0)
+ );
+ this.param[a.id].equipName[i].v.v = equipName[i].v;
+ } else {
+ // 鏅�氳澶囧悕绉拌祴鍊�
+ if (a.inspectionItem.includes("闃叉尟閿ゅ姛鐜囩壒鎬�")) {
+ let filterList = this.param[a.id].equipName.filter(
+ (m) => m.v.v != "" && m.v.v != null && m.v.v != undefined
+ );
+ if (filterList.length > 0) {
+ this.param[a.id].equipName[i].v.v = equipName[0].v.v;
+ } else {
+ this.param[a.id].equipName[i].v.v = equipName[i].v;
+ }
+ }
+ this.param[a.id].equipName[i].v.v = equipName[i].v;
+ }
+ }
+ } catch (e) {}
+ try {
+ // 鏈�缁堝�艰祴鍊�
+ 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;
+ } catch (e) {}
+ });
+ // 瀵筫xcel鍑芥暟杩涜澶勭悊
+ this.handleExcelMethod();
+ },
+ // 妫�楠屽�艰緭鍏ュ悗瑙﹀彂鐨勫嚱鏁�
+ changeInput(m, code, n, getDataType) {
+ console.log("---->999");
+ // 涓烘暟閲囧畾涔変竴涓�昏緫鍙傛暟
+ if (getDataType == "getDataType") {
+ this.getDataType = 2;
+ }
+ let currentInsItemId = null; //褰撳墠妫�楠岄」id
+ if (n) {
+ currentInsItemId = JSON.parse(JSON.stringify(n.i));
+ // 闇�瑕佺瀛﹁鏁版硶鐨勫彲浠ヨ蛋杩欓噷
+ if (this.PROJECT === "妫�娴嬩腑蹇�") {
+ if (
+ this.currentSample.insProduct.find(
+ (ele) =>
+ ele.id == currentInsItemId && 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("/", "");
+ }
+ }
+ 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,
+ modelType: this.sampleProduct[0].model,
+ currentInsItem: n,
+ })
+ );
+ } 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;
+ }
+ // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌
+ 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);
+ // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,鍙互鐩存帴淇濆瓨鏁版嵁
+ // if(this.getDataType==2){
+ // console.log("aaaaaa--->>>",currentInsItemId);
+ // this.saveInsContext()
+ // }else{
+ // if(this.isGet&&!this.dataAcquisitionEidtAble){
+ // // if(this.result.value.getDataTypeId==''){
+ // // // 濡傛灉鏄暟閲囦笉鍙紪杈戣緭鍏ョ殑鎯呭喌,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
+ // // return
+ // // }
+ // // 淇濆瓨鏁版嵁
+ // this.saveInsContext()
+ // // setTimeout(()=>{
+ // // },2000)
+ // }else if(this.isGet&&this.dataAcquisitionEidtAble){
+ // if(this.getDataType==1){
+ // // if(this.result.value.getDataTypeId==''){
+ // // // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
+ // // return
+ // // }
+ // this.saveInsContext()
+ // }else{
+ // this.saveInsContext()
+ // }
+ // }else{
+ // this.saveInsContext()
+ // }
+ // }
+ });
+ 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;
+ if (
+ this.currentSample.insProduct.filter(
+ (ele) => ele.inspectionItemType == "1"
+ ).length > 0
+ ) {
+ this.isEdit = true;
+ }
+ },
+ // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁 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);
+ // console.log(url);
+ });
+ /* 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) {
+ console.log(e);
+ if (e) {
+ this.equipOptions = [];
+ let product = this.currentSample.insProduct.find((m) => m.id == id);
+ console.log(product);
+ this.$axios
+ .post(this.$api.deviceScope.selectDeviceByCategory, {
+ inspectionItem: product.inspectionItem,
+ inspectionItemSubclass: product.inspectionItemSubclass,
+ sonLaboratory: product.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code === 200 && res.data) {
+ this.equipOptions = res.data.map((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;
+ }
+ }
+ }
+ },
+ 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(e) {
+ if (e == 1) {
+ // 閫氳繃
+ this.reviewLoading = true;
+ this.$axios
+ .post(this.$api.insOrderPlan.verifyPlan, {
+ orderId: this.orderId,
+ type: 1,
+ laboratory: this.sonLaboratory,
+ tell: null,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ 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, {
+ orderId: this.orderId,
+ type: 0,
+ laboratory: this.sonLaboratory,
+ tell: this.noReason,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("goback");
+ }
+ this.reviewLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ this.reviewLoading = false;
+ });
+ } else {
+ this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜");
+ }
+ },
+ submit() {
+ if (this.verifyUser === null || this.verifyUser === "") {
+ this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
+ return;
+ }
+ if (!this.otherForm.humidity) {
+ this.$message.error("璇疯緭鍏ユ箍搴�");
+ return;
+ }
+ if (!this.otherForm.temperature) {
+ this.$message.error("璇疯緭鍏ユ俯搴�");
+ return;
+ }
+ this.addVerifyDia = false;
+ this.submitLoading = true;
+ this.$axios
+ .post(this.$api.insOrderPlan.checkSubmitPlan, {
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ humidity: this.otherForm.humidity,
+ temperature: this.otherForm.temperature,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ if (!res.data || res.data.length == 0) {
+ this.$axios
+ .get(
+ this.$api.insOrderPlan.getEquipName +
+ "?orderId=" +
+ this.orderId +
+ "&sonLaboratory=" +
+ this.sonLaboratory
+ )
+ .then((response) => {
+ console.log(typeof response.data, response.data.length);
+ if (response.data.length > 0) {
+ let newData = [];
+ const h = this.$createElement;
+ for (let i in response.data) {
+ newData.push(
+ h(
+ "p",
+ { style: "font-size: 14px;color: red;" },
+ Number(i) + 1 + "銆�" + response.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),
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "",
+ })
+ .then(() => {
+ this.$axios
+ .post(this.$api.insOrderPlan.submitPlan, {
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ verifyUser: this.verifyUser,
+ entrustCode: this.insOrder.entrustCode,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("goback");
+ }
+ this.submitLoading = false;
+ });
+ })
+ .catch(() => {
+ this.submitLoading = false;
+ });
+ } else {
+ this.$axios
+ .post(this.$api.insOrderPlan.submitPlan, {
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ verifyUser: this.verifyUser,
+ entrustCode: this.insOrder.entrustCode,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("goback");
+ }
+ this.submitLoading = false;
+ });
+ }
+ });
+
+ // this.$axios
+ // .post(this.$api.insOrderPlan.submitPlan, {
+ // orderId: this.orderId,
+ // laboratory: this.sonLaboratory,
+ // verifyUser: this.verifyUser,
+ // entrustCode: this.insOrder.entrustCode,
+ // })
+ // .then((res) => {
+ // if (res.code === 200) {
+ // this.$message.success("鎿嶄綔鎴愬姛");
+ // this.$emit("goback");
+ // }
+ // this.submitLoading = false;
+ // })
+ } else {
+ this.$axios
+ .get(
+ this.$api.insOrderPlan.getEquipName +
+ "?orderId=" +
+ this.orderId +
+ "&sonLaboratory=" +
+ this.sonLaboratory
+ )
+ .then((response) => {
+ console.log(typeof response.data, response.data.length);
+ if (response.data.length > 0) {
+ let newData = [];
+ const h = this.$createElement;
+ for (let i in response.data) {
+ newData.push(
+ h(
+ "p",
+ { style: "font-size: 14px;color: red;" },
+ Number(i) + 1 + "銆�" + response.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),
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "",
+ })
+ .then(() => {
+ let newData1 = [];
+ const h1 = this.$createElement;
+ // 鍘婚噸涓嶅悎鏍煎鐞�
+ let set = new Set();
+ res.data.forEach((item) => {
+ if (!set.has(item)) {
+ set.add(item);
+ }
+ });
+ res.data = Array.from(set);
+ for (let i in res.data) {
+ const lastChar = res.data[i].slice(-1);
+ if (lastChar == "-") {
+ res.data[i] = res.data[i].slice(0, -1);
+ }
+ newData1.push(
+ h1(
+ "p",
+ { style: "font-size: 14px;color: red;" },
+ Number(i) + 1 + "銆�" + res.data[i]
+ )
+ );
+ }
+ newData1.push(
+ h1(
+ "p",
+ {
+ style:
+ "font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh",
+ },
+ "浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�"
+ )
+ );
+ this.$confirm("鎻愮ず", {
+ title: "鎻愮ず",
+ message: h1("div", null, newData1),
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "",
+ })
+ .then(() => {
+ this.$axios
+ .post(this.$api.insOrderPlan.submitPlan, {
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ verifyUser: this.verifyUser,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("goback");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ })
+ .catch(() => {});
+ })
+ .catch(() => {
+ this.submitLoading = false;
+ });
+ } else {
+ let newData = [];
+ const h = this.$createElement;
+ // 鍘婚噸涓嶅悎鏍煎鐞�
+ let set = new Set();
+ res.data.forEach((item) => {
+ if (!set.has(item)) {
+ set.add(item);
+ }
+ });
+ res.data = Array.from(set);
+ for (let i in res.data) {
+ const lastChar = res.data[i].slice(-1);
+ 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: 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, {
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ verifyUser: this.verifyUser,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("goback");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ })
+ .catch(() => {});
+ this.submitLoading = false;
+ }
+ });
+
+ // let newData = [];
+ // const h = this.$createElement;
+ // // 鍘婚噸涓嶅悎鏍煎鐞�
+ // let set = new Set();
+ // res.data.forEach((item) => {
+ // if (!set.has(item)) {
+ // set.add(item);
+ // }
+ // });
+ // res.data = Array.from(set);
+ // for (let i in res.data) {
+ // const lastChar = res.data[i].slice(-1);
+ // 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: 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, {
+ // orderId: this.orderId,
+ // laboratory: this.sonLaboratory,
+ // verifyUser: this.verifyUser,
+ // })
+ // .then((res) => {
+ // if (res.code === 200) {
+ // this.$message.success("鎿嶄綔鎴愬姛");
+ // this.$emit("goback");
+ // }
+ // })
+ // .catch((error) => {
+ // console.error(error);
+ // });
+ // })
+ // .catch(() => {});
+ }
+ }
+ this.submitLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ this.submitLoading = false;
+ });
+ return;
+ },
+ // 缁熶竴鍦ㄨ繖閲屼繚瀛樻暟鎹�
+ saveInsContext(currentInsItemId, isDelete = false) {
+ // console.log("saveInsContext-->",this.param);
+ try {
+ if (this.param) {
+ let param = null;
+ if (currentInsItemId) {
+ param = { [currentInsItemId]: this.param[currentInsItemId] };
+ } else {
+ param = this.param;
+ }
+ console.log("param-->", param);
+ this.$axios
+ .post(this.$api.insOrderPlan.saveInsContext, {
+ param: JSON.stringify(param),
+ currentTable: this.currentTable,
+ sampleId: this.currentSample.id,
+ orderId: this.orderId,
+ sonLaboratory: this.sonLaboratory,
+ isDelete: isDelete,
+ })
+ .then((res) => {
+ if (res.code == 201) {
+ this.$message.error("淇濆瓨澶辫触");
+ return;
+ }
+ this.$message.success("宸蹭繚瀛�");
+ });
+ // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ 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);
+ }
+ });
+ });
+ }
+ }
+ }
+ }
+ console.log("param", this.param);
+ console.log("tableList", this.tableList);
+ let ids = [];
+ ids.push(n.i);
+ // 閫夋嫨璁惧闇�瑕佸皢鍚堝苟鐨勫崟鍏冩牸涓�璧疯祴鍊�
+ this.tableList[0].arr.forEach((item, index) => {
+ item.forEach((m, i) => {
+ if (m.i == n.i && m.v.ps && m.v.ps.value == "璁惧鍚嶇О") {
+ if (m.v.mc) {
+ if (m.v.mc.rs) {
+ for (let j = 1; j < m.v.mc.rs; j++) {
+ let value = m.v.v; // 璁惧鍚嶇О
+ this.tableList[0].arr[index + j][i].v.v = value;
+ }
+ }
+ }
+ }
+ if (m.i == n.i && m.v.ps && m.v.ps.value == "璁惧缂栫爜") {
+ if (m.v.mc) {
+ if (m.v.mc.rs) {
+ for (let j = 1; j < m.v.mc.rs; j++) {
+ let value = m.v.v; // 璁惧缂栫爜
+ this.tableList[0].arr[index + j][i].v.v = value;
+ let productId = this.tableList[0].arr[index + j][0].i;
+ ids.push(productId);
+ }
+ }
+ }
+ }
+ });
+ });
+
+ console.log("ids", ids);
+ console.log("tableList2", this.tableList);
+ //淇濆瓨鏁版嵁
+ ids.forEach((id) => {
+ setTimeout(() => {
+ this.saveInsContext(id);
+ }, 100);
+ });
+
+ //this.saveInsContext(ids[i]);
+ },
+ getAuthorizedPerson() {
+ this.$axios.get(this.$api.user.getLaboratoryPersonList).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 = res.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.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) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ // 鏇存柊椤甸潰鍏夌氦閫夋嫨
+ this.getReportModel(this.currentSample.id);
+ // 椤甸潰鏁版嵁澶勭悊
+ this.getTableLists();
+ // 鏇存柊鍒板绾跨▼
+ this.worker.postMessage(
+ JSON.stringify({
+ modelType: this.sampleProduct[0].model,
+ 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) => {
+ this.param[a.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: null,
+ equipValue: [],
+ equipName: [],
+ insResult: null,
+ };
+ });
+ this.fiberOpticTapeVisible = false;
+ 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);
+ },
+ handleSuccessUp(response) {
+ this.upLoading = false;
+ if (response.code == 200) {
+ this.$message.success("涓婁紶鎴愬姛");
+ this.$refs.fileList.selectList();
+ }
+ },
+ beforeUpload(file) {
+ 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) => {
+ 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");
+ 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;
+ }
+ },
+ },
+};
+</script>
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index c4c94aa..329d4e4 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1,9 +1,2068 @@
<template>
- <div>妫�楠屼换鍔�</div>
+ <div class="bg-1" style="padding: 15px 5px">
+ <basic-container>
+ <div class="search" :style="`height: ${more ? 100 : 50}px;`">
+ <el-row :gutter="10" style="width: 100%">
+ <el-col :span="16" style="display: flex; flex-wrap: wrap">
+ <div
+ class="search_thing"
+ style="margin-left: 20px"
+ v-if="maxNum > 1"
+ >
+ <div class="search_label">濮旀墭缂栧彿锛�</div>
+ <div class="search_input">
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="queryParams.entrustCode"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
+ </div>
+ </div>
+ <div
+ class="search_thing"
+ style="margin-left: 20px"
+ v-if="maxNum > 2"
+ >
+ <div class="search_label">鏍峰搧缂栧彿锛�</div>
+ <div class="search_input">
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="queryParams.sampleCode"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
+ </div>
+ </div>
+ <div
+ class="search_thing"
+ style="margin-left: 20px"
+ v-if="maxNum > 3"
+ >
+ <div class="search_label">鏍峰搧鍚嶇О锛�</div>
+ <div class="search_input">
+ <el-input
+ size="small"
+ placeholder="鏍峰搧澶х被/鏍峰搧鍚嶇О"
+ clearable
+ v-model="queryParams.sample"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
+ </div>
+ </div>
+ <div
+ class="search_thing"
+ style="margin-left: 20px"
+ v-if="maxNum >= 4 || more"
+ >
+ <div class="search_label">妫�楠岀姸鎬侊細</div>
+ <div class="search_input">
+ <el-select
+ size="small"
+ v-model="queryParams.insState"
+ style="width: 100%"
+ clearable
+ @change="refreshTable()"
+ >
+ <el-option
+ v-for="(a, i) in insStateList"
+ :key="i"
+ :label="a.dictLabel"
+ :value="a.dictValue"
+ ></el-option>
+ </el-select>
+ </div>
+ </div>
+ <div
+ class="search_thing"
+ style="margin-left: 20px"
+ v-if="maxNum >= 5 || more"
+ >
+ <div class="search_label">涓嬪彂鏃堕棿锛�</div>
+ <div class="search_input">
+ <div class="search_input">
+ <el-date-picker
+ size="small"
+ clearable
+ @change="refreshTable()"
+ v-model="queryParams.sendTimeRange"
+ type="daterange"
+ value-format="yyyy-MM-dd[T]HH:mm:ss"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ :default-time="['00:00:00', '23:59:59']"
+ >
+ </el-date-picker>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <div class="search_thing">
+ <el-button
+ v-if="maxNum < 5"
+ type="text"
+ :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
+ style="color: #3a7bfa"
+ @click="more = !more"
+ >{{ !more ? "鏇村" : "鏀惰捣" }}</el-button
+ >
+ <div class="search_thing" style="padding-left: 10px">
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()"
+ >鏌� 璇�</el-button
+ >
+ <template>
+ <el-button size="small" type="primary" @click="excelExport"
+ >鏌ョ湅缁撴灉</el-button
+ >
+ <el-button
+ size="small"
+ type="primary"
+ @click="unInsDialogVisible = true"
+ >瀵煎嚭寰呮淇℃伅</el-button
+ >
+ </template>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ </basic-container>
+ <basic-container>
+ <div class="center">
+ <div class="center-options">
+ <el-row>
+ <el-col :span="24">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ "
+ >
+ <div style="display: flex; align-items: center">
+ <ul class="tab">
+ <li
+ v-for="(m, i) in tabList"
+ :key="i"
+ :class="{ active: i == tabIndex }"
+ @click="handleTab(m, i)"
+ >
+ {{ m.label.replace("璇曢獙瀹�", "") }}
+ </li>
+ </ul>
+ <div>
+ <el-checkbox
+ @change="changeCheckBox"
+ class="view-self-checkbox"
+ v-model="alone"
+ ><span>鎴戠殑浠诲姟</span></el-checkbox
+ >
+ </div>
+ </div>
+ <div class="center-title">
+ <p>
+ <span>鏈湀浠诲姟鏁伴噺:</span>
+ <span v-if="currentMonthPlanTotal != undefined">{{
+ currentMonthPlanTotal
+ }}</span>
+ </p>
+ <p>
+ <span>鎬昏浠诲姟鏁伴噺:</span>
+ <span v-if="$refs.insOrderPlan != undefined">{{
+ $refs.insOrderPlan.page.total
+ }}</span>
+ </p>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <lims-table
+ ref="insOrderPlan"
+ highlightCurrentRow
+ :rowClassName="changeRowClass"
+ :tableData="tableData"
+ :height="tableMainHeight + ''"
+ :column="column"
+ @pagination="pagination"
+ :page="page"
+ :tableLoading="tableLoading"
+ >
+ </lims-table>
+ </div>
+ </basic-container>
+ <div v-show="activeFace == 0 && state == 0" style="height: 100%"></div>
+
+ <el-dialog title="鎻愮ず" :visible.sync="claimVisible" width="400px">
+ 鏄惁璁ら濮旀墭缂栧彿<span style="color: #33c130">{{
+ sampleUserForm.entrustCode
+ }}</span
+ >鐨勪换鍔�
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="claimVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmClaim" :loading="loading"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <el-dialog title="妫�楠屼氦鎺�" :visible.sync="connectVisible" width="400px">
+ <div class="search_thing">
+ <div class="search_label" style="width: 90px">
+ <span class="required-span">* </span>浜ゆ帴浜哄憳锛�
+ </div>
+ <div class="search_input">
+ <el-select
+ v-model="connect.connectPerson"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ filterable
+ >
+ <el-option-group
+ v-for="(item, index) in Object.keys(personList)"
+ :key="index"
+ :label="item"
+ >
+ <el-option
+ :disabled="
+ userNameList.filter((name) => name == op.name).length > 0
+ "
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
+ >
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label" style="width: 90px">
+ <span class="required-span">* </span>璇曢獙瀹わ細
+ </div>
+ <div class="search_input">
+ <el-select
+ v-model="connect.sonLaboratory"
+ placeholder="璇烽�夋嫨"
+ style="width: 100%"
+ filterable
+ >
+ <el-option
+ v-for="item in sonLaboratoryList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="connectVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmConnect" :loading="loading"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <div style="width: 100%; height: 100%" v-if="activeFace > 0">
+ <Add :active="activeFace" :currentId="currentId" :examine="examine" />
+ </div>
+ <Inspection
+ v-if="state > 0"
+ @goback="goback"
+ :handover="personList"
+ :sonLaboratoryList="sonLaboratoryList"
+ :orderId="orderId"
+ :inspectorList="inspectorList"
+ :sonLaboratory="componentData.entity.sonLaboratory"
+ :state="state"
+ />
+ <el-dialog
+ title="鏁版嵁鏌ョ湅"
+ :visible.sync="dataDialogVisible"
+ width="100%"
+ fullscreen
+ >
+ <!-- <div
+ style="width: 100%; text-align: right; margin-bottom: 10px"
+ v-if="premissionReviewFun()"
+ >
+ <el-button type="primary" size="small" @click="goReview(currentRow)"
+ >鍓嶅線澶嶆牳</el-button
+ >
+ </div> -->
+ <lims-table
+ ref="dataLookTable"
+ highlightCurrentRow
+ :tableData="dataLooktableData"
+ height="80vh"
+ :column="dataLookColumn"
+ :tableLoading="dataLookTableLoading"
+ >
+ </lims-table>
+ </el-dialog>
+ <!-- 瀵煎嚭寮规 -->
+ <el-dialog
+ :title="title"
+ :visible.sync="dialogVisibleExcel"
+ fullscreen
+ :before-close="handleClose"
+ >
+ <div class="search">
+ <div style="display: flex">
+ <div style="margin-right: 20px">
+ <span>濮旀墭鍗曞彿锛�</span>
+ <el-input
+ size="mini"
+ placeholder="璇疯緭鍏�"
+ clearable
+ style="width: 180px"
+ v-model="excelForm.entrustCode"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
+ </div>
+ <div style="margin-right: 20px">
+ <span>鏍峰搧缂栧彿锛�</span>
+ <el-input
+ size="mini"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="excelForm.sampleCode"
+ style="width: 180px"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
+ </div>
+ <div style="margin-right: 20px">
+ <span>妫�楠屼汉锛�</span>
+ <el-select
+ size="mini"
+ v-model="excelForm.sampleName"
+ placeholder="璇烽�夋嫨"
+ @keyup.enter.native="refreshTable()"
+ style="width: 120px"
+ >
+ <el-option-group
+ v-for="(item, index) in Object.keys(personList)"
+ :key="index"
+ :label="item"
+ >
+ <el-option
+ v-for="op in personList[item]"
+ :key="op.id"
+ :label="op.name"
+ :value="op.id"
+ >
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </div>
+ <div style="margin-right: 20px">
+ <span>鏃ユ湡锛�</span>
+ <el-date-picker
+ size="mini"
+ v-model="excelForm.dateTime"
+ type="daterange"
+ range-separator="鑷�"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="search_thing">
+ <el-button
+ size="mini"
+ type="primary"
+ icon="el-icon-search"
+ @click="excelSearch"
+ >鏌� 璇�</el-button
+ >
+ <el-button
+ size="mini"
+ icon="el-icon-download"
+ type="primary"
+ @click="excelExportTrends"
+ :loading="outLoading"
+ >瀵� 鍑�</el-button
+ >
+ </div>
+ </div>
+ <!-- 琛ㄦ牸鍐呭 -->
+ <el-divider content-position="left">妫�楠岀粨鏋�</el-divider>
+ <br />
+ <div>
+ <el-tabs
+ type="border-card"
+ v-model="activeName"
+ @tab-click="handleClick"
+ >
+ <el-tab-pane
+ v-for="(v, i) in tabs"
+ :key="i"
+ :label="v"
+ :name="i.toString()"
+ >
+ <el-table
+ :data="tabsData"
+ border
+ ref="showResultTable"
+ v-loading="loadingTable"
+ :height="tableHeight"
+ element-loading-text="鍔犺浇涓�"
+ element-loading-spinner="el-icon-loading"
+ element-loading-background="rgba(255, 255, 255, 1)"
+ >
+ <el-table-column
+ label="搴忓彿"
+ type="index"
+ width="60"
+ ></el-table-column>
+ <el-table-column
+ label="濮旀墭鍗曞彿"
+ show-overflow-tooltip
+ prop="entrustCode"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ show-overflow-tooltip
+ label="鏍峰搧缂栧彿"
+ prop="sampleCode"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ label="绠¤壊鏍�"
+ prop="bushing"
+ width="80"
+ ></el-table-column>
+ <el-table-column
+ label="鍏夌氦甯﹁壊鏍�"
+ prop="fibers"
+ width="110"
+ ></el-table-column>
+ <el-table-column
+ label="鍏夌氦鑹叉爣"
+ prop="fiber"
+ width="100"
+ ></el-table-column>
+ <el-table-column
+ label="妫�娴嬮」鐩垎绫�"
+ show-overflow-tooltip
+ prop="inspectionItem"
+ v-if="tabName != '娓╁害寰幆'"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ label="妫�娴嬩汉"
+ prop="userName"
+ width="80"
+ ></el-table-column>
+ <el-table-column
+ label="妫�娴嬫椂闂�"
+ prop="insTime"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ label="涓嬪彂鏃堕棿"
+ prop="sendTime"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ v-for="(v, i) in tableHeader"
+ :label="v.label"
+ :prop="v.prop"
+ :key="i"
+ min-width="120"
+ show-overflow-tooltip
+ :width="calcTableColumnWidth(v.label)"
+ >
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ background
+ style="text-align: right; margin-top: 20px"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[10, 20, 50, 100, 200]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ >
+ </el-pagination>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+ </el-dialog>
+ <!-- 瀵煎嚭濮旀墭璐圭敤寮规 -->
+ <el-dialog
+ title="濮旀墭璐圭敤缁熻瀵煎嚭"
+ :visible.sync="commissionFeesDialogVisible"
+ width="30%"
+ :before-close="handleCloseCommissionFees"
+ >
+ <el-form :model="exportFees" ref="exportFees" :rules="feesRule">
+ <el-form-item label="涓嬪崟鏃ユ湡" prop="commissionFeesDate">
+ <el-date-picker
+ v-model="exportFees.commissionFeesDate"
+ type="daterange"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="handleCloseCommissionFees">鍙� 娑�</el-button>
+ <el-button type="primary" @click="exportcommissionFees"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 瀵煎嚭寰呮淇℃伅寮规 -->
+ <el-dialog
+ title="寰呮浠诲姟瀵煎嚭"
+ :visible.sync="unInsDialogVisible"
+ width="30%"
+ :before-close="handleCloseUnInsDialog"
+ >
+ <el-form
+ :model="unInsProductsData"
+ ref="exportUnInsProducts"
+ :rules="unInsRule"
+ >
+ <el-form-item label="涓嬪彂鏃ユ湡" prop="sendTime">
+ <el-date-picker
+ v-model="unInsProductsData.sendTime"
+ type="daterange"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="handleCloseUnInsDialog">鍙� 娑�</el-button>
+ <el-button type="primary" @click="exportUnInsProductsFun"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 鏁版嵁鏌ョ湅璇︽儏 -->
+ <el-dialog
+ title="鏌ョ湅璇︽儏"
+ :visible.sync="dialogVisible"
+ width="70%"
+ :before-close="handleClose3"
+ >
+ <el-table
+ v-if="type == '鍗曟牴鍨傜洿鐕冪儳' || type == '鏉惧绠�'"
+ :data="viewDetailsList"
+ border
+ height="400px"
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="80px"
+ ></el-table-column>
+ <el-table-column prop="entrustCode" label="濮旀墭鍗曞彿"></el-table-column>
+ <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿"></el-table-column>
+ <el-table-column
+ prop="color"
+ label="濂楃"
+ v-if="viewDetailsList.filter((ele) => ele.color !== '').length > 0"
+ ></el-table-column>
+ <!-- <el-table-column prop="inspectionItem" label="妫�楠岄」"></el-table-column> -->
+ <el-table-column prop="insValue" label="妫�楠岀粨鏋�"></el-table-column>
+ </el-table>
+
+ <el-table
+ v-if="type == '鎶楁媺寮哄害'"
+ :data="viewDetailsList"
+ height="400px"
+ border
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="80px"
+ ></el-table-column>
+ <el-table-column prop="inspectionItem" label="妫�楠岄」"></el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠屽瓙椤�"
+ ></el-table-column>
+ <el-table-column prop="width" label="瀹藉害"></el-table-column>
+ <el-table-column prop="thickness" label="鍘氬害"></el-table-column>
+ <el-table-column prop="testValue" label="妫�楠屽��"></el-table-column>
+ </el-table>
+
+ <el-table
+ v-if="type == '鏂浼搁暱鐜�'"
+ :data="viewDetailsList"
+ height="400px"
+ border
+ style="width: 100%"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="80px"
+ ></el-table-column>
+ <el-table-column prop="inspectionItem" label="妫�楠岄」"></el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠屽瓙椤�"
+ ></el-table-column>
+ <el-table-column
+ v-for="(v, i) in tableHeader"
+ :key="i"
+ :prop="`testValue${i}`"
+ :label="`妫�楠屽��${i + 1}`"
+ ></el-table-column>
+ </el-table>
+ </el-dialog>
+ <!-- 璁㈠崟鍩烘湰淇℃伅寮规 -->
+ <el-dialog
+ title="濮旀墭鍗曚俊鎭�"
+ :visible.sync="orderInfoDialog"
+ top="5vh"
+ width="70%"
+ >
+ <el-divider content-position="left">妫�楠屾牱鍝佺紪鍙峰垪琛�</el-divider>
+ <el-table
+ :data="insSampleListData"
+ border
+ height="200"
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ textAlign: 'center' }"
+ >
+ <el-table-column label="鏍峰搧缂栧彿" prop="sampleCode"></el-table-column>
+ <el-table-column label="鐘舵��" prop="state">
+ <template slot-scope="scope">
+ <el-tag type="danger" v-if="scope.row.state == 0">寰呮</el-tag>
+ <el-tag type="warning" v-if="scope.row.state == 1">鍦ㄦ</el-tag>
+ <el-tag type="success" v-if="scope.row.state == 2">宸叉</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="妫�娴嬩汉" prop="inspectName"></el-table-column>
+ </el-table>
+ <br />
+ <el-divider content-position="left">濮旀墭鍗曞唴瀹�</el-divider>
+ <el-table
+ :data="insProductVOSData"
+ border
+ height="300"
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ textAlign: 'center' }"
+ >
+ <el-table-column
+ label="鏍峰搧缂栧彿"
+ prop="sampleCode"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ label="鏍峰搧鍨嬪彿"
+ prop="model"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ label="妫�娴嬮」鐩�"
+ prop="testItem"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ label="妫�娴嬪瓙椤�"
+ prop="testItemChildren"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ label="璇曢獙鏂规硶"
+ prop="testMethod"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ label="鏍囧噯瑕佹眰"
+ prop="requirement"
+ show-overflow-tooltip
+ ></el-table-column>
+ </el-table>
+ </el-dialog>
+ </div>
</template>
<script>
-export default {};
+import { mapGetters } from "vuex";
+import Inspection from "./Inspection.vue";
+import { getYearAndMonthAndDays } from "@/utils/date";
+import { transformExcel } from "@/utils/file";
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+ getCurrentMonthPlanTotal,
+ exportCommissionFees,
+ exportUnInsProducts,
+ exportInsOrderPlanResult,
+ getTabHeader,
+ getInsOrderTemList,
+ getInsOrderPlanList,
+ claimInsOrderPlan,
+ getSampleInfoByOrderId,
+ selectInsOrderPlanList,
+ upPlanUser2,
+ upPlanUser,
+} from "@/api/business/inspectionTask";
+import {
+ selectSampleAndProductByOrderId,
+ viewDetails,
+} from "@/api/business/inspectionOrder";
+import { getDicts } from "@/api/system/dict/data";
+import { getLaboratoryPersonList } from "@/api/system/user";
+import LimsTable from "../../../components/Table/lims-table.vue";
+export default {
+ components: {
+ Inspection,
+ limsTable,
+ LimsTable,
+ },
+ computed: {
+ ...mapGetters(["permissions", "nickName"]),
+ },
+ data() {
+ return {
+ insStateList: [],
+ urgencyDictList: [],
+ tableData: [],
+ column: [
+ {
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ minWidth: "160px",
+ width: "160px",
+ dataType: "link",
+ linkEvent: {
+ method: "selectAllByOne",
+ vueComponent: this,
+ },
+ },
+ {
+ label: "濮旀墭鍗曚綅",
+ prop: "company",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鍚嶇О",
+ prop: "sample",
+ minWidth: "140px",
+ width: "140px",
+ dataType: "link",
+ linkEvent: {
+ method: "selectOrderInfo",
+ vueComponent: this,
+ },
+ },
+ {
+ label: "鏍峰搧鍨嬪彿",
+ prop: "model",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "绱ф�ョ▼搴�",
+ prop: "type",
+ dataType: "tag",
+ minWidth: "90px",
+ width: "90px",
+ formatData: (params) => {
+ let index = this.urgencyDictList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.urgencyDictList[index].dictLabel;
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ let index = this.urgencyDictList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.urgencyDictList[index].listClass;
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "鐘舵��",
+ prop: "insState",
+ dataType: "tag",
+ minWidth: "100px",
+ width: "100px",
+ formatData: (params) => {
+ let index = this.insStateList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.insStateList[index].dictLabel;
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ let index = this.insStateList.findIndex(
+ (item) => item.dictValue == params
+ );
+ if (index > -1) {
+ return this.insStateList[index].listClass;
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "妫�楠屼汉",
+ prop: "userName",
+ minWidth: "140px",
+ width: "140px",
+ },
+ {
+ label: "澶嶆牳浜�",
+ prop: "checkName",
+ minWidth: "100px",
+ width: "100px",
+ },
+ {
+ label: "绾﹀畾鏃堕棿",
+ prop: "appointed",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "涓嬪彂鏃堕棿",
+ prop: "sendTime",
+ minWidth: "140px",
+ width: "140px",
+ },
+ {
+ label: "妫�楠屽紑濮嬫椂闂�",
+ prop: "insTime",
+ minWidth: "140px",
+ width: "140px",
+ },
+ {
+ label: "鐞嗙敱",
+ prop: "verifyTell",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鎿嶄綔",
+ dataType: "action",
+ fixed: "right",
+ operation: [
+ {
+ name: "鏁版嵁鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ },
+ },
+ {
+ name: "妫�楠�",
+ type: "text",
+ clickFun: (row) => {
+ this.handleInspection(row);
+ },
+ disabled: (row, index) => {
+ return (
+ row.userName == null ||
+ row.insState == 3 ||
+ row.insState == 5 ||
+ (row.userName && !row.userName.includes(this.nickName))
+ );
+ },
+ },
+ {
+ name: "浜ゆ帴",
+ type: "text",
+ clickFun: (row) => {
+ this.handleConnect(row);
+ },
+ disabled: (row, index) => {
+ return (
+ row.userName == null ||
+ row.insState == 5 ||
+ row.insState == 3 ||
+ (row.userName &&
+ !row.userName.includes(this.nickName) &&
+ !this.isLeader)
+ );
+ },
+ },
+ {
+ name: "澶嶆牳",
+ type: "text",
+ clickFun: (row) => {
+ this.handleReview(row);
+ },
+ disabled: (row, userName) => {
+ return (
+ row.userName == null ||
+ row.insState != 3 ||
+ (row.checkName && !row.checkName.includes(this.nickName))
+ );
+ },
+ },
+ {
+ name: "璁ら",
+ type: "text",
+ clickFun: (row) => {
+ this.claimFun(row);
+ },
+ disabled: (row, index) => {
+ return row.userName != null || row.checkName != null;
+ },
+ },
+ ],
+ },
+ ],
+ dataLooktableData: [],
+ insResultList: [
+ {
+ value: 1,
+ label: "鍚堟牸",
+ type: "success",
+ },
+ {
+ value: 0,
+ label: "涓嶅悎鏍�",
+ type: "danger",
+ },
+ {
+ value: 3,
+ label: "涓嶅垽瀹�",
+ type: "",
+ },
+ ],
+ dataLookColumn: [
+ {
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧缂栧彿",
+ prop: "sampleCode",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "绠″鑹叉爣",
+ prop: "bushColor",
+ minWidth: "100px",
+ width: "100px",
+ },
+ {
+ label: "鍏夌氦甯︾紪鍙�",
+ prop: "code",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "鍏夌氦鑹叉爣",
+ prop: "color",
+ minWidth: "100px",
+ width: "100px",
+ },
+ {
+ label: "妫�楠岄」",
+ prop: "inspectionItem",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屽瓙椤�",
+ prop: "inspectionItemSubclass",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠岀粨鏋�",
+ prop: "lastValue",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "缁撴灉鍒ゅ畾",
+ prop: "insResult",
+ minWidth: "100px",
+ width: "100px",
+ dataType: "tag",
+ formatData: (params) => {
+ let index = this.insResultList.findIndex(
+ (item) => item.value == params
+ );
+ if (index > -1) {
+ return this.insResultList[index].label;
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ let index = this.insResultList.findIndex(
+ (item) => item.value == params
+ );
+ if (index > -1) {
+ return this.insResultList[index].type;
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "鍗曚綅",
+ prop: "unit",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "璇曢獙瑕佹眰",
+ prop: "tell",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屼汉",
+ prop: "checkName",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ label: "妫�楠屾棩鏈�",
+ prop: "checkTime",
+ minWidth: "140px",
+ width: "140px",
+ },
+ {
+ label: "鏍峰搧鍚嶇О",
+ prop: "sample",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "鏍峰搧鍨嬪彿",
+ prop: "model",
+ minWidth: "160px",
+ width: "160px",
+ },
+ {
+ label: "璇曢獙瀹�",
+ prop: "sonLaboratory",
+ minWidth: "120px",
+ width: "120px",
+ },
+ {
+ dataType: "action",
+ label: "鎿嶄綔",
+ fixed: "right",
+ operation: [
+ {
+ name: "鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ this.viewDetails(row);
+ },
+ // showHide: (row) => {
+ // return (
+ // row.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" ||
+ // row.inspectionItem.includes("鏉惧绠�") ||
+ // row.inspectionItemSubclass.includes("鏉惧绠�") ||
+ // (row.inspectionItem == "鎶楁媺寮哄害" &&
+ // (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ // row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�")) ||
+ // (row.inspectionItem == "鏂浼搁暱鐜�" &&
+ // (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ // row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�"))
+ // );
+ // },
+ },
+ ],
+ },
+ ],
+ dataLookTableLoading: false,
+ queryParams: {
+ entrustCode: null,
+ sampleCode: null,
+ sample: null,
+ insState: null,
+ sendTimeRange: [],
+ },
+ page: {
+ total: 0,
+ size: 20,
+ current: 1,
+ },
+ tableLoading: false,
+
+ //old
+ tableHeader: [],
+ type: "",
+ maxNum: 1,
+ isShowMore: false,
+ more: false,
+ dialogVisible: false,
+ viewDetailsList: [],
+ unInsDialogVisible: false,
+ unInsProductsData: {
+ sendTime: [],
+ },
+ exportFees: {
+ commissionFeesDate: [],
+ },
+ feesRule: {
+ commissionFeesDate: {
+ required: true,
+ message: "璇烽�夋嫨涓嬪崟鏃ユ湡",
+ trigger: "change",
+ },
+ },
+ unInsRule: {
+ sendTime: {
+ required: true,
+ message: "璇烽�夋嫨涓嬪彂鏃ユ湡",
+ trigger: "change",
+ },
+ },
+ commissionFeesDialogVisible: false,
+ commissionFeesDate: null,
+ orderInfoDialog: false, //璁㈠崟鍩烘湰淇℃伅寮规
+ tableHeight: 0,
+ tableMainHeight: 0,
+ outLoading: false,
+ trendsTable: [],
+ pageSize: 20,
+ total: 0,
+ currentPage: 1,
+ loadingTable: true,
+ activeName: "0",
+ tabName: null,
+ tabsData: [],
+ tabs: [],
+ selectTab: "",
+ excelForm: {
+ entrustCode: null,
+ sampleCode: null,
+ sampleName: null,
+ dateTime: null,
+ },
+ dialogVisibleExcel: false,
+ examine: null,
+ inspectorList: [], //妫�楠屼汉鍛樺垪琛�
+ alone: false,
+ sampleUserForm: {
+ entrustCode: null,
+ insSampleId: null,
+ userId: null,
+ },
+ claimVisible: false,
+ tabList: [],
+ active: 1,
+ tabIndex: 0,
+ componentDataDataLook: {
+ isPage: false,
+ entity: {
+ id: 0,
+ orderBy: {
+ field: "sampleCode",
+ order: "asc",
+ },
+ },
+ isIndex: false,
+ showSelect: false,
+ select: false,
+ do: [
+ {
+ id: "",
+ font: "鏌ョ湅",
+ type: "text",
+ method: "viewDetails",
+ showFun: (row, index) => {
+ return (
+ row.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" ||
+ row.inspectionItem.includes("鏉惧绠�") ||
+ row.inspectionItemSubclass.includes("鏉惧绠�") ||
+ (row.inspectionItem == "鎶楁媺寮哄害" &&
+ (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�")) ||
+ (row.inspectionItem == "鏂浼搁暱鐜�" &&
+ (row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍓�" ||
+ row.inspectionItemSubclass == "鐑�佸寲澶勭悊鍚�"))
+ );
+ },
+ },
+ ],
+ tagField: {
+ insState: {
+ select: [],
+ },
+ insResult: {
+ select: [
+ {
+ value: 1,
+ label: "鍚堟牸",
+ type: "success",
+ },
+ {
+ value: 0,
+ label: "涓嶅悎鏍�",
+ type: "danger",
+ },
+ {
+ value: 3,
+ label: "涓嶅垽瀹�",
+ type: "",
+ },
+ ],
+ },
+ },
+ selectField: {},
+ spanConfig: {
+ rows: [
+ // {
+ // name: "entrustCode",
+ // index: 0,
+ // },
+ // {
+ // name: "sampleCode",
+ // index: 1,
+ // },
+ ],
+ },
+ requiredAdd: [],
+ requiredUp: [],
+ },
+ dataDialogVisible: false,
+
+ upIndex: 0,
+ planTotal: 0,
+ state: 0, //0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
+ activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0
+ currentId: null,
+ entityCopy: {},
+ orderId: 0,
+ personList: [],
+ connectVisible: false,
+ connect: {
+ connectPerson: "",
+ sonLaboratory: "",
+ },
+ loading: false,
+ currentTime: null,
+ sonLaboratoryList: [],
+ userNameList: [],
+ currentRow: null,
+ insProductVOSData: [],
+ insSampleListData: [],
+ currentMonthPlanTotal: 0,
+ };
+ },
+ created() {
+ this.getLaboratoryDicts();
+ this.getTypeDicts();
+ this.getInsStateDicts();
+ this.getAuthorizedPerson();
+ this.currentTime = getYearAndMonthAndDays();
+ this.getTableHeight();
+ this.handleResize();
+ },
+ mounted() {
+ window.addEventListener("resize", this.getTableHeight);
+ // 鐩戝惉绐楀彛澶у皬鏀瑰彉浜嬩欢
+ window.addEventListener("resize", this.handleResize);
+ },
+ beforeDestroy() {
+ window.removeEventListener("resize", this.getTableHeight);
+ window.removeEventListener("resize", this.handleResize);
+ },
+ watch: {
+ more() {
+ this.getTableHeight();
+ },
+ tabsData() {
+ this.$nextTick(() => {
+ this.$refs.showResultTable &&
+ this.$refs.showResultTable.forEach((e) => e.doLayout());
+ });
+ },
+ },
+ computed: {
+ title() {
+ return this.selectTab + "妫�楠岀粨鏋滄樉绀�";
+ },
+ isLeader() {
+ const power = JSON.parse(sessionStorage.getItem("power"));
+ if (power) {
+ const filterList = power.filter((ele) => ele.menuMethod == "leader");
+ return filterList.length > 0;
+ }
+ return false;
+ },
+ },
+ methods: {
+ pagination({ page, limit }) {
+ this.page.current = page;
+ this.page.size = limit;
+ this.getList();
+ },
+ getList() {
+ this.tableLoading = true;
+ selectInsOrderPlanList({ ...this.queryParams, ...this.page })
+ .then((res) => {
+ if (res.code === 200) {
+ this.tableData = res.data.records;
+ this.page.total = res.data.total;
+ }
+ this.tableLoading = false;
+ })
+ .catch((error) => {
+ this.tableLoading = false;
+ console.error(error);
+ });
+ },
+ getCurrentMonthPlanTotal() {
+ let startTime = null;
+ let endTime = null;
+ if (this.queryParams.sendTimeRange.length > 1) {
+ startTime = this.queryParams.sendTimeRange[0].replace("T", " ");
+ endTime = this.queryParams.sendTimeRange[1].replace("T", " ");
+ }
+ getCurrentMonthPlanTotal({
+ sonLaboratory: this.queryParams.sonLaboratory,
+ startTime: startTime,
+ endTime: endTime,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.currentMonthPlanTotal = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 瀹氫箟涓�涓嚱鏁版潵澶勭悊瑙嗗彛瀹藉害鍙樺寲
+ handleResize() {
+ //瑙嗗彛瀹藉害
+ let windowWidth = window.innerWidth;
+ //鍑忓幓宸﹁竟鑿滃崟鏍忓搴�200锛岄〉杈硅窛40,鍙宠竟鐨勬搷浣滄寜閽搴iewportWidth*33.33333%
+ let viewportWidth = windowWidth - 200 - 40;
+ //鎼滅储琛ㄥ崟鏈�澶у搴�
+ let formMaxWidth = viewportWidth - viewportWidth * 0.3333333;
+ //鍗曚釜鎼滅储妗嗗搴︿负230
+ this.maxNum = formMaxWidth / 250;
+ },
+ // 鏌ョ湅璇︽儏
+ viewDetails(row) {
+ this.dialogVisible = true;
+ if (
+ row.inspectionItem.includes("鏉惧绠�") ||
+ row.inspectionItemSubclass.includes("鏉惧绠�")
+ ) {
+ this.type = "鏉惧绠�";
+ } else {
+ this.type = row.inspectionItem;
+ }
+ let data = {
+ inspectionItem: row.inspectionItem,
+ inspectionItemSubclass: row.inspectionItemSubclass,
+ insProductId: row.insProductId,
+ insSampleId: row.insSampleId,
+ entrustCode: row.entrustCode,
+ sampleCode: row.sampleCode,
+ };
+ viewDetails(data)
+ .then((res) => {
+ if (res.code === 200) {
+ this.viewDetailsList = res.data;
+ if (res.data[0].tableHeader) {
+ this.tableHeader = res.data[0].tableHeader;
+ } else {
+ this.tableHeader = [
+ {
+ testValue0: "",
+ },
+ ];
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ handleCommand(command) {
+ switch (command) {
+ case "showInsResults":
+ //鏌ヨ妫�楠岀粨鏋�
+ this.excelExport();
+ break;
+ case "exportFees":
+ //瀵煎嚭濮旀墭璐圭敤
+ this.commissionFeesDialogVisible = true;
+ break;
+ case "exportUnInsProducts":
+ //瀵煎嚭寰呮淇℃伅
+ this.unInsDialogVisible = true;
+ break;
+ }
+ },
+ // 瀵煎嚭濮旀墭璐圭敤
+ exportcommissionFees() {
+ this.$refs.exportFees.validate((valid) => {
+ if (valid) {
+ let data = {
+ startTime: this.exportFees.commissionFeesDate[0],
+ endTime: this.exportFees.commissionFeesDate[1],
+ };
+ exportCommissionFees(data)
+ .then((res) => {
+ transformExcel(res, "濮旀墭璐圭敤缁熻.xlsx");
+ this.$nextTick(() => {
+ this.$message.success("瀵煎嚭鎴愬姛");
+ this.commissionFeesDate = null;
+ this.commissionFeesDialogVisible = false;
+ });
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ });
+ },
+ handleCloseCommissionFees() {
+ this.exportFees.commissionFeesDate = null;
+ this.commissionFeesDialogVisible = false;
+ this.$refs.exportFees.resetFields();
+ },
+ // 瀵煎嚭寰呮浠诲姟
+ exportUnInsProductsFun() {
+ this.$refs.exportUnInsProducts.validate((valid) => {
+ if (valid) {
+ let data = {
+ startDate: this.unInsProductsData.sendTime[0],
+ endDate: this.unInsProductsData.sendTime[1],
+ entrustCode: this.queryParams.entrustCode,
+ insState: this.queryParams.insState,
+ sampleCode: this.queryParams.sampleCode,
+ sample: this.queryParams.sample,
+ sonLaboratory: this.queryParams.sonLaboratory,
+ };
+ console.log(data);
+ exportUnInsProducts(data)
+ .then((res) => {
+ transformExcel(res, "寰呮浠诲姟缁熻.xlsx");
+ this.$nextTick(() => {
+ this.$message.success("瀵煎嚭鎴愬姛");
+ this.handleCloseUnInsDialog();
+ });
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ });
+ },
+ handleCloseUnInsDialog() {
+ this.unInsProductsData.sendTime = [];
+ this.unInsDialogVisible = false;
+ this.$refs.exportUnInsProducts.resetFields();
+ },
+ //鍓嶅線澶嶆牳鎸夐挳鏉冮檺鏍¢獙
+ premissionReviewFun() {
+ if (this.currentRow) {
+ let row = this.currentRow;
+ return !(
+ row.userName == null ||
+ row.insState != 3 ||
+ (row.checkName && !row.checkName.includes(this.nickName))
+ );
+ }
+ },
+ //鍓嶅線澶嶆牳鏂规硶
+ goReview(currentRow) {
+ this.dataDialogVisible = false;
+ this.$nextTick(() => {
+ this.handleReview(currentRow);
+ });
+ },
+ //鏌ョ湅妫�楠岀粨鏋�-璁$畻琛ㄦ牸鍒楀搴�
+ calcTableColumnWidth(columnName) {
+ let width = 120;
+ if (columnName) {
+ let clacWidth = 20 * columnName.length;
+ width = clacWidth > width ? clacWidth : width;
+ }
+ return width;
+ },
+ getTableHeight() {
+ const outherMainHeight = this.more ? 386 : 336; //涓昏〃鏍煎叾浣欓珮搴�
+ const otherHeight = 320; // 鍏朵綑楂樺害
+ const tableH = 50; // 璺濈椤甸潰涓嬫柟鐨勯珮搴�
+ const tableHeightDetil = window.innerHeight - tableH;
+ if (tableHeightDetil <= 300) {
+ this.tableHeight = 200;
+ this.tableMainHeight = 200;
+ } else {
+ this.tableHeight = window.innerHeight - tableH - otherHeight;
+ this.tableMainHeight = window.innerHeight - tableH - outherMainHeight;
+ }
+ },
+ // 瀵煎嚭鏌ョ湅缁撴灉鏁版嵁
+ excelExportTrends() {
+ this.$message.warning("姝e湪瀵煎嚭 璇风◢鍚�...");
+ this.outLoading = true;
+ exportInsOrderPlanResult({
+ sampleType: this.tabName,
+ sonLaboratory: this.selectTab,
+ entrustCode: this.excelForm.entrustCode,
+ sampleCode: this.excelForm.sampleCode,
+ createUser: this.excelForm.sampleName,
+ insTime: this.excelForm.dateTime,
+ headerS: JSON.stringify(this.tableHeader),
+ })
+ .then((res) => {
+ this.outLoading = false;
+ this.$message.success("瀵煎嚭鎴愬姛");
+ const blob = new Blob([res], { type: "application/octet-stream" });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = "妫�楠岀粨鏋�.xlsx";
+ link.click();
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ handleClose3() {
+ this.dialogVisible = false;
+ },
+ handleSizeChange(val) {
+ this.pageSize = val;
+ let table = JSON.parse(JSON.stringify(this.trendsTable));
+ this.tabsData = table.slice(0, val);
+ console.log(`姣忛〉 ${val} 鏉);
+ },
+ handleCurrentChange(val) {
+ let table = JSON.parse(JSON.stringify(this.trendsTable));
+ this.tabsData = table.slice(
+ (val - 1) * this.pageSize,
+ val * this.pageSize
+ );
+ console.log(`褰撳墠椤�: ${val}`);
+ },
+ handleClick(tab, event) {
+ this.tabName = this.tabs[tab.name];
+ this.getTabHeader(this.tabs[tab.name]);
+ },
+ excelSearch() {
+ this.getTabHeader(this.tabName);
+ },
+ // 瀵煎嚭寮规鑾峰彇tabs椤垫爣绛�
+ excelExport() {
+ this.resetForm();
+ this.outLoading = false;
+ this.activeName = "0";
+ if (this.selectTab == null || this.selectTab == "") {
+ this.selectTab = this.tabList[0].value;
+ }
+ this.loadingTable = true;
+ getTabHeader({
+ sonLaboratory: this.selectTab,
+ samples: "",
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.tabs = res.data.tabHeader;
+ this.tabName = this.tabs[0];
+ this.getTabHeader(this.tabs[0]); // 鑾峰彇鍔ㄦ�佽〃澶�
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ this.dialogVisibleExcel = true;
+ },
+ // samples鑾峰彇鍔ㄦ�佽〃澶�
+ getTabHeader(samples) {
+ getTabHeader({
+ sonLaboratory: this.selectTab,
+ samples: samples,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.loadingTable = true;
+ this.tableHeader = [];
+ this.tableHeader = res.data.tableHeader;
+ let data = {
+ sampleType: samples,
+ sonLaboratory: this.selectTab,
+ entrustCode: this.excelForm.entrustCode,
+ sampleCode: this.excelForm.sampleCode,
+ createUser: this.excelForm.sampleName,
+ insTime: this.excelForm.dateTime,
+ headerS: JSON.stringify(this.tableHeader),
+ };
+ if (samples == "娓╁害寰幆") {
+ // 鑾峰彇琛ㄦ牸鏁版嵁
+ getInsOrderTemList(data)
+ .then((res) => {
+ if (res.code === 200) {
+ this.tabsData = [];
+ this.trendsTable = res.data;
+ // 鍒嗛〉
+ this.total = this.trendsTable.length;
+ this.tabsData = res.data.slice(0, this.pageSize);
+ this.loadingTable = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ // 鑾峰彇琛ㄦ牸鏁版嵁
+ getInsOrderPlanList(data)
+ .then((res) => {
+ if (res.code === 200) {
+ this.tabsData = [];
+ this.trendsTable = res.data;
+ // 鍒嗛〉
+ this.total = this.trendsTable.length;
+ this.tabsData = res.data.slice(0, this.pageSize);
+ this.loadingTable = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ // 娓呯┖琛ㄥ崟
+ resetForm() {
+ this.excelForm = {
+ entrustCode: null,
+ sampleCode: null,
+ sampleName: null,
+ dateTime: null,
+ };
+ },
+
+ // 鏁版嵁鏌ョ湅
+ handleDataLook(row) {
+ this.dataLookTableLoading = true;
+ selectSampleAndProductByOrderId({ id: row.id })
+ .then((res) => {
+ if (res.code === 200) {
+ this.dataLooktableData = res.data;
+ }
+ this.dataLookTableLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ this.dataLookTableLoading = false;
+ });
+ this.dataDialogVisible = true;
+ },
+ changeCheckBox(val) {
+ this.queryParams.userId = val ? 0 : null;
+ this.refreshTable();
+ },
+ refresh() {
+ if (this.tabList.length > 0) {
+ this.tabIndex = 0;
+ this.queryParams.sonLaboratory = this.tabList[0].value;
+ }
+ this.refreshTable();
+ },
+ claimFun(row) {
+ if (row) {
+ this.sampleUserForm = {
+ entrustCode: row.entrustCode,
+ insSampleId: row.id,
+ sonLaboratory: row.sonLaboratory,
+ };
+ this.claimVisible = true;
+ }
+ },
+ confirmClaim() {
+ this.loading = true;
+ claimInsOrderPlan(this.sampleUserForm)
+ .then((res) => {
+ if (res.code === 200 && res.data) {
+ this.loading = false;
+ this.$message.success("璁ら鎴愬姛");
+ this.claimVisible = false;
+ this.refreshTable("page");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ this.loading = false;
+ });
+ },
+ refreshTable() {
+ this.getList();
+ this.$nextTick(() => {
+ this.getCurrentMonthPlanTotal();
+ });
+ },
+ changeRowClass({ row, rowIndex }) {
+ if (this.currentTime == row.appointed) {
+ return "highlight-warning-row-border";
+ } else if (this.currentTime > row.appointed) {
+ return "highlight-danger-row-border";
+ }
+ return "";
+ },
+ onReset() {
+ this.searchForm = {
+ sampleName: null,
+ state: null,
+ };
+ this.componentData.entity.insState = null;
+ this.componentData.entity.sampleName = null;
+ this.refreshTable();
+ },
+ onSubmit() {
+ this.componentData.entity.insState = this.searchForm.state;
+ this.componentData.entity.sampleName = this.searchForm.sampleName;
+ this.$nextTick(() => {
+ this.refreshTable();
+ });
+ },
+ handleTab(m, i) {
+ console.log("aaa", m, i);
+ this.selectTab = m.value;
+ this.tabIndex = i;
+ this.queryParams.sonLaboratory = m.value;
+ this.refreshTable();
+ },
+ getTypeDicts() {
+ getDicts("urgency_level")
+ .then((res) => {
+ if (res.code === 200) {
+ this.urgencyDictList = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ getInsStateDicts() {
+ getDicts("inspection_task_state")
+ .then((res) => {
+ if (res.code === 200) {
+ this.insStateList = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ // this.$axios
+ // .post(this.$api.enums.selectEnumByCategory, {
+ // category: "",
+ // })
+ // .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";
+ // }
+ // });
+ // this.componentData.tagField.insState.select = data;
+ // });
+ },
+ getLaboratoryDicts() {
+ getDicts("sys_sub_lab")
+ .then((res) => {
+ if (res.code === 200) {
+ this.tabList = res.data.map((ele) => {
+ return {
+ label: ele.dictLabel,
+ value: ele.dictValue,
+ };
+ });
+ if (this.tabList.length > 0) {
+ this.queryParams.sonLaboratory = this.tabList[0].value;
+ }
+ this.refreshTable();
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectAllByOne(row) {
+ this.$router.push({
+ name: "showDetails",
+ query: {
+ active: 2,
+ currentId: row.id,
+ examine: 1,
+ isPlan: true,
+ },
+ });
+ },
+ //鏌ョ湅濮旀墭鍗曞熀鏈俊鎭�
+ selectOrderInfo(row) {
+ if (row) {
+ getSampleInfoByOrderId({
+ id: row.id,
+ sonLaboratory: row.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code == 200) {
+ this.insSampleListData = res.data.insSamples;
+ this.insProductVOSData = res.data.insProductVOS;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }
+ this.$nextTick(() => {
+ this.orderInfoDialog = true;
+ });
+ },
+ playOrder(num) {
+ this.activeFace = num;
+ },
+ goback() {
+ this.state = 0;
+ this.refreshTable("page");
+ },
+ handleInspection(row) {
+ //褰撳墠妫�楠屼换鍔$殑妫�楠屼汉鍒楄〃
+ let inspectorList = [];
+ if (row.userName) {
+ inspectorList = row.userName.split(",");
+ }
+ inspectorList.push(this.nickName);
+ this.inspectorList = inspectorList;
+ this.state = 1;
+ this.orderId = row.id;
+ },
+ handleConnect(row) {
+ this.orderId = row.id;
+ this.connect = {
+ connectPerson: "",
+ sonLaboratory: "",
+ };
+ this.userNameList = row.userName.split(",");
+ this.connectVisible = true;
+ upPlanUser2({
+ orderId: this.orderId,
+ })
+ .then((res) => {
+ if (res.code === 200 && res.data.length > 0) {
+ this.sonLaboratoryList = [];
+ res.data.forEach((m) => {
+ this.sonLaboratoryList.push({
+ value: m,
+ label: m,
+ });
+ });
+ this.connect.sonLaboratory = row.sonLaboratory;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ confirmConnect() {
+ if (
+ this.connect.connectPerson == null ||
+ this.connect.connectPerson == "" ||
+ this.connect.connectPerson == undefined
+ ) {
+ this.$message.error("鏈�夋嫨浜ゆ帴浜哄憳");
+ return;
+ }
+ if (
+ this.connect.sonLaboratory == null ||
+ this.connect.sonLaboratory == "" ||
+ this.connect.sonLaboratory == undefined
+ ) {
+ this.$message.error("鏈�夋嫨璇曢獙瀹�");
+ return;
+ }
+ this.loading = true;
+ upPlanUser({
+ orderId: this.orderId,
+ userId: this.connect.connectPerson,
+ sonLaboratory: this.connect.sonLaboratory,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.loading = false;
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refreshTable("page");
+ }
+ this.connectVisible = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ this.loading = false;
+ });
+ },
+ handleReview(row) {
+ this.state = 2;
+ this.orderId = row.id;
+ },
+ getAuthorizedPerson() {
+ getLaboratoryPersonList()
+ .then((res) => {
+ if (res.code === 200) {
+ this.personList = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ handleClose(done) {
+ done();
+ },
+ getStyle() {
+ return "height: calc(100% - " + (this.more ? "94" : "44") + "px)";
+ },
+ },
+};
</script>
-<style></style>
+<style scoped lang="scss">
+.ins-order-plan-main .title {
+ font-size: 20px;
+ color: #3a7bfa;
+}
+
+.search {
+ background-color: #fff;
+ display: flex;
+ align-items: center;
+}
+
+.search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+ width: 230px;
+}
+
+.search_label {
+ /* width: 90px; */
+ font-size: 14px;
+ text-align: right;
+}
+
+.search_input {
+ width: calc(100% - 70px);
+}
+
+.ins-order-plan-main .search {
+ width: 100%;
+ margin-bottom: 10px;
+ height: 80px;
+ background-color: #fff;
+ border-radius: 3px;
+}
+
+.search .form-inline {
+ height: 50px;
+ padding-top: 20px;
+ padding-left: 20px;
+}
+
+.tab {
+ list-style-type: none;
+ display: flex;
+ padding-inline-start: 0px;
+}
+
+.tab li {
+ line-height: 24px;
+ padding: 6px 14px;
+ font-size: 14px;
+ color: #333333;
+ border: 1px solid #eeeeee;
+ cursor: pointer;
+}
+
+.tab li:nth-child(1) {
+ border-radius: 8px 0 0 8px;
+}
+
+.tab li:nth-last-child(1) {
+ border-radius: 0 8px 8px 0;
+}
+
+.tab li.active {
+ border-color: #3a7bfa;
+ color: #3a7bfa;
+}
+
+.center .center-options .center-title {
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ text-align: right;
+ span:last-child {
+ color: #3a7bfa;
+ font-size: 23px;
+ font-weight: 400;
+ }
+ p:last-child {
+ margin-left: 20px;
+ }
+}
+
+.view-self-checkbox {
+ margin-left: 50px;
+}
+.ins-order-plan-main .el-form-item__label {
+ color: #000;
+}
+
+.ins-order-plan-main .el-table th.el-table__cell > .cell {
+ height: 46px;
+ line-height: 30px;
+}
+</style>
--
Gitblit v1.9.3