From 997835429a1d66643364091e8437ebbbeb8ff97a Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期四, 28 九月 2023 14:09:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into develop

---
 src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue                     |   19 
 src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModal.vue                   |   72 
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue                       |    4 
 src/views/mdc/base/modules/deviceManager/TierModel.vue                                      |    2 
 src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue                             |   44 
 public/static/加工数量管理.xls                                                                    |    0 
 src/views/mdc/base/modules/EquipmentTypeList/MdcEquipmentTypeForm.vue                       |    2 
 src/views/dashboard/Analysis.vue                                                            |    6 
 src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigForm.vue          |   17 
 src/views/mdc/base/MdcDriveTypeParamConfigList.vue                                          |   71 
 src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue                  |  108 +
 src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue              |  408 +++---
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue                                  |   18 
 src/views/mdc/base/modules/deviceLog/LogInfo.vue                                            |   20 
 src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue                      |   72 
 src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue              |  250 ++-
 src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue |   24 
 src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue                                |   15 
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue                            |   21 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairListModel.vue                           |   31 
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue                          |   27 
 src/views/mdc/base/modules/shift/ShiftInfoModel.vue                                         |   16 
 src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue                     |    2 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue              |   29 
 src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue                    |    2 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue                   |   24 
 public/static/标准加工时间.xls                                                                    |    0 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue                            |    2 
 public/static/非计划停机管理.xls                                                                   |    0 
 src/views/mdc/base/modules/mdcUtilizationRate/MdcUtilizationRateModel.vue                   |    2 
 src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue                                |   61 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue             |   16 
 .env.development                                                                            |    2 
 src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue     |   26 
 public/static/假期管理.xls                                                                      |    0 
 src/views/mdc/common/BaseTree.vue                                                           |   24 
 src/main.js                                                                                 |    6 
 src/views/jeecg/modules/JeecgDemoModal.vue                                                  |    1 
 src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue         |   16 
 src/views/mdc/base/modules/DepartList/DepartListContent/TierModel.vue                       |    2 
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue    |   33 
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAddCon.vue                          |    2 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue                               |  366 ++++--
 src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue                                 |   24 
 src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue      |   14 
 src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue        |  266 ++-
 package-lock.json                                                                           |  144 ++
 public/static/计划停机管理.xls                                                                    |    0 
 src/views/mdc/base/MdcplancloseList.vue                                                     |   10 
 src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue                              |   25 
 src/mixins/JeecgListMixin.js                                                                |   19 
 src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal.vue         |    3 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue                           |  347 +++--
 src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue                 |   16 
 src/api/mdc.js                                                                              |    7 
 src/views/mdc/base/modules/shift/ShiftSystemModel.vue                                       |    2 
 src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue                    |   30 
 src/config/router.config.js                                                                 |    5 
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue   |   32 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue               |   27 
 src/components/table2excel/table2excel.js                                                   |    2 
 src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue                    |   10 
 src/views/TestWorkshop.vue                                                                  |  180 +++
 src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModalEdit.vue               |   24 
 src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue                                |   45 
 src/views/mdc/base/EquipmentList.vue                                                        |    7 
 src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue                  |   94 +
 src/views/mdc/base/AlarmManager.vue                                                         |   42 
 src/views/mdc/base/modules/DepartList/DepartListTree/modules/DepartTree/TierModel.vue       |    2 
 src/views/mdc/base/modules/shift/ShiftInfo.vue                                              |    4 
 public/static/合格率管理.xls                                                                     |    0 
 /dev/null                                                                                   |    0 
 src/views/mdc/base/modules/EquipmentList/UserModal.vue                                      |   35 
 src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue    |    2 
 src/views/mdc/base/modules/DepartList/DepartListContent/DepartList.vue                      |    6 
 src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue                      |    9 
 src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue                            |   12 
 src/components/jeecgbiz/JSelectEquipmentProduction.vue                                      |    2 
 package.json                                                                                |    5 
 src/views/mdc/base/modules/deviceLog/WorkChartModel.vue                                     |    3 
 src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue                              |   22 
 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue                           |   62 
 src/views/mdc/base/modules/shift/ShiftSystem.vue                                            |   14 
 83 files changed, 2,300 insertions(+), 1,116 deletions(-)

diff --git a/.env.development b/.env.development
index fd85d75..6a7256a 100644
--- a/.env.development
+++ b/.env.development
@@ -1,4 +1,4 @@
 NODE_ENV=development
-VUE_APP_API_BASE_URL=http://127.0.0.1:8080
+VUE_APP_API_BASE_URL=http://192.168.0.95:9999
 VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
 VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index ddbb8a0..5aa9585 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26881,6 +26881,18 @@
           "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
           "dev": true
         },
+        "mini-css-extract-plugin": {
+          "version": "0.8.2",
+          "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz",
+          "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==",
+          "dev": true,
+          "requires": {
+            "loader-utils": "^1.1.0",
+            "normalize-url": "1.9.1",
+            "schema-utils": "^1.0.0",
+            "webpack-sources": "^1.1.0"
+          }
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -27815,6 +27827,41 @@
       "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
       "dev": true,
       "requires": {}
+    },
+    "ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+      "dev": true,
+      "requires": {
+        "ajv": "^8.0.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "8.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+          "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+          "dev": true
+        },
+        "require-from-string": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+          "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+          "dev": true
+        }
+      }
     },
     "ajv-keywords": {
       "version": "3.5.2",
@@ -36305,26 +36352,63 @@
       "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
     },
     "mini-css-extract-plugin": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz",
-      "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==",
+      "version": "2.7.6",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz",
+      "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==",
       "dev": true,
       "requires": {
-        "loader-utils": "^1.1.0",
-        "normalize-url": "1.9.1",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
+        "schema-utils": "^4.0.0"
       },
       "dependencies": {
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+        "@types/json-schema": {
+          "version": "7.0.12",
+          "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
+          "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
+          "dev": true
+        },
+        "ajv": {
+          "version": "8.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+          "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
           "dev": true,
           "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
+            "fast-deep-equal": "^3.1.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+          "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.3"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+          "dev": true
+        },
+        "require-from-string": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+          "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+          "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.9",
+            "ajv": "^8.9.0",
+            "ajv-formats": "^2.1.1",
+            "ajv-keywords": "^5.1.0"
           }
         }
       }
@@ -39817,6 +39901,14 @@
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
+    "sass-loader": {
+      "version": "13.3.2",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz",
+      "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==",
+      "requires": {
+        "neo-async": "^2.6.2"
+      }
+    },
     "sax": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -40723,13 +40815,9 @@
       "dev": true
     },
     "style-loader": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz",
-      "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==",
-      "requires": {
-        "loader-utils": "^1.0.2",
-        "schema-utils": "^0.3.0"
-      }
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz",
+      "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw=="
     },
     "stylehacks": {
       "version": "4.0.3",
@@ -41754,6 +41842,11 @@
         "lodash.find": "^4.6.0"
       }
     },
+    "vue-calendar-component": {
+      "version": "2.8.2",
+      "resolved": "https://registry.npmjs.org/vue-calendar-component/-/vue-calendar-component-2.8.2.tgz",
+      "integrity": "sha512-BJh7xOBzM7QVcapcN4EbPQ1eZ8Pii1/oy+dzqjZTilRSIDD7SRPdFpnUJwZvs8lCrhtBAyJbYFsdm2SogXWHVQ=="
+    },
     "vue-cropper": {
       "version": "0.5.4",
       "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.4.tgz",
@@ -42245,6 +42338,15 @@
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
         },
+        "style-loader": {
+          "version": "0.19.1",
+          "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz",
+          "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==",
+          "requires": {
+            "loader-utils": "^1.0.2",
+            "schema-utils": "^0.3.0"
+          }
+        },
         "supports-color": {
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
diff --git a/package.json b/package.json
index 2e77700..b84ea07 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
   "dependencies": {
     "@antv/data-set": "^0.11.4",
     "@jeecg/antd-online-mini": "3.0.0-RC",
+    "@jiaminghi/data-view": "^2.10.0",
     "@tinymce/tinymce-vue": "2.1.0",
     "@toast-ui/editor": "^2.1.2",
     "ali-oss": "^6.17.1",
@@ -33,6 +34,8 @@
     "md5": "^2.2.1",
     "nprogress": "^0.2.0",
     "qs": "^6.11.1",
+    "sass-loader": "^13.3.2",
+    "style-loader": "^3.3.3",
     "tinymce": "5.4.1",
     "viser-vue": "^2.4.8",
     "vue": "^2.6.10",
@@ -47,7 +50,7 @@
     "vue-print-nb-jeecg": "^1.0.9",
     "vue-router": "^3.0.1",
     "vue-splitpane": "^1.0.4",
-    "vuedraggable": "^2.20.0",
+    "vuedraggable": "2.20.0",
     "vuex": "^3.1.0",
     "vxe-table": "2.9.13",
     "vxe-table-plugin-antd": "1.8.10",
diff --git "a/public/static/\345\201\207\346\234\237\347\256\241\347\220\206.xls" "b/public/static/\345\201\207\346\234\237\347\256\241\347\220\206.xls"
index 20820c7..1c4aeff 100644
--- "a/public/static/\345\201\207\346\234\237\347\256\241\347\220\206.xls"
+++ "b/public/static/\345\201\207\346\234\237\347\256\241\347\220\206.xls"
Binary files differ
diff --git "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls" "b/public/static/\345\212\240\345\267\245\346\225\260\351\207\217\347\256\241\347\220\206.xls"
similarity index 66%
rename from "public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
rename to "public/static/\345\212\240\345\267\245\346\225\260\351\207\217\347\256\241\347\220\206.xls"
index 20820c7..6548b46 100644
--- "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
+++ "b/public/static/\345\212\240\345\267\245\346\225\260\351\207\217\347\256\241\347\220\206.xls"
Binary files differ
diff --git "a/public/static/\345\220\210\346\240\274\347\216\207\347\256\241\347\220\206.xls" "b/public/static/\345\220\210\346\240\274\347\216\207\347\256\241\347\220\206.xls"
index 20820c7..4ee48df 100644
--- "a/public/static/\345\220\210\346\240\274\347\216\207\347\256\241\347\220\206.xls"
+++ "b/public/static/\345\220\210\346\240\274\347\216\207\347\256\241\347\220\206.xls"
Binary files differ
diff --git "a/public/static/\346\240\207\345\207\206\345\212\240\345\267\245\346\227\266\351\227\264.xls" "b/public/static/\346\240\207\345\207\206\345\212\240\345\267\245\346\227\266\351\227\264.xls"
index 20820c7..e0f0a14 100644
--- "a/public/static/\346\240\207\345\207\206\345\212\240\345\267\245\346\227\266\351\227\264.xls"
+++ "b/public/static/\346\240\207\345\207\206\345\212\240\345\267\245\346\227\266\351\227\264.xls"
Binary files differ
diff --git "a/public/static/\350\256\241\345\210\222\345\201\234\346\234\272.xls" "b/public/static/\350\256\241\345\210\222\345\201\234\346\234\272.xls"
deleted file mode 100644
index 20820c7..0000000
--- "a/public/static/\350\256\241\345\210\222\345\201\234\346\234\272.xls"
+++ /dev/null
Binary files differ
diff --git "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls" "b/public/static/\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
similarity index 65%
copy from "public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
copy to "public/static/\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
index 20820c7..53874e9 100644
--- "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
+++ "b/public/static/\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
Binary files differ
diff --git "a/public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272.xls" "b/public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272.xls"
deleted file mode 100644
index e2a2671..0000000
--- "a/public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272.xls"
+++ /dev/null
Binary files differ
diff --git "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls" "b/public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
similarity index 65%
copy from "public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
copy to "public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
index 20820c7..6701ced 100644
--- "a/public/static/\345\212\240\345\267\245\346\225\260\351\207\217.xls"
+++ "b/public/static/\351\235\236\350\256\241\345\210\222\345\201\234\346\234\272\347\256\241\347\220\206.xls"
Binary files differ
diff --git a/src/api/mdc.js b/src/api/mdc.js
new file mode 100644
index 0000000..716a1d1
--- /dev/null
+++ b/src/api/mdc.js
@@ -0,0 +1,7 @@
+import { getAction, deleteAction, putAction, postAction, httpAction } from '@/api/manage'
+
+export default {
+//  -------------------------------------椹卞姩鍙傛暟绠$悊椤甸潰----------------------------------------
+//  鑾峰彇鎺у埗绯荤粺绫诲瀷
+  getDriveTypeApi:()=>getAction('/mdc/mdcDriveTypeParamConfig/getDriveParamOptions')
+}
\ No newline at end of file
diff --git a/src/components/jeecgbiz/JSelectEquipmentProduction.vue b/src/components/jeecgbiz/JSelectEquipmentProduction.vue
index 2f3ac51..e0bacfa 100644
--- a/src/components/jeecgbiz/JSelectEquipmentProduction.vue
+++ b/src/components/jeecgbiz/JSelectEquipmentProduction.vue
@@ -3,7 +3,7 @@
     <!---->
     <a-input @click="openModal" placeholder="璇风偣鍑婚�夋嫨杞﹂棿" v-model="textVals" readOnly :disabled="disabled">
       <a-icon slot="prefix" type="cluster" title="杞﹂棿閫夋嫨鎺т欢"/>
-      <a-icon v-if="storeVals" slot="suffix" type="close-circle" @click="handleEmpty" title="娓呯┖"/>
+      <a-icon v-if="storeVals&&!disabled" slot="suffix" type="close-circle" @click="handleEmpty" title="娓呯┖"/>
     </a-input>
     <j-select-equipment-production-modal
       ref="innerDepartSelectModal"
diff --git a/src/components/table2excel/table2excel.js b/src/components/table2excel/table2excel.js
index 0767353..4891d2b 100644
--- a/src/components/table2excel/table2excel.js
+++ b/src/components/table2excel/table2excel.js
@@ -3,7 +3,6 @@
 import jQuery from 'jquery'
 (function ( $, window, document, undefined ) {
   var pluginName = "table2excel",
-
     defaults = {
       exclude: ".noExl",
       name: "Table2Excel",
@@ -253,7 +252,6 @@
         $.data( e, "plugin_" + pluginName, new Plugin( this, options ) );
       }
     });
-
     // chain jQuery functions
     return e;
   };
diff --git a/src/config/router.config.js b/src/config/router.config.js
index c8ef6eb..e41fc6e 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -360,7 +360,6 @@
       },
     ]
   },
-
   {
     path: '/test',
     component: BlankLayout,
@@ -374,6 +373,10 @@
     ]
   },
   {
+    path:'/testWorkshop',
+    component:()=>import('@/views/TestWorkshop.vue')
+  },
+  {
     path: '/404',
     component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
   },
diff --git a/src/main.js b/src/main.js
index d473f6d..1d7d559 100644
--- a/src/main.js
+++ b/src/main.js
@@ -68,6 +68,9 @@
   right:'100px'
 })
 
+// 灏嗚嚜鍔ㄦ敞鍐屾墍鏈夌粍浠朵负鍏ㄥ眬缁勪欢
+import dataV from '@jiaminghi/data-view'
+Vue.use(dataV)
 
 // import 'echarts-liquidfill'
 Vue.prototype.$echarts = echarts
@@ -93,6 +96,9 @@
   new Vue({
     router,
     store,
+    beforeCreate() {
+      Vue.prototype.$bus = new Vue()
+    },
     mounted () {
       store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
       store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
diff --git a/src/mixins/JeecgListMixin.js b/src/mixins/JeecgListMixin.js
index 375daf9..841a3e7 100644
--- a/src/mixins/JeecgListMixin.js
+++ b/src/mixins/JeecgListMixin.js
@@ -81,11 +81,10 @@
         this.ipagination.current = 1;
       }
       var params = this.getQueryParams();//鏌ヨ鏉′欢
-
+      console.log('params',params)
       if(!params){
         return false;
       }
-
       this.loading = true;
       getAction(this.url.list, params).then((res) => {
         if (res.success) {
@@ -139,7 +138,6 @@
           return false;
         }
       }
-
       return filterObj(param);
     },
     getQueryField() {
@@ -150,7 +148,6 @@
       });
       return str;
     },
-
     onSelectChange(selectedRowKeys, selectionRows) {
       this.selectedRowKeys = selectedRowKeys;
       this.selectionRows = selectionRows;
@@ -287,10 +284,18 @@
       //娓呯┖鍒楄〃閫変腑
       this.onClearSelected()
     },
+    /**
+     * 鐐瑰嚮琛ㄦ牸涓鎯呮寜閽簨浠�
+     * @param record 閫変腑鐨勫綋鍓嶈鏁版嵁
+     */
     handleDetail:function(record){
       this.$refs.modalForm.edit(record);
       this.$refs.modalForm.title="璇︽儏";
       this.$refs.modalForm.disableSubmit = true;
+      // 鎵撳紑璇︽儏鎶藉眽鏃剁鐢ㄨ澶囩紪鐮併�佽澶囧悕绉拌緭鍏ユ
+      this.$refs.modalForm.disSeach = true;
+      // 璋冪敤鎶藉眽琛ㄥ崟缁勪欢涓殑娓呴櫎琛ㄥ崟楠岃瘉鏂规硶
+      this.$refs.modalForm.removeValidate()
     },
     /* 瀵煎嚭 */
     handleExportXls2(){
@@ -347,9 +352,9 @@
             this.$warning({
               title: message,
               content: (<div>
-                  <span>{msg}</span><br/>
-                  <span>鍏蜂綋璇︽儏璇� <a href={href} target="_blank" download={fileName}>鐐瑰嚮涓嬭浇</a> </span>
-                </div>
+              <span>{msg}</span><br/>
+              <span>鍏蜂綋璇︽儏璇� <a href={href} target="_blank" download={fileName}>鐐瑰嚮涓嬭浇</a> </span>
+            </div>
               )
             })
           } else {
diff --git a/src/views/TestWorkshop.vue b/src/views/TestWorkshop.vue
new file mode 100644
index 0000000..717ae32
--- /dev/null
+++ b/src/views/TestWorkshop.vue
@@ -0,0 +1,180 @@
+<template>
+  <dv-full-screen-container class="full-screen-container">
+    <header class="page-header">
+      娴嬭瘯杞﹂棿
+      <div class="header-right">
+        <a-button type="primary" icon="save" size="large" @click="saveDevicePositionByApi">淇濆瓨浣嶇疆</a-button>
+      </div>
+    </header>
+    <dv-border-box-8 class="content-container">
+      <div v-for="item in deviceList" :key="item.equipmentId" class="single-device"
+           :style="{top:item.top+'px',left:item.left+'px'}" @mousedown="handleMouseDown" :id="item.equipmentId">
+        <img :src="item.equipmentImageUrl" draggable="false">
+        <div draggable="false" class="device-info">
+          <div v-if="item.status==0" class="status-square" style="background-color: gray"></div>
+          <div v-if="item.status==1" class="status-square" style="background-color: red"></div>
+          <div v-if="item.status==2" class="status-square" style="background-color: green"></div>
+          <div v-if="item.status==3" class="status-square" style="background-color: yellow"></div>
+          <div class="device-id">{{item.equipmentId}}</div>
+        </div>
+      </div>
+    </dv-border-box-8>
+  </dv-full-screen-container>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        mouseX: 0, // 榧犳爣鍦ㄥ厓绱犲唴鐨刋鍧愭爣
+        mouseY: 0, // 榧犳爣鍦ㄥ厓绱犲唴鐨刌鍧愭爣,
+        dragging: false, //鏄惁鍦ㄦ嫋鎷戒腑
+        left: 0, // 鍏冪礌宸︿笂瑙掕窛绂荤埗瀹瑰櫒宸︿晶鐨勮窛绂�
+        top: 0, // 鍏冪礌宸︿笂瑙掕窛绂荤埗瀹瑰櫒椤堕儴鐨勮窛绂�,
+        elementId: '',// 琚嫋鎷藉厓绱犵殑id灞炴�у��
+        deviceList: [
+          {
+            equipmentId: '123213213123232',
+            equipmentStatus: 0,
+            equipmentImageUrl: require('../assets/8.png'),
+            top: 200,
+            left: 100,
+            status: 1
+          },
+          {
+            equipmentId: '512346789561232',
+            equipmentStatus: 0,
+            equipmentImageUrl: require('../assets/8.png'),
+            top: 500,
+            left: 753,
+            status: 0
+          },
+          {
+            equipmentId: '64746965647653',
+            equipmentStatus: 0,
+            equipmentImageUrl: require('../assets/8.png'),
+            top: 300,
+            left: 860,
+            status: 2
+          },
+          {
+            equipmentId: '33548976965462',
+            equipmentStatus: 0,
+            equipmentImageUrl: require('../assets/8.png'),
+            top: 100,
+            left: 380,
+            status: 3
+          },
+          {
+            equipmentId: '85484913549253',
+            equipmentStatus: 0,
+            equipmentImageUrl: require('../assets/8.png'),
+            top: 200,
+            left: 1500,
+            status: 2
+          }
+        ]
+      }
+    },
+    methods: {
+      /**
+       * 鎷栨嫿瀵硅薄榧犳爣鎸夐敭鎸変笅浜嬩欢
+       * @param event
+       */
+      handleMouseDown(event) {
+        this.dragging = true
+        this.mouseX = event.clientX
+        this.mouseY = event.clientY
+        this.elementId = event.currentTarget.id
+        this.top = event.currentTarget.offsetTop
+        this.left = event.currentTarget.offsetLeft
+        document.addEventListener('mousemove', this.handleMouseMove)
+        document.addEventListener('mouseup', this.handleMouseUp)
+      },
+      /**
+       * 鏂囨。瀵硅薄榧犳爣绉诲姩浜嬩欢
+       * @param event
+       */
+      handleMouseMove(event) {
+        if (this.dragging) {
+          const deltaX = event.clientX - this.mouseX
+          const deltaY = event.clientY - this.mouseY
+          this.left += deltaX
+          this.top += deltaY
+          this.deviceList.forEach(item => {
+            if (item.equipmentId === this.elementId) {
+              item.top = this.top
+              item.left = this.left
+            }
+          })
+          this.mouseX = event.clientX
+          this.mouseY = event.clientY
+        }
+      },
+      /**
+       * 鏂囨。瀵硅薄榧犳爣鎸夐敭寮硅捣浜嬩欢
+       * @param event
+       */
+      handleMouseUp(event) {
+        this.dragging = false
+        document.removeEventListener('mousemove', this.handleMouseMove)
+        document.removeEventListener('mouseup', this.handleMouseUp)
+      },
+      /**
+       * 璋冪敤鎺ュ彛淇濆瓨鎷栨嫿鍚庣殑浣嶇疆
+       */
+      saveDevicePositionByApi(){
+
+      }
+    },
+    mounted() {
+      // 绂佹鐢ㄦ埛閫変腑鍐呭
+      document.onselectstart = () => false
+    }
+  }
+</script>
+
+<style scoped lang="less">
+  .full-screen-container {
+    background-image: url('../assets/Bj.jpg');
+    color: #fff;
+    width: 100vw;
+    height: 100vh;
+    position: relative;
+    .page-header {
+      font-size: 50px;
+      text-align: center;
+      position: relative;
+      .header-right{
+        position: absolute;
+        right: 200px;
+        top: 0;
+      }
+    }
+    .content-container {
+      .single-device {
+        position: absolute;
+        border: 1px solid transparent;
+        padding: 5px;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        &:active {
+          border: 1px solid #00b3ff;
+        }
+        .device-info {
+          width: 100%;
+          display: flex;
+          align-items: center;
+          justify-content: space-between;
+          .status-square {
+            width: 14px;
+            height: 14px;
+            border: 1px solid #fff;
+            border-radius: 2px;
+          }
+        }
+      }
+    }
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/dashboard/Analysis.vue b/src/views/dashboard/Analysis.vue
index 577f741..949a625 100644
--- a/src/views/dashboard/Analysis.vue
+++ b/src/views/dashboard/Analysis.vue
@@ -11,6 +11,7 @@
         <!--&lt;!&ndash;<a-radio :value="3">浠诲姟琛ㄦ牸</a-radio>&ndash;&gt;-->
       <!--&lt;!&ndash;</a-radio-group>&ndash;&gt;-->
     <!--</div>-->
+    <a-button type="primary" @click="navigateToTestWorkshop">璺宠浆鑷虫祴璇曡溅闂�</a-button>
   </div>
 </template>
 
@@ -35,7 +36,10 @@
 
     },
     methods: {
-
+      navigateToTestWorkshop(){
+        const url=this.$router.resolve('/testWorkshop').href
+        window.open(url,'_blank')
+      }
     }
   }
 </script>
