From 22b1e8c61b4cf049f1c980aea459f3b90620a1b0 Mon Sep 17 00:00:00 2001
From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com>
Date: 星期四, 23 五月 2024 17:26:12 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before

---
 src/components/do/b1-ins-order/add.vue                 |   10 
 src/components/tool/value-table.vue                    |   14 
 src/components/view/b4-daily-business-statistics.vue   |    3 
 src/components/view/b4-sample-defects.vue              |    1 
 src/components/view/b1-inspect-order-plan.vue          |    2 
 static/js/menu.js                                      |    2 
 src/components/view/b3-classes.vue                     |   14 
 src/components/view/a6-personnel-detail.vue            |  739 +++++++++++++------------
 src/components/view/person-manage.vue                  |   22 
 src/components/view/a7-standard-method.vue             |   17 
 src/assets/api/controller.js                           |  302 +++++-----
 src/components/view/b2-standard.vue                    |  408 ++++++++------
 src/components/view/b1-report-preparation.vue          |   29 
 index.html                                             |    2 
 src/components/do/b1-inspect-order-plan/Inspection.vue |   71 +-
 src/components/tool/onlyoffice.vue                     |    1 
 src/components/view/a6-device-management.vue           |    2 
 src/components/view/a6-personnel-overview.vue          |    2 
 src/components/view/b1-inspection-order.vue            |    2 
 src/App.vue                                            |    4 
 src/components/view/b4-inspection-item-statistics.vue  |    4 
 21 files changed, 895 insertions(+), 756 deletions(-)

diff --git a/index.html b/index.html
index 93c7f79..f59f294 100644
--- a/index.html
+++ b/index.html
@@ -21,7 +21,7 @@
 	</head>
 	<body>
 		<div id="app"></div>
-		<script type='text/javascript' src='http://192.168.73.130:9001/web-apps/apps/api/documents/api.js'></script>
+		<!-- <script type='text/javascript' src='http://192.168.73.130:9001/web-apps/apps/api/documents/api.js'></script> -->
 		<script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/plugins/js/plugin.js"></script>
 		<script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/luckysheet.umd.js"></script>
 	</body>
diff --git a/src/App.vue b/src/App.vue
index 500f742..b35af6c 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -312,4 +312,8 @@
     height: 300px;
   }
 
+  .el-table-filter__list-item{
+    font-size: 12px;
+    line-height: 32px;
+  }
 </style>
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index a843e5a..e378506 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -1,19 +1,19 @@
 export default function(Vue) {
-	//娣诲姞鍏ㄥ眬API
-	Vue.prototype.$api = {
-		login,
-		user,
-		dataReporting,
-		enums,
-		capacityScope,
-		laboratoryScope,
-		deviceScope,
-		systemLog,
-		standardTree,
-		standardMethod,
-		StandardTemplate,
-		insOrder,
-		sampleOrder,
+  //娣诲姞鍏ㄥ眬API
+  Vue.prototype.$api = {
+    login,
+    user,
+    dataReporting,
+    enums,
+    capacityScope,
+    laboratoryScope,
+    deviceScope,
+    systemLog,
+    standardTree,
+    standardMethod,
+    StandardTemplate,
+    insOrder,
+    sampleOrder,
     insOrderPlan,
     insReport,
     warehouse,
@@ -24,88 +24,91 @@
     informationNotification,
     performanceShift,
     auxiliaryWorkingHours,
-	  unPass,
+    unPass,
     companies
-	}
+  }
 }
 
 const login = {
-	enter: "/user/enter", //鐧诲綍
+  enter: "/user/enter", //鐧诲綍
 }
 
 const user = {
-	selectUserList: "/user/selectUserList", //鑾峰彇鐢ㄦ埛鍒楄〃
-	selectRoleList: "/role/selectRoleList", //鑾峰彇瑙掕壊鍒楄〃
-	updateUser: "/user/updateUser", //淇敼鐢ㄦ埛淇℃伅
-	addUser: "/user/addUser", //娣诲姞鐢ㄦ埛淇℃伅
-	selectRoleLists: "/role/selectRoleLists", //鑾峰彇瑙掕壊鍒楄〃
-	delRole: "/role/delRole", //鍒犻櫎瑙掕壊淇℃伅
-	addRole: "/role/addRole", //娣诲姞瑙掕壊淇℃伅
-	selectMenuList: "/role/selectMenuList", //鑾峰彇鑿滃崟
-	selectPowerByRoleId: "/role/selectPowerByRoleId", //閫氳繃瑙掕壊id鏌ヨ鏉冮檺鍒楄〃
-	upRole: "/role/upRole", //淇敼瑙掕壊
-	getUserMenu: "/user/getUserMenu", //鑾峰彇鐢ㄦ埛鏋氫妇
-	selectCustomPageList: "/user/selectCustomPageList", //鑾峰彇瀹㈡埛鍒楄〃
-	delCustomById: "/user/delCustomById", //鍒犻櫎瀹㈡埛淇℃伅
-	addCustom: "/user/addCustom", //鏂板瀹㈡埛淇℃伅
-	getUserNow: "/user/getUserNow", //鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
-	getUserInfo: "/user/getUserInfo", //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�
+  selectUserList: "/user/selectUserList", //鑾峰彇鐢ㄦ埛鍒楄〃
+  selectPersonnelOverview: "/user/selectPersonnelOverview", // 璧勬簮瑕佹眰-浜哄憳鎬昏
+  selectRoleList: "/role/selectRoleList", //鑾峰彇瑙掕壊鍒楄〃
+  updateUser: "/user/updateUser", //淇敼鐢ㄦ埛淇℃伅
+  addUser: "/user/addUser", //娣诲姞鐢ㄦ埛淇℃伅
+  selectRoleLists: "/role/selectRoleLists", //鑾峰彇瑙掕壊鍒楄〃
+  delRole: "/role/delRole", //鍒犻櫎瑙掕壊淇℃伅
+  addRole: "/role/addRole", //娣诲姞瑙掕壊淇℃伅
+  selectMenuList: "/role/selectMenuList", //鑾峰彇鑿滃崟
+  selectPowerByRoleId: "/role/selectPowerByRoleId", //閫氳繃瑙掕壊id鏌ヨ鏉冮檺鍒楄〃
+  upRole: "/role/upRole", //淇敼瑙掕壊
+  getUserMenu: "/user/getUserMenu", //鑾峰彇鐢ㄦ埛鏋氫妇
+  selectCustomPageList: "/user/selectCustomPageList", //鑾峰彇瀹㈡埛鍒楄〃
+  delCustomById: "/user/delCustomById", //鍒犻櫎瀹㈡埛淇℃伅
+  addCustom: "/user/addCustom", //鏂板瀹㈡埛淇℃伅
+  getUserNow: "/user/getUserNow", //鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
+  getUserInfo: "/user/getUserInfo", //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�
   upUserPassword: "/user/upUserPassword", //淇敼鐢ㄦ埛瀵嗙爜
+  upUserDepardLimsId: "/user/upUserDepardLimsId", //淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
+  delUserDepardLimsId: "/user/delUserDepardLimsId", //鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
 }
 
 const dataReporting = {
-	selectDataReportingList: "/dataReporting/selectDataReportingList", //鑾峰彇鏁版嵁涓婃姤鍒楄〃
-	upDataReporting: "/dataReporting/upDataReporting", //淇敼鏁版嵁涓婃姤
-	selectProductCountDtoPageList: "/dataReporting/selectProductCountDtoPageList", //鑾峰彇椤圭洰姹囨�诲垪琛�
-	selectRegistrantCountDtoPageList: "/dataReporting/selectRegistrantCountDtoPageList", //鑾峰彇鐧昏浜烘眹鎬诲垪琛�
-	addDataReporting: "/dataReporting/addDataReporting", //娣诲姞鏁版嵁涓婃姤
-	delDataReporting: "/dataReporting/delDataReporting", //鍒犻櫎鏁版嵁涓婃姤
-	downDataReportingFile: "/dataReporting/downDataReportingFile", //瀵煎嚭鏁版嵁涓婃姤
-	downProductCountFile: "/dataReporting/downProductCountFile", //瀵煎嚭椤圭洰鏁版嵁缁熻
-	downRegistrantCountFile: "/dataReporting/downRegistrantCountFile", //瀵煎嚭鍛樺伐鏁版嵁缁熻
-	downFansSubmitFile: "/dataReporting/downFansSubmitFile", //瀵煎嚭杩涚矇涓婃姤
-	inputFansSubmitCsv: "/dataReporting/inputFansSubmitCsv", //瀵煎叆杩涚矇涓婃姤
-	downFinanceSubmitFile: "/dataReporting/downFinanceSubmitFile", //瀵煎嚭璐㈠姟涓婃姤
-	inputFinanceSubmitCsv: "/dataReporting/inputFinanceSubmitCsv", //瀵煎叆璐㈠姟涓婃姤
-	selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //鑾峰彇鏁版嵁瀵规瘮鍒楄〃
-	deleteAllData: "/dataReporting/deleteAllData", //涓�閿垹闄ゆ墍鏈夌殑鏁版嵁涓婃姤
-	selectDataReportingForCreateUserNames: "/dataReporting/selectDataReportingForCreateUserNames", //鑾峰彇鏁版嵁涓婃姤鐨勭櫥璁颁汉绛涢�夐」
+  selectDataReportingList: "/dataReporting/selectDataReportingList", //鑾峰彇鏁版嵁涓婃姤鍒楄〃
+  upDataReporting: "/dataReporting/upDataReporting", //淇敼鏁版嵁涓婃姤
+  selectProductCountDtoPageList: "/dataReporting/selectProductCountDtoPageList", //鑾峰彇椤圭洰姹囨�诲垪琛�
+  selectRegistrantCountDtoPageList: "/dataReporting/selectRegistrantCountDtoPageList", //鑾峰彇鐧昏浜烘眹鎬诲垪琛�
+  addDataReporting: "/dataReporting/addDataReporting", //娣诲姞鏁版嵁涓婃姤
+  delDataReporting: "/dataReporting/delDataReporting", //鍒犻櫎鏁版嵁涓婃姤
+  downDataReportingFile: "/dataReporting/downDataReportingFile", //瀵煎嚭鏁版嵁涓婃姤
+  downProductCountFile: "/dataReporting/downProductCountFile", //瀵煎嚭椤圭洰鏁版嵁缁熻
+  downRegistrantCountFile: "/dataReporting/downRegistrantCountFile", //瀵煎嚭鍛樺伐鏁版嵁缁熻
+  downFansSubmitFile: "/dataReporting/downFansSubmitFile", //瀵煎嚭杩涚矇涓婃姤
+  inputFansSubmitCsv: "/dataReporting/inputFansSubmitCsv", //瀵煎叆杩涚矇涓婃姤
+  downFinanceSubmitFile: "/dataReporting/downFinanceSubmitFile", //瀵煎嚭璐㈠姟涓婃姤
+  inputFinanceSubmitCsv: "/dataReporting/inputFinanceSubmitCsv", //瀵煎叆璐㈠姟涓婃姤
+  selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //鑾峰彇鏁版嵁瀵规瘮鍒楄〃
+  deleteAllData: "/dataReporting/deleteAllData", //涓�閿垹闄ゆ墍鏈夌殑鏁版嵁涓婃姤
+  selectDataReportingForCreateUserNames: "/dataReporting/selectDataReportingForCreateUserNames", //鑾峰彇鏁版嵁涓婃姤鐨勭櫥璁颁汉绛涢�夐」
 
-	selectFansSubmitList: "/dataReporting/selectFansSubmitList", //鑾峰彇杩涚矇涓婃姤鍒楄〃
-	delFansSubmit: "/dataReporting/delFansSubmit", //鍒犻櫎杩涚矇涓婃姤淇℃伅
-	updateFansSubmit: "/dataReporting/updateFansSubmit", //淇敼杩涚矇涓婃姤淇℃伅
-	addFansSubmit: "/dataReporting/addFansSubmit", //娣诲姞杩涚矇涓婃姤淇℃伅
-	selectVxs: "/dataReporting/selectVxs", //鑾峰彇杩涚矇涓殑寰俊鍙峰垪琛�
+  selectFansSubmitList: "/dataReporting/selectFansSubmitList", //鑾峰彇杩涚矇涓婃姤鍒楄〃
+  delFansSubmit: "/dataReporting/delFansSubmit", //鍒犻櫎杩涚矇涓婃姤淇℃伅
+  updateFansSubmit: "/dataReporting/updateFansSubmit", //淇敼杩涚矇涓婃姤淇℃伅
+  addFansSubmit: "/dataReporting/addFansSubmit", //娣诲姞杩涚矇涓婃姤淇℃伅
+  selectVxs: "/dataReporting/selectVxs", //鑾峰彇杩涚矇涓殑寰俊鍙峰垪琛�
 
-	selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //鑾峰彇璐㈠姟涓婃姤鍒楄〃
-	delFinanceSubmit: "/dataReporting/delFinanceSubmit", //鍒犻櫎璐㈠姟涓婃姤淇℃伅
-	updateFinanceSubmit: "/dataReporting/updateFinanceSubmit", //淇敼璐㈠姟涓婃姤淇℃伅
-	addFinanceSubmit: "/dataReporting/addFinanceSubmit", //娣诲姞璐㈠姟涓婃姤淇℃伅
+  selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //鑾峰彇璐㈠姟涓婃姤鍒楄〃
+  delFinanceSubmit: "/dataReporting/delFinanceSubmit", //鍒犻櫎璐㈠姟涓婃姤淇℃伅
+  updateFinanceSubmit: "/dataReporting/updateFinanceSubmit", //淇敼璐㈠姟涓婃姤淇℃伅
+  addFinanceSubmit: "/dataReporting/addFinanceSubmit", //娣诲姞璐㈠姟涓婃姤淇℃伅
 
-	getDataList: "/dataReporting/getDataList", //鑾峰彇棣栭〉鏁版嵁
+  getDataList: "/dataReporting/getDataList", //鑾峰彇棣栭〉鏁版嵁
 
-	inputCsv: "/dataReporting/inputCsv", //瀵煎叆
+  inputCsv: "/dataReporting/inputCsv", //瀵煎叆
 }
 
 const enums = {
-	selectEnumList: "/enum/selectEnumList", //鑾峰彇鏋氫妇鍒楄〃
-	addEnum: "/enum/addEnum", //娣诲姞鏋氫妇
-	upEnum: "/enum/upEnum", //淇敼鏋氫妇
-	delEnum: "/enum/delEnum", //鍒犻櫎鏋氫妇
-	selectEnumByCategory: "/enum/selectEnumByCategory", //閫氳繃鍒嗙被鏌ヨ鏋氫妇
+  selectEnumList: "/enum/selectEnumList", //鑾峰彇鏋氫妇鍒楄〃
+  addEnum: "/enum/addEnum", //娣诲姞鏋氫妇
+  upEnum: "/enum/upEnum", //淇敼鏋氫妇
+  delEnum: "/enum/delEnum", //鍒犻櫎鏋氫妇
+  selectEnumByCategory: "/enum/selectEnumByCategory", //閫氳繃鍒嗙被鏌ヨ鏋氫妇
   getDic: "/enum/getDic", //鑾峰彇鏁版嵁瀛楀吀鐨勫垎绫�
 }
 
 const capacityScope = {
-	selectItemParameterList: "/capacityScope/selectItemParameterList", //鑾峰彇妫�楠岄」鐩弬鏁�
-	addItemParameter: "/capacityScope/addItemParameter", //鏂板妫�楠岄」鐩弬鏁�
-	delItemParameter: "/capacityScope/delItemParameter", //鍒犻櫎妫�楠岄」鐩弬鏁�
-	upItemParameter: "/capacityScope/upItemParameter", //淇敼妫�楠岄」鐩弬鏁�
-	selectTestObjectList: "/capacityScope/selectTestObjectList", //鑾峰彇妫�娴嬪璞�
-	addTestObject: "/capacityScope/addTestObject", //鏂板妫�娴嬪璞�
-	delTestObject: "/capacityScope/delTestObject", //鍒犻櫎妫�娴嬪璞�
-	upTestObject: "/capacityScope/upTestObject", //淇敼妫�娴嬪璞�
-	selectTestObjectByName: "/capacityScope/selectTestObjectByName", //鑾峰彇妫�楠屽璞℃灇涓�
+  selectItemParameterList: "/capacityScope/selectItemParameterList", //鑾峰彇妫�楠岄」鐩弬鏁�
+  addItemParameter: "/capacityScope/addItemParameter", //鏂板妫�楠岄」鐩弬鏁�
+  delItemParameter: "/capacityScope/delItemParameter", //鍒犻櫎妫�楠岄」鐩弬鏁�
+  upItemParameter: "/capacityScope/upItemParameter", //淇敼妫�楠岄」鐩弬鏁�
+  selectTestObjectList: "/capacityScope/selectTestObjectList", //鑾峰彇妫�娴嬪璞�
+  addTestObject: "/capacityScope/addTestObject", //鏂板妫�娴嬪璞�
+  delTestObject: "/capacityScope/delTestObject", //鍒犻櫎妫�娴嬪璞�
+  upTestObject: "/capacityScope/upTestObject", //淇敼妫�娴嬪璞�
+  selectTestObjectByName: "/capacityScope/selectTestObjectByName", //鑾峰彇妫�楠屽璞℃灇涓�
   getInsProduction: "/capacityScope/getInsProduction", //璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯)
   selectProductListByObjectId: "/capacityScope/selectProductListByObjectId", //缁存姢妫�楠屽璞$殑浜у搧
   addProduct: "/capacityScope/addProduct", //鏂板浜у搧
@@ -115,91 +118,94 @@
 }
 
 const laboratoryScope = {
-	selectItemParameter: "/laboratoryScope/selectItemParameter", //鏌ヨ瀹為獙瀹ょ鐞嗗垪琛�
-	addParameter: "/laboratoryScope/addParameter", //娣诲姞瀹為獙瀹ゅ弬鏁�
-	delParameter: "/laboratoryScope/delParameter", //鍒犻櫎瀹為獙瀹ゅ弬鏁�
-	upParameter: "/laboratoryScope/upParameter", //淇敼瀹為獙瀹ゅ弬鏁�
-	obtainItemParameterList: "/laboratoryScope/obtainItemParameterList", //鑾峰彇瀹為獙瀹ゅ悕绉�
+  selectItemParameter: "/laboratoryScope/selectItemParameter", //鏌ヨ瀹為獙瀹ょ鐞嗗垪琛�
+  addParameter: "/laboratoryScope/addParameter", //娣诲姞瀹為獙瀹ゅ弬鏁�
+  delParameter: "/laboratoryScope/delParameter", //鍒犻櫎瀹為獙瀹ゅ弬鏁�
+  upParameter: "/laboratoryScope/upParameter", //淇敼瀹為獙瀹ゅ弬鏁�
+  obtainItemParameterList: "/laboratoryScope/obtainItemParameterList", //鑾峰彇瀹為獙瀹ゅ悕绉�
 }
 
 const deviceScope = {
-	selectDeviceParameter: "/deviceScope/selectDeviceParameter", //鏌ヨ璁惧璇︽儏鍒楄〃
-	addDeviceParameter: "/deviceScope/addDeviceParameter", //娣诲姞璁惧璇︽儏鍙傛暟
-	delDeviceParameter: "/deviceScope/delDeviceParameter", //鍒犻櫎璁惧璇︽儏鍙傛暟
-	upDeviceParameter: "/deviceScope/upDeviceParameter", //淇敼璁惧璇︽儏鍙傛暟
+  selectDeviceParameter: "/deviceScope/selectDeviceParameter", //鏌ヨ璁惧璇︽儏鍒楄〃
+  addDeviceParameter: "/deviceScope/addDeviceParameter", //娣诲姞璁惧璇︽儏鍙傛暟
+  delDeviceParameter: "/deviceScope/delDeviceParameter", //鍒犻櫎璁惧璇︽儏鍙傛暟
+  upDeviceParameter: "/deviceScope/upDeviceParameter", //淇敼璁惧璇︽儏鍙傛暟
   selectDeviceByCategory: "/deviceScope/selectDeviceByCategory", //閫氳繃璁惧鍒嗙被鑾峰彇璁惧鍒楄〃
-	authorizedPerson: "/user/getDeviceManager", //鑾峰彇鎺堟潈浜�
-	selectEquipmentOverview: "/deviceScope/selectEquipmentOverview", //鑾峰彇璁惧鎬昏
-	uploadFile: "/deviceScope/uploadFile", //涓婁紶鍥剧墖
-	selectDevicePrincipal: "/user/getDeviceManager", //鑾峰彇璁惧璐熻矗浜�
+  authorizedPerson: "/user/getDeviceManager", //鑾峰彇鎺堟潈浜�
+  selectEquipmentOverview: "/deviceScope/selectEquipmentOverview", //鑾峰彇璁惧鎬昏
+  uploadFile: "/deviceScope/uploadFile", //涓婁紶鍥剧墖
+  selectDevicePrincipal: "/user/getDeviceManager", //鑾峰彇璁惧璐熻矗浜�
   selectDeviceByCode: "/deviceScope/selectDeviceByCode", //閫氳繃璁惧缂栧彿鑾峰彇璁惧鍒楄〃
 }
 
 const insOrder = {
-	selectInsOrderParameter: "/insOrder/selectInsOrderParameter", //鏌ヨ妫�楠屼笅鍗�
-	addInsOrder: "/insOrder/addInsOrder", //娣诲姞妫�楠屼笅鍗曟暟鎹�
-	selectOrderManDay: "/insOrder/selectOrderManDay", //鏌ヨ璁㈠崟鎬诲叡棰勮鏃堕棿
-	upInsOrder: "/insOrder/upInsOrder", //妫�楠屼笅鍙�
+  selectInsOrderParameter: "/insOrder/selectInsOrderParameter", //鏌ヨ妫�楠屼笅鍗�
+  addInsOrder: "/insOrder/addInsOrder", //娣诲姞妫�楠屼笅鍗曟暟鎹�
+  selectOrderManDay: "/insOrder/selectOrderManDay", //鏌ヨ璁㈠崟鎬诲叡棰勮鏃堕棿
+  upInsOrder: "/insOrder/upInsOrder", //妫�楠屼笅鍙�
   getInsOrder: "/insOrder/getInsOrder", //鏌ヨ妫�楠屼笅鍗曞唴瀹硅鎯�
   upInsOrderOfState: "/insOrder/upInsOrderOfState", //瀹℃牳妫�楠屽崟鏈鸿繘琛岀姸鎬佷慨鏀�
   addInsOrderTemplate: "/insOrder/addInsOrderTemplate", //娣诲姞妫�楠屽崟妯℃澘
   selectInsOrderTemplate: "/insOrder/selectInsOrderTemplate", //鏌ヨ妫�楠屽崟妯℃澘
   selectInsOrderTemplateById: "/insOrder/selectInsOrderTemplateById", //閫氳繃妫�楠屽崟妯℃澘id鑾峰彇妫�楠屽崟妯℃澘鍐呭
   delInsOrderTemplate: "/insOrder/delInsOrderTemplate", //鍒犻櫎妫�楠屽崟妯℃澘
-	selectSampleAndProductByOrderId: "/insOrder/selectSampleAndProductByOrderId", //閫氳繃妫�楠屽崟鏌ヨ妫�楠屾暟鎹紙鏁版嵁鏌ョ湅锛�
-	costStatistics: "/insOrder/costStatistics", //璐圭敤缁熻
+  selectSampleAndProductByOrderId: "/insOrder/selectSampleAndProductByOrderId", //閫氳繃妫�楠屽崟鏌ヨ妫�楠屾暟鎹紙鏁版嵁鏌ョ湅锛�
+  costStatistics: "/insOrder/costStatistics", //璐圭敤缁熻
   selectSampleDefects: "/insOrder/selectSampleDefects", //鏍峰搧缂洪櫡鎸囨爣
 }
 
 const sampleOrder = {
-	list: "/sampleOrder/list", //鑾峰彇鎸囨淳浜哄憳
+  list: "/sampleOrder/list", //鑾峰彇鎸囨淳浜哄憳
 }
 
 const insOrderPlan = {
-	selectInsOrderPlanList: "/insOrderPlan/selectInsOrderPlanList", //鏌ヨ妫�楠屼换鍔�
-  claimInsOrderPlan: "/insOrderPlan/claimInsOrderPlan",//璁ら妫�楠屼换鍔�
-	doInsOrder: "/insOrderPlan/doInsOrder",//鎵ц妫�楠屾搷浣�
-	saveInsContext: "/insOrderPlan/saveInsContext",//淇濆瓨妫�楠屽唴瀹�
-  upPlanUser: "/insOrderPlan/upPlanUser",//浠诲姟浜ゆ帴
-  verifyPlan: "/insOrderPlan/verifyPlan",//澶嶆牳妫�楠屼换鍔�
-  submitPlan: "/insOrderPlan/submitPlan",//妫�楠屼换鍔℃彁浜�
+  selectInsOrderPlanList: "/insOrderPlan/selectInsOrderPlanList", //鏌ヨ妫�楠屼换鍔�
+  claimInsOrderPlan: "/insOrderPlan/claimInsOrderPlan", //璁ら妫�楠屼换鍔�
+  doInsOrder: "/insOrderPlan/doInsOrder", //鎵ц妫�楠屾搷浣�
+  saveInsContext: "/insOrderPlan/saveInsContext", //淇濆瓨妫�楠屽唴瀹�
+  upPlanUser: "/insOrderPlan/upPlanUser", //浠诲姟浜ゆ帴
+  verifyPlan: "/insOrderPlan/verifyPlan", //澶嶆牳妫�楠屼换鍔�
+  submitPlan: "/insOrderPlan/submitPlan", //妫�楠屼换鍔℃彁浜�
 }
 
 const systemLog = {
-	selectSystemLogList: "/systemLog/selectSystemLogList", //鑾峰彇鏃ュ織
+  selectSystemLogList: "/systemLog/selectSystemLogList", //鑾峰彇鏃ュ織
 }
 
 const standardTree = {
-	selectStandardTreeList: "/standardTree/selectStandardTreeList", //鑾峰彇鏍囧噯鏍�
-	addStandardTree: "/standardTree/addStandardTree", //娣诲姞鏍囧噯鏍�
-	addStandardMethodList: "/standardTree/addStandardMethodList", //缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�
-	selectsStandardMethodByFLSSM: "/standardTree/selectsStandardMethodByFLSSM", //鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�
-	upStandardProductList: "/standardTree/upStandardProductList", //淇敼鏍囧噯搴撲腑鐨勮姹傚��
-	delStandardMethodByFLSSM: "/standardTree/delStandardMethodByFLSSM", //鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�
-	delStandardProductByIds: "/standardTree/delStandardProductByIds", //鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�
-	addStandardProduct: "/standardTree/addStandardProduct", //鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�
-	delStandardTree: "/standardTree/delStandardTree", //鍒犻櫎鏍囧噯鏍戠殑灞傜骇
-	selectStandardProductList: "/standardTree/selectStandardProductList", //閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�
-	selectStandardProductListByMethodId: "/standardTree/selectStandardProductListByMethodId", //閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�
-	selectStandardMethodEnum: "/standardTree/selectStandardMethodEnum", //鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇
+  selectStandardTreeList: "/standardTree/selectStandardTreeList", //鑾峰彇鏍囧噯鏍�
+  addStandardTree: "/standardTree/addStandardTree", //娣诲姞鏍囧噯鏍�
+  addStandardMethodList: "/standardTree/addStandardMethodList", //缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�
+  selectsStandardMethodByFLSSM: "/standardTree/selectsStandardMethodByFLSSM", //鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�
+  upStandardProductList: "/standardTree/upStandardProductList", //淇敼鏍囧噯搴撲腑鐨勮姹傚��
+  delStandardMethodByFLSSM: "/standardTree/delStandardMethodByFLSSM", //鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�
+  delStandardProductByIds: "/standardTree/delStandardProductByIds", //鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�
+  addStandardProduct: "/standardTree/addStandardProduct", //鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�
+  delStandardTree: "/standardTree/delStandardTree", //鍒犻櫎鏍囧噯鏍戠殑灞傜骇
+  selectStandardProductList: "/standardTree/selectStandardProductList", //閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�
+  selectStandardProductListByMethodId: "/standardTree/selectStandardProductListByMethodId", //閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�
+  selectStandardProductByMethodId: "/standardTree/selectStandardProductByMethodId", //鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�
+  selectStandardMethodEnum: "/standardTree/selectStandardMethodEnum", //鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇
   getStandardTree2: "/standardTree/getStandardTree2", //鑾峰彇浜у搧鏋舵瀯
   upStandardProducts: "/standardTree/upStandardProducts", //鑾峰彇浜у搧鏋舵瀯
+  selectStandardProductEnumByMethodId: "/standardTree/selectStandardProductEnumByMethodId", //鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�
 }
 
 const standardMethod = {
-	selectStandardMethodList: "/standardMethod/selectStandardMethodList", //鑾峰彇鏍囧噯鏂规硶鍒楄〃
-	selectStandardMethods: "/standardMethod/selectStandardMethods", //鑾峰彇鏍囧噯鏂规硶鏋氫妇
-	addStandardMethod: "/standardMethod/addStandardMethod", //娣诲姞鏍囧噯鏂规硶
-	upStandardMethod: "/standardMethod/upStandardMethod", //淇敼鏍囧噯鏂规硶
-	delStandardMethod: "/standardMethod/delStandardMethod", //鍒犻櫎鏍囧噯鏂规硶
+  selectStandardMethodList: "/standardMethod/selectStandardMethodList", //鑾峰彇鏍囧噯鏂规硶鍒楄〃
+  selectStandardMethods: "/standardMethod/selectStandardMethods", //鑾峰彇鏍囧噯鏂规硶鏋氫妇
+  addStandardMethod: "/standardMethod/addStandardMethod", //娣诲姞鏍囧噯鏂规硶
+  upStandardMethod: "/standardMethod/upStandardMethod", //淇敼鏍囧噯鏂规硶
+  delStandardMethod: "/standardMethod/delStandardMethod", //鍒犻櫎鏍囧噯鏂规硶
+  importStandardDetails: "/standardMethod/importStandardDetails", // 瀵煎叆鏍囧噯鏄庣粏
 }
 
 const StandardTemplate = {
-	selectStandardTemplatePageList: "/StandardTemplate/selectStandardTemplatePageList", //鑾峰彇妫�楠屾ā鏉垮垪琛�
-	addStandardTemplate: "/StandardTemplate/addStandardTemplate", //娣诲姞妫�楠屾ā鏉�
-	upStandardTemplate: "/StandardTemplate/upStandardTemplate", //淇敼妫�楠屾ā鏉�
-	delStandardTemplate: "/StandardTemplate/delStandardTemplate", //鍒犻櫎妫�楠屾ā鏉�
-	getStandardTemplate: "/StandardTemplate/getStandardTemplate", //鏌ヨ鍘熷璁板綍妯℃澘鏋氫妇
+  selectStandardTemplatePageList: "/StandardTemplate/selectStandardTemplatePageList", //鑾峰彇妫�楠屾ā鏉垮垪琛�
+  addStandardTemplate: "/StandardTemplate/addStandardTemplate", //娣诲姞妫�楠屾ā鏉�
+  upStandardTemplate: "/StandardTemplate/upStandardTemplate", //淇敼妫�楠屾ā鏉�
+  delStandardTemplate: "/StandardTemplate/delStandardTemplate", //鍒犻櫎妫�楠屾ā鏉�
+  getStandardTemplate: "/StandardTemplate/getStandardTemplate", //鏌ヨ鍘熷璁板綍妯℃澘鏋氫妇
 }
 
 const insReport = {
@@ -231,7 +237,9 @@
   selectDepartment: "/department/selectDepartment", //浜哄憳鏋舵瀯鏍�
   addDepartment: "/department/addDepartment", //娣诲姞閮ㄩ棬
   delDepartment: "/department/delDepartment", //鍒犻櫎閮ㄩ棬
-  showUserById: "/department/showUserById", //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�
+  selectDepartmentLim: "/department/selectDepartmentLim", //鑾峰彇閮ㄩ棬鏍�
+  addDepartmentLims: "/department/addDepartmentLims", //娣诲姞閮ㄩ棬
+  delDepartmentLims: "/department/delDepartmentLims", //鍒犻櫎閮ㄩ棬
 }
 
 const report = {
@@ -242,42 +250,42 @@
   testProductByDay: "/report/testProductByDay", //棣栨娴嬮」鐩粺璁�
 }
 const certification = {
-  getCertificationDetail:"/certification/getCertificationDetail",//鏌ヨ璧勮川鏄庣粏鍒楄〃
-  addCertificationDetail:"/certification/addCertificationDetail",//娣诲姞璧勮川鏄庣粏鍒楄〃
-  delCertificationDetail:"certification/delCertificationDetail",//鍒犻櫎璧勮川鏄庣粏鍒楄〃
+  getCertificationDetail: "/certification/getCertificationDetail", //鏌ヨ璧勮川鏄庣粏鍒楄〃
+  addCertificationDetail: "/certification/addCertificationDetail", //娣诲姞璧勮川鏄庣粏鍒楄〃
+  delCertificationDetail: "certification/delCertificationDetail", //鍒犻櫎璧勮川鏄庣粏鍒楄〃
 }
 
 const sealScope = {
-  selectSeal:"/sealScope/selectSeal",//鏌ヨ鍗扮珷鍒楄〃
-  addSeal:"/sealScope/addSeal",//娣诲姞鍗扮珷鍙傛暟
+  selectSeal: "/sealScope/selectSeal", //鏌ヨ鍗扮珷鍒楄〃
+  addSeal: "/sealScope/addSeal", //娣诲姞鍗扮珷鍙傛暟
 }
 
 const informationNotification = {
-  checkForUnreadData:"/informationNotification/checkForUnreadData",//鏌ヨ鏄惁瀛樺湪鏈鏁版嵁
-  deleteDataBasedOnId:"/informationNotification/deleteDataBasedOnId",//鏍规嵁Id鍒犻櫎鏁版嵁
-  informationReadOrDelete:"/informationNotification/informationReadOrDelete",//鏍囪鎵�鏈変俊鎭负宸茶-鍒犻櫎鎵�鏈夊凡璇绘秷鎭�
-  page:"/informationNotification/page",//婊氬姩鍒嗛〉鏌ヨ
-  updateMessageStatus:"/informationNotification/updateMessageStatus",//鏇存柊娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級
-  triggerModificationStatusToRead:"/informationNotification/triggerModificationStatusToRead",//鐐瑰嚮璇︽儏瑙﹀彂淇敼鐘舵�佷负宸茶
+  checkForUnreadData: "/informationNotification/checkForUnreadData", //鏌ヨ鏄惁瀛樺湪鏈鏁版嵁
+  deleteDataBasedOnId: "/informationNotification/deleteDataBasedOnId", //鏍规嵁Id鍒犻櫎鏁版嵁
+  informationReadOrDelete: "/informationNotification/informationReadOrDelete", //鏍囪鎵�鏈変俊鎭负宸茶-鍒犻櫎鎵�鏈夊凡璇绘秷鎭�
+  page: "/informationNotification/page", //婊氬姩鍒嗛〉鏌ヨ
+  updateMessageStatus: "/informationNotification/updateMessageStatus", //鏇存柊娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級
+  triggerModificationStatusToRead: "/informationNotification/triggerModificationStatusToRead", //鐐瑰嚮璇︽儏瑙﹀彂淇敼鐘舵�佷负宸茶
 }
 
 const performanceShift = {
-  add:"/performanceShift/add",//缁╂晥绠$悊-鐝-鎺掔彮
-  page:"/performanceShift/page",//缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ
-  update:"/performanceShift/update",//缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�
-  pageYear:"/performanceShift/pageYear",//缁╂晥绠$悊-鐝-骞翠唤鍒嗛〉鏌ヨ
-  export:"/performanceShift/export",//缁╂晥绠$悊-鐝-瀵煎嚭
+  add: "/performanceShift/add", //缁╂晥绠$悊-鐝-鎺掔彮
+  page: "/performanceShift/page", //缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ
+  update: "/performanceShift/update", //缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�
+  pageYear: "/performanceShift/pageYear", //缁╂晥绠$悊-鐝-骞翠唤鍒嗛〉鏌ヨ
+  export: "/performanceShift/export", //缁╂晥绠$悊-鐝-瀵煎嚭
 }
 
 const auxiliaryWorkingHours = {
-  selectAuxiliaryWorkingHours:"/auxiliaryWorkingHours/selectAuxiliaryWorkingHours",//鏌ヨ杈呭姪宸ユ椂
-  deleteAuxiliaryWorkingHours:"/auxiliaryWorkingHours/deleteAuxiliaryWorkingHours",//鍒犻櫎杈呭姪宸ユ椂
-  upAuxiliaryWorkingHours:"/auxiliaryWorkingHours/upAuxiliaryWorkingHours",//淇敼杈呭姪宸ユ椂
-  insertAuxiliaryWorkingHours:"/auxiliaryWorkingHours/insertAuxiliaryWorkingHours",//鏂板杈呭姪宸ユ椂
+  selectAuxiliaryWorkingHours: "/auxiliaryWorkingHours/selectAuxiliaryWorkingHours", //鏌ヨ杈呭姪宸ユ椂
+  deleteAuxiliaryWorkingHours: "/auxiliaryWorkingHours/deleteAuxiliaryWorkingHours", //鍒犻櫎杈呭姪宸ユ椂
+  upAuxiliaryWorkingHours: "/auxiliaryWorkingHours/upAuxiliaryWorkingHours", //淇敼杈呭姪宸ユ椂
+  insertAuxiliaryWorkingHours: "/auxiliaryWorkingHours/insertAuxiliaryWorkingHours", //鏂板杈呭姪宸ユ椂
 }
 
 const unPass = {
-	pageInsUnPass:"/unPass/pageInsUnPass", // 鏌ヨ涓嶅悎鏍兼牱鍝佹暟鎹�
+  pageInsUnPass: "/unPass/pageInsUnPass", // 鏌ヨ涓嶅悎鏍兼牱鍝佹暟鎹�
 }
 
 const companies = {
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 6cd0389..279d71a 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -272,7 +272,7 @@
         <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%;" disabled>
+              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>
@@ -348,7 +348,7 @@
         <el-table-column prop="section" label="鍖洪棿" 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"
+            <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea" readonly
               :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" :readonly="active>1"></el-input>
           </template>
         </el-table-column>
@@ -876,8 +876,8 @@
       },
       activeStandardTree() {
         let trees = this.selectTree.split(" - ")
-        if (trees.length < 5) {
-          this.$message.error('鏈�夋嫨鍨嬪彿')
+        if (trees.length < 4) {
+          this.$message.error('鏈�夋嫨浜у搧')
           return
         }
         this.addObj.factory = trees[0]
@@ -1144,7 +1144,7 @@
         if(val===null||val==='')return
         this.getProductLoad = true
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
-          model: this.addObj.model + '-' + row.modelNum,
+          model: row.model + '-' + row.modelNum,
           standardMethodListId: val
         }, {
           headers: {
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index ca447d2..49302c5 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -241,9 +241,10 @@
                     <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="saveInsContext()" />
+                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
                     <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()">
+                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)"
+                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
                       <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;`"
@@ -272,14 +273,14 @@
                     <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">
-                    <el-input class="table_input" type="textarea"
+                    <!-- <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 v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
+                    </el-select> -->
+                    <span :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                   </template>
                   <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                 </div>
@@ -319,7 +320,7 @@
     </el-drawer>
     <el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" :size="500">
       <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList"
-        :componentData="componentData" :key="upIndex" style="max-height: 100%;height: inherit;"/>
+        :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">
@@ -843,15 +844,19 @@
                 if (b[0].r == a.r) {
                   b.forEach(c => {
                     if (c.c == a.c) {
-                      if (!isNaN(parseFloat(c.v.v))) {
-                        var tableCode = ''
-                        for (var d in this.comparisonList) {
-                          if (c.c == this.comparisonList[d].value) {
-                            tableCode = this.comparisonList[d].label
-                            break
-                          }
+                      var tableCode = ''
+                      for (var d in this.comparisonList) {
+                        if (c.c == this.comparisonList[d].value) {
+                          tableCode = this.comparisonList[d].label
+                          break
                         }
-                        comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+                      }
+                      if(this.getInspectionValueType(item.i)==1){
+                        if (!isNaN(parseFloat(c.v.v))) {
+                          comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+                        }
+                      }else{
+                        comValue[(tableCode + (c.r + 1))] = c.v.v
                       }
                     }
                   })
@@ -865,24 +870,22 @@
                 let comp = ask.map((m, i) => {
                   if (m.includes('=')) {
                     return res == m.split('=')[1]
-                  }
-                  if (m.includes('鈮�')) {
+                  } else if (m.includes('鈮�')) {
                     return res >= m.split('鈮�')[1]
-                  }
-                  if (m.includes('鈮�')) {
+                  }else if (m.includes('鈮�')) {
                     return res <= m.split('鈮�')[1]
-                  }
-                  if (m.includes('<')) {
+                  }else if (m.includes('<')) {
                     return res < m.split('<')[1]
-                  }
-                  if (m.includes('>')) {
+                  }else if (m.includes('>')) {
                     return res > m.split('>')[1]
                   }
                 })
-                if (comp.every(m => m)) {
-                  item.v.v = 1
-                } else {
-                  item.v.v = 0
+                if(this.getInspectionValueType(item.i)==1){
+                  if (comp.every(m => m)) {
+                    item.v.v = 1
+                  } else {
+                    item.v.v = 0
+                  }
                 }
                 this.saveInsContext()
               }
@@ -922,14 +925,18 @@
                   valueList.forEach(b => {
                     str = str.replace(b.name, b.value)
                   })
-                  if (item.v.f.includes('/') > -1) {
+                  if (item.v.f.includes('/')) {
                     if (Object.getOwnPropertyNames(comValue).length == valueList.length) {
                       comResult = eval(str)
                     } else {
                       comResult = ''
                     }
                   } else {
-                    comResult = eval(str)
+                    if(this.getInspectionValueType(item.i)==1){
+                      comResult = eval(str)
+                    }else{
+                      comResult = str
+                    }
                   }
                   break;
               }
@@ -937,8 +944,12 @@
                 if (a[0].r == item.r && comResult != '') {
                   for (var b in a) {
                     if (a[b].c == item.c) {
-                      let val = parseFloat(comResult.toFixed(3))
-                      a[b].v.v = isNaN(val) ? '' : val
+                      try{
+                        let val = parseFloat(comResult.toFixed(3))
+                        a[b].v.v = isNaN(val) ? '' : val
+                      }catch(e){
+                        a[b].v.v = comResult
+                      }
                       break
                     }
                   }
diff --git a/src/components/tool/onlyoffice.vue b/src/components/tool/onlyoffice.vue
index f9865c6..4002dac 100644
--- a/src/components/tool/onlyoffice.vue
+++ b/src/components/tool/onlyoffice.vue
@@ -57,7 +57,6 @@
   },
   methods: {
     async setEditor(option) {
-      console.log(`output->option`,option)
       if (this.docEditor !== null) {
         this.docEditor.destroyEditor();
         this.docEditor = null;
diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue
index da52460..57471ca 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -309,7 +309,7 @@
     <el-dialog title="鏁版嵁瀵煎叆" :visible.sync="uploadDia" width="500px">
       <div style="margin: 0 auto;">
         <el-upload ref="upload" drag :action="javaApi + inputUrl" :headers="token" :file-list="fileList" name="file"
-          :auto-upload="false" accept=".csv" :limit="1" :on-change="beforeUpload" :on-success="onSuccess"
+          :auto-upload="false" :accept="data.accept===undefined?'.csv':data.accept" :limit="1" :on-change="beforeUpload" :on-success="onSuccess"
           :on-error="onError" :data="{param: data.uploadStr}">
           <i class="el-icon-upload"></i>
           <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
@@ -564,14 +564,17 @@
       },
       sizeChange(val) {
         this.page.size = val
-        this.selectList()
+        this.selectList('page')
       },
       currentChange(val) {
         this.page.current = val
-        this.selectList()
+        this.selectList('page')
       },
-      selectList() {
+      selectList(val) {
         this.loading = true
+        if(val===undefined){
+          this.page.current = 1;
+        }
         if (this.data.isPage != undefined && this.data.isPage != true) {
           this.page = {
             current: -1,
@@ -961,7 +964,8 @@
         this.uploadDia = true
       },
       beforeUpload(file, fileList) {
-        if (file.raw.type != 'text/csv') {
+        console.log(file.raw.type);
+        if (file.raw.type != (this.data.inputType===undefined?'text/csv':this.data.inputType)) {
           this.$message.error('涓婁紶鏂囦欢鏍煎紡涓嶆纭�');
           this.$refs.upload.clearFiles()
           return false;
diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index 7fc51d6..24d2283 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -687,7 +687,7 @@
           this.$message.error('鏈緭鍏ュ惎鐢ㄦ棩鏈�')
           return
         }
-        if(!this.formData.deviceStatus){
+        if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){
           this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
           return
         }
diff --git a/src/components/view/a6-personnel-detail.vue b/src/components/view/a6-personnel-detail.vue
index 3778dec..109eedf 100644
--- a/src/components/view/a6-personnel-detail.vue
+++ b/src/components/view/a6-personnel-detail.vue
@@ -1,404 +1,443 @@
 <style scoped>
-	.standard {
-		padding: 20px 0;
-		display: flex;
-	}
+  .standard {
+    padding: 20px 0;
+    display: flex;
+  }
 
-	.left {
-		width: 270px;
-		height: calc(100% - 40px - 25px);
-		background-color: white;
-		padding: 15px;
-	}
-  .el-tree{
+  .left {
+    width: 270px;
+    height: calc(100% - 40px - 25px);
+    background-color: white;
+    padding: 15px;
+  }
+
+  .el-tree {
     height: calc(100% - 37px);
     overflow-y: auto;
   }
 
-	.custom-tree-node {
-		width: 100%;
-		line-height: 32px;
-	}
+  .custom-tree-node {
+    width: 100%;
+    line-height: 32px;
+  }
 
-	.custom-tree-node .el-icon-delete {
-		color: #3A7BFA;
-		opacity: 0;
-		font-size: 18px;
-	}
+  .custom-tree-node .el-icon-delete {
+    color: #3A7BFA;
+    opacity: 0;
+    font-size: 18px;
+  }
 
-	.custom-tree-node:hover .el-icon-delete {
-		opacity: 1;
-	}
+  .custom-tree-node:hover .el-icon-delete {
+    opacity: 1;
+  }
 
-	.node_i {
-		color: orange;
-		font-size: 18px;
-	}
+  .node_i {
+    color: orange;
+    font-size: 18px;
+  }
 
-	.right {
-		margin-left: 5px;
-		width: calc(100% - 305px);
-		height: calc(100% - 40px);
-	}
+  .right {
+    margin-left: 5px;
+    width: calc(100% - 305px);
+    height: calc(100% - 40px);
+  }
 
-	.right .title {
-		height: 50px;
-		line-height: 50px;
-		padding: 0 10px;
-		background-color: white;
-	}
+  .right .title {
+    height: 50px;
+    line-height: 50px;
+    padding: 0 10px;
+    background-color: white;
+  }
 
-	.standard_table {
-		border-top: 1px solid #ebeef5;
-		height: calc(100% - 50px);
-		margin-top: 5px;
-		background-color: white;
-		user-select: none;
+  .standard_table {
+    border-top: 1px solid #ebeef5;
+    height: calc(100% - 50px);
+    margin-top: 5px;
+    background-color: white;
+    user-select: none;
     overflow-y: auto;
-	}
-  .sort{
+  }
+
+  .sort {
     width: 80% !important;
     overflow: hidden;
   }
 
   .search {
-		background-color: #fff;
-		height: 100%;
-		display: flex;
-		align-items: center;
+    background-color: #fff;
+    height: 100%;
+    display: flex;
+    align-items: center;
     justify-content: end;
-	}
+  }
 
-	.search_thing {
-		width: 350px;
-		display: flex;
-		align-items: center;
-	}
+  .search_thing {
+    width: 350px;
+    display: flex;
+    align-items: center;
+  }
 
-	.search_label {
-		width: 110px;
-		font-size: 14px;
-		text-align: right;
-	}
+  .search_label {
+    width: 110px;
+    font-size: 14px;
+    text-align: right;
+  }
 
-	.search_input {
-		width: calc(100% - 110px);
-	}
+  .search_input {
+    width: calc(100% - 110px);
+  }
 </style>
 <style>
-	.standard .el-tree-node__content {
-		height: 32px;
-		font-size: 14px;
-		border-radius: 2px;
-	}
+  .standard .el-tree-node__content {
+    height: 32px;
+    font-size: 14px;
+    border-radius: 2px;
+  }
 
-	.standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-		color: #3A7BFA;
-	}
+  .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+    color: #3A7BFA;
+  }
 </style>
 
 <template>
-	<div class="standard">
-		<div class="left">
-			<el-row>
-				<el-col :span="20">
-					<el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
-						style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"></el-input>
-				</el-col>
-				<el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower">
-					<el-button type="primary" icon="el-icon-plus" size="mini" circle @click="handleAdd"></el-button>
-				</el-col>
-			</el-row>
-			<el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id"
-				:filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
-				@node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false"
-				:default-expanded-keys="expandedKeys"
-        :default-checked-keys="[1]">
-				<div class="custom-tree-node" slot-scope="{ node, data }">
-					<el-row style="width: 100%;">
-						<el-col :span="21" :class="{sort:node.level>3}">
-							<span><i
-									:class="`node_i ${data.children != undefined&&data.children.length>0 ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
-								 {{ data.name }}</span>
-						</el-col>
-						<el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level>1">
-							<el-button type="text" size="mini" @click.stop="remove(node, data)">
-								<i class="el-icon-delete"></i>
-							</el-button>
-						</el-col>
-					</el-row>
-				</div>
-			</el-tree>
-		</div>
-		<div class="right">
-			<el-row class="title">
-				<el-col :span="14" style="font-size: 14px;color: #999;">{{selectTree}}</el-col>
-				<el-col :span="selectTree==''?24:10" style="text-align: right;" v-if="selectTree!=''">
+  <div class="standard">
+    <div class="left">
+      <el-row>
+        <el-col :span="20">
+          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
+            style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"></el-input>
+        </el-col>
+        <el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower">
+          <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="handleAdd"></el-button>
+        </el-col>
+      </el-row>
+      <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'name' }" node-key="id"
+        :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
+        @node-collapse="nodeClose" v-loading="treeLoad" :expand-on-click-node="false"
+        :default-expanded-keys="expandedKeys" :default-checked-keys="defaultCheckedKeys">
+        <div class="custom-tree-node" slot-scope="{ node, data }">
+          <el-row style="width: 100%;">
+            <el-col :span="21" :class="{sort:node.level>3}">
+              <span><i
+                  :class="`node_i ${data.children != undefined&&data.children.length>0 ? 'el-icon-folder-opened' : 'el-icon-tickets'}`"></i>
+                {{ data.name }}</span>
+            </el-col>
+            <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&node.level>1">
+              <el-button type="text" size="mini" @click.stop="remove(node, data)">
+                <i class="el-icon-delete"></i>
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
+      </el-tree>
+    </div>
+    <div class="right">
+      <el-row class="title">
+        <el-col :span="14" style="font-size: 14px;color: #999;">{{selectTree}}</el-col>
+        <el-col :span="selectTree==''?24:10" style="text-align: right;" v-if="selectTree!=''">
           <div class="search">
             <div class="search_thing">
               <div class="search_label">浜哄憳鍚嶇О锛�</div>
-              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.name"></el-input></div>
-            </div>
-            <div class="search_thing" style="padding-left: 30px;width: 120px;">
-              <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-                <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+              <div class="search_input">
+                <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.name"
+                  @keyup.enter.native="refreshTable()" @clear="refreshTable"></el-input>
+              </div>
+              <div class="search_label" v-if="upUserDepardLimsIdPower">
+                <el-button type="primary" size="small" @click="selectUserDia = true">娣诲姞</el-button>
+              </div>
             </div>
           </div>
-				</el-col>
-			</el-row>
-			<el-row class="standard_table" v-loading="tableLoad">
-				<ValueTable ref="ValueTable" :url="$api.department.showUserById" :componentData="componentData" />
-			</el-row>
-		</div>
-		<el-dialog title="鏋舵瀯鏂板" :visible.sync="addDia" width="400px">
-			<div class="body">
-				<el-row style="line-height: 50px;">
-					<el-col :span="6" style="text-align: right;">
-						<span class="required-span">* </span>鏋舵瀯鍚嶇О锛�
-					</el-col>
-					<el-col :span="16" :offset="1">
-						<el-input v-model="addOb.name" placeholder="璇疯緭鍏ユ灦鏋勫悕绉�" clearable size="small"></el-input>
-					</el-col>
-				</el-row>
-			</div>
-			<span slot="footer" class="dialog-footer">
-				<el-button @click="addDia = false">鍙� 娑�</el-button>
-				<el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
-			</span>
-		</el-dialog>
-	</div>
+        </el-col>
+      </el-row>
+      <el-row class="standard_table" v-loading="tableLoad">
+        <ValueTable ref="ValueTable" :url="$api.user.selectUserList" :componentData="componentData" :delUrl="$api.user.delUserDepardLimsId"/>
+      </el-row>
+    </div>
+    <el-dialog title="鏋舵瀯鏂板" :visible.sync="addDia" width="400px">
+      <div class="body">
+        <el-row style="line-height: 50px;">
+          <el-col :span="6" style="text-align: right;">
+            <span class="required-span">* </span>鏋舵瀯鍚嶇О锛�
+          </el-col>
+          <el-col :span="16" :offset="1">
+            <el-input v-model="addOb.name" placeholder="璇疯緭鍏ユ灦鏋勫悕绉�" clearable size="small"></el-input>
+          </el-col>
+        </el-row>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addDia = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="閫夋嫨鐢ㄦ埛" :visible.sync="selectUserDia" width="70%">
+    	<div class="body" style="height: 60vh;" v-if="selectUserDia">
+    		<ValueTable ref="ValueTable2" :url="$api.user.selectUserList" :componentData="componentData2"/>
+    	</div>
+    	<span slot="footer" class="dialog-footer">
+    		<el-button @click="selectUserDia = false">鍙� 娑�</el-button>
+    		<el-button type="primary" @click="selectUser">纭� 瀹�</el-button>
+    	</span>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
-	import ValueTable from '../tool/value-table.vue'
-	export default {
-		components: {
-			ValueTable
-		},
-		data() {
-			return {
-        datathirdParty:[{
-          id: 1,
-          label: '涓�绾� 1',
-          children: [{
-            id: 4,
-            label: '浜岀骇 1-1',
-            children: [{
-              id: 9,
-              label: '涓夌骇 1-1-1'
-            }, {
-              id: 10,
-              label: '涓夌骇 1-1-2'
-            }]
-          }]
-        }, {
-          id: 2,
-          label: '涓�绾� 2',
-          children: [{
-            id: 5,
-            label: '浜岀骇 2-1'
-          }, {
-            id: 6,
-            label: '浜岀骇 2-2'
-          }]
-        }, {
-          id: 3,
-          label: '涓�绾� 3',
-          children: [{
-            id: 7,
-            label: '浜岀骇 3-1'
-          }, {
-            id: 8,
-            label: '浜岀骇 3-2'
-          }]
-        }],
+  import ValueTable from '../tool/value-table.vue'
+  export default {
+    components: {
+      ValueTable
+    },
+    data() {
+      return {
+        datathirdParty: [],
         defaultProps: {
           children: 'children',
           label: 'label'
         },
-        addthirdParty:false,
-				search: null,
-				list: [],
-				selectTree: '',
-				addDia: false,
-				addOb: {
-					name:'',
-          fatherId:''
-				},
-				addLoad: false,
-				treeLoad: false,
-				addPower: false,
-				tableLoad: false,
-				delStandardProduct: false,
-				addStandardProduct: false,
-				componentData: {
-					entity: {
-            name:'',
-            departId:'',
-						orderBy: {
-							field: 'id',
-							order: 'asc'
-						}
-					},
-          init:false,
-					isIndex: true,
-					showSelect: false,
-					select: false,
-					do: [],
-          isPage: false,
-					tagField: {
-					},
-					selectField: {},
-				},
-				expandedKeys: []
-			}
-		},
-		mounted() {
-			this.getPower()
-			this.selectTreeList()
-		},
-		methods: {
-
-			filterNode(value, data) {
-				if (!value) return true;
-				return data.name.indexOf(value) !== -1;
-			},
-			searchFilter() {
-				this.$refs.tree.filter(this.search)
-			},
+        addthirdParty: false,
+        search: null,
+        list: [],
+        selectTree: '',
+        addDia: false,
+        addOb: {
+          name: '',
+          fatherId: ''
+        },
+        addLoad: false,
+        treeLoad: false,
+        addPower: false,
+        tableLoad: false,
+        addStandardProduct: false,
+        componentData: {
+          entity: {
+            name: '',
+            departLimsId: '',
+            orderBy: {
+              field: 'id',
+              order: 'asc'
+            }
+          },
+          init: false,
+          isIndex: true,
+          showSelect: false,
+          select: false,
+          do: [{
+						id: 'delete',
+						font: '鍒犻櫎',
+						type: 'text',
+						method: 'doDiy'
+					}],
+          tagField: {
+            state: {
+              select: [{
+                value: 1,
+                type: 'success',
+                label: '鍚敤'
+              }, {
+                value: 0,
+                type: 'danger',
+                label: '鍋滅敤'
+              }]
+            }
+          },
+          selectField: {},
+        },
+        expandedKeys: [],
+        selectUserDia: false,
+        componentData2: {
+        	entity: {
+        		orderBy: {
+        			field: 'id',
+        			order: 'asc'
+        		}
+        	},
+        	isIndex: true,
+        	showSelect: true,
+        	select: true,
+        	do: [],
+        	tagField: {
+        		state: {
+        			select: [{
+        				value: 1,
+        				type: 'success',
+        				label: '鍚敤'
+        			}, {
+        				value: 0,
+        				type: 'danger',
+        				label: '鍋滅敤'
+        			}]
+        		}
+        	},
+        	selectField: {},
+          upUserDepardLimsIdPower: true
+        },
+        defaultCheckedKeys:[]
+      }
+    },
+    mounted() {
+      this.getPower()
+      this.selectTreeList()
+    },
+    methods: {
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.name.indexOf(value) !== -1;
+      },
+      searchFilter() {
+        this.$refs.tree.filter(this.search)
+      },
       refreshTable() {
         this.$refs.ValueTable.selectList()
-			},
-			refresh() {
-				this.upIndex++;
+      },
+      refresh() {
+        this.upIndex++;
         this.componentData.entity.departId = this.list[0].id;
         this.refreshTable()
-			},
-			handleNodeClick(val, node, el) { //鏍戠殑鍊�
-				this.selectTree = ''
-				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(' - ', '')
+      },
+      handleNodeClick(val, node, el) { //鏍戠殑鍊�
+        this.selectTree = ''
+        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(' - ', '')
         this.addOb.fatherId = val.id;
-        this.componentData.entity.departId = val.id;
+        this.componentData.entity.departLimsId = val.id;
         this.refreshTable()
-			},
-			getNodeParent(val) {
-				if (val.parent != null) {
-					this.selectTree += ' - ' + val.label
-					this.getNodeParent(val.parent)
-				}
-			},
-			remove(node, data) {
-				this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
-					type: "error"
-				}).then(() => {
-					this.treeLoad = true
-					this.$axios.post(this.$api.department.delDepartment, {
-						id: data.id
-					}).then(res => {
-						if (res.code == 201) return
-						this.$message.success('宸插垹闄�')
-						this.selectTreeList()
-					})
-				}).catch(e => {})
-			},
-			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')
-			},
-			selectTreeList() {
-				this.treeLoad = true
-				this.$axios.get(this.$api.department.selectDepartment).then(res => {
-					this.list = res.data
-					this.list.forEach(a => {
-						a.children.forEach(b => {
-							b.children.forEach(c => {
-								this.expandedKeys.push(c.id)
-							})
-						})
-					})
-					this.treeLoad = false
-          this.componentData.entity.departId = this.list[0].id;
-          this.selectTree = '鍏ㄩ儴'
+      },
+      getNodeParent(val) {
+        if (val.parent != null) {
+          this.selectTree += ' - ' + val.label
+          this.getNodeParent(val.parent)
+        }
+      },
+      remove(node, data) {
+        this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
+          type: "error"
+        }).then(() => {
+          this.treeLoad = true
+          this.$axios.post(this.$api.department.delDepartmentLims, {
+            id: data.id
+          }).then(res => {
+            if (res.code == 201) return
+            this.$message.success('宸插垹闄�')
+            this.selectTreeList()
+          })
+        }).catch(e => {})
+      },
+      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')
+      },
+      selectTreeList() {
+        this.treeLoad = true
+        this.$axios.get(this.$api.department.selectDepartmentLim).then(res => {
+          this.list = res.data
+          this.refresh()
+          this.list.forEach(a => {
+            a.children.forEach(b => {
+              this.expandedKeys.push(b.id)
+            })
+          })
+          this.treeLoad = false
+          this.defaultCheckedKeys = [this.list[0].id]
+          this.componentData.entity.departLimsId = this.list[0].id;
+          this.selectTree = this.list[0].name
           this.refreshTable()
-				})
-			},
-			addStandardTree() {
-				if (this.addOb.name == null || this.addOb.factory == '') {
-					this.$message.error('鏋勬灦鍚嶇О鏄繀濉」')
-					return
-				}
-				this.addLoad = true
-				this.$axios.post(this.$api.department.addDepartment, this.addOb, {
-					headers: {
-						'Content-Type': 'application/json'
-					}
-				}).then(res => {
-					if (res.code === 201) {
-						this.addLoad = false
-						return
-					}
-					this.$message.success('娣诲姞鎴愬姛')
-					this.addDia = false
-					this.selectTreeList()
-					this.addLoad = false
+        })
+      },
+      addStandardTree() {
+        if (this.addOb.name == null || this.addOb.factory == '') {
+          this.$message.error('鏋勬灦鍚嶇О鏄繀濉」')
+          return
+        }
+        this.addLoad = true
+        this.$axios.post(this.$api.department.addDepartmentLims, this.addOb, {
+          headers: {
+            'Content-Type': 'application/json'
+          }
+        }).then(res => {
+          if (res.code === 201) {
+            this.addLoad = false
+            return
+          }
+          this.$message.success('娣诲姞鎴愬姛')
+          this.addDia = false
+          this.selectTreeList()
+          this.addLoad = false
           this.addOb.name = ''
           this.addOb.fatherId = ''
-				}).catch(e => {
-					this.addDia = false
-					this.addLoad = false
-				})
-			},
-      handleAdd(){
-        if(this.addOb.fatherId){
+        }).catch(e => {
+          this.addDia = false
+          this.addLoad = false
+        })
+      },
+      handleAdd() {
+        if (this.addOb.fatherId) {
           this.addDia = true;
-        }else{
+        } else {
           this.$message.error('璇烽�夋嫨涓�涓灦鏋勫眰绾�')
         }
       },