\ No newline at end of file
diff --git a/src/views/jeecg/modules/JeecgDemoModal.vue b/src/views/jeecg/modules/JeecgDemoModal.vue
index 9b97d8f..de22892 100644
--- a/src/views/jeecg/modules/JeecgDemoModal.vue
+++ b/src/views/jeecg/modules/JeecgDemoModal.vue
@@ -40,7 +40,6 @@
         <a-form-model-item label="涓汉绠�浠�"  prop="content" hasFeedback>
           <a-input  type="textarea" placeholder="璇疯緭鍏ヤ釜浜虹畝浠�"  v-model="model.content"/>
         </a-form-model-item>
-
       </a-form-model>
     </a-spin>
   </a-modal>
diff --git a/src/views/mdc/base/AlarmManager.vue b/src/views/mdc/base/AlarmManager.vue
index b8378ab..83c5383 100644
--- a/src/views/mdc/base/AlarmManager.vue
+++ b/src/views/mdc/base/AlarmManager.vue
@@ -40,10 +40,16 @@
             :sm="24"
           >
             <a-form-item label="鎺у埗绯荤粺绫诲瀷">
-              <j-dict-select-tag
-                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+              <!--<j-dict-select-tag-->
+                <!--placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"-->
+                <!--v-model="queryParam.driveType"-->
+                <!--dictCode="mdc_driveType"-->
+              <!--/>-->
+              <a-auto-complete
                 v-model="queryParam.driveType"
-                dictCode="mdc_driveType"
+                :data-source="driveTypeList"
+                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+                :filter-option="filterOption"
               />
             </a-form-item>
           </a-col>
@@ -177,10 +183,9 @@
         @change="handleTableChange"
       >
 
-
         <span
           slot="action"
-          slot-scope="text, record"
+        slot-scope="text, record"
         >
           <a @click="handleEdit(record)">缂栬緫</a>
 
@@ -196,8 +201,8 @@
       </a-table>
     </div>
 
-    <alarm-manager-modal ref="modalForm" @ok="modalFormOk"></alarm-manager-modal>
-    <alarm-manager-form ref="modalFormType" @ok="modalFormOk"></alarm-manager-form>
+    <!--<alarm-manager-modal ref="modalForm" @ok="modalFormOk"></alarm-manager-modal>-->
+    <alarm-manager-form ref="modalFormType" @ok="modalFormOk" :driveTypeList="driveTypeList" :filterOption="filterOption"></alarm-manager-form>
     <alarm-manager-edit ref="modalFormEdit" @ok="modalFormOk"></alarm-manager-edit>
   </a-card>
 </template>
@@ -213,6 +218,7 @@
   import AlarmManagerEdit from './modules/alarmManager/alarmManagerEdit'
   import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
   import { filterObj } from '@/utils/util';
+  import api from '@/api/mdc'
   export default {
     name: 'AlarmManager',
     mixins: [JeecgListMixin, mixinDevice],
@@ -297,11 +303,13 @@
         },
         dictOptions: {},
         superFieldList: [],
+        driveTypeList:[]
       }
     },
     created() {
       this.$set(this.dictOptions, 'isUse', [{ text: '鏄�', value: '0' }, { text: '鍚�', value: '-1' }])
       this.getSuperFieldList();
+      this.getDriveTypeByApi()
     },
     computed: {
       // importExcelUrl: function () {
@@ -313,7 +321,6 @@
         this.$refs.modalFormEdit.edit(record);
         this.$refs.modalFormEdit.title = "缂栬緫";
         this.$refs.modalFormEdit.disableSubmit = false;
-        this.$refs.modalFormEdit.isUse = record.isUse === '1' ? true : false
       },
       handleAddTRype(){
         this.$refs.modalFormType.add();
@@ -344,6 +351,25 @@
         param.pageSize = this.ipagination.pageSize
         return filterObj(param)
       },
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
+      },
 
     }
   }
diff --git a/src/views/mdc/base/EquipmentList.vue b/src/views/mdc/base/EquipmentList.vue
index 78fc6ff..1fb20c8 100644
--- a/src/views/mdc/base/EquipmentList.vue
+++ b/src/views/mdc/base/EquipmentList.vue
@@ -9,14 +9,14 @@
           <a-col :md="6" :sm="12">
             <a-form-item label="璁惧缂栧彿">
               <!--<a-input placeholder="璇疯緭鍏ヨ处鍙锋煡璇�" v-model="queryParam.username"></a-input>-->
-              <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"></a-input>
+              <j-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"></j-input>
             </a-form-item>
           </a-col>
 
           <a-col :md="6" :sm="8">
             <a-form-item label="璁惧鍚嶇О">
               <!--<a-input placeholder="璇疯緭鍏ヨ处鍙锋煡璇�" v-model="queryParam.username"></a-input>-->
-              <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentName"></a-input>
+              <j-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentName"></j-input>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="8">
@@ -443,6 +443,8 @@
         this.$refs.modalForm.title = "缂栬緫";
         this.$refs.modalForm.disableSubmit = false;
         this.$refs.modalForm.disSeach = true;
+        // 璋冪敤鎶藉眽琛ㄥ崟缁勪欢涓殑娓呴櫎琛ㄥ崟楠岃瘉鏂规硶
+        this.$refs.modalForm.removeValidate()
       },
       handleAdd: function () {
         this.$refs.modalForm.add();
@@ -453,7 +455,6 @@
       getAvatarView: function (avatar) {
         return getFileAccessHttpUrl(avatar)
       },
-
       batchFrozen: function (status) {
         if (this.selectedRowKeys.length <= 0) {
           // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
diff --git a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
index ccfabc9..0af6e3b 100644
--- a/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
+++ b/src/views/mdc/base/MdcDriveTypeParamConfigList.vue
@@ -14,10 +14,15 @@
             :sm="24"
           >
             <a-form-item label="鎺у埗绯荤粺绫诲瀷">
-              <j-dict-select-tag
-                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+              <!--<j-dict-select-tag-->
+                <!--placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"-->
+                <!--v-model="queryParam.controlSystemType"-->
+              <!--/>-->
+              <a-auto-complete
                 v-model="queryParam.controlSystemType"
-                dictCode="mdc_driveType"
+                :data-source="driveTypeList"
+                placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+                :filter-option="filterOption"
               />
             </a-form-item>
           </a-col>
@@ -55,11 +60,15 @@
               :sm="24"
             >
               <a-form-item label="鏄剧ず鏍囧織">
-                <j-switch
-                  placeholder="璇烽�夋嫨鏄剧ず鏍囧織"
-                  v-model="queryParam.showFlag"
-                  query
-                ></j-switch>
+                <!--<j-switch-->
+                  <!--placeholder="璇烽�夋嫨鏄剧ず鏍囧織"-->
+                  <!--v-model="queryParam.showFlag"-->
+                  <!--query-->
+                <!--&gt;</j-switch>-->
+                <a-select v-model='queryParam.showFlag' placeholder="璇烽�夋嫨鏄剧ず鏍囧織">
+                  <a-select-option  value="Y">鏄�</a-select-option>
+                  <a-select-option value="N">鍚�</a-select-option>
+                </a-select>
               </a-form-item>
             </a-col>
             <a-col
@@ -69,11 +78,15 @@
               :sm="24"
             >
               <a-form-item label="宸ヤ綔鏇茬嚎鏍囧織">
-                <j-switch
-                  placeholder="璇烽�夋嫨宸ヤ綔鏇茬嚎鏍囧織"
-                  v-model="queryParam.curveGenerationFlags"
-                  query
-                ></j-switch>
+                <!--<j-switch-->
+                  <!--placeholder="璇烽�夋嫨宸ヤ綔鏇茬嚎鏍囧織"-->
+                  <!--v-model="queryParam.curveGenerationFlags"-->
+                  <!--query-->
+                <!--&gt;</j-switch>-->
+                <a-select v-model='queryParam.curveGenerationFlags' placeholder="璇烽�夋嫨宸ヤ綔鏇茬嚎鏍囧織">
+                  <a-select-option  value="Y">鏄�</a-select-option>
+                  <a-select-option value="N">鍚�</a-select-option>
+                </a-select>
               </a-form-item>
             </a-col>
           </template>
@@ -122,7 +135,7 @@
       <a-button
         type="primary"
         icon="download"
-        @click="handleExportXls('璁惧椹卞姩鍙傛暟閰嶇疆')"
+        @click="handleExportXls('椹卞姩鍙傛暟绠$悊')"
       >瀵煎嚭</a-button>
       <a-upload
         name="file"
@@ -261,6 +274,7 @@
     <mdc-drive-type-param-config-modal
       ref="modalForm"
       @ok="modalFormOk"
+      :driveTypeList="driveTypeList"
     ></mdc-drive-type-param-config-modal>
   </a-card>
 </template>
@@ -273,6 +287,7 @@
 import MdcDriveTypeParamConfigModal from './modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal'
 import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
 import { filterObj } from '@/utils/util';
+import api from '@/api/mdc'
 export default {
   name: 'MdcDriveTypeParamConfigList',
   mixins: [JeecgListMixin, mixinDevice],
@@ -345,16 +360,22 @@
         deleteBatch: "/mdc/mdcDriveTypeParamConfig/deleteBatch",
         exportXlsUrl: "/mdc/mdcDriveTypeParamConfig/exportXls",
         importExcelUrl: "mdc/mdcDriveTypeParamConfig/importExcel",
-
       },
       dictOptions: {},
       superFieldList: [],
+      driveTypeList:[]
+    }
+  },
+  provide(){
+    return {
+      driveTypeList:this.driveTypeList
     }
   },
   created() {
     this.$set(this.dictOptions, 'showFlag', [{ text: '鏄�', value: 'Y' }, { text: '鍚�', value: 'N' }])
     this.$set(this.dictOptions, 'curveGenerationFlags', [{ text: '鏄�', value: 'Y' }, { text: '鍚�', value: 'N' }])
     this.getSuperFieldList();
+    this.getDriveTypeByApi()
   },
   computed: {
     importExcelUrl: function () {
@@ -372,7 +393,6 @@
       fieldList.push({ type: 'int', value: 'sortNo', text: '搴忓彿', dictCode: '' })
       fieldList.push({ type: 'switch', value: 'showFlag', text: '鏄剧ず鏍囧織' })
       fieldList.push({ type: 'switch', value: 'curveGenerationFlags', text: '宸ヤ綔鏇茬嚎鏍囧織' })
-
       this.superFieldList = fieldList
     },
 
@@ -389,6 +409,25 @@
       param.pageSize = this.ipagination.pageSize
       return filterObj(param)
     },
+    /**
+     * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+     */
+    getDriveTypeByApi(){
+      api.getDriveTypeApi().then((res)=>{
+        this.driveTypeList=res.result.map(item=>item.value)
+      })
+    },
+    /**
+     * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+     * @param input 杈撳叆鐨勫唴瀹�
+     * @param option 閰嶇疆
+     * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+     */
+    filterOption(input, option) {
+      return (
+        option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+      );
+    },
 
   }
 }
diff --git a/src/views/mdc/base/MdcplancloseList.vue b/src/views/mdc/base/MdcplancloseList.vue
index 2305fcd..bfd66cc 100644
--- a/src/views/mdc/base/MdcplancloseList.vue
+++ b/src/views/mdc/base/MdcplancloseList.vue
@@ -34,7 +34,7 @@
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
       <a-button type="primary" icon="download" @click="importTemplate('璁″垝鍋滄満妯℃澘')">瀵煎叆妯℃澘</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('璁″垝鍋滄満')">瀵煎嚭</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('璁″垝鍋滄満绠$悊')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
         <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
@@ -156,8 +156,8 @@
           list: "/mdc/mdcPlanClose/list",
           delete: "/mdc/mdcPlanClose/delete",
           deleteBatch: "/mdc/mdcPlanClose/deleteBatch",
-          exportXlsUrl: "/plan/mdcplanclose/exportXls",
-          importExcelUrl: "plan/mdcplanclose/importExcel",
+          exportXlsUrl: "/mdc/mdcPlanClose/exportXls",
+          importExcelUrl: "mdc/mdcPlanClose/importExcel",
 
         },
         dictOptions:{},
@@ -175,8 +175,8 @@
     methods: {
       importTemplate(fileName){
         var a = document.createElement("a");
-        a.href = "/static/璁″垝鍋滄満.xls";
-        a.download = "璁″垝鍋滄満.xls";
+        a.href = "/static/璁″垝鍋滄満绠$悊.xls";
+        a.download = "璁″垝鍋滄満绠$悊.xls";
         a.style.display = "none";
         document.body.appendChild(a);
         a.click();
diff --git a/src/views/mdc/base/modules/DepartList/DepartListContent/DepartList.vue b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartList.vue
index b41aca0..9aea25f 100644
--- a/src/views/mdc/base/modules/DepartList/DepartListContent/DepartList.vue
+++ b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartList.vue
@@ -372,7 +372,7 @@
                   //閲嶆柊璁$畻鍒嗛〉闂
                   that.reCalculatePage(that.selectedRowKeys.length)
                   // that.$message.success(res.message);
-                  that.$notification.warning({
+                  that.$notification.success({
                     message:'娑堟伅',
                     description:res.message
                   });
@@ -404,7 +404,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
@@ -431,7 +431,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
            that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
diff --git a/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue
index e6a8da8..a2926e8 100644
--- a/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue
+++ b/src/views/mdc/base/modules/DepartList/DepartListContent/DepartModel.vue
@@ -156,7 +156,7 @@
             obj.then((res) => {
               if (res.success) {
                 // that.$message.success("娣诲姞鎴愬姛")
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:"娣诲姞鎴愬姛"
                 });
diff --git a/src/views/mdc/base/modules/DepartList/DepartListContent/TierModel.vue b/src/views/mdc/base/modules/DepartList/DepartListContent/TierModel.vue
index 13d01c0..3f5ea20 100644
--- a/src/views/mdc/base/modules/DepartList/DepartListContent/TierModel.vue
+++ b/src/views/mdc/base/modules/DepartList/DepartListContent/TierModel.vue
@@ -160,7 +160,7 @@
             obj.then((res) => {
               if (res.success) {
                 // that.$message.success("鎴愬姛")
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:"鎴愬姛"
                 });
diff --git a/src/views/mdc/base/modules/DepartList/DepartListTree/modules/DepartTree/TierModel.vue b/src/views/mdc/base/modules/DepartList/DepartListTree/modules/DepartTree/TierModel.vue
index acbee7b..0899353 100644
--- a/src/views/mdc/base/modules/DepartList/DepartListTree/modules/DepartTree/TierModel.vue
+++ b/src/views/mdc/base/modules/DepartList/DepartListTree/modules/DepartTree/TierModel.vue
@@ -159,7 +159,7 @@
             obj.then((res) => {
               if (res.success) {
                 // that.$message.success("缂栬緫鎴愬姛")
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:"缂栬緫鎴愬姛"
                 });
diff --git a/src/views/mdc/base/modules/EquipmentList/UserModal.vue b/src/views/mdc/base/modules/EquipmentList/UserModal.vue
index 8b6dc30..a16aa3c 100644
--- a/src/views/mdc/base/modules/EquipmentList/UserModal.vue
+++ b/src/views/mdc/base/modules/EquipmentList/UserModal.vue
@@ -1,12 +1,11 @@
 <template>
-  <a-drawer
+  <a-modal
     :title="title"
     :maskClosable="true"
     :width="drawerWidth"
-    placement="right"
-    :closable="true"
-    @close="handleCancel"
+    @cancel="visible=false"
     :visible="visible"
+    :footer="null"
     style="height: 100%;overflow: auto;padding-bottom: 53px;">
 
     <template slot="title">
@@ -26,7 +25,7 @@
             <a-form-model-item label="璁惧缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId">
               <a-input-search :readOnly="true"
                               v-model="model.equipmentId"
-                              :disabled="disSeach"   @search="deviceSearch" enter-button placeholder='璇烽�夋嫨璁惧缂栫爜'/>
+                              :disabled="disSeach"   @search="deviceSearch" enter-button placeholder='璇烽�夋嫨璁惧缂栫爜' />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
@@ -56,9 +55,6 @@
           <a-col :span="12">
             <a-form-model-item label="杞﹂棿鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol"  v-show="!productionDisabled" ref="selectedProduction"  prop="selectedProduction">
               <!--<j-select-equipment-production  v-decorator="['selectedProduction',{rules:[{required:true,message:'璇烽�夋嫨杞﹂棿!'}]}]" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>-->
-
-
-
               <j-select-equipment-production :disabled="disableSubmit"  v-model="model.selectedProduction" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>
             </a-form-model-item>
 
@@ -148,13 +144,13 @@
 
 
     <div class="drawer-bootom-button" v-show="!disableSubmit">
-      <a-popconfirm title="纭畾鏀惧純缂栬緫锛�" @confirm="handleCancel" okText="纭畾" cancelText="鍙栨秷">
+      <a-popconfirm title="纭畾鏀惧純鎿嶄綔锛�" @confirm="close" okText="纭畾" cancelText="鍙栨秷">
         <a-button style="margin-right: .8rem">鍙栨秷</a-button>
       </a-popconfirm>
       <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">鎻愪氦</a-button>
     </div>
     <device-list-model ref="deviceListModel" @sendSelectionRows="getDeviceRows"></device-list-model>
-  </a-drawer>
+  </a-modal>
 
 </template>
 
@@ -203,7 +199,7 @@
           equipmentId:
             [
               {
-              required: true, message: '璇烽�夋嫨璁惧缂栧彿!',
+              required: true, message: '璇烽�夋嫨璁惧缂栧彿!'
               },
               // {
               // validator: this.validatequipmentId
@@ -349,6 +345,7 @@
         that.visible = true;
         //鏍规嵁灞忓箷瀹藉害鑷�傚簲鎶藉眽瀹藉害
         this.resetScreenSize();
+
         // that.userId = record.id;
         // console.log(record)
         that.model = Object.assign({}, record);
@@ -451,8 +448,6 @@
         })
       },
 
-
-
       refresh () {
         this.userId=""
         this.nextDepartOptions=[];
@@ -551,11 +546,6 @@
       //     }
       //   })
       // },
-      handleCancel () {
-        this.close()
-      },
-
-
 
       // validatequipmentId(rule, value, callback){
       //   if(!value){
@@ -589,8 +579,15 @@
         }else{
           this.departIdShow=true;
         }
+      },
+      /**
+       * 缂栬緫鎴栨煡鐪嬭鎯呮暟鎹椂娓呴櫎鎶藉眽琛ㄥ崟楠岃瘉
+       */
+      removeValidate(){
+        this.$refs.form.clearValidate()
       }
-    }
+    },
+
   }
 </script>
 
diff --git a/src/views/mdc/base/modules/EquipmentTypeList/MdcEquipmentTypeForm.vue b/src/views/mdc/base/modules/EquipmentTypeList/MdcEquipmentTypeForm.vue
index a51bb0c..15be1d3 100644
--- a/src/views/mdc/base/modules/EquipmentTypeList/MdcEquipmentTypeForm.vue
+++ b/src/views/mdc/base/modules/EquipmentTypeList/MdcEquipmentTypeForm.vue
@@ -102,7 +102,7 @@
             httpAction(httpurl,this.model,method).then((res)=>{
               if(res.success){
                 // that.$message.success(res.message);
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:res.message
                 });
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
index 0be2eb3..45c49f0 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementList.vue
@@ -19,14 +19,11 @@
               <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :md="2" :sm="3" :xs="3">
+          <a-col :md="2" :sm="2" :xs="2">
             <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
           </a-col>
           <a-col :md="2" :sm="2" :xs="2">
             <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-          </a-col>
-          <a-col :lg="2" :md="3" :sm="3" :xs="3">
-            <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
           </a-col>
         </a-row>
       </a-form>
@@ -180,8 +177,8 @@
           delete: '/mdc/mdcVacationManagement/deleteVacation',
           deleteBatch: '/mdc/mdcVacationManagement/deleteBatchVacation',
           getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
-          exportXlsUrl: "/mdc/MdcTorqueConfig/exportXls",
-          importExcelUrl: "/mdc/MdcTorqueConfig/importExcel",
+          exportXlsUrl: "/mdc/mdcVacationManagement/exportXls",
+          importExcelUrl: "/mdc/mdcVacationManagement/importExcel",
         }
       }
     },
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
index 17ef5f5..4e0393b 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModal.vue
@@ -112,6 +112,22 @@
               },
             ],
           },
+          vacationDate:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨浼戝亣鏃堕棿"
+              },
+            ],
+          },
+          vacationType:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍋囨湡绫诲瀷"
+              },
+            ],
+          },
         },
 
         url: {
@@ -126,7 +142,6 @@
     },
     created() {
     },
-
     methods: {
       // disabledDate(current){
       //   //Can not slect days before today and today
@@ -248,7 +263,7 @@
                 obj.then((res) => {
                   if (res.success) {
                     // that.$message.success("娣诲姞鎴愬姛")
-                    that.$notification.warning({
+                    that.$notification.success({
                       message:'娑堟伅',
                       description:"娣诲姞鎴愬姛"
                     });
diff --git a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
index 9283a4c..48c1e83 100644
--- a/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
+++ b/src/views/mdc/base/modules/HolidayManagement/HolidayManagementModalEdit.vue
@@ -126,6 +126,22 @@
               },
             ],
           },
+          vacationDate:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨浼戝亣鏃堕棿"
+              },
+            ],
+          },
+          vacationType:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍋囨湡绫诲瀷"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
index 2d78b50..60c8e55 100644
--- a/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
+++ b/src/views/mdc/base/modules/MdcplancloseList/MdcplancloseForm.vue
@@ -7,8 +7,7 @@
             <a-form-model-item label="绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCloseType">
               <j-dict-select-tag :readOnly="disableSubmit" placeholder="璇烽�夋嫨绫诲瀷"
                                  :triggerChange="true" dictCode="mdc_plan_type	"
-                                 v-model="model.planCloseType" allow-clear/>
-
+                                 v-model="model.planCloseType" allow-clear />
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
@@ -70,6 +69,15 @@
         },
         confirmLoading: false,
         validatorRules: {
+          planCloseType:[
+            {required: true,message:'璇烽�夋嫨绫诲瀷!'}
+          ],
+          planCloseTimeType:[
+            {required: true,message:'璇烽�夋嫨鏃堕棿绫诲瀷!'}
+          ],
+          planCloseTimeLong:[
+            {required: true,message:'璇疯緭鍏ユ椂闀�!'}
+          ],
         },
         url: {
           add: "/mdc/mdcPlanClose/add",
diff --git a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
index cc28f45..df8712a 100644
--- a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
+++ b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
@@ -6,7 +6,7 @@
         <a-row :gutter="24">
           <a-col :md="7" :sm="7">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss"/>
             </a-form-item>
           </a-col>
           <a-col :md="4" :sm="4">
diff --git a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModal.vue b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModal.vue
index 6d49fa1..0ed4b81 100644
--- a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModal.vue
+++ b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModal.vue
@@ -15,13 +15,13 @@
           <a-col :span="12">
             <a-form-item label="鍔犵彮寮�濮嬫椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
               <a-time-picker :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear
-                             v-decorator="['startTime',validatorRules.startTime]"/>
+                             v-decorator="['startTime',validatorRules.startTime]"  valueFormat="HH:mm:ss"/>
             </a-form-item>
           </a-col>
           <a-col :span="12">
             <a-form-item label="鍔犵彮缁撴潫鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
               <a-time-picker :disabled="disableSubmit" :readOnly="disableSubmit"
-                             v-decorator="['endTime',validatorRules.endTime]"/>
+                             v-decorator="['endTime',validatorRules.endTime]" valueFormat="HH:mm:ss"/>
             </a-form-item>
           </a-col>
         </a-row>
@@ -73,7 +73,7 @@
             span: 24
           },
           sm: {
-            span: 6
+            span: 8
           }
         },
         wrapperCol: {
@@ -81,7 +81,7 @@
             span: 24
           },
           sm: {
-            span: 18
+            span: 16
           }
         },
         labelColLong: {
@@ -89,7 +89,7 @@
             span: 24
           },
           sm: {
-            span: 3
+            span: 4
           }
         },
         wrapperColLong: {
@@ -97,7 +97,7 @@
             span: 24
           },
           sm: {
-            span: 21
+            span: 20
           }
         },
         confirmLoading: false,