-			getPower() {
-				let power = JSON.parse(sessionStorage.getItem('power'))
-				let add = false
-				let upStandardProduct = false
-				let delStandardMethod = false
-				let delStandardProduct = false
-				let addStandardProduct = false
-				let delStandardTree = false
-				for (var i = 0; i < power.length; i++) {
-					if (power[i].menuMethod == 'addStandardTree') {
-						add = true
-					}
-					if (power[i].menuMethod == 'upStandardProductList') {
-						upStandardProduct = true
-					}
-					if (power[i].menuMethod == 'delStandardMethodByFLSSM') {
-						delStandardMethod = true
-					}
-					if (power[i].menuMethod == 'delStandardProductByIds') {
-						delStandardProduct = true
-					}
-					if (power[i].menuMethod == 'addStandardProduct') {
-						addStandardProduct = true
-					}
-					if (power[i].menuMethod == 'delStandardTree') {
-						delStandardTree = true
-					}
-				}
-				this.addPower = add
-				this.upStandardProduct = upStandardProduct
-				this.delStandardMethod = delStandardMethod
-				this.delStandardProduct = delStandardProduct
-				this.addStandardProduct = addStandardProduct
-				this.delStandardTree = delStandardTree
-			},
-		}
-	}
+      getPower() {
+        let power = JSON.parse(sessionStorage.getItem('power'))
+        let add = false
+        let addStandardProduct = false
+        let delStandardTree = false
+        let upUserDepardLimsId = false
+        let del = false
+        for (var i = 0; i < power.length; i++) {
+          if (power[i].menuMethod == 'addDepartmentLims') {
+            add = true
+          }
+          if (power[i].menuMethod == 'addStandardProduct') {
+            addStandardProduct = true
+          }
+          if (power[i].menuMethod == 'delDepartmentLims') {
+            delStandardTree = true
+          }
+          if (power[i].menuMethod == 'upUserDepardLimsId') {
+            upUserDepardLimsId = true
+          }
+          if(power[i].menuMethod=='delUserDepardLimsId'){
+          	del = true
+          }
+        }
+        if(!del){
+        	this.componentData.do.splice(0, 1)
+        }
+        this.addPower = add
+        this.addStandardProduct = addStandardProduct
+        this.delStandardTree = delStandardTree
+        this.upUserDepardLimsIdPower = upUserDepardLimsId
+      },
+      selectUser() {
+      	let selects = this.$refs.ValueTable2.multipleSelection
+      	if (selects.length == 0) {
+      		this.$message.error('鏈�夋嫨鏁版嵁')
+      		return
+      	}
+        var ids = []
+        selects.forEach(a=>{
+          ids.push(a.id)
+        })
+      	this.selectUserDia = false
+        this.$axios.post(this.$api.user.upUserDepardLimsId,{
+          ids: JSON.stringify(ids),
+          id: this.componentData.entity.departLimsId
+        }).then(res=>{
+          if (res.code === 201) {
+            return
+          }
+          this.$message.success('娣诲姞鎴愬姛')
+          this.refreshTable()
+        })
+      }
+    }
+  }
 </script>