@@ -108,6 +108,30 @@
               {
                 required:true,
                 message: "璇烽�夋嫨璁惧"
+              },
+            ],
+          },
+          calendarId:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鐝"
+              },
+            ],
+          },
+          startTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍔犵彮寮�濮嬫椂闂�"
+              },
+            ],
+          },
+          endTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍔犵彮缁撴潫鏃堕棿"
               },
             ],
           },
@@ -212,19 +236,6 @@
         this.visible = false
         this.show = false
       },
-      fun(obj) {
-    if(obj){
-      if (obj = obj.split("T")) {
-        var tim = obj[1];
-        if(tim = tim.split(".")){
-          var tim0 = tim[0];
-        }
-        var dd = tim0
-        return dd;
-      }
-    }
-
-  },
       handleOk() {
         const that = this
         // 瑙﹀彂琛ㄥ崟楠岃瘉
@@ -232,28 +243,17 @@
           if (!err) {
             that.confirmLoading = true
             let formData = Object.assign(this.model, values)
-            let start = moment(formData.startTime).format('HH:mm:ss');
-            let end = moment(formData.endTime).format('HH:mm:ss');
-            let startOne = start.replace(/:/g,'');
-            let endOne = end.replace(/:/g,'');
-            // var data = new Date();
-            // let stertDate = moment(data).format("HH:mm:ss");
-            // let dataStart = stertDate.replace(/:/g,'');
-            // if(startOne < dataStart){
-            //   that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
-            //   that.confirmLoading = false
-            // }else{
+            let startOne = formData.startTime.replace(/:/g,'');
+            let endOne = formData.endTime.replace(/:/g,'')
               if(startOne>=endOne){
-                that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
-                // console.log(this.model)
-                // this.endTime = ''
+                that.$notification.warning({
+                  message:'娑堟伅',
+                  description:"缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"
+                });
                 that.confirmLoading = false
               }else{
                 let obj
-
                 if (!this.model.id) {
-                  formData.startTime = this.fun(JSON.stringify(formData.startTime));
-                  formData.endTime = this.fun(JSON.stringify(formData.endTime))
                   obj = postAction(this.url.add, formData)
                 } else {
                   obj = requestPut(this.url.edit, formData, {
diff --git a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModalEdit.vue b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModalEdit.vue
index 30d3d4b..41abd9e 100644
--- a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModalEdit.vue
+++ b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementModalEdit.vue
@@ -79,7 +79,7 @@
             span: 24
           },
           sm: {
-            span: 6
+            span: 8
           }
         },
         wrapperCol: {
@@ -87,7 +87,7 @@
             span: 24
           },
           sm: {
-            span: 18
+            span: 16
           }
         },
         labelColLong: {
@@ -95,7 +95,7 @@
             span: 24
           },
           sm: {
-            span: 3
+            span: 4
           }
         },
         wrapperColLong: {
@@ -103,7 +103,7 @@
             span: 24
           },
           sm: {
-            span: 21
+            span: 20
           }
         },
         confirmLoading: false,
@@ -125,6 +125,22 @@
               },
             ],
           },
+          startTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍔犵彮寮�濮嬫椂闂�"
+              },
+            ],
+          },
+          endTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鍔犵彮缁撴潫鏃堕棿"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue
index bdfde0f..64d02ca 100644
--- a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue
+++ b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue
@@ -14,7 +14,7 @@
               <a-date-picker v-model="queryParams.collectTime" :disabledDate="disabledDate" format='YYYY-MM-DD' @change="dataChange"/>
             </a-form-item>
           </a-col>
-          <a-col :md="3" :sm="3" :xs="3">
+          <a-col :md="2" :sm="2" :xs="2">
             <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
           </a-col>
           <a-col :md="2" :sm="2" :xs="2">
@@ -269,7 +269,11 @@
                 textStyle:{
                   color:'#000',
                 },
-                formatter:"鏃堕暱锛歿c}H"
+                // formatter:"鏃堕暱锛歿c}H",
+                formatter:params=>{
+                  const value=String(params.value)
+                  return value.length==2&&value[0]==='0'?`鏃堕暱锛�${value.slice(1)}H`:`鏃堕暱锛�${value}H`
+                }
               },
               itemStyle: {
                 normal: {
@@ -312,7 +316,11 @@
           // },
           tooltip: {
             trigger: 'item',
-            formatter: "{a} <br/>{b} : {c} ({d}%)"
+            // formatter: "{a} <br/>{b} : {c} ({d}%)"锛�
+            formatter:params=>{
+              const value=String(params.value)
+              return value.length==2&&value[0]==='0'?`${params.seriesName}<br/>${params.name}锛�${value.slice(1)}H锛�${params.percent}%锛塦:`${params.seriesName}<br/>${params.name}锛�${value}H锛�${params.percent}%锛塦
+            }
           },
           legend: {
             orient: 'vertical',
@@ -335,7 +343,12 @@
                 label: {
                   show: true,
                   position: 'top',
-                  formatter: '{b}\n{c}'
+                  // formatter: '{b}\n{c}',
+                  // formatter:params=>String(params.value).length==2?params.name+String(params.value).slice(1):params.name+String(params.value)
+                  formatter:params=>{
+                    const value=String(params.value)
+                    return value.length==2&&value[0]==='0'?params.name+' '+value.slice(1)+'H':params.name+' '+value+'H'
+                  }
                 }
               }
             },
@@ -354,7 +367,11 @@
           // },
           tooltip: {
             trigger: 'item',
-            formatter: "{a} <br/>{b} : {c} ({d}%)"
+            // formatter: "{a} <br/>{b} : {c} ({d}%)",
+            formatter:params=>{
+              const value=String(params.value)
+              return value.length==2&&value[0]==='0'?`${params.seriesName}<br/>${params.name}锛�${value.slice(1)}H锛�${params.percent}%锛塦:`${params.seriesName}<br/>${params.name}锛�${value}H锛�${params.percent}%锛塦
+            }
           },
           legend: {
             orient: 'vertical',
@@ -377,7 +394,11 @@
                 label: {
                   show: true,
                   position: 'top',
-                  formatter: '{b}\n{c}'
+                  // formatter: '{b}\n{c}',
+                  formatter:params=>{
+                    const value=String(params.value)
+                    return value.length==2&&value[0]==='0'?params.name+' '+value.slice(1)+'H':params.name+' '+value+'H'
+                  }
                 }
               }
             },
@@ -388,32 +409,38 @@
         StartupLine.setOption(statChartPieOption2);
       },
       queryStatistical(){
-        getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{
-          if(res.success) {
-            // console.log(res);
-            this.StatCharOpeningRate = res.result.openRate;
-            //鍒╃敤鐜�
-            this.StatCharUsedRate = res.result.utilizationRate;
-            //寮�鏈虹巼
-            this.UtilizationHeight = res.result.openRate;
-            this.StatCharUsedopeningRate = res.result.StartupHeight;
-            this.StartupHeight = res.result.StartupHeight;
-            this.openingLong = this.getTime(res.result.openLong)
-            this.waitingLong = this.getTime(res.result.waitLong);
-            this.processLong = this.getTime(res.result.processLong);
-            this.closedLong = this.getTime(res.result.closeLong);
-            this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong);
-            this.draw();
-          }else{
-            this.draw()
-          }
-        })
+        if(this.queryParams.collectTime){
+          getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{
+            if(res.success) {
+              // console.log(res);
+              this.StatCharOpeningRate = res.result.openRate;
+              //鍒╃敤鐜�
+              this.StatCharUsedRate = res.result.utilizationRate;
+              //寮�鏈虹巼
+              this.UtilizationHeight = res.result.openRate;
+              this.StatCharUsedopeningRate = res.result.StartupHeight;
+              this.StartupHeight = res.result.StartupHeight;
+              this.openingLong = this.getTime(res.result.openLong)
+              this.waitingLong = this.getTime(res.result.waitLong);
+              this.processLong = this.getTime(res.result.processLong);
+              this.closedLong = this.getTime(res.result.closeLong);
+              this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong);
+              this.draw();
+            }
+          })
+        }else{
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:'璇烽�夋嫨鏃堕棿'
+          })
+        }
       },
       dataChange(val) {
         this.queryParam.collectTime1 = "";
-        this.queryParams.dateTime = val.format('YYYYMMDD')
-        this.queryParams.collectTime = val.format('YYYY-MM-DD');
-
+        if(val){
+          this.queryParams.dateTime = val.format('YYYYMMDD')
+          this.queryParams.collectTime = val.format('YYYY-MM-DD');
+        }
       },
       initEquipmentNode() {
         let _this = this
@@ -453,7 +480,7 @@
         this.queryParam = {}
         this.queryParams = {}
         // this.dates = []
-        this.queryStatistical()
+        // this.queryStatistical()
         // this.onClearSelected()
       },
       searchQuery(){
@@ -462,26 +489,19 @@
     },
     watch: {
       equip(val) {
-        // console.log(val);
         if (val && val.equipmentId) {
           this.$set(this.queryParam, 'tierName', val.title)
           this.$set(this.queryParam, 'equipmentId', val.equipmentId)
           this.queryParams.parentId = ''
           this.queryParams.equipmentId = val.equipmentId
-          this.searchQuery()
         }else{
           this.queryParams.parentId = val.key
           this.queryParams.equipmentId = ''
           this.$set(this.queryParam, 'tierName', val.title)
-          this.searchQuery()
         }
         this.searchQuery()
       }
-      // this.searchQuery();
-
-
     }
-
   }
 </script>
 
diff --git a/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue b/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue
index eec09ae..f861422 100644
--- a/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue
+++ b/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue
@@ -14,7 +14,7 @@
               <a-date-picker v-model="queryParams.collectTime" :disabledDate="disabledDate" format='YYYY-MM-DD' @change="dataChange"/>
             </a-form-item>
           </a-col>
-          <a-col :md="3" :sm="3" :xs="3">
+          <a-col :md="2" :sm="2" :xs="2">
             <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
           </a-col>
           <a-col :md="2" :sm="2" :xs="2">
@@ -359,7 +359,11 @@
                   textStyle:{
                     color:'#000',
                   },
-                  formatter:"鏃堕暱锛歿c}H"
+                  // formatter:"鏃堕暱锛歿c}H",
+                  formatter:params=>{
+                    const value=String(params.value)
+                    return value.length==2&&value[0]==='0'?`鏃堕暱锛�${value.slice(1)}H`:`鏃堕暱锛�${value}H`
+                  }
                 },
                 itemStyle: {
                   normal: {
@@ -456,7 +460,11 @@
                 textStyle:{
                   color:'#000',
                 },
-                formatter:"鏃堕暱锛歿c}H"
+                // formatter:"鏃堕暱锛歿c}H",
+                formatter:params=>{
+                  const value=String(params.value)
+                  return value.length==2&&value[0]==='0'?`鏃堕暱锛�${value.slice(1)}H`:`鏃堕暱锛�${value}H`
+                }
               },
             itemStyle: {
               normal: {
@@ -549,7 +557,11 @@
               textStyle:{
                 color:'#000',
               },
-              formatter:"鏃堕暱锛歿c}H"
+              // formatter:"鏃堕暱锛歿c}H",
+              formatter:params=>{
+                const value=String(params.value)
+                return value.length==2&&value[0]==='0'?`鏃堕暱锛�${value.slice(1)}H`:`鏃堕暱锛�${value}H`
+              }
             },
             itemStyle: {
               normal: {
@@ -577,9 +589,9 @@
         StartupLine.setOption(StartupLine_option);
       },
       queryStatistical(){
+        if(this.queryParams.collectTime){
           getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{
             if(res.success){
-              // console.log(res);
               this.StatCharOpeningRate = res.result.openRate;
               this.StatCharUsedRate = res.result.utilizationRate;
               this.UtilizationHeight = res.result.openRate;
@@ -592,16 +604,20 @@
               this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong);
               this.draw();
             }
-            else{
-              this.draw();
-            }
           })
+        }else{
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:'璇烽�夋嫨鏃堕棿'
+          })
+        }
       },
       dataChange(val) {
         this.queryParam.collectTime1 = "";
-        this.queryParams.dateTime = val.format('YYYYMMDD')
-        this.queryParams.collectTime = val.format('YYYY-MM-DD');
-
+        if(val){
+          this.queryParams.dateTime = val.format('YYYYMMDD')
+          this.queryParams.collectTime = val.format('YYYY-MM-DD');
+        }
       },
       initEquipmentNode(id) {
         let _this = this
@@ -640,7 +656,7 @@
         this.queryParam = {}
         this.queryParams = {}
         // this.dates = []
-        this.queryStatistical()
+        // this.queryStatistical()
         // this.onClearSelected()
       },
       searchQuery(){
@@ -655,18 +671,14 @@
             this.$set(this.queryParam, 'equipmentId', val.equipmentId)
             this.queryParams.parentId = ''
             this.queryParams.equipmentId = val.equipmentId
-            this.searchQuery()
           }else{
             this.queryParams.parentId = val.key
             this.queryParams.equipmentId = ''
             this.$set(this.queryParam, 'tierName', val.title)
-            this.searchQuery()
             }
             this.searchQuery()
           }
           // this.searchQuery();
-
-
       }
 
   }
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
index 09a6ffe..aff3728 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
@@ -6,7 +6,7 @@
         <a-row :gutter="24">
           <a-col :md="7" :sm="7">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss"/>
             </a-form-item>
           </a-col>
           <a-col :md="4" :sm="4">
@@ -192,6 +192,7 @@
       Type(valmath){
         this.dataList = [];
         this.queryParams.typeTree = valmath
+        console.log(valmath,'瑙﹀彂Type鐨剋atch鏂规硶')
         // console.log(this.queryParams.typeTree)
       },
       nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
@@ -240,8 +241,12 @@
       onOk(value) {
         console.log('onOk: ', value);
       },
+      /**
+       * 鏌ヨ鍖哄煙閲嶇疆鎸夐挳
+       */
       searchReset() {
         if(this.queryParams.typeTree == "1"){
+          console.log('绗竴涓殑typeTree',this.queryParams.typeTree)
           this.typeTree = this.queryParams.typeTree
           this.typeParent =  this.queryParams.parentId
           this.typeEquipment = this.queryParams.equipmentId
@@ -250,6 +255,7 @@
           this.dates = []
           this.queryParams.typeTree = this.typeTree
           this.queryParams.parentId = this.typeParent
+          console.log('杩涘叆绗竴涓�')
           if(this.queryParams.parentId !=  ""){
             this.queryParams.equipmentId =  ""
           }else{
@@ -258,12 +264,12 @@
             }else{
               this.queryParams.equipmentId = this.queryParamEquip.equipmentId
             }
-
           }
-
           this.ipagination.current = 1
           this.ResetloadData();
         }else{
+          console.log('杩涘叆绗簩涓�')
+          console.log('绗簩涓殑typeTree',this.queryParams.typeTree)
           this.typeTree = this.queryParams.typeTree
           this.typeParent =  this.queryParams.parentId
           // this.typeEquipment = this.queryParams.equipmentId
@@ -411,10 +417,8 @@
         if(this.queryParams.typeTree == "1"){
           this.queryParams.parentId =  this.queryParamEquip.parentId
           // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
-
         }else{
           this.queryParams.parentId = this.queryParamPeople.parentId
-
           // this.queryParams.equipmentId = ""
         }
         this.dataSource = [];
@@ -432,7 +436,7 @@
         param.equipmentId = this.queryParams.equipmentId;
         param.startTime = this.queryParam.startTime;
         param.endTime =  this.queryParam.endTime;
-        // console.log(param);
+        console.log('param',param);
         getAction(this.url.list,param).then((res) => {
           if(res.success){
             this.dataSource = res.result.records||res.result;
@@ -544,7 +548,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
@@ -607,6 +611,7 @@
         }
       },
       handleAdd() {
+        console.log(this.$refs.modalForm.edit)
         this.$refs.modalForm.add(this.node)
         this.$refs.modalForm.title = '鏂板'
         this.$refs.modalForm.disableSubmit = false
@@ -656,9 +661,19 @@
           exclude_inputs: true
         });
       },
+      // /**
+      //  * 杞﹂棿閫変腑椤瑰彇娑堝悗瑙﹀彂姝や簨浠讹紝鐢盉aseTree缁勪欢鐢变簨浠舵�荤嚎瑙﹀彂
+      //  * @param value 鎻愮ず淇℃伅
+      //  */
+      // treeClearSelected(value){
+      //   this.queryParams.equipmentId=''
+      //   this.queryParams.parentId=''
+      //   this.ResetloadData()
+      // }
     },
     created() {
       this.queryParam.typeTree = "1"
+      // this.$bus.$on('treeClearSelected',this.treeClearSelected)
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
index 53648ff..2fab0bc 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModal.vue
@@ -111,6 +111,22 @@
               },
             ],
           },
+          torqueDate:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鏃堕棿"
+              },
+            ],
+          },
+          torqueValue:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ壄鐭╁��"
+              },
+            ],
+          },
         },
 
         url: {
diff --git a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
index 683850e..d12b328 100644
--- a/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
+++ b/src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
@@ -125,6 +125,22 @@
               },
             ],
           },
+          torqueDate:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鏃堕棿"
+              },
+            ],
+          },
+          torqueValue:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ壄鐭╁��"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
index be82f57..a7ca61e 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerList.vue
@@ -6,7 +6,7 @@
         <a-row :gutter="24">
           <a-col :md="7" :sm="7">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm"/>
             </a-form-item>
           </a-col>
           <a-col :md="4" :sm="4">
@@ -36,7 +36,7 @@
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
       <a-button type="primary" icon="download" @click="importTemplate('闈炶鍒掑仠鏈烘ā鏉�')">瀵煎叆妯℃澘</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('闈炶鍒掑仠鏈�')">瀵煎嚭</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('闈炶鍒掑仠鏈虹鐞�')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
@@ -196,8 +196,8 @@
           delete: '/mdc/mdcNoplanClose/delete',
           deleteBatch: '/mdc/mdcNoplanClose/deleteBatch',
           getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
-          exportXlsUrl: "/mdc/MdcTorqueConfig/exportXls",
-          importExcelUrl: "/mdc/MdcTorqueConfig/importExcel",
+          exportXlsUrl: "/mdc/mdcNoplanClose/exportXls",
+          importExcelUrl: "/mdc/mdcNoplanClose/importExcel",
         }
       }
     },
@@ -242,8 +242,8 @@
     methods: {
       importTemplate(fileName){
         var a = document.createElement("a");
-        a.href = "/static/闈炶鍒掑仠鏈�.xls";
-        a.download = "闈炶鍒掑仠鏈�.xls";
+        a.href = "/static/闈炶鍒掑仠鏈虹鐞�.xls";
+        a.download = "闈炶鍒掑仠鏈虹鐞�.xls";
         a.style.display = "none";
         document.body.appendChild(a);
         a.click();
@@ -530,7 +530,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
index 0ef247e..2a2ffdb 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModal.vue
@@ -120,6 +120,30 @@
               },
             ],
           },
+          noplanType:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨绫诲瀷"
+              },
+            ],
+          },
+          startTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨寮�濮嬫椂闂�"
+              },
+            ],
+          },
+          endTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨缁撴潫鏃堕棿"
+              },
+            ],
+          },
         },
 
         url: {
@@ -253,7 +277,7 @@
                 obj.then((res) => {
                   if (res.success) {
                     // that.$message.success("娣诲姞鎴愬姛")
-                    that.$notification.warning({
+                    that.$notification.success({
                       message:'娑堟伅',
                       description:"娣诲姞鎴愬姛"
                     });
diff --git a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
index a508e48..538504e 100644
--- a/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
+++ b/src/views/mdc/base/modules/UnplannedDowntimemManager/UnplannedDowntimemManagerModalEdit.vue
@@ -136,6 +136,30 @@
               },
             ],
           },
+          noplanType:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨绫诲瀷"
+              },
+            ],
+          },
+          startTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨寮�濮嬫椂闂�"
+              },
+            ],
+          },
+          endTime:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨缁撴潫鏃堕棿"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
index fd7c515..ec4ca0b 100644
--- a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
+++ b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
@@ -236,14 +236,22 @@
         this.queryParam.endDate = v2[1]
       },
       searchQuery() {
-        if (this.queryParam.typeTree == "1") {
-          this.queryParam.parentId = this.queryParamEquip.parentId
-          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
-        } else {
-          this.queryParam.parentId = this.queryParamPeople.parentId
-          this.queryParam.equipmentId = ""
+        if (this.dates&&this.dates.length>0){
+          if (this.queryParam.typeTree == "1") {
+            this.queryParam.parentId = this.queryParamEquip.parentId
+            this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+          } else {
+            this.queryParam.parentId = this.queryParamPeople.parentId
+            this.queryParam.equipmentId = ""
+          }
+          this.loadData1()
+        } else{
+          this.$notification.warning({
+             message:'鎻愮ず',
+             description:'璇烽�夋嫨鏃堕棿'
+          })
         }
-        this.loadData1()
+
         // this.onClearSelected()
       },
       // searchReset() {
diff --git a/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue b/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
index c269a76..54261aa 100644
--- a/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
+++ b/src/views/mdc/base/modules/alarmManager/alarmManagerEdit.vue
@@ -31,7 +31,7 @@
             <a-col :span="24">
               <a-form-item label="鏄惁杩囨护" :labelCol="labelCol" :wrapperCol="wrapperCol">
                 <!--<j-switch  v-model="model.isUse"></j-switch>-->
-                <a-switch v-model="isUse"/>
+                <a-switch  v-model="isUse"/>
                 <!--<a-radio-group v-model="model.isUse">-->
                   <!--<a-radio :value="1">-->
                     <!--鏄�-->
@@ -103,6 +103,16 @@
           //     required: true, message: '璇烽�夋嫨鐝埗!',
           //   }],
           // },
+          alarmCode:{
+            rules: [{
+              required: true, message: '璇疯緭鍏ユ姤璀﹀彿!',
+            }],
+          },
+          alarmContent:{
+            rules: [{
+              required: true, message: '璇疯緭鍏ユ姤璀﹀唴瀹�!',
+            }],
+          },
         },
         url: {
           // add: '/mdc/alarmInfo/add',
@@ -124,6 +134,7 @@
         this.model = Object.assign({}, record)
         this.visible = true
         this.$nextTick(() => {
+          this.isUse=record.isUse===0?true:false
           this.form.setFieldsValue(pick(this.model, 'alarmCode', 'alarmContent','driveType'))
         })
       },
@@ -160,7 +171,7 @@
                 // that.$message.success("娣诲姞鎴愬姛")
                 that.$notification.success({
                   message:'娑堟伅',
-                  description:"娣诲姞鎴愬姛"
+                  description:"淇敼鎴愬姛"
                 });
                 // that.$message.success(res.message)
                 that.$emit('ok', res.result)
diff --git a/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue b/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
index 438c3e8..cc5e3b8 100644
--- a/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
+++ b/src/views/mdc/base/modules/alarmManager/alarmManagerForm.vue
@@ -7,7 +7,7 @@
           <a-row :gutter="24">
             <a-col :span="24">
               <a-form-item label="鎶ヨ鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                <a-input placeholder="璇疯緭鍏ユ姤璀﹀彿" v-decorator="['alarmCode', validatorRules.alarmCode]"></a-input>
+                <a-input placeholder="璇疯緭鍏ユ姤璀﹀彿" v-decorator="['alarmCode', validatorRules.alarmCode]" ></a-input>
               </a-form-item>
             </a-col>
             <a-col :span="24">
@@ -20,16 +20,22 @@
             <!--<a-select v-decorator="['driveType', validatorRules. driveType]" placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
                       <!--:options="shiftList">-->
             <!--</a-select>-->
-                  <j-dict-select-tag
-                    placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
-                    v-decorator="['driveType', validatorRules.driveType]"
-                    dictCode="mdc_driveType"
-                  />
+                  <!--<j-dict-select-tag-->
+                    <!--placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
+                    <!--v-decorator="['driveType', validatorRules.driveType]"-->
+                    <!--dictCode="mdc_driveType"-->
+                  <!--/>-->
+              <a-auto-complete
+                v-decorator="['driveType', validatorRules.driveType]"
+                :data-source="driveTypeList"
+                placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                :filter-option="filterOption"
+              />
             </a-form-item>
             </a-col>
             <a-col :span="24">
               <a-form-item label="鏄惁杩囨护" :labelCol="labelCol" :wrapperCol="wrapperCol">
-                <a-switch :default-checked = 'showM' v-decorator="['isUse', validatorRules.isUse]"></a-switch>
+                <a-switch :checked="isFilterChecked"  v-decorator="['isUse', validatorRules.isUse]" @change="isFilterChange"></a-switch>
               </a-form-item>
             </a-col>
             <!--<a-col :span='24'>-->
@@ -77,10 +83,17 @@
   export default {
     name: 'alarmManagerForm',
     // components: {AlarmManagerEqupment},
-    props: {},
+    props: {
+      driveTypeList:{
+        type:Array
+      },
+      filterOption:{
+        type:Function
+      }
+    },
     data() {
       return {
-        showM:true,
+        isFilterChecked:true,
         isUse:true,
         title: '',
         visible: false,
@@ -103,24 +116,20 @@
             span: 18
           }
         },
-        confirmLoading: false,        form: this.$form.createForm(this),
+        confirmLoading: false,
+        form: this.$form.createForm(this),
         validatorRules: {
-          // driveType:{
-          //   rules: [{
-          //     required: true, message: '璇烽�夋嫨椹卞姩绫诲瀷!',
-          //   }],
-          // },
-          // isUse:{
-          //   rules: [{
-          //     required: true, message: !',
-          //   }],
-          // },
+          driveType:{
+            rules: [{
+              required: true, message: '璇烽�夋嫨椹卞姩绫诲瀷!',
+            }],
+          },
           alarmCode:{
             rules: [{
               required: true, message: '璇疯緭鍏ユ姤璀﹀彿!',
             }],
           },
-          alarmDescription:{
+          alarmContent:{
             rules: [{
               required: true, message: '璇疯緭鍏ユ姤璀﹀唴瀹�!',
             }],
@@ -152,10 +161,11 @@
       },
       add(record) {
         let _this = this
-        this.visible = true
+        this.isFilterChecked=true
         this.form.resetFields()
         this.model = Object.assign({}, record)
         // this.initShiftList()
+        this.visible = true
         this.$nextTick(() => {
 
         })
@@ -200,6 +210,13 @@
       handleCancel() {
         this.close()
       },
+      /**
+       * 鏄惁杩囨护鍒囨崲鍣╟hange浜嬩欢
+       * @param checked 鍒囨崲鍚庣殑鐘舵��
+       */
+      isFilterChange(checked){
+        this.isFilterChecked=checked
+      }
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
index a948d79..8142dcc 100644
--- a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
+++ b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
@@ -12,9 +12,15 @@
           <!--</a-col>-->
           <a-col :md="5" :sm="5">
             <a-form-item label="椹卞姩绫诲瀷">
-              <j-dict-select-tag placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
-                                 :triggerChange="true" dictCode="mdc_driveType"
-                                 v-model="queryParam.driveType" allow-clear/>
+              <!--<j-dict-select-tag placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
+                                 <!--:triggerChange="true" dictCode="mdc_driveType"-->
+                                 <!--v-model="queryParam.driveType" allow-clear/>-->
+              <a-auto-complete
+                v-model="queryParam.driveType"
+                :data-source="driveTypeList"
+                placeholder="椹卞姩绫诲瀷"
+                :filter-option="filterOption"
+              />
             </a-form-item>
           </a-col>
           <a-col :md="9" :sm="9" :xs="4">
@@ -68,6 +74,7 @@
   import JEllipsis from '@/components/jeecg/JEllipsis'
   import Tooltip from 'ant-design-vue/es/tooltip'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import api from '@/api/mdc'
   export default {
     name: 'comparativeAnalysismain',
     // mixins: [JeecgListMixin],
@@ -102,7 +109,8 @@
         url: {
           comparativeAnalysis:'/mdc/efficiencyReport/comparativeAnalysis'
         },
-        AnalysisList:{}
+        AnalysisList:{},
+        driveTypeList:[]
       }
     },
     watch:{
@@ -128,7 +136,6 @@
         }
       },
       nodePeople(val){
-
         if (JSON.stringify(val) != '{}') {
           if (val.equipmentId) {
             // this.$set(this.queryParam, 'tierName', val.title)
@@ -169,40 +176,46 @@
         })
       },
       searchQuery(){
-        this.AnalysisList = []
-        this.AnalysisBarList = []
-        this.AnalysisGauge = []
-        this.AnalysisPie = []
-        if(this.queryParams.typeTree == "1"){
-          this.queryParams.parentId =  this.queryParamEquip.parentId
-          // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
-
-        }else{
-          this.queryParams.parentId = this.queryParamEquip.parentId
-
-          // this.queryParams.equipmentId = ""
-        }
-        this.AnalysisList = [];
-        //鑾峰彇鏌ヨ鏉′欢
-        this.queryParam.parentId = this.queryParams.parentId;
-        this.queryParam.equipmentId = this.queryParams.equipmentId;
-        this.queryParam.typeTree = this.queryParams.typeTree
-        getAction(this.url.comparativeAnalysis,this.queryParam).then((res) => {
-          if(res.success){
-            this.AnalysisList = res.result
-            this.AnalysisBarList = res.result.graphics
-            this.AnalysisGauge = res.result.meters
-            this.AnalysisPie.push(res.result.pieCharts)
+        if(this.dates&&this.dates.length>0){
+          this.AnalysisList = []
+          this.AnalysisBarList = []
+          this.AnalysisGauge = []
+          this.AnalysisPie = []
+          if(this.queryParams.typeTree == "1"){
+            this.queryParams.parentId =  this.queryParamEquip.parentId
+            // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
           }else{
-            // this.$message.warning(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
+            this.queryParams.parentId = this.queryParamEquip.parentId
+            // this.queryParams.equipmentId = ""
           }
-        }).finally(() => {
-          this.loading = false
-        })
+          this.AnalysisList = []
+          //鑾峰彇鏌ヨ鏉′欢
+          this.queryParam.parentId = this.queryParams.parentId;
+          this.queryParam.equipmentId = this.queryParams.equipmentId;
+          this.queryParam.typeTree = this.queryParams.typeTree
+          getAction(this.url.comparativeAnalysis,this.queryParam).then((res) => {
+            if(res.success){
+              this.AnalysisList = res.result
+              this.AnalysisBarList = res.result.graphics
+              this.AnalysisGauge = res.result.meters
+              this.AnalysisPie.push(res.result.pieCharts)
+            }else{
+              // this.$message.warning(res.message)
+              this.$notification.warning({
+                message:'娑堟伅',
+                description:res.message
+              });
+            }
+          }).finally(() => {
+            this.loading = false
+          })
+        }else{
+          this.$notification.warning({
+            message:'鎻愮ず' ,
+            description:'璇烽�夋嫨鏃堕棿'
+          })
+        }
+
       },
       searchReset() {
         this.AnalysisList = []
@@ -278,7 +291,25 @@
             this.loading = false
           })
         }
-
+      },
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
       },
       // onChange(value, dateString) {
       //   // console.log('Selected Time: ', value);
@@ -398,6 +429,7 @@
       this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
       this.queryParam.typeTree = "1";
       this.loadAnalysis();
+      this.getDriveTypeByApi()
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAddCon.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAddCon.vue
index 6f62998..0d19c1a 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAddCon.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAddCon.vue
@@ -217,7 +217,7 @@
             postAction(this.url.settingCalendar, formData).then((res) => {
               if (res.success) {
                 // that.$message.success(res.message)
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:res.message
                 });
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
index 9667f8b..47997ea 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
@@ -31,6 +31,15 @@
       <div style="overflow: auto;width: 100%;margin-top: 20px;height: 569px;">
         <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"  @change="handleTableChange"  class="ant-table-striped"
                  :dataSource="dataSource" :pagination="ipagination" :loading="loading"  :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)">
+          <span slot="action"
+                slot-scope="text, record">
+            <a-popconfirm
+              title="纭畾鍒犻櫎鍚�?"
+              @confirm="() => handleDelete(record.id)"
+            >
+                  <a>鍒犻櫎</a>
+                </a-popconfirm>
+          </span>
           <span slot="isDaySpan" slot-scope="text, record">
            <span v-if="text == 'true'">鏄�</span>
            <span v-if="text == 'false'">鍚�</span>
@@ -127,12 +136,21 @@
             title: '缁撴潫浼戞伅鏃堕棿',
             align: 'center',
             dataIndex: 'sleepEndDate'
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: "center",
+            fixed: "right",
+            width: 147,
+            scopedSlots: { customRender: 'action' }
           }
         ],
         checkedList: ['lyl'],
         dataList: [],
         url: {
-          list: '/mdc/mdcDeviceCalendar/list'
+          list: '/mdc/mdcDeviceCalendar/list',
+          delete:'/mdc/mdcDeviceCalendar/delete'
         }
       }
     },
@@ -178,7 +196,6 @@
         this.queryParam = {}
         this.loadData()
       },
-
       loadData(arg) {
         this.dataSource = [];
         if(!this.url.list){
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
index 86d898c..f9fd2a5 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarListModel.vue
@@ -212,13 +212,13 @@
         this.loadData();
       },
       openPage() {
-        this.visible = true
         this.onClearSelected()
+        this.valueProduct=null
+        this.visible = true
         this.dataSource = [];
         this.queryParam = {
           status: this.status
         };
-
         this.loadData();
         this.initOptions();
         this.initGroupOptions()
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue
index cb49c1c..f48a441 100644
--- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue
@@ -115,11 +115,18 @@
         },
         confirmLoading: false,        form: this.$form.createForm(this),
         validatorRules: {
-          // shiftId:{
-          //   rules: [{
-          //     required: true, message: '璇烽�夋嫨鐝埗!',
-          //   }],
-          // },
+          equipmentId:{
+            rules:[
+              {
+                required:true,message:'璇烽�夋嫨璁惧缁�!'
+              }
+            ]
+          },
+          shiftId:{
+            rules: [{
+              required: true, message: '璇烽�夋嫨鐝埗!',
+            }],
+          }
         },
         url: {
           add: '/mdc/mdcDeviceCalendar/add',
@@ -300,27 +307,34 @@
           if (!err) {
             that.confirmLoading = true
             let formData = Object.assign(this.model, values)
-
             formData.dateList = this.sendDte
-            postAction(this.url.settingCalendar, formData).then((res) => {
-              if (res.success) {
-                // that.$message.success(res.message)
-                that.$notification.success({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-                that.$emit('ok', res.result)
-              } else {
-                // that.$message.warning(res.message)
-                that.$notification.warning({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-              }
-            }).finally(() => {
+            if(formData.dateList&&formData.dateList.length>0){
+              postAction(this.url.settingCalendar, formData).then((res) => {
+                if (res.success) {
+                  // that.$message.success(res.message)
+                  that.$notification.success({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                  that.$emit('ok', res.result)
+                } else {
+                  // that.$message.warning(res.message)
+                  that.$notification.warning({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                }
+              }).finally(() => {
+                that.confirmLoading = false
+                that.close()
+              })
+            }else{
               that.confirmLoading = false
-              that.close()
-            })
+              that.$notification.warning({
+                message:'娑堟伅',
+                description:'璇烽�夋嫨鐢熸晥鏃堕棿!'
+              });
+            }
           }
         })
       },
diff --git a/src/views/mdc/base/modules/deviceLog/LogInfo.vue b/src/views/mdc/base/modules/deviceLog/LogInfo.vue
index 0321998..3bdc973 100644
--- a/src/views/mdc/base/modules/deviceLog/LogInfo.vue
+++ b/src/views/mdc/base/modules/deviceLog/LogInfo.vue
@@ -6,12 +6,12 @@
         <a-row :gutter="24">
           <a-col :md="6" :sm="6">
             <a-form-item label="璁惧缂栧彿">
-              <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input>
+              <a-input placeholder="璇烽�夋嫨璁惧" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="6">
             <a-form-item label="璁惧鍚嶇О">
-              <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
+              <a-input placeholder="璇烽�夋嫨璁惧" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="6">
@@ -152,7 +152,6 @@
     </div>
     <work-chart-model ref="workChartModel"></work-chart-model>
     <work-history-model ref="workHistoryModel"></work-history-model>
-
   </div>
 </template>
 
@@ -327,15 +326,22 @@
         // console.log(this.queryParams.collectTime)
         if(this.queryParams.collectTime != undefined){
           this.queryParams.collectTimeStr = this.queryParams.collectTime.format('YYYY-MM-DD')
+          if(!this.queryParams.equipmentId||!this.queryParams.equipmentName){
+            this.$notification.warning({
+              message:'娑堟伅',
+              description:"璇烽�夋嫨璁惧"
+            });
+            return false
+          }
           this.queryChart()
         }else{
           // this.$message.warning("璇烽�夋嫨鏃堕棿")
+          console.log('瑙﹀彂鎻愮ず')
           this.$notification.warning({
             message:'娑堟伅',
             description:"璇烽�夋嫨鏃堕棿"
           });
         }
-
         // this.queryList()
       },
       searchReset() {
@@ -417,6 +423,7 @@
               message:'娑堟伅',
               description:res.message
             });
+
           }
         })
       }
@@ -427,11 +434,10 @@
       this.initEquipment();
       // this.queryTreeData();
     },
-    mounted() {
-
-    },
     watch: {
       equement(val) {
+        console.log('閫氳繃watch瑙﹀彂')
+
         if (val && val.equipmentId) {
           this.$set(this.queryParams, 'equipmentName', val.equipmentName)
           this.$set(this.queryParams, 'equipmentId', val.equipmentId)
diff --git a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
index dbc2ee2..686e4f6 100644
--- a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
+++ b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue
@@ -55,7 +55,6 @@
         <div class="checkboxgroup">
           <p>缁熻鍙傛暟</p>
           <div class="checkboxgroup_con">
-
             <a-checkbox-group name="checkboxgroup" :value="option" :options="plainOptions" @change="checkboxOnChange"/>
           </div>
         </div>
@@ -133,7 +132,6 @@
       let equipment = param.equipmentId
       getAction(this.url.initPlainOptions,{equipmentId:equipment}).then((res) => {
         if (res.success) {
-
           let temp = []
           // debugger
           for (var item of res.result) {
@@ -143,7 +141,6 @@
           if(temp.length>0){
             that.option = [temp[0].value]
           }
-
         }
       })
     },
diff --git a/src/views/mdc/base/modules/deviceManager/TierModel.vue b/src/views/mdc/base/modules/deviceManager/TierModel.vue
index abb11e6..cf6f5f5 100644
--- a/src/views/mdc/base/modules/deviceManager/TierModel.vue
+++ b/src/views/mdc/base/modules/deviceManager/TierModel.vue
@@ -157,7 +157,7 @@
             obj.then((res) => {
               if (res.success) {
                 // that.$message.success("鎴愬姛")
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:"鎴愬姛"
                 });
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
index 2359b22..c993065 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
@@ -6,7 +6,7 @@
         <a-row :gutter="24">
           <a-col :md="9" :sm="9">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss"/>
             </a-form-item>
           </a-col>
           <a-col :md="4" :sm="4">
@@ -26,17 +26,18 @@
             <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
           </a-col>
           <a-col :lg="2" :md="3" :sm="3" :xs="3">
-            <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+            <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+            <a-button type="primary" @click="handleExportXls('缁翠慨浼戠彮绠$悊')" icon="download">瀵煎嚭</a-button>
           </a-col>
         </a-row>
       </a-form>
     </div>
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" style="display: inline;">
-      <a-button v-has="'user.addrequip'" @click="handleAdd" type="primary" icon="plus">缁翠慨鏂板
+      <a-button  @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
-      <a-button v-has="'user.add'"  @click="handleAddXIU" type="primary" icon="plus">浼戠彮鏂板
-      </a-button>
+      <!--<a-button v-has="'user.add'"  @click="handleAddXIU" type="primary" icon="plus">浼戠彮鏂板-->
+      <!--</a-button>-->
     </div>
 
     <!-- table鍖哄煙-begin -->
@@ -63,11 +64,10 @@
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
-    <device-repair-model ref="modalForm" @ok="modalFormOk"></device-repair-model>
-    <device-repair-model-add  ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>
+    <device-repair-model ref="modalForm" :equipmentId="queryParams.equipmentId" @ok="modalFormOk"></device-repair-model>
+    <!--<device-repair-model-add  ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>-->
     <device-repair-model-edit ref="modalFormedit" @ok="modalFormOk"></device-repair-model-edit>
-    <!--<repair-model ref="repairModelFrom" @ok="modalFormOk"></repair-model>-->
-
+    <!--<repair-model ref="repairModelFrom" @ok="modalFormOk">0</repair-model>-->
   </a-card>
 </template>
 
@@ -163,6 +163,7 @@
           list: '/mdc/mdcEquipmentRepair/pageList',
           deleteBatch: '/mdc/mdcEquipmentRepair/delete',
           getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
+          exportXlsUrl:'/mdc/mdcEquipmentRepair/exportXls'
         }
       }
     },
@@ -180,10 +181,13 @@
             this.queryParamEquip.equipmentId = val.equipmentId
           } else {
             this.queryParamEquip.parentId = val.key
-            this.queryParams.equipmentId = ''
+            this.queryParams.equipmentId =''
           }
-          this.searchQuery()
+        }else{
+          this.queryParams.equipmentId=''
+          this.queryParamEquip.parentId = ""
         }
+        this.searchQuery()
       },
       nodePeople(val){
         if (JSON.stringify(val) != '{}') {
@@ -384,10 +388,8 @@
         if(this.queryParams.typeTree == "1"){
           this.queryParams.parentId =  this.queryParamEquip.parentId
           // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
-
         }else{
           this.queryParams.parentId = this.queryParamPeople.parentId
-
           // this.queryParams.equipmentId = ""
         }
         this.dataSource = [];
@@ -481,7 +483,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
@@ -495,16 +497,19 @@
           }
         });
       },
+      /**
+       * 鎵撳紑鏂板缁翠慨鎴栦紤鐝脊绐�
+       */
       handleAdd() {
         this.$refs.modalForm.add(this.node)
         this.$refs.modalForm.title = '鏂板'
         this.$refs.modalForm.disableSubmit = false
       },
-      handleAddXIU() {
-        this.$refs.modalFormadd.add()
-        this.$refs.modalFormadd.title = '鏂板'
-        this.$refs.modalFormadd.disableSubmit = false
-      },
+      // handleAddXIU() {
+      //   this.$refs.modalFormadd.add()
+      //   this.$refs.modalFormadd.title = '鏂板'
+      //   this.$refs.modalFormadd.disableSubmit = false
+      // },
       pQuery(parentId) {
         this.queryParam.parentId = parentId[0]
         if(this.selectedRowKeys.length >= 1) {
@@ -538,7 +543,7 @@
         $("#DeviceList").table2excel({
           exclude: ".noExl",
           name: "Excel Document Name",
-          filename: "璁惧缁翠慨璇︽儏",
+          filename: "缁翠慨浼戠彮绠$悊",
           exclude_img: true,
           fileext: ".xls",
           exclude_links: true,
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairListModel.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairListModel.vue
index 86d898c..672f956 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairListModel.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairListModel.vue
@@ -66,7 +66,7 @@
       <div>
         <a-table ref="table" size="middle" bordered rowKey="id" :scroll="{聽 y: 400聽}" :columns="columns"
                  :dataSource="dataSource" :pagination="ipagination" :loading="loading"
-                 :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+                 :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,getCheckboxProps:getCheckboxProps,selections: true,}"
                  @change="handleTableChange">
         </a-table>
       </div>
@@ -110,6 +110,9 @@
       status: {
         type: Number,
         default: 1
+      },
+      selectedEquipmentIds:{
+        type:String
       }
     },
     data() {
@@ -199,6 +202,9 @@
         this.selectionRows = selectionRows
         // this.SelectedList =[...this.SelectedList,...selectionRows];
         // console.log(this.SelectedList);
+        console.log('selectedRowKeys',selectedRowKeys)
+        console.log('selectionRows',selectionRows)
+
       },
       handleTableChange(pagination, filters, sorter) {
         // this.onClearSelected()
@@ -305,8 +311,6 @@
           }
         })
       },
-
-
       initGroupOptions() {
         getAction(this.url.loadProductionOptions).then(res => {
           if (res.success) {
@@ -319,6 +323,27 @@
             });
           }
         })
+      },
+      /**
+       * 姣忔鍔犺浇鍒楄〃鏃跺垽鏂凡閫変腑璁惧缂栧彿鏁扮粍鏄惁鍖呭惈琛ㄦ牸鏁版嵁涓殑璁惧缂栧彿锛屽鏋滃寘鍚垯閫変腑
+       * @param record
+       * @returns {{props: {defaultChecked: boolean}}}
+       */
+      getCheckboxProps(record){
+        if(this.selectedEquipmentIds){
+          let selectedEquipmentIdsArr=this.selectedEquipmentIds.split(',')
+          return {
+            props:{
+              defaultChecked: selectedEquipmentIdsArr.includes(record.equipmentId)
+            }
+          }
+        }else{
+          return {
+            props:{
+              defaultChecked:false
+            }
+          }
+        }
       }
     },
   }
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue
index bad7281..77685af 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue
@@ -6,16 +6,16 @@
         <a-row :gutter="24">
           <a-col :span="24">
             <!--<a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
-              <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"-->
-                              <!--@search="deviceSearch" enter-button/>-->
-              <!--&lt;!&ndash;<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"&ndash;&gt;-->
-                       <!--&lt;!&ndash;v-decorator="['equipmentId',validatorRules.equipmentId]"/>&ndash;&gt;-->
+            <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"-->
+            <!--@search="deviceSearch" enter-button/>-->
+            <!--&lt;!&ndash;<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"&ndash;&gt;-->
+            <!--&lt;!&ndash;v-decorator="['equipmentId',validatorRules.equipmentId]"/>&ndash;&gt;-->
             <!--</a-form-item>-->
-          <!--</a-col>-->
-          <!--<a-col :span="12">-->
+            <!--</a-col>-->
+            <!--<a-col :span="12">-->
             <!--<a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
-              <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"-->
-                       <!--v-decorator="['equipmentName',validatorRules.equipmentName]"/>-->
+            <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"-->
+            <!--v-decorator="['equipmentName',validatorRules.equipmentName]"/>-->
             <!--</a-form-item>-->
             <a-form-item label="璁惧缁�" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
               <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]"
@@ -25,32 +25,58 @@
             </a-form-item>
           </a-col>
         </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item label="缁翠慨绫诲瀷" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
+              <a-radio-group v-decorator="['mdcRepairType', validatorRules.mdcRepairType]">
+                <a-radio :value="1">
+                  缁翠慨
+                </a-radio>
+                <a-radio :value="2">
+                  浼戠彮
+                </a-radio>
+              </a-radio-group>
+            </a-form-item>
+          </a-col>
+        </a-row>
+
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="寮�濮嬫椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-date :show-time="{defaultValue:moment('08:00:00','HH:mm:ss')}" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
-                      :disabledDate="disabledDate" class="query-group-cust" v-decorator="['startTime', validatorRules.startTime]"></j-date>
+              <j-date :show-time="{defaultValue:moment('08:00:00','HH:mm:ss'),hideDisabledOptions:true}"
+                      date-format="YYYY-MM-DD HH:mm:ss"
+                      placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
+                      :disabledDate="disabledDate" class="query-group-cust"
+                      v-decorator="['startTime', validatorRules.startTime]" :disabledTime="disabledDateTime"
+                      :showToday="false"></j-date>
             </a-form-item>
           </a-col>
           <a-col :span="12">
             <a-form-item label="缁撴潫鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-date :show-time="{defaultValue:moment('08:00:00','HH:mm:ss')}" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
-                      :disabledDate="disabledDate"  class="query-group-cust" v-decorator="['endTime', validatorRules.endTime]"></j-date>
+              <j-date :show-time="{defaultValue:moment('08:00:00','HH:mm:ss'),hideDisabledOptions:true}"
+                      date-format="YYYY-MM-DD HH:mm:ss"
+                      placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
+                      :disabledDate="disabledDate" class="query-group-cust"
+                      v-decorator="['endTime', validatorRules.endTime]" :disabledTime="disabledDateTime"
+                      :showToday="false"></j-date>
             </a-form-item>
           </a-col>
         </a-row>