diff --git a/src/components/view/a6-personnel-overview.vue b/src/components/view/a6-personnel-overview.vue
index 48f969c..9b7c972 100644
--- a/src/components/view/a6-personnel-overview.vue
+++ b/src/components/view/a6-personnel-overview.vue
@@ -166,7 +166,7 @@
         if(this.currentPage==1){
           this.loading = true
         }
-        this.$axios.post(this.$api.user.selectUserList,{
+        this.$axios.post(this.$api.user.selectPersonnelOverview,{
 					page: {
             current: this.currentPage,
             size: this.pageSize
diff --git a/src/components/view/a7-standard-method.vue b/src/components/view/a7-standard-method.vue
index e291006..83bfa02 100644
--- a/src/components/view/a7-standard-method.vue
+++ b/src/components/view/a7-standard-method.vue
@@ -42,6 +42,9 @@
       <el-row class="title">
         <el-col :span="12" style="padding-left: 20px;">鏍囧噯鏂规硶</el-col>
         <el-col :span="12" style="text-align: right;">
+          <el-button size="medium" @click="$refs.ValueTable.openUpload()" v-if="inPower">
+                        <i class="el-icon-upload2" style="color: #3A7BFA;"></i>
+                        <span style="color: #3A7BFA;">瀵煎叆</span></el-button>
           <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button>
         </el-col>
       </el-row>
@@ -65,7 +68,7 @@
     <div class="table">
       <ValueTable ref="ValueTable" :url="$api.standardMethod.selectStandardMethodList"
         :delUrl="$api.standardMethod.delStandardMethod" :upUrl="$api.standardMethod.upStandardMethod"
-        :componentData="componentData" :key="upIndex" />
+        :componentData="componentData" :key="upIndex" :inputUrl="$api.standardMethod.importStandardDetails"/>
     </div>
   </div>
 </template>
@@ -165,12 +168,15 @@
             },
           },
           requiredAdd: ['code', 'name', 'isProduct', 'isUse', 'nameEn'],
-          requiredUp: ['code', 'name', 'isProduct', 'isUse', 'nameEn']
+          requiredUp: ['code', 'name', 'isProduct', 'isUse', 'nameEn'],
+          accept:聽'.xlsx', 
+          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
         },
         entityCopy: {},
         upIndex: 0,
         addDia: false,
-        addPower: true
+        addPower: true,
+        inPower: true,
       }
     },
     mounted() {
@@ -195,6 +201,7 @@
         let up = false
         let del = false
         let add = false
+        let inPower = false
         for (var i = 0; i < power.length; i++) {
           if (power[i].menuMethod == 'addStandardMethod') {
             add = true
@@ -205,6 +212,9 @@
           if (power[i].menuMethod == 'upStandardMethod') {
             up = true
           }
+          if (power[i].menuMethod == 'importStandardDetails') {
+            inPower = true
+          }
         }
         if (!del) {
           this.componentData.do.splice(1, 1)
@@ -213,6 +223,7 @@
           this.componentData.do.splice(0, 1)
         }
         this.addPower = add
+        this.inPower = inPower
       },
       openAdd() {
         this.$refs.ValueTable.openAddDia(this.$api.standardMethod.addStandardMethod);
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index 6ae4714..14cd472 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -170,7 +170,7 @@
 			<div class="search_thing">
         <div class="search_label" style="width:90px">浜ゆ帴浜哄憳锛�</div>
         <div class="search_input">
-          <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;">
+          <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;" filterable>
             <el-option
               v-for="item in personList"
               :key="item.value"
diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue
index a5f0a23..796eba5 100644
--- a/src/components/view/b1-inspection-order.vue
+++ b/src/components/view/b1-inspection-order.vue
@@ -181,7 +181,7 @@
 						<el-col class="search_thing" style="width: 95%;">
 							<div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>鎸囨淳浜哄憳锛�</div>
 							<div class="search_input">
-								<el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" clearable>
+								<el-select v-model="distributeData.userId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" clearable filterable>
 									<el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
 									</el-option>
 								</el-select>
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index 5bfb65e..08a3107 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -181,9 +181,9 @@
           showSelect: false,
           select: false,
           do: [
-              {
+            {
               id: 'handleWeave',
-              font: '鍦ㄧ嚎缂栧埗',
+              font: '缂栧埗',
               type: 'text',
               method: 'handleWeave',
               disabFun: (row, index) => {
@@ -355,7 +355,8 @@
             title: row.entrustCode + ".docx",
             lang: 'zh-CN',
             isPrint: true,
-            user:  { id: 1, name: userName},
+            user_id: 1,
+            user_name: userName,
             editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.entrustCode + ".docx"
           }
         })
@@ -383,25 +384,31 @@
           if (power[i].menuMethod == 'writeReport') {
             sub = true
           }
+          if (power[i].menuMethod == 'ratifyReport') {
+            approve = true
+          }
+          if (power[i].menuMethod == 'examineReport') {
+            issued = true
+          }
         }
         if (!approve) {
-          this.componentData.do.splice(5, 1)
+          this.componentData.do.splice(6, 1)
         }
         if (!issued) {
-          this.componentData.do.splice(4, 1)
+          this.componentData.do.splice(5, 1)
         }
         if (!sub) {
-          this.componentData.do.splice(3, 1)
+          this.componentData.do.splice(4, 1)
         }
         if (!res) {
-          this.componentData.do.splice(2, 1)
+          this.componentData.do.splice(3, 1)
         }
         if (!up) {
-          this.componentData.do.splice(1, 1)
+          this.componentData.do.splice(2, 1)
         }
-        // if (!edit) {
-        //   this.componentData.do.splice(0, 1)
-        // }
+        if (!edit) {
+          this.componentData.do.splice(0, 1)
+        }
       },
       confirmClaim() {
         // console.log(this.$refs.Word.getValue())
diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue
index bcfa0ab..7bce4a9 100644
--- a/src/components/view/b2-standard.vue
+++ b/src/components/view/b2-standard.vue
@@ -65,21 +65,26 @@
     width: 80% !important;
     overflow: hidden;
   }
-  >>>.el-table__body-wrapper{
+
+  >>>.el-table__body-wrapper {
     height: calc(100% - 46px) !important;
   }
-  >>>.header-class{
+
+  >>>.header-class {
     height: 40px !important;
   }
-  >>>.header-class th.el-table__cell>.cell{
+
+  >>>.header-class th.el-table__cell>.cell {
     line-height: 20px !important;
     padding-top: 0 !important;
     padding-bottom: 0 !important;
   }
-  >>>.el-table__row{
+
+  >>>.el-table__row {
     height: 35px !important;
   }
-  .search{
+
+  .search {
     height: 20%;
     border-bottom: 1px solid #ebeef5;
     margin-bottom: 16px;
@@ -88,27 +93,29 @@
     box-sizing: border-box;
     padding-bottom: 10px;
   }
-  .search-item{
+
+  .search-item {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
   }
-  .search-item .el-row{
+
+  .search-item .el-row {
     display: flex;
     align-items: center;
   }
-  .search-item .el-col{
+
+  .search-item .el-col {
     margin-left: 0;
   }
-  .more-edit .dialog-footer{
+
+  .more-edit .dialog-footer {
     position: absolute;
     top: 15px;
     right: 70px;
   }
-  >>>.more-edit .el-dialog__body{
-    height: calc(100vh - 90px);
-  }
-  >>>.is-disabled .el-textarea__inner{
+
+  >>>.is-disabled .el-textarea__inner {
     background: rgba(0, 0, 0, 0.05) !important;
   }
 </style>
@@ -138,6 +145,11 @@
 
   .standard .el-table .warning-row .cell {
     color: #bababa;
+  }
+
+  .el-table-filter__list{
+    max-height: 400px;
+    overflow-y: auto;
   }
 </style>
 
@@ -177,11 +189,13 @@
     <div class="right">
       <el-row class="title" style="width: 100%;">
         <el-col :span="20" style="font-size: 14px;color: #999;">{{selectTree}}</el-col>
-        <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;" v-if="upStandardProduct">鎵归噺缂栬緫</el-button>
+        <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 0px;top: 1px;"
+          v-if="upStandardProduct">鎵归噺缂栬緫</el-button>
       </el-row>
       <el-row class="standard_table" v-loading="tableLoad">
-        <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220" tooltip-effect="dark"
-          highlight-current-row @row-click="rowClick" ref="standard" header-row-class-name="header-class">
+        <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220"
+          tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard"
+          header-row-class-name="header-class">
           <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="200">
             <template slot-scope="scope">
               <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span>
@@ -200,21 +214,16 @@
       </el-row>
       <el-row class="product_table" v-loading="tableLoad2">
         <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe
-          :fit="true" border
-          @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
-          @select="upProductSelect"
-          @select-all="handleAll"
-          class="productTable"
-          header-row-class-name="header-class">
-          <el-table-column type="selection" width="50" >
+          :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
+          @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class">
+          <el-table-column type="selection" width="50">
           </el-table-column>
           <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
           <!-- <el-table-column prop="inspectionItemClassify" label="妫�楠岄」绫诲瀷" width="120" 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="瀛愬疄楠屽" width="130" show-overflow-tooltip :filters="filters"
-            :filter-method="filterHandler"></el-table-column>
+          <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip></el-table-column>
           <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px">
             <template slot-scope="scope">
               <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable
@@ -261,7 +270,7 @@
           <el-table-column prop="templateId" label="妯℃澘" width="200">
             <template slot-scope="scope">
               <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct"
-               @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)">
+                @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)">
                 <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
               </el-select>
             </template>
@@ -273,13 +282,8 @@
             </template>
           </el-table-column>
         </el-table>
-        <el-pagination
-        style="position: absolute;right: 16px;bottom: 1px;"
-          @current-change="handleCurrentChange"
-          :current-page="currentPage"
-          layout="total, prev, pager, next, jumper"
-          :page-size="50"
-          :total="total">
+        <el-pagination style="position: absolute;right: 16px;bottom: 1px;" @current-change="handleCurrentChange"
+          :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total">
         </el-pagination>
       </el-row>
     </div>
@@ -323,8 +327,8 @@
         <el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="鎵归噺缂栬緫" :visible.sync="moreEdit" width="90%" style="height: 100vh;" class="more-edit">
-      <div class="body" style="height: 100%;display: flex;flex-direction: column;">
+    <el-dialog title="鎵归噺缂栬緫" :visible.sync="moreEdit" width="90%" class="more-edit">
+      <div class="body" style="display: flex;flex-direction: column;height: 80vh;">
         <div class="search">
           <div class="search-item">
             <el-row style="width: 25%;margin-bottom: 16px;">
@@ -340,7 +344,8 @@
                 <!-- <span class="required-span">* </span> -->
                 瑕佹眰鎻忚堪锛�</el-col>
               <el-col :span="16" style="display: flex;align-items: flex-start;height: 100%;">
-                <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}" v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input>
+                <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}"
+                  v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;margin-bottom: 16px;">
@@ -348,7 +353,8 @@
                 <!-- <span class="required-span">* </span> -->
                 璇曢獙鏂规硶锛�</el-col>
               <el-col :span="16">
-                <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;" :disabled="moreSelects.length==0">
+                <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;"
+                  :disabled="moreSelects.length==0">
                   <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option>
                 </el-select>
               </el-col>
@@ -357,7 +363,7 @@
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
                 鍗曚环(鍏�)锛�</el-col>
-              <el-col :span="16" >
+              <el-col :span="16">
                 <el-input size="small" v-model="moreInfo.price" clearable :disabled="moreSelects.length==0"></el-input>
               </el-col>
             </el-row>
@@ -366,7 +372,8 @@
                 <!-- <span class="required-span">* </span> -->
                 宸ユ椂绯绘暟锛�</el-col>
               <el-col :span="16">
-                <el-input size="small" v-model="moreInfo.manHour" clearable :disabled="moreSelects.length==0"></el-input>
+                <el-input size="small" v-model="moreInfo.manHour" clearable
+                  :disabled="moreSelects.length==0"></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;">
@@ -374,7 +381,8 @@
                 <!-- <span class="required-span">* </span> -->
                 妯℃澘锛�</el-col>
               <el-col :span="16">
-                <el-select v-model="moreInfo.templateId" size="small" filterable  placeholder="妯℃澘" style="width: 100%;" :disabled="moreSelects.length==0">
+                <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="妯℃澘" style="width: 100%;"
+                  :disabled="moreSelects.length==0">
                   <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
                 </el-select>
               </el-col>
@@ -390,24 +398,20 @@
         </div>
         <div style="flex: 1;overflow-y: auto;" v-loading="productTableLoading0">
           <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="94%" tooltip-effect="dark"
-          stripe
-          :fit="true" border
-          @select-all="handleSelectAll0"
-          @select="handleSelectionChange0"
-          header-row-class-name="header-class"
-          :row-key="row=>row.id"
-          >
-            <el-table-column type="selection" width="50" >
+            stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0"
+            header-row-class-name="header-class" :row-key="row=>row.id" @filter-change="filterHandler">
+            <el-table-column type="selection" width="50">
             </el-table-column>
             <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></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="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip :filters="filters0"
+              :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column>
+            <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" show-overflow-tooltip
+              :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass" filter-placement="bottom-start"></el-table-column>
             <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip :filters="filters"
-              :filter-method="filterHandler"></el-table-column>
+              :filter-multiple="false" column-key="sonLaboratory" filter-placement="bottom-start"></el-table-column>
             <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px"></el-table-column>
             <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px"></el-table-column>
-            <el-table-column prop="method" label="璇曢獙鏂规硶" width="200"></el-table-column>
+            <el-table-column prop="methodS" label="璇曢獙鏂规硶" width="200"></el-table-column>
             <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
             <el-table-column prop="price" label="鍗曚环(鍏�)" width="120"></el-table-column>
             <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120"></el-table-column>
@@ -419,44 +423,12 @@
             </el-table-column>
             <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
           </el-table>
-          <el-pagination
-        style="position: absolute;right: 16px;bottom: 4px;"
-          @current-change="handleCurrentChange0"
-          :current-page="currentPage0"
-          layout="total, prev, pager, next, jumper"
-          :page-size="50"
-          :total="total0">
-        </el-pagination>
+          <el-pagination style="position: absolute;right: 16px;bottom: 4px;" @current-change="handleCurrentChange0"
+            :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0">
+          </el-pagination>
         </div>
       </div>
     </el-dialog>
-    <!-- <el-dialog title="鏂板鏍囧噯" :visible.sync="addStandardDia" width="400px">
-      <div class="body">
-        <el-row style="line-height: 50px;">
-          <el-col :span="6" style="text-align: right;">
-            <span class="required-span">* </span>鏍囧噯鍚嶇О锛�
-          </el-col>
-          <el-col :span="16" :offset="1">
-            <el-select v-model="standardId" size="small" style="width: 100%;" clearable>
-              <el-option v-for="(a, ai) in standardEnum" :key="ai" :value="a.value" :label="a.label"></el-option>
-            </el-select>
-          </el-col>
-        </el-row>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="addStandardDia = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addStandardMethodList" :loading="addLoad2">纭� 瀹�</el-button>
-      </span>
-    </el-dialog> -->
-    <!-- <el-dialog title="鏂板椤圭洰" :visible.sync="addProductDia" width="70%">
-      <div class="body" style="height: 60vh;" v-if="addProductDia">
-        <ValueTable ref="ValueTable" :url="$api.capacityScope.selectItemParameterList" :componentData="componentData" />
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="addProductDia = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addStandardProductDo" :loading="addLoad3">纭� 瀹�</el-button>
-      </span>
-    </el-dialog> -->
     <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="70%">
       <div class="body" style="padding: 5px 0;">
         <el-table :data="sectionList" border style="width: 100%" height="350px">
@@ -586,41 +558,71 @@
         sectionRow: null,
         sectionList: [],
         templateList: [],
-        total:0,
-        currentPage:1,
+        total: 0,
+        currentPage: 1,
         standardId: 0,
-        moreEdit:false,
-        moreEditLoad:false,
-        moreSelects:[],
-        total0:0,
-        currentPage0:1,
+        moreEdit: false,
+        moreEditLoad: false,
+        moreSelects: [],
+        total0: 0,
+        currentPage0: 1,
         productList0: [],
-        moreInfo:{
-          ask:'',
-          tell:'',
-          methodS:'',
-          price:'',
-          manHour:'',
-          templateId:''
+        moreInfo: {
+          ask: '',
+          tell: '',
+          methodS: '',
+          price: '',
+          manHour: '',
+          templateId: ''
         },
-        methodList:[],
-        productTableLoading0:false
+        methodList: [],
+        productTableLoading0: false,
+        filters0: [{
+            text: '娴嬭瘯',
+            value: 0,
+          },
+          {
+            text: '娴嬭瘯1',
+            value: 1,
+          },
+          {
+            text: '娴嬭瘯2',
+            value: 2,
+          }
+        ],
+        filters1: [{
+            text: '娴嬭瘯',
+            value: 0,
+          },
+          {
+            text: '娴嬭瘯1',
+            value: 1,
+          },
+          {
+            text: '娴嬭瘯2',
+            value: 2,
+          }
+        ],
+        pages: 1,
+        inspectionItem: null,
+        inspectionItemSubclass: null,
+        sonLaboratory: null
       }
     },
     watch: {
       moreEdit(val) {
-        if(!val){
+        if (!val) {
           this.$refs.productTable0.clearSelection()
           this.moreSelects = []
           this.currentPage0 = 1;
           this.productList0 = []
           this.moreInfo = {
-            ask:'',
-            tell:'',
-            methodS:'',
-            price:'',
-            manHour:'',
-            templateId:''
+            ask: '',
+            tell: '',
+            methodS: '',
+            price: '',
+            manHour: '',
+            templateId: ''
           }
         }
       }
@@ -640,6 +642,7 @@
       this.selectEnumByCategoryForInspectionValueType()
       this.selectEnumByCategoryForSonLaboratory()
       this.getStandardTemplate()
+      this.selectStandardMethods()
     },
     methods: {
       filterNode(value, data) {
@@ -1102,6 +1105,7 @@
         this.addProductDia = false
       },
       rowClick(row, column, event) {
+        this.currentPage = 1;
         this.tableLoad2 = true
         this.standardId = row.id
         this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, {
@@ -1115,7 +1119,7 @@
             this.productList.forEach(a => {
               if (a.state == 1) this.toggleSelection(a)
             })
-          }, 200)
+          }, 300)
           this.tableLoad2 = false
         })
       },
@@ -1148,19 +1152,37 @@
           // this.$message.success('宸蹭繚瀛�')
         })
       },