-        <a-row :gutter="24">
-          <a-col :span="12">
-            <a-form-item v-show="this.mesag == 1" label="缁翠慨绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" :readOnly="readOnly" placeholder="璇烽�夋嫨璁惧绫诲瀷"
-                                 :triggerChange="true"
-                                 v-decorator="['mdcRepairType', validatorRules.mdcRepairType]"/>
-            </a-form-item>
-          </a-col>
-        </a-row>
+        <!--<a-row :gutter="24">-->
+        <!--<a-col :span="12">-->
+        <!--<a-form-item v-show="this.mesag == 1" label="缁翠慨绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
+        <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" placeholder="璇烽�夋嫨璁惧绫诲瀷"-->
+        <!--:triggerChange="true"-->
+        <!--v-decorator="['mdcRepairType', validatorRules.mdcRepairType]"/>-->
+        <!--</a-form-item>-->
+        <!--</a-col>-->
+        <!--</a-row>-->
       </a-form>
     </a-spin>
-    <device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>
+    <device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"
+                              :selectedEquipmentIds="selectedEquipmentIds"
+    ></device-repair-list-model>
 
   </a-modal>
 </template>
@@ -68,22 +94,29 @@
   import {
     duplicateCheck
   } from '@/api/api'
+  import AFormItem from 'ant-design-vue/es/form/FormItem'
+  import Vue from 'vue'
 
   export default {
     name: 'DeviceRepairModel',
-    components: {DeviceRepairListModel,JDate},
-    props: {},
+    components: { AFormItem, DeviceRepairListModel, JDate },
+    props: {
+      equipmentId: {
+        type: String
+      }
+    },
+
     data() {
       return {
-        mesag:21,
-        readOnly:true,
+        mesag: 21,
+        readOnly: true,
         title: '',
         visible: false,
         show: false,
         model: {},
         checked: false,
-        startData:"",
-        endData:"",
+        startData: '',
+        endData: '',
         labelCol: {
           xs: {
             span: 24
@@ -119,30 +152,47 @@
         confirmLoading: false,
         form: this.$form.createForm(this),
         validatorRules: {
-          equipmentId:{
-            rules:[
+          equipmentIds: {
+            rules: [
               {
-                required:true,
-                message: ""
-              },
+                required: true,
+                message: '璇烽�夋嫨璁惧'
+              }
             ],
+            initialValue: ''
           },
-          equipmentName:{
-            rules:[
+          equipmentName: {
+            rules: [
               {
-                required:true,
-                message: ""
-              },
-            ],
+                required: true,
+                message: ''
+              }
+            ]
           },
-          mdcRepairType:{
-            rules:[
+          mdcRepairType: {
+            rules: [
               {
-                required:true,
-                message: ""
-              },
+                required: true,
+                message: ''
+              }
             ],
             initialValue: 1
+          },
+          startTime: {
+            rules: [
+              {
+                required: true,
+                message: '璇烽�夋嫨寮�濮嬫椂闂�'
+              }
+            ]
+          },
+          endTime: {
+            rules: [
+              {
+                required: true,
+                message: '璇烽�夋嫨缁撴潫鏃堕棿'
+              }
+            ]
           }
         },
 
@@ -153,17 +203,32 @@
 
         disableSubmit: true,
         partCategoryCascade: [],
-        cascadeDefaultValue: []
+        cascadeDefaultValue: [],
+        selectedEquipmentIds: ''
       }
+
     },
     created() {
     },
-
+    watch: {
+      // 鐩戞帶璁惧缂栧彿锛屽綋鏀瑰彉鏍戜腑閫夐」鏃跺皢鍊艰祴鍊肩粰鏂板寮圭獥鐨勮澶囩粍閫夐」
+      equipmentId: function(val) {
+        this.validatorRules.equipmentIds.initialValue = val
+      },
+      // 鐩戞帶寮圭獥鏄剧ず锛屽鏋滃叧闂垯娓呯┖宸查�夋嫨鐨勫閫夛紝濡傛灉寮�鍚垯灏嗘爲涓凡閫夋嫨椤硅祴鍊肩粰宸查�夋嫨澶氶��
+      visible: function(val) {
+        if (!val) {
+          this.selectedEquipmentIds = ''
+        } else {
+          this.selectedEquipmentIds = this.validatorRules.equipmentIds.initialValue
+        }
+      }
+    },
     methods: {
-      disabledDate(current){
+      disabledDate(current) {
         //Can not slect days before today and today
         // return current && current < moment().endOf("day");
-        return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+        return current < moment().subtract(+2, 'day').endOf('day')//鍓嶄竴澶╀箣鍓嶇殑骞存湀鏃ヤ笉鍙�夛紝涓嶅寘鎷墠涓�澶�
       },
       moment,
       // onChange(dates) {
@@ -175,31 +240,42 @@
       //   // this.endData = dateStrings[1];
       //   // console.log(this.startData,this.endData);
       // },
-      onChangeEnd(dates, dateStrings){
-        this.endTime = dateStrings[0];
+      onChangeEnd(dates, dateStrings) {
+        this.endTime = dateStrings[0]
       },
       getDeviceRows(val) {
-        var equipmentIds;
-        for(var i = 0;i<val.length;i++){
+        // var equipmentIds
+        // for (var i = 0; i < val.length; i++) {
+        //   if (i == 0) {
+        //     equipmentIds = val[i].equipmentId
+        //   } else {
+        //     equipmentIds = equipmentIds + ',' + val[i].equipmentId
+        //   }
+        // }
+        // // console.log("========",equipmentIds);
+        // this.form.setFieldsValue({
+        //   equipmentIds: equipmentIds
+        // })
+        for (var i = 0; i < val.length; i++) {
           if (i == 0) {
-            equipmentIds =  val[i].equipmentId;
+            this.selectedEquipmentIds = val[i].equipmentId
           } else {
-            equipmentIds = equipmentIds + "," + val[i].equipmentId;
+            this.selectedEquipmentIds = this.selectedEquipmentIds + ',' + val[i].equipmentId
           }
         }
         // console.log("========",equipmentIds);
         this.form.setFieldsValue({
-          equipmentIds: equipmentIds,
+          equipmentIds: this.selectedEquipmentIds
         })
-      //   this.form.setFieldsValue({
-      // equipmentId: val.equipmentId,
-      // equipmentName: val.equipmentName,
-      // equipmentModel: val.equipmentModel,
-      // equipmentIp: val.equipmentIp,
-      // dataPort: val.dataPort,
-      // driveType: val.driveType
-    // })
-  },
+        //   this.form.setFieldsValue({
+        // equipmentId: val.equipmentId,
+        // equipmentName: val.equipmentName,
+        // equipmentModel: val.equipmentModel,
+        // equipmentIp: val.equipmentIp,
+        // dataPort: val.dataPort,
+        // driveType: val.driveType
+        // })
+      },
       deviceSearch() {
         this.$refs.deviceRepairListModel.openPage()
         this.$refs.deviceRepairListModel.title = '閫夋嫨璁惧'
@@ -236,8 +312,8 @@
         this.model = Object.assign({}, record)
         this.visible = true
         this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model, 'equipmentIds', 'equipmentName', 'mdcRepairType', 'startTime', 'endTime',
-           ))
+          this.form.setFieldsValue(pick(this.model, 'equipmentIds', 'equipmentName', 'mdcRepairType', 'startTime', 'endTime'
+          ))
         })
       },
       close() {
@@ -252,62 +328,100 @@
           if (!err) {
             that.confirmLoading = true
             let formData = Object.assign(this.model, values)
-            let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss');
-            let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss');
-            let startOne = start.replace(/:/g,'');
-            let endOne = end.replace(/:/g,'');
-            var data = new Date();
-            let stertDate = moment(data).format("YYYY-MM-DD HH:mm:ss");
-            let dataStart = stertDate.replace(/:/g,'');
-            if(startOne < dataStart){
-              // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
+            let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss')
+            let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss')
+            let startOne = start.replace(/:/g, '')
+            let endOne = end.replace(/:/g, '')
+            var data = new Date()
+            let stertDate = moment(data).format('YYYY-MM-DD HH:mm:ss')
+            let dataStart = stertDate.replace(/:/g, '')
+            // if (startOne < dataStart) {
+            //   // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
+            //   that.$notification.warning({
+            //     message: '娑堟伅',
+            //     description: '寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�'
+            //   })
+            //   that.confirmLoading = false
+            // } else {
+            //   if (startOne >= endOne) {
+            //     // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+            //     that.$notification.warning({
+            //       message: '娑堟伅',
+            //       description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�'
+            //     })
+            //     // console.log(this.model)
+            //     // this.endTime = ''
+            //     that.confirmLoading = false
+            //   } else {
+            //     let obj
+            //     if (!this.model.id) {
+            //       obj = postAction(this.url.add, formData)
+            //     } else {
+            //       obj = requestPut(this.url.edit, formData, {
+            //         id: this.model.id
+            //       })
+            //     }
+            //     obj.then((res) => {
+            //       if (res.success) {
+            //         // that.$message.success("娣诲姞鎴愬姛")
+            //         that.$notification.success({
+            //           message: '娑堟伅',
+            //           description: '娣诲姞鎴愬姛'
+            //         })
+            //         // that.$message.success(res.message)
+            //         that.$emit('ok', res.result)
+            //       } else {
+            //         // that.$message.warning(res.message)
+            //         that.$notification.warning({
+            //           message: '娑堟伅',
+            //           description: res.message
+            //         })
+            //       }
+            //     }).finally(() => {
+            //       that.confirmLoading = false
+            //       that.close()
+            //     })
+            //   }
+            // }
+            if (startOne >= endOne) {
+              // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
               that.$notification.warning({
-                message:'娑堟伅',
-                description:"寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�"
-              });
+                message: '娑堟伅',
+                description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�'
+              })
+              // console.log(this.model)
+              // this.endTime = ''
               that.confirmLoading = false
-            }else{
-              if(startOne>=endOne){
-                // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
-                that.$notification.warning({
-                  message:'娑堟伅',
-                  description:"缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"
-                });
-                // console.log(this.model)
-                // this.endTime = ''
-                that.confirmLoading = false
-              }else{
-                let obj
-                if (!this.model.id) {
-                  obj = postAction(this.url.add, formData)
-                } else {
-                  obj = requestPut(this.url.edit, formData, {
-                    id: this.model.id
-                  })
-                }
-                obj.then((res) => {
-                  if (res.success) {
-                    // that.$message.success("娣诲姞鎴愬姛")
-                    that.$notification.warning({
-                      message:'娑堟伅',
-                      description:"娣诲姞鎴愬姛"
-                    });
-                    // that.$message.success(res.message)
-                    that.$emit('ok', res.result)
-                  } else {
-                    // that.$message.warning(res.message)
-                    that.$notification.warning({
-                      message:'娑堟伅',
-                      description:res.message
-                    });
-                  }
-                }).finally(() => {
-                  that.confirmLoading = false
-                  that.close()
+            } else {
+              let obj
+              if (!this.model.id) {
+                obj = postAction(this.url.add, formData)
+              } else {
+                obj = requestPut(this.url.edit, formData, {
+                  id: this.model.id
                 })
               }
+              obj.then((res) => {
+                if (res.success) {
+                  // that.$message.success("娣诲姞鎴愬姛")
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: '娣诲姞鎴愬姛'
+                  })
+                  // that.$message.success(res.message)
+                  that.$emit('ok', res.result)
+                } else {
+                  // that.$message.warning(res.message)
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              }).finally(() => {
+                that.confirmLoading = false
+                that.close()
+              })
             }
-
           }
         })
       },
@@ -347,6 +461,22 @@
       },
       checkboxChange(e) {
         this.checked = e.target.checked
+      },
+      range(start, end) {
+        const result = []
+        for (let i = start; i < end; i++) {
+          result.push(i)
+        }
+        return result
+      },
+      /**
+       * 绂佺敤鏃ユ湡閫夋嫨鍣ㄤ腑鐨勬椂闂撮�夋嫨
+       * @returns {{disabledSeconds: (function(): number[])}} 杩斿洖鍊间负涓�涓璞★紝鍙互绂佹灏忔椂銆佸垎閽熴�佺锛岀洰鍓嶄粎绂佹鎵�鏈夌鏁�,鏈�浣庝粠1寮�濮嬶紝浠�0寮�濮嬬‘瀹氭寜閽皢琚鐢�
+       */
+      disabledDateTime() {
+        return {
+          disabledSeconds: () => this.range(1, 60)
+        }
       }
     }
   }
@@ -371,4 +501,6 @@
   .ant-tabs-content .ant-form-item {
     margin-bottom: 0px;
   }