-      filterHandler(value, row, column) {
-        const property = column['property'];
-        return row[property] === value;
+      filterHandler(value) {
+        for (let column in value) {
+          if(value[column].length === 0){
+            if(column==='inspectionItem'){
+              this.inspectionItem = null
+            }else if(column === 'inspectionItemSubclass'){
+              this.inspectionItemSubclass = null
+            }else if(column === 'sonLaboratory'){
+              this.sonLaboratory = null
+            }
+          }else{
+            if(column==='inspectionItem'){
+              this.inspectionItem = value[column][0]
+            }else if(column === 'inspectionItemSubclass'){
+              this.inspectionItemSubclass = value[column][0]
+            }else if(column === 'sonLaboratory'){
+              this.sonLaboratory = value[column][0]
+            }
+          }
+          this.getList()
+        }
       },
       handleAll(e) {
         if (e.length > 0) {
-          this.productList = this.productList.map(m => {
+          this.productList.map(m => {
             m.state = 0
             this.upProductSelect(null, m)
             return m
           })
         } else {
-          this.productList = this.productList.map(m => {
+          this.productList.map(m => {
             m.state = 1
             this.upProductSelect(null, m)
             return m
@@ -1169,12 +1191,12 @@
       },
       sectionUp(row) {
         if (Array.isArray(row)) {
-            // 鍊兼槸涓�涓暟缁�
-            if(row.length === 0){
-              return this.$message.error('璇烽�夋嫨妫�楠岄」')
-            }
-            this.sectionRow = {}
-            this.sectionUpDia = true
+          // 鍊兼槸涓�涓暟缁�
+          if (row.length === 0) {
+            return this.$message.error('璇烽�夋嫨妫�楠岄」')
+          }
+          this.sectionRow = {}
+          this.sectionUpDia = true
         } else {
           // 鍊兼槸涓�涓璞�
           this.sectionRow = row
@@ -1222,8 +1244,8 @@
           this.sectionRow.manHour = JSON.stringify(manHourList)
         }
         this.sectionLoad = true
-        if(this.moreSelects.length === 0){
-            this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        if (this.moreSelects.length === 0) {
+          this.$axios.post(this.$api.standardTree.upStandardProductList, {
             id: this.sectionRow.id,
             section: this.sectionRow.section,
             ask: this.sectionRow.ask,
@@ -1243,31 +1265,34 @@
             this.$message.success('宸蹭繚瀛�')
             this.sectionUpDia = false
           })
-        }else{
+        } else {
           this.$axios.post(this.$api.standardTree.upStandardProducts, {
-          ids:this.moreSelects.map(a=>a.id),
-          standardProductList:{
-            section: this.sectionRow.section,
-            ask: this.sectionRow.ask,
-            tell: this.sectionRow.tell,
-            price: this.sectionRow.price,
-            manHour: this.sectionRow.manHour
-          }
+            ids: this.moreSelects.map(a => a.id),
+            standardProductList: {
+              section: this.sectionRow.section,
+              ask: this.sectionRow.ask,
+              tell: this.sectionRow.tell,
+              price: this.sectionRow.price,
+              manHour: this.sectionRow.manHour
+            }
           }, {
             headers: {
               'Content-Type': 'application/json'
             }
           }).then(res => {
-          this.sectionLoad = false
-          if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
-          }
-          this.$message.success('宸蹭繚瀛�')
-          this.sectionUpDia = false
-          this.currentPage0 = 1;
-          this.getList()
-        })
+            this.sectionLoad = false
+            if (res.code == 201) {
+              this.$message.error('鏈繚瀛�')
+              return
+            }
+            this.$message.success('宸蹭繚瀛�')
+            this.sectionUpDia = false
+            this.currentPage0 = 1;
+            this.getList()
+            this.rowClick({
+              id: this.standardId
+            })
+          })
         }
       },
       getStandardTemplate() {
@@ -1292,12 +1317,11 @@
           this.tableLoad2 = false
         })
       },
-      async handleMore(){
-        if((!this.standardId&&this.standardId!=0)||this.standardList.length==0){
+      async handleMore() {
+        if ((!this.standardId && this.standardId != 0) || this.standardList.length == 0) {
           return this.$message.error('璇烽�夋嫨瀹為獙瀹ゃ�佹牱鍝�')
         }
         await this.getList()
-        this.selectStandardMethods()
         this.moreEdit = true
       },
       selectStandardMethods() {
@@ -1312,19 +1336,19 @@
           this.methodList = data
         })
       },
-      subMoreEdit(){
-        if(this.moreSelects.length===0){
+      subMoreEdit() {
+        if (this.moreSelects.length === 0) {
           return this.$message.error('璇烽�夋嫨妫�楠岄」')
         }
         this.moreEditLoad = true
         this.$axios.post(this.$api.standardTree.upStandardProducts, {
-          ids:this.moreSelects.map(a=>a.id),
-          standardProductList:this.moreInfo
-          }, {
-            headers: {
-              'Content-Type': 'application/json'
-            }
-          }).then(res => {
+          ids: this.moreSelects.map(a => a.id),
+          standardProductList: this.moreInfo
+        }, {
+          headers: {
+            'Content-Type': 'application/json'
+          }
+        }).then(res => {
           this.moreEditLoad = false
           if (res.code == 201) {
             this.$message.error('鏈繚瀛�')
@@ -1333,6 +1357,9 @@
           this.$message.success('宸蹭繚瀛�')
           this.currentPage0 = 1;
           this.getList()
+          this.rowClick({
+            id: this.standardId
+          })
           // this.moreInfo = {
           //   ask:'',
           //   tell:'',
@@ -1343,49 +1370,76 @@
           // }
         })
       },
-      handleSelectAll0(rows){
-        if(rows.length){
-          rows.forEach(a=>{
-            if(!this.moreSelects.find(b=>a.id===b.id)){
+      handleSelectAll0(rows) {
+        if (rows.length) {
+          rows.forEach(a => {
+            if (!this.moreSelects.find(b => a.id === b.id)) {
               this.moreSelects.push(a)
             }
           })
-        }else{
-          this.productList0.forEach(a=>{
-            this.moreSelects = this.moreSelects.filter(b=>b.id!=a.id )
+        } else {
+          this.productList0.forEach(a => {
+            this.moreSelects = this.moreSelects.filter(b => b.id != a.id)
           })
         }
       },
-      handleSelectionChange0(val,row){
-        if(this.moreSelects.find(a=>a.id===row.id)){
-          this.moreSelects = this.moreSelects.filter(a=>a.id!=row.id)
-        }else{
+      handleSelectionChange0(val, row) {
+        if (this.moreSelects.find(a => a.id === row.id)) {
+          this.moreSelects = this.moreSelects.filter(a => a.id != row.id)
+        } else {
           this.moreSelects.push(row)
         }
       },
-      getList(){
+      getList() {
         this.productTableLoading0 = true
-        this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, {
+        this.getItemEnum()
+        this.$axios.post(this.$api.standardTree.selectStandardProductByMethodId, {
           id: this.standardId,
           tree: this.selectTree,
-          page: this.currentPage0
+          page: this.currentPage0,
+          laboratory: this.sonLaboratory,
+          items: this.inspectionItemSubclass,
+          item: this.inspectionItem
         }).then(res => {
-          this.productList0 = res.data.productList
+          this.productList0 = res.data.records
           this.total0 = res.data.total
           this.productTableLoading0 = false
-          this.$nextTick(()=>{
-            this.productList0.forEach((a,i) => {
-              if(this.moreSelects.find(b=>a.id==b.id)){
-                // console.log(111111111,a)
-                this.$refs.productTable0.toggleRowSelection(this.productList0[i],true)
+          this.page = res.data.pages
+          this.$nextTick(() => {
+            this.productList0.forEach((a, i) => {
+              if (this.moreSelects.find(b => a.id == b.id)) {
+                this.$refs.productTable0.toggleRowSelection(this.productList0[i], true)
               }
             })
           })
         })
       },
-      handleCurrentChange0(e){
+      handleCurrentChange0(e) {
         this.currentPage0 = e;
         this.getList()
+      },
+      getItemEnum(){
+        this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId,{
+          id: this.standardId,
+          tree: this.selectTree
+        }).then(res=>{
+          this.filters0 = []
+          this.filters1 = []
+          res.data.item.forEach(a=>{
+            this.filters0.push({
+              text: a.inspectionItem,
+              value: a.inspectionItem
+            })
+          })
+          res.data.items.forEach(a=>{
+            if(a!=null){
+              this.filters1.push({
+                text: a.inspectionItemSubclass,
+                value: a.inspectionItemSubclass
+              })
+            }
+          })
+        })
       }
     }
   }
diff --git a/src/components/view/b3-classes.vue b/src/components/view/b3-classes.vue
index e4fc53a..bedba01 100644
--- a/src/components/view/b3-classes.vue
+++ b/src/components/view/b3-classes.vue
@@ -83,18 +83,14 @@
             v-on:mouseenter="onMouseEnter(index)"
           v-on:mouseleave="currentUserIndex=null">
               <div class="content-body-item" v-for="(m,i) in item.list" :key="'d'+i" :class="{hoverType:currentUserIndex==index}">
-                <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',type5:m.shift==='5',type6:m.shift==='6'}">
-                  <!-- <div class="work-box-left">
-                    <span>{{ getShiftByDic(m.shift) }}</span>
-                  </div> -->
-                  <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)" :disabled="!upPower">
-                    <!-- <i class="el-icon-arrow-down el-icon--right" style="font-size: 20px;color: #fff;cursor: pointer;"></i> -->
+                <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)" :disabled="!upPower">
+                    <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',type5:m.shift==='5',type6:m.shift==='6'}">
                     <span style="cursor: pointer;" :style="`opacity: ${getShiftByDic(m.shift)=='鏃�'?0:1};`">{{ getShiftByDic(m.shift) }}</span>
+                  </div>
                     <el-dropdown-menu slot="dropdown">
                       <el-dropdown-item v-for="(n,j) in classType" :key="'h'+j" :command="n.value">{{ n.label }}</el-dropdown-item>
                     </el-dropdown-menu>
                   </el-dropdown>
-                </div>
               </div>
             </div>
           </div>
@@ -767,7 +763,7 @@
   display: flex;
   align-items: center;
   justify-content: space-around;
-  background: #F5F7FB;
+  background: #edeff2;
   border-radius: 8px 8px 8px 8px;
   color: #999;
   font-size: 14px;
@@ -869,7 +865,7 @@
   margin-left: 10px;
 }
 .hoverType{
-  background: rgba(58,123,250,0.05);
+  background: rgba(58,123,250,0.03);
 }
 .year-table{
   width: 100%;
diff --git a/src/components/view/b4-daily-business-statistics.vue b/src/components/view/b4-daily-business-statistics.vue
index 5ecb7e5..e0bc0d3 100644
--- a/src/components/view/b4-daily-business-statistics.vue
+++ b/src/components/view/b4-daily-business-statistics.vue
@@ -151,8 +151,9 @@
     }
   },
   mounted(){
+    this.init()
     this.timers&&clearInterval(this.timers);
-    setInterval(this.init,1000*60*5)
+    setInterval(this.init(),1000*60*5)
   },
   methods:{
     init(){
diff --git a/src/components/view/b4-inspection-item-statistics.vue b/src/components/view/b4-inspection-item-statistics.vue
index 293245b..bc0a983 100644
--- a/src/components/view/b4-inspection-item-statistics.vue
+++ b/src/components/view/b4-inspection-item-statistics.vue
@@ -190,9 +190,9 @@
       }
     },
     mounted(){
-      // this.init()
+      this.init()
       this.timers&&clearInterval(this.timers);
-      setInterval(this.init,1000*60*5)
+      setInterval(this.init(),1000*60*5)
     },
     methods:{
       init(){
diff --git a/src/components/view/b4-sample-defects.vue b/src/components/view/b4-sample-defects.vue
index 5637b5c..ea09b32 100644
--- a/src/components/view/b4-sample-defects.vue
+++ b/src/components/view/b4-sample-defects.vue
@@ -73,6 +73,7 @@
       <el-table
         :data="tableData"
         style="width: 100%;margin-bottom: 10px;height: calc(100% - 40px);"
+        height="calc(100% - 40px)"
         row-key="id"
         v-loading="loading"
         border
diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue
index 791815b..69e4eaa 100644
--- a/src/components/view/person-manage.vue
+++ b/src/components/view/person-manage.vue
@@ -174,7 +174,7 @@
           <el-button size="small" @click="refresh()">閲� 缃�</el-button>
           <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
         </div>
-        <div class="search_thing">
+        <div class="search_thing" style="display: flex;justify-content: right;margin-right: 10px;">
           <el-button size="small" type="primary" @click="openthirdParty" v-if="addUserPower">鑾峰彇涓夋柟浜哄憳</el-button>
           <el-button size="small" type="primary" @click="opeaAdd" v-if="addPower">鏂板鐢ㄦ埛</el-button>
         </div>
@@ -184,7 +184,7 @@
           :componentData="componentData" :key="upIndex" />
       </div>
     </div>
-    <el-dialog title="鏋舵瀯鏂板" :visible.sync="addDia0" width="400px">
+    <el-dialog title="鏋舵瀯鏂板" :visible.sync="addDia" width="400px">
       <div class="body">
         <el-row style="line-height: 50px;">
           <el-col :span="6" style="text-align: right;">
@@ -196,7 +196,7 @@
         </el-row>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="addDia0 = false">鍙� 娑�</el-button>
+        <el-button @click="addDia = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
       </span>
     </el-dialog>
@@ -204,7 +204,7 @@
       <div class="body">
         <el-row>
           <el-col :span="9" style="height: 70vh;overflow: hidden;">
-            <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;"
+            <el-input placeholder="杈撳叆鍏抽敭瀛楁悳绱�" v-model="search2" size="small" style="width: 90%;padding: 0 5% 10px 5%;"
               clearable @blur="searchFilter2" @clear="searchFilter2" @keyup.enter.native="searchFilter2()">
             </el-input>
             <el-tree :data="datathirdParty" node-key="id" :props="defaultProps" @node-click="nodeClick2"
@@ -289,7 +289,8 @@
             font: '缂栬緫',
             type: 'text',
             method: 'doDiy',
-            field: ['createUserName', 'updateUserName', 'roleName', '瑙掕壊=roleId', '瀵嗙爜=password']
+            field: ['createUserName', 'updateUserName', 'roleName', '瑙掕壊=roleId', '瀵嗙爜=password',
+            '濮撳悕EN=nameEn','骞撮緞=age','閭=email','鍗曚綅=company','绛惧悕=pictureUrl','鏈汉鐓�=signatureUrl']
           }],
           tagField: {
             state: {
@@ -477,7 +478,7 @@
           if (power[i].menuMethod == 'delDepartment') {
             delStandardTree = true
           }
-          if (power[i].menuMethod == 'addPersonUser') {
+          if (power[i].menuMethod == 'selectCompaniesList') {
             addUserPower = true
           }
         }
@@ -630,11 +631,11 @@
         }
         let arr = []
         this.currentCompaniesList.forEach(b=>{
-          this.companiesList.forEach(a=>{
+          /* this.companiesList.forEach(a=>{
             if(a.companyId===b){
               console.log(a)
             }
-          })
+          }) */
           let obj = this.companiesList.find(a=>a.companyId==b)
           arr.push(obj)
           })
@@ -652,10 +653,13 @@
             return
           }
           this.$message.success('鎿嶄綔鎴愬姛')
-          this.refresh()
           this.multipleSelection = []
           this.$refs.personTable.clearSelection()
           this.addthirdParty = false
+          this.addLoad = false
+          this.personList = []
+          this.userSearch2 = ''
+          this.refresh()
         }).catch(e => {
           this.addthirdParty = false
           this.addLoad = false
diff --git a/static/js/menu.js b/static/js/menu.js
index 0fb4b37..59f26eb 100644
--- a/static/js/menu.js
+++ b/static/js/menu.js
@@ -298,7 +298,7 @@
 			i: "font icon-erjidaohang",
 			u: "a6-personnel-detail",
 			g: "6.2 浜哄憳",
-			p: "selectUserList"
+			p: "selectDepartmentLim"
 		}, {
 			v: "浜哄憳鍩硅",
 			i: "font icon-erjidaohang",

--
Gitblit v1.9.3