+
+
 </style>
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue
index e7fda73..e1ac1e5 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue
@@ -303,7 +303,7 @@
                 obj.then((res) => {
                   if (res.success) {
                     // that.$message.success("娣诲姞鎴愬姛")
-                    that.$notification.warning({
+                    that.$notification.success({
                       message:'娑堟伅',
                       description:"娣诲姞鎴愬姛"
                     });
diff --git a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue
index 32cf083..adac88d 100644
--- a/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue
+++ b/src/views/mdc/base/modules/deviceRepair/DeviceRepairModelEdit.vue
@@ -6,8 +6,10 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="寮�濮嬫椂闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" :disabledDate="disabledDate"
-                      class="query-group-cust" v-decorator="['startTime', validatorRules.startTime]"></j-date>
+              <j-date :show-time="{hideDisabledOptions:true}" date-format="YYYY-MM-DD HH:mm:ss"
+                      placeholder="璇烽�夋嫨寮�濮嬫椂闂�" :disabledDate="disabledDate"
+                      class="query-group-cust" v-decorator="['startTime', validatorRules.startTime]"
+                      :disabledTime="disabledDateTime" :showToday="false"></j-date>
             </a-form-item>
 
           </a-col>
@@ -21,8 +23,11 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="缁撴潫鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" :disabledDate="disabledDate"
-                      class="query-group-cust" v-decorator="['endTime', validatorRules.endTime]"></j-date>
+              <j-date :show-time="{hideDisabledOptions:true}" date-format="YYYY-MM-DD HH:mm:ss"
+                      placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
+                      :disabledDate="disabledDate"
+                      class="query-group-cust" v-decorator="['endTime', validatorRules.endTime]"
+                      :disabledTime="disabledDateTime" :showToday="false"></j-date>
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -36,7 +41,8 @@
       </a-form>
     </a-spin>
     <!--<device-repair-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-list-model>-->
-    <device-repair-edit-list-model ref="deviceRepairListModel" @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model>
+    <device-repair-edit-list-model ref="deviceRepairListModel"
+                                   @sendSelectionRows="getDeviceRows"></device-repair-edit-list-model>
   </a-modal>
 </template>
 
@@ -57,18 +63,18 @@
 
   export default {
     name: 'DeviceRepairModelEdit',
-    components: {DeviceRepairListModel,JDate,DeviceRepairEditListModel},
+    components: { DeviceRepairListModel, JDate, DeviceRepairEditListModel },
     props: {},
     data() {
       return {
-        readOnly:true,
+        readOnly: true,
         title: '',
         visible: false,
         show: false,
         model: {},
         checked: false,
-        startData:"",
-        endData:"",
+        startData: '',
+        endData: '',
         labelCol: {
           xs: {
             span: 24
@@ -104,22 +110,38 @@
         confirmLoading: false,
         form: this.$form.createForm(this),
         validatorRules: {
-          equipmentId:{
-            rules:[
+          equipmentId: {
+            rules: [
               {
-                required:true,
-                message: ""
-              },
-            ],
+                required: true,
+                message: ''
+              }
+            ]
           },
-          equipmentName:{
-            rules:[
+          equipmentName: {
+            rules: [
               {
-                required:true,
-                message: ""
-              },
-            ],
+                required: true,
+                message: ''
+              }
+            ]
           },
+          startTime: {
+            rules: [
+              {
+                required: true,
+                message: '璇烽�夋嫨寮�濮嬫椂闂�'
+              }
+            ]
+          },
+          endTime: {
+            rules: [
+              {
+                required: true,
+                message: '璇烽�夋嫨缁撴潫鏃堕棿'
+              }
+            ]
+          }
           // mdcRepairType:{
           //   rules:[
           //     {
@@ -139,17 +161,17 @@
         disableSubmit: true,
         partCategoryCascade: [],
         cascadeDefaultValue: [],
-        editStart:''
+        editStart: ''
       }
     },
     created() {
     },
 
     methods: {
-      disabledDate(current){
+      disabledDate(current) {
         //Can not slect days before today and today
         // return current && current < moment().endOf("day");
-        return current < moment().subtract(+1, 'day')//浠婂ぉ涔嬪墠鐨勫勾鏈堟棩涓嶅彲閫夛紝涓嶅寘鎷粖澶�
+        return current < moment().subtract(+2, 'day').endOf('day')//鍓嶄竴澶╀箣鍓嶇殑骞存湀鏃ヤ笉鍙�夛紝涓嶅寘鎷墠涓�澶�
       },
       moment,
       // onChange(dates) {
@@ -161,17 +183,17 @@
       //   // this.endData = dateStrings[1];
       //   // console.log(this.startData,this.endData);
       // },
-      onChangeEnd(dates, dateStrings){
-        this.endTime = dateStrings[0];
+      onChangeEnd(dates, dateStrings) {
+        this.endTime = dateStrings[0]
       },
       getDeviceRows(val) {
         this.form.setFieldsValue({
           equipmentId: val.equipmentId,
-          equipmentName: val.equipmentName,
-        //   // equipmentModel: val.equipmentModel,
-        //   // equipmentIp: val.equipmentIp,
-        //   // dataPort: val.dataPort,
-        //   // driveType: val.driveType
+          equipmentName: val.equipmentName
+          //   // equipmentModel: val.equipmentModel,
+          //   // equipmentIp: val.equipmentIp,
+          //   // dataPort: val.dataPort,
+          //   // driveType: val.driveType
         })
         // var equipmentIds;
         // for(var i = 0;i<val.length;i++){
@@ -220,10 +242,10 @@
       edit(record) {
         this.form.resetFields()
         this.model = Object.assign({}, record)
-        this.editStart  = (this.model.startTime).replace(/:/g,'');
+        this.editStart = (this.model.startTime).replace(/:/g, '')
         this.visible = true
         this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model, 'tierType', 'parentName', 'equipmentId', 'equipmentName','startTime', 'endTime',
+          this.form.setFieldsValue(pick(this.model, 'tierType', 'parentName', 'equipmentId', 'equipmentName', 'startTime', 'endTime'
           ))
         })
       },
@@ -239,113 +261,148 @@
           if (!err) {
             that.confirmLoading = true
             let formData = Object.assign(this.model, values)
-            let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss');
-            let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss');
-            let startOne = start.replace(/:/g,'');
-            let endOne = end.replace(/:/g,'');
-            var data = new Date();
-            let stertDate = moment(data).format("YYYY-MM-DD HH:mm:ss");
-            let dataStart = stertDate.replace(/:/g,'');
-            if(this.editStart != startOne){
-              if(startOne < dataStart) {
-                // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
-                that.$notification.warning({
-                  message:'娑堟伅',
-                  description:"寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�"
-                });
-                that.confirmLoading = false
-              }else{
-                if(startOne>=endOne){
-                  // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:"缁撴潫鏃堕棿涓嶈兘灏忎簬褰撳墠鏃堕棿"
-                  });
-                  // console.log(this.model)
-                  // this.endTime = ''
-                  that.confirmLoading = false
-
-                }else{
-
-                  let obj
-                  if (!this.model.id) {
-                    obj = postAction(this.url.add, formData)
-                  } else {
-
-                    obj = requestPut(this.url.edit, formData, {
-                      id: this.model.id
-                    })
-                    let shijian = startOne
-                  }
-                  obj.then((res) => {
-                    if (res.success) {
-                      // that.$message.success("淇敼鎴愬姛")
-                      // that.$message.success(res.message)
-                      that.$notification.warning({
-                        message:'娑堟伅',
-                        description:res.message
-                      });
-                      that.$emit('ok', res.result)
-                    } else {
-                      // that.$message.warning(res.message)
-                      that.$notification.warning({
-                        message:'娑堟伅',
-                        description:res.message
-                      });
-                    }
-                  }).finally(() => {
-                    that.confirmLoading = false
-                    that.close()
-                  })
-                }
-              }
-            }else{
-              if(startOne>=endOne){
-                // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
-                that.$notification.warning({
-                  message:'娑堟伅',
-                  description:"缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�"
-                });
-                // console.log(this.model)
-                // this.endTime = ''
-                that.confirmLoading = false
-
-              }else{
-
-                let obj
-                if (!this.model.id) {
-                  obj = postAction(this.url.add, formData)
-                } else {
-
-                  obj = requestPut(this.url.edit, formData, {
-                    id: this.model.id
-                  })
-                  let shijian = startOne
-                }
-                obj.then((res) => {
-                  if (res.success) {
-                    // that.$message.success("淇敼鎴愬姛")
-                    // that.$message.success(res.message)
-                    that.$notification.warning({
-                      message:'娑堟伅',
-                      description:res.message
-                    });
-                    that.$emit('ok', res.result)
-                  } else {
-                    // that.$message.warning(res.message)
-                    that.$notification.warning({
-                      message:'娑堟伅',
-                      description:res.message
-                    });
-                  }
-                }).finally(() => {
-                  that.confirmLoading = false
-                  that.close()
+            let start = moment(formData.startTime).format('YYYY-MM-DD HH:mm:ss')
+            let end = moment(formData.endTime).format('YYYY-MM-DD HH:mm:ss')
+            let startOne = start.replace(/:/g, '')
+            let endOne = end.replace(/:/g, '')
+            var data = new Date()
+            let stertDate = moment(data).format('YYYY-MM-DD HH:mm:ss')
+            let dataStart = stertDate.replace(/:/g, '')
+            // if (this.editStart != startOne) {
+            //   if (startOne < dataStart) {
+            //     // that.$message.warning("寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�")
+            //     that.$notification.warning({
+            //       message: '娑堟伅',
+            //       description: '寮�濮嬫椂闂翠笉鑳藉皬浜庡綋鍓嶆椂闂�'
+            //     })
+            //     that.confirmLoading = false
+            //   } else {
+            //     if (startOne >= endOne) {
+            //       // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+            //       that.$notification.warning({
+            //         message: '娑堟伅',
+            //         description: '缁撴潫鏃堕棿涓嶈兘灏忎簬褰撳墠鏃堕棿'
+            //       })
+            //       // console.log(this.model)
+            //       // this.endTime = ''
+            //       that.confirmLoading = false
+            //
+            //     } else {
+            //       let obj
+            //       if (!this.model.id) {
+            //         obj = postAction(this.url.add, formData)
+            //       } else {
+            //
+            //         obj = requestPut(this.url.edit, formData, {
+            //           id: this.model.id
+            //         })
+            //         let shijian = startOne
+            //       }
+            //       obj.then((res) => {
+            //         if (res.success) {
+            //           // that.$message.success("淇敼鎴愬姛")
+            //           // that.$message.success(res.message)
+            //           that.$notification.success({
+            //             message: '娑堟伅',
+            //             description: res.message
+            //           })
+            //           that.$emit('ok', res.result)
+            //         } else {
+            //           // that.$message.warning(res.message)
+            //           that.$notification.warning({
+            //             message: '娑堟伅',
+            //             description: res.message
+            //           })
+            //         }
+            //       }).finally(() => {
+            //         that.confirmLoading = false
+            //         that.close()
+            //       })
+            //     }
+            //   }
+            // } else {
+            //   if (startOne >= endOne) {
+            //     // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+            //     that.$notification.warning({
+            //       message: '娑堟伅',
+            //       description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�'
+            //     })
+            //     // console.log(this.model)
+            //     // this.endTime = ''
+            //     that.confirmLoading = false
+            //
+            //   } else {
+            //     let obj
+            //     if (!this.model.id) {
+            //       obj = postAction(this.url.add, formData)
+            //     } else {
+            //
+            //       obj = requestPut(this.url.edit, formData, {
+            //         id: this.model.id
+            //       })
+            //       let shijian = startOne
+            //     }
+            //     obj.then((res) => {
+            //       if (res.success) {
+            //         // that.$message.success("淇敼鎴愬姛")
+            //         // that.$message.success(res.message)
+            //         that.$notification.success({
+            //           message: '娑堟伅',
+            //           description: res.message
+            //         })
+            //         that.$emit('ok', res.result)
+            //       } else {
+            //         // that.$message.warning(res.message)
+            //         that.$notification.warning({
+            //           message: '娑堟伅',
+            //           description: res.message
+            //         })
+            //       }
+            //     }).finally(() => {
+            //       that.confirmLoading = false
+            //       that.close()
+            //     })
+            //   }
+            // }
+            if (startOne >= endOne) {
+              // that.$message.warning("缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�");
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: '缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�'
+              })
+              // console.log(this.model)
+              // this.endTime = ''
+              that.confirmLoading = false
+            } else {
+              let obj
+              if (!this.model.id) {
+                obj = postAction(this.url.add, formData)
+              } else {
+                obj = requestPut(this.url.edit, formData, {
+                  id: this.model.id
                 })
               }
+              obj.then((res) => {
+                if (res.success) {
+                  // that.$message.success("娣诲姞鎴愬姛")
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: '淇敼鎴愬姛'
+                  })
+                  // that.$message.success(res.message)
+                  that.$emit('ok', res.result)
+                } else {
+                  // that.$message.warning(res.message)
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              }).finally(() => {
+                that.confirmLoading = false
+                that.close()
+              })
             }
-
-
           }
         })
       },
@@ -385,6 +442,22 @@
       },
       checkboxChange(e) {
         this.checked = e.target.checked
+      },
+      range(start, end) {
+        const result = []
+        for (let i = start; i < end; i++) {
+          result.push(i)
+        }
+        return result
+      },
+      /**
+       * 绂佺敤鏃ユ湡閫夋嫨鍣ㄤ腑鐨勬椂闂撮�夋嫨
+       * @returns {{disabledSeconds: (function(): number[])}} 杩斿洖鍊间负涓�涓璞★紝鍙互绂佹灏忔椂銆佸垎閽熴�佺锛岀洰鍓嶄粎绂佹鎵�鏈夌鏁�,鏈�浣庝粠1寮�濮嬶紝浠�0寮�濮嬬‘瀹氭寜閽皢琚鐢�
+       */
+      disabledDateTime() {
+        return {
+          disabledSeconds: () => this.range(1, 60)
+        }
       }
     }
   }
diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index 15e6758..ceb9705 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -10,13 +10,13 @@
                 <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/>
               </a-form-item>
             </a-col>
-            <a-col :lg="3" :md="3" :sm="3" :xs="3">
+            <a-col :lg="2" :md="3" :sm="3" :xs="3">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
             </a-col>
-            <a-col :lg="3"  :md="3" :sm="3" :xs="3">
+            <a-col :lg="2"  :md="3" :sm="3" :xs="3">
               <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
             </a-col>
-            <a-col :lg="3" :md="3" :sm="3" :xs="3">
+            <a-col :lg="2" :md="3" :sm="3" :xs="3">
               <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
             </a-col>
           </a-row>
@@ -329,6 +329,8 @@
     dateParamChange(v1, v2) {
       this.queryParam.startTime = v2[0]
       this.queryParam.endTime = v2[1]
+      // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
+      if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
     },
     efficiencyOptionsOnChange(checkedList) {
       let index = checkedList.indexOf('lyl')
@@ -343,14 +345,21 @@
       this.checkedList = checkedList
     },
     searchQuery() {
-      if(this.queryParam.typeTree == "1"){
-        this.queryParam.parentId =  this.queryParamEquip.parentId
-        this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+      if(this.dates != ''){
+        if(this.queryParam.typeTree == "1"){
+          this.queryParam.parentId =  this.queryParamEquip.parentId
+          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        }else{
+          this.queryParam.parentId = this.queryParamPeople.parentId
+          this.queryParam.equipmentId = ""
+        }
+        this.loadData()
       }else{
-        this.queryParam.parentId = this.queryParamPeople.parentId
-        this.queryParam.equipmentId = ""
+        this.$notification.warning({
+          message:'娑堟伅',
+          description:"璇烽�夋嫨鏃堕棿"
+        });
       }
-      this.loadData()
       // this.onClearSelected()
     },
     searchReset() {
diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
index a42a1c8..e679650 100644
--- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
+++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -142,7 +142,7 @@
       dataList: [],
       url: {
         list: '/mdc/efficiencyReport/efficiencyList',
-        listByType: '/mdc/MdcUtilizationRate/getByType'
+        listByType: '/mdc/MdcUtilizationRate/getByType',
       },
       tableHeads: [],
 
@@ -319,7 +319,7 @@
       $("#Efficiency").table2excel({
         exclude: ".noExl",
         name: "Excel Document Name",
-        filename: "鍒╃敤鐜�",
+        filename: "璁惧鍒╃敤鐜�",
         exclude_img: true,
         fileext: ".xls",
         exclude_links: true,
@@ -336,6 +336,8 @@
     dateParamChange(v1, v2) {
       this.queryParam.startTime = v2[0]
       this.queryParam.endTime = v2[1]
+      // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
+      if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
     },
     efficiencyOptionsOnChange(checkedList) {
       let index = checkedList.indexOf('lyl')
@@ -374,14 +376,21 @@
     //   // this.onClearSelected()
     // },
     searchQuery() {
-      if(this.queryParam.typeTree == "1"){
-        this.queryParam.parentId =  this.queryParamEquip.parentId
-        this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+      if(this.dates != ''){
+        if(this.queryParam.typeTree == "1"){
+          this.queryParam.parentId =  this.queryParamEquip.parentId
+          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        }else{
+          this.queryParam.parentId = this.queryParamPeople.parentId
+          this.queryParam.equipmentId = ""
+        }
+        this.loadData()
       }else{
-        this.queryParam.parentId = this.queryParamPeople.parentId
-        this.queryParam.equipmentId = ""
+        this.$notification.warning({
+          message:'娑堟伅',
+          description:"璇烽�夋嫨鏃堕棿"
+        });
       }
-      this.loadData()
       // this.onClearSelected()
     },
     searchReset() {
diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
index 19f2705..a5a6391 100644
--- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
+++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -33,7 +33,7 @@
 
           </a-row>
           <a-row :gutter="24">
-            <a-col :md="14" :sm="14" :xs="14">
+            <a-col :md="15" :sm="15" :xs="15">
               <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                 @change="efficiencyOptionsOnChange"/>
             </a-col>
@@ -49,7 +49,7 @@
           </a-row>
         </a-form>
       </div>
-        <div style="width: 400px;top: 20px; right: 0px;">
+        <div style="width: 530px;top: 20px; right: 0px;">
         <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
           <tr>
             <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -370,11 +370,11 @@
         })
       },
       initShiftSubList(val) {
-        this.queryParam.shiftSubId = null;
+        //姣忔閲嶆柊閫夋嫨鐝埗鏃剁彮娆℃竻绌轰笖鏄剧ずplaceholder鍐呭
+        this.queryParam.shiftSubId = undefined;
         getAction(this.url.initShiftSubList, { shiftId: val }).then((res) => {
           if (res.success) {
             this.shiftSubList = res.result;
-
           }
         })
       },
@@ -406,6 +406,8 @@
       dateParamChange(v1, v2) {
         this.queryParam.startTime = v2[0]
         this.queryParam.endTime = v2[1]
+        // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
+        if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
       },
       efficiencyOptionsOnChange(checkedList) {
         let index = checkedList.indexOf('lyl')
@@ -420,14 +422,22 @@
         this.checkedList = checkedList
       },
       searchQuery() {
-        if(this.queryParam.typeTree == "1"){
-          this.queryParam.parentId =  this.queryParamEquip.parentId
-          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        if(this.dates != ''){
+          if(this.queryParam.typeTree == "1"){
+            this.queryParam.parentId =  this.queryParamEquip.parentId
+            this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+          }else{
+            this.queryParam.parentId = this.queryParamPeople.parentId
+            this.queryParam.equipmentId = ""
+          }
+          this.loadData()
         }else{
-          this.queryParam.parentId = this.queryParamPeople.parentId
-          this.queryParam.equipmentId = ""
+          // this.$message.warning("璇烽�夋嫨鏃堕棿")
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:"璇烽�夋嫨鏃堕棿"
+          });
         }
-        this.loadData()
         // this.onClearSelected()
       },
       searchReset() {
diff --git a/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue b/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue
index fd413b7..faba4d8 100644
--- a/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue
+++ b/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue
@@ -1,52 +1,53 @@
 <template>
-  <a-card :bordered="false" class="device_list">
-    <div class="com_box">
-      <!-- 鏌ヨ鍖哄煙 -->
-      <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="searchQuery">
-          <a-row :gutter="24">
-            <a-col :md="4" :sm="4">
-              <a-form-item label="璁惧缂栧彿">
-                <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :md="4" :sm="4">
-              <a-form-item label="璁惧鍚嶇О">
-                <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :md="5" :sm="5" :xs="5">
-              <a-form-item label="鏃堕棿">
-                <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYYMMDD"/>
-              </a-form-item>
-            </a-col>
-            <a-col :md="7" :sm="7" :xs="7">
-             <a-form-item label="鏃堕棿娈�">
-               <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart" />
-               鑷�
-               <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd" />
-             </a-form-item>
-            </a-col>
-            <a-col :md="2" :sm="3" :xs="3">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-            </a-col>
-            <!--<a-col :md="2" :sm="2" :xs="2">-->
-            <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
-            <!--</a-col>-->
-          </a-row>
-        </a-form>
-      </div>
-      <!-- table鍖哄煙-begin -->
-      <div id="DeviceList">
-
-        <div style="padding: 5px;width: 100%;height: 100%">
-          <div style="width: 100%;height: 100%" id="dayAvailBar"></div>
-          <!--<div id="dayAvailLine"></div>-->
+  <a-spin :spinning="loading">
+    <a-card :bordered="false" class="device_list">
+      <div class="com_box">
+        <!-- 鏌ヨ鍖哄煙 -->
+        <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
+          <a-form layout="inline" @keyup.enter.native="searchQuery">
+            <a-row :gutter="24">
+              <a-col :md="4" :sm="4">
+                <a-form-item label="璁惧缂栧彿">
+                  <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="4" :sm="4">
+                <a-form-item label="璁惧鍚嶇О">
+                  <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
+                </a-form-item>
+              </a-col>
+              <a-col :md="5" :sm="5" :xs="5">
+                <a-form-item label="鏃堕棿">
+                  <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="7" :sm="7" :xs="7">
+                <a-form-item label="鏃堕棿娈�">
+                  <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart"/>
+                  鑷�
+                  <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="2" :sm="3" :xs="3">
+                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              </a-col>
+              <!--<a-col :md="2" :sm="2" :xs="2">-->
+              <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+              <!--</a-col>-->
+            </a-row>
+          </a-form>
         </div>
+        <!-- table鍖哄煙-begin -->
+        <div id="DeviceList">
+          <div style="padding: 5px;width: 100%;height: 100%">
+            <div style="width: 100%;height: 100%" id="dayAvailBar"></div>
+            <!--<div id="dayAvailLine"></div>-->
+          </div>
+        </div>
+        <!-- table鍖哄煙-end -->
       </div>
-      <!-- table鍖哄煙-end -->
-    </div>
-  </a-card>
+    </a-card>
+  </a-spin>
 </template>
 
 <script>
@@ -68,6 +69,7 @@
   import Tooltip from 'ant-design-vue/es/tooltip'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
   import AFormItem from 'ant-design-vue/es/form/FormItem'
+
   export default {
     name: 'equipmentAvailCompareMain',
     // mixins: [JeecgListMixin],
@@ -82,37 +84,38 @@
       JDate,
       JEllipsis
     },
-    props: {  nodeTree: '', Type:'',nodePeople: '' },
+    props: { nodeTree: '', Type: '', nodePeople: '' },
     data() {
       return {
         activeKey: '1',
-        typeTree:"",
-        typeParent:1,
-        typeEquipment:1,
-        spaceTime:[],
-        useingRates:[],
+        typeTree: '',
+        typeParent: 1,
+        typeEquipment: 1,
+        spaceTime: [],
+        useingRates: [],
         dates: [],
-        xianshi:"",
-        readOnly:true,
+        xianshi: '',
+        readOnly: true,
         queryParam: {
           // dateTime:undefined,
           // timeType:'2'
         },
-        queryParams:{},
-        queryParamEquip:{},
-        queryParamPeople:{},
-        dataStartsoucre:[],
+        queryParams: {},
+        queryParamEquip: {},
+        queryParamPeople: {},
+        dataStartsoucre: [],
         url: {
-          dayUtilizationRateContrast:'/mdc/efficiencyReport/dayUtilizationRateContrast',
+          dayUtilizationRateContrast: '/mdc/efficiencyReport/dayUtilizationRateContrast',
           getEquipmentByPid: '/mdc/mdcEquipment/getEquipmentByPid',
-          getEquipmentByDepPid:'/mdc/mdcEquipment/getEquipmentByDepPid'
+          getEquipmentByDepPid: '/mdc/mdcEquipment/getEquipmentByDepPid'
         },
-        AnalysisList:{}
+        AnalysisList: {},
+        loading: false
       }
     },
-    watch:{
-      Type(valmath){
-        this.dataList = [];
+    watch: {
+      Type(valmath) {
+        this.dataList = []
         this.queryParams.typeTree = valmath
         // console.log(this.queryParams.typeTree)
       },
@@ -120,7 +123,7 @@
         if (JSON.stringify(val) != '{}') {
           if (val.equipmentId) {
             // this.$set(this.queryParam, 'tierName', val.title)
-            this.queryParamEquip.parentId =  ""
+            this.queryParamEquip.parentId = ''
             this.queryParams.equipmentId = val.equipmentId
             this.queryParamEquip.equipmentId = val.equipmentId
             this.searchQuery()
@@ -131,14 +134,13 @@
             this.initEquipment(val.key)
           }
 
-
         }
       },
-      nodePeople(val){
+      nodePeople(val) {
         if (JSON.stringify(val) != '{}') {
           if (val.equipmentId) {
             // this.$set(this.queryParam, 'tierName', val.title)
-            this.queryParamEquip.parentId =  ""
+            this.queryParamEquip.parentId = ''
             this.queryParams.equipmentId = val.equipmentId
             this.queryParamEquip.equipmentId = val.equipmentId
             this.searchQuery()
@@ -153,8 +155,8 @@
       }
     },
     methods: {
-      drawTu(){
-        let dayAvailBar = this.$echarts.init(document.getElementById('dayAvailBar'), 'macarons');
+      drawTu() {
+        let dayAvailBar = this.$echarts.init(document.getElementById('dayAvailBar'), 'macarons')
         //dayAvailLine = echarts.init(document.getElementById('dayAvailLine'));
         let dayAvailBarOption = {
           title: {
@@ -163,21 +165,21 @@
             textStyle: {
               fontSize: 18,
               fontWeight: 'bolder',
-              color: "#151414"
+              color: '#151414'
             }
           },
           tooltip: {
             trigger: 'axis',
-            formatter: "{a} <br/>{b} :({c}%)"
+            formatter: '{a} <br/>{b} :({c}%)'
           },
           toolbox: {
             show: true,
             feature: {
-              mark: {show: true},
-              dataView: {show: true, readOnly: false},
-              magicType: {show: true, type: ['line', 'bar']},
-              restore: {show: true},
-              saveAsImage: {show: true}
+              mark: { show: true },
+              dataView: { show: true, readOnly: false },
+              magicType: { show: true, type: ['line', 'bar'] },
+              restore: { show: true },
+              saveAsImage: { show: true }
             }
           },
           calculable: true, //鏄惁鍚敤鎷栨嫿閲嶈绠楃壒鎬�
@@ -208,14 +210,14 @@
               data: this.useingRates,
               markPoint: {
                 data: [
-                  {type: 'max', name: '鏈�澶у��', symbolSize: 70},
-                  {type: 'min', name: '鏈�灏忓��', symbolSize: 70}
+                  { type: 'max', name: '鏈�澶у��', symbolSize: 70 },
+                  { type: 'min', name: '鏈�灏忓��', symbolSize: 70 }
                 ]
               }
             }
           ]
-        };
-        dayAvailBar.setOption(dayAvailBarOption);
+        }
+        dayAvailBar.setOption(dayAvailBarOption)
       },
       moment,
       onChangeStart(time, timeString) {
@@ -226,12 +228,12 @@
         this.queryParam.endTime = timeString
         // console.log(time, timeString);
       },
-      disabledDate(current){
+      disabledDate(current) {
         //Can not slect days before today and today
-        return current && current > moment().subtract('days', 1);
+        return current && current > moment().subtract('days', 1)
       },
       dataChange(val) {
-        this.queryParam.dateTime = val.format('YYYYMMDD')
+        if (val) this.queryParam.dateTime = val.format('YYYYMMDD')
       },
       handleChange(value) {
         this.queryParam.timeType = value
@@ -246,11 +248,12 @@
         this.queryParam.endDate = v2[1]
         // console.log(v2[0],v2[1])
       },
-      loadAnalysis(){
-        getAction(this.url.dayUtilizationRateContrast,this.queryParam).then(res => {
+      loadAnalysis() {
+        this.loading = true
+        getAction(this.url.dayUtilizationRateContrast, this.queryParam).then(res => {
           if (res.success) {
             this.spaceTime.push(res.result.dataList)
-            for(let i = 0;i<res.result.dayRateDto.length;i++){
+            for (let i = 0; i < res.result.dayRateDto.length; i++) {
               this.useingRates.push(res.result.dayRateDto[i].utilizationRate)
             }
             this.drawTu()
@@ -268,112 +271,120 @@
           return '0'
         }
       },
-      searchQuery(){
-        this.spaceTime = []
-        this.useingRates = []
-        if(this.queryParams.typeTree == "1"){
-          this.queryParams.parentId =  this.queryParamEquip.parentId
-          // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
+      searchQuery() {
+        if (this.queryParam.startTime && this.queryParam.endTime && this.dates && this.dates.length > 0) {
+          this.loading = true
+          this.spaceTime = []
+          this.useingRates = []
+          if (this.queryParams.typeTree == '1') {
+            this.queryParams.parentId = this.queryParamEquip.parentId
+            // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
 
-        }else{
-          this.queryParams.parentId = this.queryParamEquip.parentId
-
-          // this.queryParams.equipmentId = ""
-        }
-        this.AnalysisList = [];
-        //鑾峰彇鏌ヨ鏉′欢
-        this.queryParam.parentId = this.queryParams.parentId;
-        this.queryParam.equipmentId = this.queryParams.equipmentId;
-        this.queryParam.typeTree = this.queryParams.typeTree
-        getAction(this.url.dayUtilizationRateContrast,this.queryParam).then((res) => {
-          if(res.success){
-            this.spaceTime=res.result.dateList
-            for(let i = 0;i<res.result.dayRateDto.length;i++){
-              // res.result[i].useRateDayShift = this.numFilter(res.result[i].useRateDayShift)
-              this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
-            }
-            this.drawTu()
-          }else{
-            // this.$message.warning(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
+          } else {
+            this.queryParams.parentId = this.queryParamEquip.parentId
+            // this.queryParams.equipmentId = ""
           }
-        }).finally(() => {
-          this.loading = false
-        })
+          this.AnalysisList = []
+          //鑾峰彇鏌ヨ鏉′欢
+          this.queryParam.parentId = this.queryParams.parentId
+          this.queryParam.equipmentId = this.queryParams.equipmentId
+          this.queryParam.typeTree = this.queryParams.typeTree
+          getAction(this.url.dayUtilizationRateContrast, this.queryParam).then((res) => {
+            if (res.success) {
+              this.spaceTime = res.result.dateList
+              for (let i = 0; i < res.result.dayRateDto.length; i++) {
+                // res.result[i].useRateDayShift = this.numFilter(res.result[i].useRateDayShift)
+                this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
+              }
+              this.drawTu()
+            } else {
+              // this.$message.warning(res.message)
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          }).finally(() => {
+            this.loading = false
+          })
+        } else {
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: '璇烽�夋嫨鏃堕棿鎴栨椂闂存'
+          })
+        }
       },
       searchReset() {
+        this.loading = true
         this.spaceTime = []
         this.useingRates = []
-        if(this.queryParams.typeTree == "1"){
+        if (this.queryParams.typeTree == '1') {
           this.typeTree = this.queryParams.typeTree
-          this.typeParent =  this.queryParams.parentId
+          this.typeParent = this.queryParams.parentId
           this.typeEquipment = this.queryParams.equipmentId
           this.queryParams = {}
           this.queryParam = {}
           this.queryParams.typeTree = this.typeTree
           this.queryParams.parentId = this.typeParent
-          if(this.queryParams.parentId !=  ""){
-            this.queryParams.equipmentId =  ""
+          if (this.queryParams.parentId != '') {
+            this.queryParams.equipmentId = ''
             this.initEquipment()
-          }else{
-            if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
-              this.queryParams.equipmentId =  this.typeEquipment
-            }else{
+          } else {
+            if (this.queryParams.equipmentId == this.queryParamEquip.equipmentId) {
+              this.queryParams.equipmentId = this.typeEquipment
+            } else {
               this.queryParams.equipmentId = this.queryParamEquip.equipmentId
             }
           }
-          getAction(this.url.dayUtilizationRateContrast,this.queryParams).then((res) => {
-            if(res.success){
-              this.spaceTime=res.result.dateList
-              for(let i = 0;i<res.result.dayRateDto.length;i++){
+          getAction(this.url.dayUtilizationRateContrast, this.queryParams).then((res) => {
+            if (res.success) {
+              this.spaceTime = res.result.dateList
+              for (let i = 0; i < res.result.dayRateDto.length; i++) {
                 this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
               }
               this.drawTu()
-            }else{
+            } else {
               // this.$message.warning(res.message)
               this.$notification.warning({
-                message:'娑堟伅',
-                description:res.message
-              });
+                message: '娑堟伅',
+                description: res.message
+              })
             }
           }).finally(() => {
             this.loading = false
           })
-        }else{
+        } else {
           this.typeTree = this.queryParams.typeTree
-          this.typeParent =  this.queryParams.parentId
+          this.typeParent = this.queryParams.parentId
           this.typeEquipment = this.queryParams.equipmentId
           this.queryParams = {}
           this.queryParam = {}
           this.dates = []
           this.queryParams.typeTree = this.typeTree
           this.queryParams.parentId = this.typeParent
-          if(this.queryParams.parentId !=  ""){
-            this.queryParams.equipmentId =  ""
+          if (this.queryParams.parentId != '') {
+            this.queryParams.equipmentId = ''
             this.initEquipment()
-          }else{
-            if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
-              this.queryParams.equipmentId =  this.typeEquipment
-            }else{
+          } else {
+            if (this.queryParams.equipmentId == this.queryParamEquip.equipmentId) {
+              this.queryParams.equipmentId = this.typeEquipment
+            } else {
               this.queryParams.equipmentId = this.queryParamEquip.equipmentId
             }
           }
-          getAction(this.url.dayUtilizationRateContrast,this.queryParams).then((res) => {
-            if(res.success){
-              this.spaceTime=res.result.dateList
-              for(let i = 0;i<res.result.dayRateDto.length;i++){
+          getAction(this.url.dayUtilizationRateContrast, this.queryParams).then((res) => {
+            if (res.success) {
+              this.spaceTime = res.result.dateList
+              for (let i = 0; i < res.result.dayRateDto.length; i++) {
                 this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
               }
               this.drawTu()
-            }else{
+            } else {
               // this.$message.warning(res.message)
               this.$notification.warning({
-                message:'娑堟伅',
-                description:res.message
-              });
+                message: '娑堟伅',
+                description: res.message
+              })
             }
           }).finally(() => {
             this.loading = false
@@ -397,16 +408,16 @@
               this.equipment = {}
               // _this.$message.warning('璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒')
               _this.$notification.warning({
-                message:'娑堟伅',
-                description:'璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒'
-              });
+                message: '娑堟伅',
+                description: '璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒'
+              })
             }
-          }else{
+          } else {
             // this.$message.warning(res.message)
             _this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
+              message: '娑堟伅',
+              description: res.message
+            })
           }
         })
       },
@@ -426,16 +437,16 @@
               this.equipment = {}
               // _this.$message.warning('璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒')
               _this.$notification.warning({
-                message:'娑堟伅',
-                description:'璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒'
-              });
+                message: '娑堟伅',
+                description: '璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒'
+              })
             }
-          }else{
+          } else {
             // this.$message.warning(res.message)
             _this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
+              message: '娑堟伅',
+              description: res.message
+            })
           }
         })
       }
@@ -445,68 +456,75 @@
       this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD')
       this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD')
       this.queryParam.startTime = '00:00'
-      this.queryParam.endTime = "08:00"
-      this.queryParams.typeTree = "1";
-
+      this.queryParam.endTime = '08:00'
+      this.queryParams.typeTree = '1'
 
     },
     mounted() {
       this.initEquipment()
-    },
+    }
   }
 </script>
 
 <style lang="less" scoped>
   /*@import '~@assets/less/common.less';*/
 
-  @media screen and (min-width: 1920px){
-    .device_list{
-      height: 811px!important;
+  @media screen and (min-width: 1920px) {
+    .device_list {
+      height: 811px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1680px) and (max-width: 1920px){
-    .device_list{
-      height: 811px!important;
+
+  @media screen and (min-width: 1680px) and (max-width: 1920px) {
+    .device_list {
+      height: 811px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1400px) and (max-width: 1680px){
-    .device_list{
-      height: 663px!important;
+
+  @media screen and (min-width: 1400px) and (max-width: 1680px) {
+    .device_list {
+      height: 663px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1280px) and (max-width: 1400px){
-    .device_list{
-      height: 564px!important;
+
+  @media screen and (min-width: 1280px) and (max-width: 1400px) {
+    .device_list {
+      height: 564px !important;
       overflow: scroll;
     }
   }
-  @media screen and (max-width: 1280px){
-    .device_list{
-      height: 564px!important;
+
+  @media screen and (max-width: 1280px) {
+    .device_list {
+      height: 564px !important;
       overflow: scroll;
     }
   }
+
   /*.device_list{*/
   /*display: flex;*/
   /*}*/
   /*.device_list .table-page-search-wrapper{*/
   /**/
   /*}*/
-  /deep/ .ant-card-body{
-    height: 100%!important;
+  /deep/ .ant-card-body {
+    height: 100% !important;
   }
-  .device_list .com_box{
-    display: flex!important;
-    height: 100%!important;
-    flex-direction: column!important;
+
+  .device_list .com_box {
+    display: flex !important;
+    height: 100% !important;
+    flex-direction: column !important;
   }
-  .device_list .table-page-search-wrapper{
-    height: 6%!important;
+
+  .device_list .table-page-search-wrapper {
+    height: 6% !important;
   }
-  .device_list #DeviceList{
-    height: 90%!important;
+
+  .device_list #DeviceList {
+    height: 90% !important;
   }
 </style>
diff --git a/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue b/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue
index 1f9b37a..fa95c5d 100644
--- a/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue
+++ b/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue
@@ -15,7 +15,7 @@
                 <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
               </a-form-item>
             </a-col>
-            <a-col :md="5" :sm="5" :xs="5">
+            <a-col :md="4" :sm="4" :xs="4">
               <a-form-item label="鏃ユ湡">
                 <a-date-picker v-model="queryParam.dateTime" :disabledDate="disabledDate" format='YYYYMMDD' @change="dataChange"/>
               </a-form-item>
@@ -38,7 +38,7 @@
                 </a-select>灏忔椂
               </a-form-item>
             </a-col>
-            <a-col :md="2" :sm="3" :xs="3">
+            <a-col :md="3" :sm="3" :xs="3">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
             </a-col>
             <!--<a-col :md="2" :sm="2" :xs="2">-->
@@ -276,39 +276,47 @@
         }
       },
       searchQuery(){
-        this.spaceTime = []
-        this.useingRates = []
-        if(this.queryParams.typeTree == "1"){
-          this.queryParams.parentId =  this.queryParamEquip.parentId
-          // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
+        if(this.queryParam.dateTime){
+          this.spaceTime = []
+          this.useingRates = []
+          if(this.queryParams.typeTree == "1"){
+            this.queryParams.parentId =  this.queryParamEquip.parentId
+            // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
 
-        }else{
-          this.queryParams.parentId = this.queryParamEquip.parentId
-
-          // this.queryParams.equipmentId = ""
-        }
-        this.AnalysisList = [];
-        //鑾峰彇鏌ヨ鏉′欢
-        this.queryParam.parentId = this.queryParams.parentId;
-        this.queryParam.equipmentId = this.queryParams.equipmentId;
-        this.queryParam.typeTree = this.queryParams.typeTree
-        getAction(this.url.dayUtilizationRate,this.queryParam).then((res) => {
-          if(res.success){
-            this.spaceTime=res.result.dateList
-            for(var i = 0;i<res.result.dayRateDto.length;i++){
-              this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
-            }
-            this.drawTu()
           }else{
-            // this.$message.warning(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
+            this.queryParams.parentId = this.queryParamEquip.parentId
+
+            // this.queryParams.equipmentId = ""
           }
-        }).finally(() => {
-          this.loading = false
-        })
+          this.AnalysisList = [];
+          //鑾峰彇鏌ヨ鏉′欢
+          this.queryParam.parentId = this.queryParams.parentId;
+          this.queryParam.equipmentId = this.queryParams.equipmentId;
+          this.queryParam.typeTree = this.queryParams.typeTree
+          getAction(this.url.dayUtilizationRate,this.queryParam).then((res) => {
+            if(res.success){
+              this.spaceTime=res.result.dateList
+              for(var i = 0;i<res.result.dayRateDto.length;i++){
+                this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate))
+              }
+              this.drawTu()
+            }else{
+              // this.$message.warning(res.message)
+              this.$notification.warning({
+                message:'娑堟伅',
+                description:res.message
+              });
+            }
+          }).finally(() => {
+            this.loading = false
+          })
+        }else{
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:'璇烽�夋嫨鏃堕棿'
+          });
+        }
+
       },
       searchReset() {
         this.spaceTime = []
diff --git a/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigForm.vue b/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigForm.vue
index b7191fc..922bbe8 100644
--- a/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigForm.vue
+++ b/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigForm.vue
@@ -15,11 +15,17 @@
               :wrapperCol="wrapperCol"
               prop="controlSystemType"
             >
-              <j-dict-select-tag
-                type="list"
+              <!--<j-dict-select-tag-->
+                <!--type="list"-->
+                <!--v-model="model.controlSystemType"-->
+                <!--dictCode="mdc_driveType"-->
+                <!--placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"-->
+              <!--/>-->
+              <a-auto-complete
                 v-model="model.controlSystemType"
-                dictCode="mdc_driveType"
+                :data-source="driveTypeList"
                 placeholder="璇烽�夋嫨鎺у埗绯荤粺绫诲瀷"
+                :filter-option="filterOption"
               />
             </a-form-model-item>
           </a-col>
@@ -104,6 +110,9 @@
       type: Boolean,
       default: false,
       required: false
+    },
+    driveTypeList:{
+      type:Object
     }
   },
   data() {
@@ -181,7 +190,7 @@
           httpAction(httpurl, this.model, method).then((res) => {
             if (res.success) {
               // that.$message.success(res.message);
-              that.$notification.warning({
+              that.$notification.success({
                 message:'娑堟伅',
                 description:res.message
               });
diff --git a/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal.vue b/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal.vue
index 274b559..8a27522 100644
--- a/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal.vue
+++ b/src/views/mdc/base/modules/mdcDriveTypeParamConfig/MdcDriveTypeParamConfigModal.vue
@@ -8,7 +8,7 @@
     :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
     @cancel="handleCancel"
     cancelText="鍏抽棴">
-    <mdc-drive-type-param-config-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></mdc-drive-type-param-config-form>
+    <mdc-drive-type-param-config-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" :driveTypeList="driveTypeList"></mdc-drive-type-param-config-form>
   </j-modal>
 </template>
 
@@ -20,6 +20,7 @@
     components: {
       MdcDriveTypeParamConfigForm
     },
+    props:['driveTypeList'],
     data () {
       return {
         title:'',
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue
index 8828b41..83b4b1d 100644
--- a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateEdit.vue
@@ -123,6 +123,22 @@
               },
             ],
           },
+          processQuantity:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ュ姞宸ユ暟閲�"
+              },
+            ],
+          },
+          unqualifiedQuantity:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
@@ -265,7 +281,7 @@
                   // that.$message.success("娣诲姞鎴愬姛")
                   that.$notification.success({
                     message:'娑堟伅',
-                    description:"娣诲姞鎴愬姛"
+                    description:"淇敼鎴愬姛"
                   });
                   // that.$message.success(res.message)
                   that.$emit('ok', res.result)
diff --git a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue
index 09d01ed..8fc91e2 100644
--- a/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue
+++ b/src/views/mdc/base/modules/mdcPassRate/mdcPassRateModal.vue
@@ -116,6 +116,30 @@
               },
             ],
           },
+          processQuantity:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ュ姞宸ユ暟閲�"
+              },
+            ],
+          },
+          unqualifiedQuantity:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"
+              },
+            ],
+          },
+          efficientDate:{
+            rules:[
+              {
+                required:true,
+                message: "璇烽�夋嫨鏃ユ湡"
+              },
+            ],
+          },
         },
 
         url: {
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
index 27b1b18..c5f34cc 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityList.vue
@@ -36,7 +36,7 @@
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板
       </a-button>
       <a-button type="primary" icon="download" @click="importTemplate('鍔犲伐鏁伴噺妯℃澘')">瀵煎叆妯℃澘</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('鍔犲伐鏁伴噺')">瀵煎嚭</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('鍔犲伐鏁伴噺绠$悊')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
       <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
@@ -246,8 +246,8 @@
     methods: {
       importTemplate(fileName){
         var a = document.createElement("a");
-        a.href = "/static/鍔犲伐鏁伴噺.xls";
-        a.download = "鍔犲伐鏁伴噺.xls";
+        a.href = "/static/鍔犲伐鏁伴噺绠$悊.xls";
+        a.download = "鍔犲伐鏁伴噺绠$悊.xls";
         a.style.display = "none";
         document.body.appendChild(a);
         a.click();
@@ -345,7 +345,7 @@
       handleEdit: function (record) {
         this.$refs.modalFormedit.edit(record);
         this.$refs.modalFormedit.title = "缂栬緫";
-        this.$refs.modalFormedit.disableSubmit = false;
+        // this.$refs.modalFormedit.disableSubmit = false;
       },
       handleTableChange(pagination, filters, sorter) {
         this.dataSource = []
@@ -534,7 +534,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
index 7a54404..b721303 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModal.vue
@@ -102,7 +102,7 @@
             span: 24
           },
           sm: {
-            span: 6
+            span: 8
           }
         },
         wrapperCol: {
@@ -110,7 +110,7 @@
             span: 24
           },
           sm: {
-            span: 18
+            span: 16
           }
         },
         labelColLong: {
@@ -134,7 +134,7 @@
             span: 24
           },
           sm: {
-            span: 3
+            span: 4
           }
         },
         wrapperColLong1: {
@@ -142,14 +142,28 @@
             span: 24
           },
           sm: {
-            span: 21
+            span: 20
           }
         },
         confirmLoading: false,
         form: this.$form.createForm(this),
         validatorRules: {
+          duration:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鏍囧噯鍔犲伐鏃堕棿'}
+            ]
+          },
+          efficientDate:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鏃ユ湡'}
+            ]
+          },
+          processQuantity:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鍔犲伐鏁伴噺'}
+            ]
+          },
         },
-
         url: {
           add: '/mdc/mdcProcessQuantity/add',
           edit: '/mdc/mdcProcessQuantity/edit'
diff --git a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
index c342b4e..9b0c3eb 100644
--- a/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
+++ b/src/views/mdc/base/modules/mdcProcessQuantity/mdcProcessQuantityModelEdit.vue
@@ -1,19 +1,19 @@
 <template>
   <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading"
-           :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
+           @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
     <a-spin :spinning="confirmLoading">
       <a-form :form="form">
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="璁惧缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
+              <a-input  :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
                        v-decorator="['equipmentId',validatorRules.equipmentId]"/>
             </a-form-item>
 
           </a-col>
           <a-col :span="12">
             <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+              <a-input  :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囧悕绉�"
                        v-decorator="['equipmentName',validatorRules.equipmentName]"/>
             </a-form-item>
           </a-col>
@@ -46,21 +46,21 @@
 
           <a-col :span="12">
             <a-form-item label="鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-date :disabled="disableSubmit"  date-format="YYYY-MM-DD" placeholder="璇烽�夋嫨鏃ユ湡"
+              <j-date   date-format="YYYY-MM-DD" placeholder="璇烽�夋嫨鏃ユ湡"
                       v-decorator="['efficientDate', validatorRules.efficientDate]"></j-date>
             </a-form-item>
 
           </a-col>
           <a-col :span="12">
             <a-form-item label='鍔犲伐鏁伴噺' :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input-number :min="0" :disabled="disableSubmit"  placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
+              <a-input-number :min="0"   placeholder="璇疯緭鍏ュ姞宸ユ暟閲�"  v-decorator="['processQuantity', validatorRules.processQuantity]"></a-input-number>
             </a-form-item>
           </a-col>
         </a-row>
         <a-row :gutter="24">
           <a-col :span="24">
           <a-form-item label="澶囨敞" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-            <a-textarea :maxLength="20"  :disabled="disableSubmit"  v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�"  ></a-textarea>
+            <a-textarea :maxLength="20"    v-decorator="['remark', validatorRules.remark]" placeholder="璇疯緭鍏ュ娉�"  ></a-textarea>
           </a-form-item>
           </a-col>
         </a-row>
@@ -152,6 +152,21 @@
               },
             ],
           },
+          duration:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鏍囧噯鍔犲伐鏃堕棿'}
+            ]
+          },
+          efficientDate:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鏃ユ湡'}
+            ]
+          },
+          processQuantity:{
+            rules:[
+              {required:true,message:'璇烽�夋嫨鍔犲伐鏁伴噺'}
+            ]
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
index d55c64e..e965db9 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationEdit.vue
@@ -9,7 +9,6 @@
               <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
                        v-decorator="['equipmentId',validatorRules.equipmentId]"/>
             </a-form-item>
-
           </a-col>
           <a-col :span="12">
             <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
@@ -134,6 +133,38 @@
               },
             ],
           },
+          partsCode:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ラ浂浠跺彿"
+              },
+            ],
+          },
+          batchCode:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ壒娆″彿"
+              },
+            ],
+          },
+          sequenceNumber:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ョ▼搴忓彿"
+              },
+            ],
+          },
+          duration:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ椂闀�"
+              },
+            ],
+          },
           // mdcRepairType:{
           //   rules:[
           //     {
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
index 7f40144..5cb2f9a 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationList.vue
@@ -524,7 +524,7 @@
             //閲嶆柊璁$畻鍒嗛〉闂
             that.reCalculatePage(1)
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
diff --git a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
index a72a331..807a942 100644
--- a/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
+++ b/src/views/mdc/base/modules/mdcStandardProcessDuration/MdcStandardProcessDurationModal.vue
@@ -121,6 +121,38 @@
               },
             ],
           },
+          partsCode:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ラ浂浠跺彿"
+              },
+            ],
+          },
+          batchCode:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ壒娆″彿"
+              },
+            ],
+          },
+          sequenceNumber:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ョ▼搴忓彿"
+              },
+            ],
+          },
+          duration:{
+            rules:[
+              {
+                required:true,
+                message: "璇疯緭鍏ユ椂闀�"
+              },
+            ],
+          },
         },
 
         url: {
diff --git a/src/views/mdc/base/modules/mdcUtilizationRate/MdcUtilizationRateModel.vue b/src/views/mdc/base/modules/mdcUtilizationRate/MdcUtilizationRateModel.vue
index 9a6d8f9..8c83625 100644
--- a/src/views/mdc/base/modules/mdcUtilizationRate/MdcUtilizationRateModel.vue
+++ b/src/views/mdc/base/modules/mdcUtilizationRate/MdcUtilizationRateModel.vue
@@ -115,7 +115,7 @@
             }).then((res) => {
               if (res.success) {
                 // that.$message.success("淇濆瓨鎴愬姛")
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:"淇濆瓨鎴愬姛"
                 });
diff --git a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
index 0fe423b..42a5bb9 100644
--- a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
+++ b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
@@ -7,14 +7,15 @@
           <a-row :gutter="24">
             <a-col :md="6" :sm="6">
               <a-form-item label="鏃堕棿">
-                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/>
+                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
+                                v-model="dates"/>
               </a-form-item>
             </a-col>
             <a-col :md="7" :sm="7" :xs="7">
               <a-form-item label="鏃堕棿娈�">
-                <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart" />
+                <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart"/>
                 鑷�
-                <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd" />
+                <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd"/>
               </a-form-item>
             </a-col>
             <a-col :lg="2" :md="3" :sm="3" :xs="3">
@@ -26,30 +27,39 @@
       <div id="DeviceList">
         <div class="openRateTrendDg">
           <div id="Efficiency" class="container" style="margin-top: 20px;">
-            <div class="table2">
-              <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap;text-align: center;">
-                <thead>
-                <tr class="thead fixed equipname">
-                  <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧缂栧彿</th>
-                  <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th>
-                  <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th>
-                  <template v-for="(tableHead, index) in tableHeads">
-                    <th class="timeth">{{tableHead}}</th>
-                  </template>
-                </tr>
-                </thead>
-                <tbody>
-                <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)">
-                  <td  class="tdgu  kaitou">{{item.equipmentId}}</td>
-                  <td  class="tdgu1 kaitou">{{item.equipmentName}}</td>
-                  <td  class="tdgu2 kaitou">{{item.equipmentType}}</td>
-                  <template v-for="(tableHead, index) in item.dataList">
-                    <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td>
-                  </template>
-                </tr>
-                </tbody>
-              </table>
-            </div>
+            <a-spin :spinning="loading">
+              <div class="table2">
+                <table class="dataContent table" border="1" cellspacing="0" cellpadding="0"
+                       style="white-space: nowrap;text-align: center;">
+                  <thead>
+                  <tr class="thead fixed equipname">
+                    <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">
+                      璁惧缂栧彿
+                    </th>
+                    <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">
+                      璁惧鍚嶇О
+                    </th>
+                    <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">
+                      璁惧绫诲瀷
+                    </th>
+                    <template v-for="(tableHead, index) in tableHeads">
+                      <th class="timeth">{{tableHead}}</th>
+                    </template>
+                  </tr>
+                  </thead>
+                  <tbody>
+                  <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)">
+                    <td class="tdgu  kaitou">{{item.equipmentId}}</td>
+                    <td class="tdgu1 kaitou">{{item.equipmentName}}</td>
+                    <td class="tdgu2 kaitou">{{item.equipmentType}}</td>
+                    <template v-for="(tableHead, index) in item.dataList">
+                      <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td>
+                    </template>
+                  </tr>
+                  </tbody>
+                </table>
+              </div>
+            </a-spin>
           </div>
         </div>
         <div id="openRateTrendChart" style="width: 100%;height: 60%"></div>
@@ -67,6 +77,7 @@
   import {
     JeecgListMixin
   } from '@/mixins/JeecgListMixin'
+
   export default {
     // mixins: [JeecgListMixin],
     name: 'openRateFractionAnalysisMain',
@@ -76,7 +87,7 @@
         dataSource: [],
         /* table鍔犺浇鐘舵�� */
         loading: false,
-        typeTree: "",
+        typeTree: '',
         typeParent: 1,
         typeEquipment: 1,
         TreeIDOne: 1,
@@ -103,8 +114,8 @@
           listByType: '/mdc/MdcUtilizationRate/getByType'
         },
         tableHeads: [],
-        XData:[0],
-        YData:[0],
+        XData: [0],
+        YData: [0]
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -116,14 +127,14 @@
       this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD')
       this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD')
       this.queryParam.startTime = '00:00'
-      this.queryParam.endTime = "08:00"
-      this.queryParam.typeTree = "1"
+      this.queryParam.endTime = '08:00'
+      this.queryParam.typeTree = '1'
       this.loadData1()
 
     },
     watch: {
       Type(valmath) {
-        this.dataList = [];
+        this.dataList = []
         this.queryParam.typeTree = valmath
       },
       nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
@@ -171,15 +182,15 @@
         this.queryParam.endTime = timeString
         // console.log(time, timeString);
       },
-      numBerTwo(value){
+      numBerTwo(value) {
         if (value) {
           return parseFloat((value * 100).toFixed(2))
         } else {
           return '0'
         }
       },
-      TableDraw(key,val) {
-        this.XData=[0]
+      TableDraw(key, val) {
+        this.XData = [0]
         this.YData[0]
         var Xarr = []
         var Yarr = []
@@ -187,8 +198,8 @@
           Xarr.push(val.dataList[i].theDate)
           Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate))
         }
-        this.XData=Xarr
-        this.YData=Yarr
+        this.XData = Xarr
+        this.YData = Yarr
         // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){
         //     this.openRateTrendAnalysisChart.dispose()
         // }
@@ -197,21 +208,29 @@
       },
       //Can not slect days before today and today
       disabledDate(current) {
-        return current && current > moment().subtract('days', 1);
+        return current && current > moment().subtract('days', 1)
       },
       dateParamChange(v1, v2) {
         this.queryParam.startDate = v2[0]
         this.queryParam.endDate = v2[1]
       },
       searchQuery() {
-        if (this.queryParam.typeTree == "1") {
-          this.queryParam.parentId = this.queryParamEquip.parentId
-          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        if (this.queryParam.startTime && this.queryParam.endTime && this.dates && this.dates.length > 0) {
+          if (this.queryParam.typeTree == '1') {
+            this.queryParam.parentId = this.queryParamEquip.parentId
+            this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+          } else {
+            this.queryParam.parentId = this.queryParamPeople.parentId
+            this.queryParam.equipmentId = ''
+          }
+          this.loadData1()
         } else {
-          this.queryParam.parentId = this.queryParamPeople.parentId
-          this.queryParam.equipmentId = ""
+          this.$notification.warning({
+            message: '鎻愮ず',
+            description: '璇烽�夋嫨鏃堕棿鎴栨椂闂存'
+          })
         }
-        this.loadData1()
+
         // this.onClearSelected()
       },
       // searchReset() {
@@ -284,6 +303,7 @@
       //     }
       //   }
       loadData1() {
+        this.loading=true
         this.tableHeads = []
         this.dataList = []
         getAction(this.url.efficiencyList, this.queryParam).then(res => {
@@ -298,10 +318,12 @@
             // this.initDeviceType(this.dataList)
 
           }
+        }).finally(()=>{
+          this.loading=false
         })
       },
-      draw(){
-        let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons');
+      draw() {
+        let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons')
         let openRateTrendChartOptions = {
           title: {
             text: '鍒╃敤鐜囪蛋鍔垮垎鏋�',
@@ -309,7 +331,7 @@
             textStyle: {
               fontSize: 18,
               fontWeight: 'bolder',
-              color: "#151414"
+              color: '#151414'
             }
           },
           tooltip: {
@@ -355,8 +377,8 @@
               }
             }
           ]
-        };
-        openRateTrendAnalysisChart.setOption(openRateTrendChartOptions,true);
+        }
+        openRateTrendAnalysisChart.setOption(openRateTrendChartOptions, true)
       }
     }
   }
@@ -401,9 +423,11 @@
     padding: 10px;
     /*display: none;*/
   }
-  .dataContent .mathData:hover td{
+
+  .dataContent .mathData:hover td {
     background-color: #e6f7ff;
   }
+
   .dataContent .mathData .td {
     /*background-color: #ff9bd2;*/
     display: inline-block;
@@ -413,138 +437,164 @@
   .dataContent .mathData .tdd {
     /*display: none;*/
   }
-  .table2{
-  width: 100%;
-  height: 100%;
-  overflow: auto;
+
+  .table2 {
+    width: 100%;
+    height: 100%;
+    overflow: auto;
   }
+
   /*tr th {*/
-    /*height: 50px!important;*/
+  /*height: 50px!important;*/
   /*}*/
   /*tr td{*/
-    /*height: 50px!important;*/
+  /*height: 50px!important;*/
   /*}*/
   .table2 thead tr th:first-child,
-  .table tbody tr .tdgu{
+  .table tbody tr .tdgu {
     position: sticky;
     left: 0;
     z-index: 1;
   }
-  .table tbody tr .kaitou{
+
+  .table tbody tr .kaitou {
     z-index: 1;
     background-color: white;
   }
-  .table tbody tr .tdgu1{
+
+  .table tbody tr .tdgu1 {
     position: sticky;
     left: 150px;
     z-index: 2;
   }
-  .table tbody tr .tdgu2{
+
+  .table tbody tr .tdgu2 {
     position: sticky;
     left: 300px;
     z-index: 2;
   }
-  .table tbody tr .tdgu3{
+
+  .table tbody tr .tdgu3 {
     position: sticky;
     left: 450px;
     z-index: 2;
   }
-  .table tbody tr .tdgu4{
+
+  .table tbody tr .tdgu4 {
     position: sticky;
     left: 550px;
     z-index: 2;
   }
-  .table tbody tr .tdgu5{
+
+  .table tbody tr .tdgu5 {
     position: sticky;
     left: 700px;
     z-index: 2;
   }
+
   .table2 thead tr .timeth,
-  .table2 thead tr  .thgu {
+  .table2 thead tr .thgu {
     position: sticky;
-    top:0;
+    top: 0;
     z-index: 3;
   }
-  .table2 thead .gudingth th{
+
+  .table2 thead .gudingth th {
     position: sticky;
     top: 32px;
-    z-index: 6!important;
+    z-index: 6 !important;
   }
-  .table2 thead .equipname .name{
+
+  .table2 thead .equipname .name {
     z-index: 3;
   }
-  .table2 thead .equipname .dong1{
+
+  .table2 thead .equipname .dong1 {
     z-index: 4;
     left: 0;
     /*border: 1px solid #000;*/
   }
-  .table2 thead .equipname .dong2{
+
+  .table2 thead .equipname .dong2 {
     z-index: 5;
     left: 150px;
   }
-  .table2 thead .equipname .dong3{
+
+  .table2 thead .equipname .dong3 {
     z-index: 5;
     left: 300px;
   }
-  .table2 thead .equipname .dong4{
+
+  .table2 thead .equipname .dong4 {
     z-index: 5;
     left: 450px;
   }
-  .table2 thead .equipname .dong5{
+
+  .table2 thead .equipname .dong5 {
     z-index: 5;
     left: 550px;
   }
-  .table2 thead .equipname .dong6{
+
+  .table2 thead .equipname .dong6 {
     z-index: 5;
     left: 700px;
   }
 
-  @media screen and (min-width: 1920px){
-  #Efficiency{
-  height: 337px!important;
-  overflow: scroll;
+  @media screen and (min-width: 1920px) {
+    #Efficiency {
+      height: 337px !important;
+      overflow: scroll;
+    }
   }
+
+  @media screen and (min-width: 1680px) and (max-width: 1920px) {
+    #Efficiency {
+      height: 337px !important;
+      overflow: scroll;
+    }
   }
-  @media screen and (min-width: 1680px) and (max-width: 1920px){
-  #Efficiency{
-  height: 337px!important;
-  overflow: scroll;
+
+  @media screen and (min-width: 1400px) and (max-width: 1680px) {
+    #Efficiency {
+      height: 190px !important;
+      overflow: scroll;
+    }
   }
+
+  @media screen and (min-width: 1280px) and (max-width: 1400px) {
+    #Efficiency {
+      height: 90px !important;
+      overflow: scroll;
+    }
   }
-  @media screen and (min-width: 1400px) and (max-width: 1680px){
-  #Efficiency{
-  height: 190px!important;
-  overflow: scroll;
+
+  @media screen and (max-width: 1280px) {
+    #Efficiency {
+      height: 90px !important;
+      overflow: scroll;
+    }
   }
-  }
-  @media screen and (min-width: 1280px) and (max-width: 1400px){
-  #Efficiency{
-  height: 90px!important;
-  overflow: scroll;
-  }
-  }
-  @media screen and (max-width: 1280px){
-  #Efficiency{
-  height: 90px!important;
-  overflow: scroll;
-  }
-  }
-  #Efficiency .table_guding1{
+
+  #Efficiency .table_guding1 {
     position: absolute;
     overflow: hidden;
     width: 500px;
   }
-  #Efficiency .table_guding2{
+
+  #Efficiency .table_guding2 {
     overflow-x: scroll;
     width: 500px;
   }
-  /deep/ .ant-card{
-    height: 100%!important;
+
+  /deep/ .ant-card {
+    height: 100% !important;
   }
-  /deep/ .ant-card .ant-card-body{
-    height: 100%!important;
+
+  /deep/ .ant-card .ant-card-body {
+    height: 100% !important;
   }
-  .efficiency_list #DeviceList{
-    height: 90%!important;
+
+  .efficiency_list #DeviceList {
+    height: 90% !important;
   }
 </style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
index 56024fc..952a59b 100644
--- a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
+++ b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
@@ -2,30 +2,39 @@
   <div class="efficiency_list" style="width: 100%;height: 100%;">
     <a-card :bordered="false">
       <!-- 鏌ヨ鍖哄煙 -->
-        <div class="table-page-search-wrapper">
-          <a-form layout="inline" @keyup.enter.native="searchQuery">
-            <a-row :gutter="24">
-              <a-col :md="6" :sm="6">
-                <a-form-item label="鏃堕棿">
-                  <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/>
-                </a-form-item>
-              </a-col>
-              <a-col :lg="2" :md="3" :sm="3" :xs="3">
-                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              </a-col>
-            </a-row>
-          </a-form>
-        </div>
-        <div id="DeviceList">
-          <div class="openRateTrendDg">
-            <div id="Efficiency" class="container" style="margin-top: 20px;">
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
+            <a-col :md="6" :sm="6">
+              <a-form-item label="鏃堕棿">
+                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
+                                v-model="dates"/>
+              </a-form-item>
+            </a-col>
+            <a-col :lg="2" :md="3" :sm="3" :xs="3">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <div id="DeviceList">
+        <div class="openRateTrendDg">
+          <div id="Efficiency" class="container" style="margin-top: 20px;">
+            <a-spin :spinning="loading">
               <div class="table2">
-                <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap;text-align: center;">
+                <table class="dataContent table" border="1" cellspacing="0" cellpadding="0"
+                       style="white-space: nowrap;text-align: center;">
                   <thead>
                   <tr class="thead fixed equipname">
-                    <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧缂栧彿</th>
-                    <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th>
-                    <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th>
+                    <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">
+                      璁惧缂栧彿
+                    </th>
+                    <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">
+                      璁惧鍚嶇О
+                    </th>
+                    <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">
+                      璁惧绫诲瀷
+                    </th>
                     <template v-for="(tableHead, index) in tableHeads">
                       <th class="timeth" :colspan="checkedList.length">{{tableHead}}</th>
                     </template>
@@ -33,9 +42,9 @@
                   </thead>
                   <tbody>
                   <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)">
-                    <td  class="tdgu  kaitou">{{item.equipmentId}}</td>
-                    <td  class="tdgu1 kaitou">{{item.equipmentName}}</td>
-                    <td  class="tdgu2 kaitou">{{item.equipmentType}}</td>
+                    <td class="tdgu  kaitou">{{item.equipmentId}}</td>
+                    <td class="tdgu1 kaitou">{{item.equipmentName}}</td>
+                    <td class="tdgu2 kaitou">{{item.equipmentType}}</td>
                     <template v-for="(tableHead, index) in item.dataList">
                       <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td>
                     </template>
@@ -43,10 +52,11 @@
                   </tbody>
                 </table>
               </div>
-            </div>
+            </a-spin>
           </div>
-          <div id="openRateTrendChart" style="width: 100%;height: 60%"></div>
         </div>
+        <div id="openRateTrendChart" style="width: 100%;height: 60%"></div>
+      </div>
     </a-card>
   </div>
 </template>
@@ -60,6 +70,7 @@
   import {
     JeecgListMixin
   } from '@/mixins/JeecgListMixin'
+
   export default {
     // mixins: [JeecgListMixin],
     name: 'openRateTrendAnalysisMain',
@@ -69,7 +80,7 @@
         dataSource: [],
         /* table鍔犺浇鐘舵�� */
         loading: false,
-        typeTree: "",
+        typeTree: '',
         typeParent: 1,
         typeEquipment: 1,
         TreeIDOne: 1,
@@ -96,8 +107,8 @@
           listByType: '/mdc/MdcUtilizationRate/getByType'
         },
         tableHeads: [],
-        XData:[0],
-        YData:[0],
+        XData: [0],
+        YData: [0]
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -108,12 +119,12 @@
       this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
       this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD')
       this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD')
-      this.queryParam.typeTree = "1"
+      this.queryParam.typeTree = '1'
       this.loadData1()
     },
     watch: {
       Type(valmath) {
-        this.dataList = [];
+        this.dataList = []
         this.queryParam.typeTree = valmath
       },
       nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
@@ -152,33 +163,33 @@
       }
     },
     methods: {
-      numBerTwo(value){
+      numBerTwo(value) {
         if (value) {
           return parseFloat((value * 100).toFixed(2))
         } else {
           return '0'
         }
       },
-      TableDraw(key,val) {
-          this.XData=[0]
-          this.YData[0]
+      TableDraw(key, val) {
+        this.XData = [0]
+        this.YData[0]
         var Xarr = []
         var Yarr = []
-          for (var i = 0; i < val.dataList.length; i++) {
-            Xarr.push(val.dataList[i].theDate)
-            Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate))
-          }
-        this.XData=Xarr
-        this.YData=Yarr
-          // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){
-          //     this.openRateTrendAnalysisChart.dispose()
-          // }
+        for (var i = 0; i < val.dataList.length; i++) {
+          Xarr.push(val.dataList[i].theDate)
+          Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate))
+        }
+        this.XData = Xarr
+        this.YData = Yarr
+        // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){
+        //     this.openRateTrendAnalysisChart.dispose()
+        // }
 
-          this.draw()
+        this.draw()
       },
       disabledDate(current) {
         //Can not slect days before today and today
-        return current && current > moment().subtract('days', 1);
+        return current && current > moment().subtract('days', 1)
       },
       initDeviceType(deviceList) {
         let dictCode = 'mdc_equipmentType'
@@ -212,14 +223,21 @@
         this.queryParam.endDate = v2[1]
       },
       searchQuery() {
-        if (this.queryParam.typeTree == "1") {
-          this.queryParam.parentId = this.queryParamEquip.parentId
-          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        if (this.dates && this.dates.length > 0) {
+          if (this.queryParam.typeTree == '1') {
+            this.queryParam.parentId = this.queryParamEquip.parentId
+            this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+          } else {
+            this.queryParam.parentId = this.queryParamPeople.parentId
+            this.queryParam.equipmentId = ''
+          }
+          this.loadData1()
         } else {
-          this.queryParam.parentId = this.queryParamPeople.parentId
-          this.queryParam.equipmentId = ""
+          this.$notification.warning({
+            message: '鎻愮ず',
+            description: '璇烽�夋嫨鏃堕棿'
+          })
         }
-        this.loadData1()
         // this.onClearSelected()
       },
       // searchReset() {
@@ -292,6 +310,7 @@
       //     }
       //   }
       loadData1() {
+        this.loading = true
         this.tableHeads = []
         this.dataList = []
         getAction(this.url.efficiencyList, this.queryParam).then(res => {
@@ -304,12 +323,13 @@
             // this.checkSameData2(this.dataList)
             // this.combineCell();
             // this.initDeviceType(this.dataList)
-
           }
+        }).finally(() => {
+          this.loading = false
         })
       },
-      draw(){
-        let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons');
+      draw() {
+        let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons')
         let openRateTrendChartOptions = {
           title: {
             text: '鍒╃敤鐜囪蛋鍔垮垎鏋�',
@@ -317,7 +337,7 @@
             textStyle: {
               fontSize: 18,
               fontWeight: 'bolder',
-              color: "#151414"
+              color: '#151414'
             }
           },
           tooltip: {
@@ -363,8 +383,8 @@
               }
             }
           ]
-        };
-        openRateTrendAnalysisChart.setOption(openRateTrendChartOptions,true);
+        }
+        openRateTrendAnalysisChart.setOption(openRateTrendChartOptions, true)
       }
     }
   }
@@ -409,9 +429,11 @@
     padding: 10px;
     /*display: none;*/
   }
-  .dataContent .mathData:hover td{
+
+  .dataContent .mathData:hover td {
     background-color: #e6f7ff;
   }
+
   .dataContent .mathData .td {
     /*background-color: #ff9bd2;*/
     display: inline-block;
@@ -421,11 +443,13 @@
   .dataContent .mathData .tdd {
     /*display: none;*/
   }
-  .table2{
+
+  .table2 {
     width: 100%;
     height: 100%;
     overflow: auto;
   }
+
   /*tr th {*/
   /*height: 50px!important;*/
   /*}*/
@@ -433,126 +457,150 @@
   /*height: 50px!important;*/
   /*}*/
   .table2 thead tr th:first-child,
-  .table tbody tr .tdgu{
+  .table tbody tr .tdgu {
     position: sticky;
     left: 0;
     z-index: 1;
   }
-  .table tbody tr .kaitou{
+
+  .table tbody tr .kaitou {
     z-index: 1;
     background-color: white;
   }
-  .table tbody tr .tdgu1{
+
+  .table tbody tr .tdgu1 {
     position: sticky;
     left: 150px;
     z-index: 2;
   }
-  .table tbody tr .tdgu2{
+
+  .table tbody tr .tdgu2 {
     position: sticky;
     left: 300px;
     z-index: 2;
   }
-  .table tbody tr .tdgu3{
+
+  .table tbody tr .tdgu3 {
     position: sticky;
     left: 450px;
     z-index: 2;
   }
-  .table tbody tr .tdgu4{
+
+  .table tbody tr .tdgu4 {
     position: sticky;
     left: 550px;
     z-index: 2;
   }
-  .table tbody tr .tdgu5{
+
+  .table tbody tr .tdgu5 {
     position: sticky;
     left: 700px;
     z-index: 2;
   }
+
   .table2 thead tr .timeth,
-  .table2 thead tr  .thgu {
+  .table2 thead tr .thgu {
     position: sticky;
-    top:0;
+    top: 0;
     z-index: 3;
   }
-  .table2 thead .gudingth th{
+
+  .table2 thead .gudingth th {
     position: sticky;
     top: 32px;
-    z-index: 6!important;
+    z-index: 6 !important;
   }
-  .table2 thead .equipname .name{
+
+  .table2 thead .equipname .name {
     z-index: 3;
   }
-  .table2 thead .equipname .dong1{
+
+  .table2 thead .equipname .dong1 {
     z-index: 4;
     left: 0;
     /*border: 1px solid #000;*/
   }
-  .table2 thead .equipname .dong2{
+
+  .table2 thead .equipname .dong2 {
     z-index: 5;
     left: 150px;
   }
-  .table2 thead .equipname .dong3{
+
+  .table2 thead .equipname .dong3 {
     z-index: 5;
     left: 300px;
   }
-  .table2 thead .equipname .dong4{
+
+  .table2 thead .equipname .dong4 {
     z-index: 5;
     left: 450px;
   }
-  .table2 thead .equipname .dong5{
+
+  .table2 thead .equipname .dong5 {
     z-index: 5;
     left: 550px;
   }
-  .table2 thead .equipname .dong6{
+
+  .table2 thead .equipname .dong6 {
     z-index: 5;
     left: 700px;
   }
 
-  @media screen and (min-width: 1920px){
-    #Efficiency{
-      height: 337px!important;
+  @media screen and (min-width: 1920px) {
+    #Efficiency {
+      height: 337px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1680px) and (max-width: 1920px){
-    #Efficiency{
-      height: 337px!important;
+
+  @media screen and (min-width: 1680px) and (max-width: 1920px) {
+    #Efficiency {
+      height: 337px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1400px) and (max-width: 1680px){
-    #Efficiency{
-      height: 190px!important;
+
+  @media screen and (min-width: 1400px) and (max-width: 1680px) {
+    #Efficiency {
+      height: 190px !important;
       overflow: scroll;
     }
   }
-  @media screen and (min-width: 1280px) and (max-width: 1400px){
-    #Efficiency{
-      height: 90px!important;
+
+  @media screen and (min-width: 1280px) and (max-width: 1400px) {
+    #Efficiency {
+      height: 90px !important;
       overflow: scroll;
     }
   }
-  @media screen and (max-width: 1280px){
-    #Efficiency{
-      height: 90px!important;
+
+  @media screen and (max-width: 1280px) {
+    #Efficiency {
+      height: 90px !important;
       overflow: scroll;
     }
   }
-  #Efficiency .table_guding1{
+
+  #Efficiency .table_guding1 {
     position: absolute;
     overflow: hidden;
     width: 500px;
   }
-  #Efficiency .table_guding2{
+
+  #Efficiency .table_guding2 {
     overflow-x: scroll;
     width: 500px;
   }
-  /deep/ .ant-card{
-    height: 100%!important;
+
+  /deep/ .ant-card {
+    height: 100% !important;
   }
-  /deep/ .ant-card .ant-card-body{
-    height: 100%!important;
+
+  /deep/ .ant-card .ant-card-body {
+    height: 100% !important;
   }
-  .efficiency_list #DeviceList{
-    height: 90%!important;
+
+  .efficiency_list #DeviceList {
+    height: 90% !important;
   }
 </style>
\ No newline at end of file
diff --git a/src/views/mdc/base/modules/shift/ShiftInfo.vue b/src/views/mdc/base/modules/shift/ShiftInfo.vue
index 7d80453..19a856d 100644
--- a/src/views/mdc/base/modules/shift/ShiftInfo.vue
+++ b/src/views/mdc/base/modules/shift/ShiftInfo.vue
@@ -154,7 +154,7 @@
         deleteAction(that.url.deleteBatch, {id: record}).then((res) => {
           if (res.success) {
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
@@ -173,7 +173,7 @@
         putAction(this.url.changeStatus, { id: id, status: status }).then((res) => {
           if (res.success) {
             // _this.$message.success('鎿嶄綔鎴愬姛锛�')
-            _this.$notification.warning({
+            _this.$notification.success({
               message:'娑堟伅',
               description:"鎿嶄綔鎴愬姛"
             });
diff --git a/src/views/mdc/base/modules/shift/ShiftInfoModel.vue b/src/views/mdc/base/modules/shift/ShiftInfoModel.vue
index ed99075..1ed89ef 100644
--- a/src/views/mdc/base/modules/shift/ShiftInfoModel.vue
+++ b/src/views/mdc/base/modules/shift/ShiftInfoModel.vue
@@ -232,11 +232,13 @@
             formData.isDaySpan = that.isDaySpan
             console.log(formData.isDaySpan);
             if(formData.isDaySpan == false){
-              let startTime = moment(formData.startDate).format('HH:mm:ss');
-              let endTime = moment(formData.endDate).format('HH:mm:ss');
-              let startTimeOne = startTime.replace(/:/g,'');
-              let endTimeOne = endTime.replace(/:/g,'');
-              if(startTimeOne>endTimeOne){
+              formData.startDate = moment(formData.startDate).format('HH:mm:ss');
+              formData.endDate = moment(formData.endDate).format('HH:mm:ss');
+              formData.sleepStartDate = moment(formData.sleepStartDate).format('HH:mm:ss');
+              formData.sleepEndDate = moment(formData.sleepEndDate).format('HH:mm:ss');
+              let startTimeOne = formData.startDate.replace(/:/g,'');
+              let endTimeOne = formData.endDate.replace(/:/g,'');
+              if(startTimeOne > endTimeOne){
                 // that.$message.warning("闈炶法澶╃彮娆$粨鏉熸椂闂翠笉鑳藉皬浜庣瓑浜庡紑濮嬫椂闂达紒")
                 that.$notification.warning({
                   message:'娑堟伅',
@@ -262,7 +264,7 @@
                 obj.then((res) => {
                   if (res.success) {
                     // that.$message.success("淇濆瓨鎴愬姛")
-                    that.$notification.warning({
+                    that.$notification.success({
                       message:'娑堟伅',
                       description:"淇濆瓨鎴愬姛"
                     });
@@ -292,7 +294,7 @@
               obj.then((res) => {
                 if (res.success) {
                   // that.$message.success
-                  that.$notification.warning({
+                  that.$notification.success({
                     message:'娑堟伅',
                     description:"淇濆瓨鎴愬姛"
                   });
diff --git a/src/views/mdc/base/modules/shift/ShiftSystem.vue b/src/views/mdc/base/modules/shift/ShiftSystem.vue
index c813c22..3d53d7d 100644
--- a/src/views/mdc/base/modules/shift/ShiftSystem.vue
+++ b/src/views/mdc/base/modules/shift/ShiftSystem.vue
@@ -117,10 +117,16 @@
         let _this = this
         putAction(this.url.changeStatus, { id: id, status: status }).then((res) => {
           if (res.success) {
-            _this.$message.success('鎿嶄綔鎴愬姛锛�')
+            _this.$notification.success({
+              message:'娑堟伅',
+              description:res.message
+            })
             _this.loadData()
           } else {
-            _this.$message.warning('鎿嶄綔澶辫触锛�')
+            _this.$notification.warning({
+              message:'娑堟伅',
+              description:res.message
+            });
           }
         })
       },
@@ -133,7 +139,7 @@
         postAction(this.url.changeDefaultShift,qs.stringify({id:record.id})).then((res) =>{
             if(res.success){
               // this.$message.success(res.message);
-              this.$notification.warning({
+              this.$notification.success({
                 message:'娑堟伅',
                 description:res.message
               });
@@ -156,7 +162,7 @@
         deleteAction(that.url.deleteBatch, {id: record}).then((res) => {
           if (res.success) {
             // that.$message.success(res.message);
-            that.$notification.warning({
+            that.$notification.success({
               message:'娑堟伅',
               description:res.message
             });
diff --git a/src/views/mdc/base/modules/shift/ShiftSystemModel.vue b/src/views/mdc/base/modules/shift/ShiftSystemModel.vue
index 83bce49..4a51038 100644
--- a/src/views/mdc/base/modules/shift/ShiftSystemModel.vue
+++ b/src/views/mdc/base/modules/shift/ShiftSystemModel.vue
@@ -122,7 +122,7 @@
             obj.then((res) => {
               if (res.success) {
                 // that.$message.success(res.message)
-                that.$notification.warning({
+                that.$notification.success({
                   message:'娑堟伅',
                   description:res.message
                 });
diff --git a/src/views/mdc/common/BaseTree.vue b/src/views/mdc/common/BaseTree.vue
index 0aab780..ed5229a 100644
--- a/src/views/mdc/common/BaseTree.vue
+++ b/src/views/mdc/common/BaseTree.vue
@@ -112,21 +112,23 @@
       ...mapActions(['QueryProduction']),
       getCurrSelectedTitle() {
         return !this.currSelected.title ? '' : this.currSelected.title
-      }
-      ,
+      },
+      /**
+       * 鍙栨秷杞﹂棿閫変腑椤�
+       */
       onClearSelected() {
         this.hiding = true
         this.currSelected = {}
         this.selectedKeys = []
+        // console.log('鍙戦��')
+        // this.$bus.$emit('treeClearSelected','閲嶇疆鍒楄〃')
         this.$emit('sendSelectBaseTree', '')
       },
-
       onSelect(selectedKeys, e) {
         this.hiding = false
         let record = e.node.dataRef
         this.currSelected = Object.assign({}, record)
         this.selectedKeys = [record.key]
-        console.log(this.selectedKeys)
         this.$emit('sendSelectBaseTree', this.selectedKeys)
       },
       handleEdit(entity) {
@@ -167,8 +169,7 @@
         //   this.loading = false
         //   this.cardLoading = false
         // })
-      }
-      ,
+      },
       handleChange() {
         let search = this.searchInput
         let expandedKeys = this.dataList
@@ -186,8 +187,7 @@
           searchValue: search,
           autoExpandParent: true
         })
-      }
-      ,
+      },
       handleSearch(value) {
         let search = value
         let expandedKeys = this.dataList
@@ -206,8 +206,7 @@
           searchValue: search,
           autoExpandParent: true
         })
-      }
-      ,
+      },
       getParentKey(key, tree) {
         let parentKey
         for (let i = 0; i < tree.length; i++) {
@@ -223,7 +222,6 @@
         }
         return parentKey
       },
-
       generateList(data) {
         for (let i = 0; i < data.length; i++) {
           const node = data[i]
@@ -288,9 +286,7 @@
         this.queryTreeData()
         // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
       }
-
-    }
-    ,
+    },
     //鐩戝惉
     watch: {
       currSelected(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢

--
Gitblit v1.9.3