From 772190e7b2e3f6ef0695ba54d9209324acdcb30a Mon Sep 17 00:00:00 2001
From: 艺术家 <10819716+q100102@user.noreply.gitee.com>
Date: 星期三, 04 六月 2025 13:57:17 +0800
Subject: [PATCH] 伸缩杆代码提交
---
项目代码/伸缩杆/client/src/views/Login.vue | 62 +
项目代码/伸缩杆/client/src/assets/index/icon/icon41.png | 0
项目代码/伸缩杆/client/src/assets/index/icon/icon4.png | 0
项目代码/伸缩杆/client/src/views/tts/Parametersettings/Parametersettings.vue | 157 --
项目代码/伸缩杆/client/src/assets/index/icon/icon3.png | 0
项目代码/伸缩杆/client/package.json | 1
项目代码/伸缩杆/client/src/layout/index.vue | 85 -
项目代码/可视化大屏/client/src/views/Index.vue | 17
项目代码/伸缩杆/client/src/api/newapi/Maintenance.js | 2
项目代码/伸缩杆/client/src/assets/index/icon/icon11.png | 0
项目代码/伸缩杆/client/index.html | 12
项目代码/可视化大屏.7z | 0
项目代码/伸缩杆/client/pnpm-lock.yaml | 179 +++
项目代码/伸缩杆/client/src/components/basic/VolElementMenuChild.vue | 3
项目代码/伸缩杆/client/src/assets/index/icon/icon31.png | 0
项目代码/伸缩杆/client/src/views/tts/DataLogging/Datalogging.vue | 232 +++-
项目代码/伸缩杆/client/src/api/user.js | 19
项目代码/伸缩杆/client/src/api/newapi/MaintenanceTeam.js | 6
项目代码/可视化大屏/client/src/layout/index.vue | 4
项目代码/伸缩杆/client/src/assets/index/icon/icon6.png | 0
项目代码/伸缩杆/client/src/views/tts/AlarmReset/AlarmReset.vue | 102 +
项目代码/伸缩杆/client/src/views/tts/PickAndDrop/Manualcontrol.vue | 591 ++++++-----
项目代码/伸缩杆/client/src/assets/index/icon/icon1.png | 0
项目代码/伸缩杆/client/src/assets/login/bg1.png | 0
项目代码/伸缩杆/client/src/assets/index/icon/icon61.png | 0
项目代码/伸缩杆/client/src/views/Index.vue | 37
项目代码/伸缩杆/client/src/api/newapi/AlarmReset.js | 6
项目代码/伸缩杆/client/src/assets/index/icon/icon21.png | 0
项目代码/伸缩杆/client/src/views/tts/UserManagement/Usermanagement.vue | 1166 +++++++++++++++++++---
项目代码/伸缩杆/client/src/assets/index/icon/icon5.png | 0
项目代码/伸缩杆/client/src/components/basic/VolElementMenu.vue | 2
项目代码/伸缩杆/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue | 70 +
项目代码/伸缩杆/client/src/assets/index/icon/icon2.png | 0
项目代码/伸缩杆/client/src/views/system/Sys_Menu.vue | 177 ++-
项目代码/伸缩杆/client/src/assets/login/bg.png | 0
项目代码/伸缩杆/client/src/views/tts/PickAndDrop/PickAndDrop.vue | 171 ++
36 files changed, 2,272 insertions(+), 829 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/index.html" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/index.html"
index c4c824c..03f24ce 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/index.html"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/index.html"
@@ -23,10 +23,20 @@
</noscript> -->
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
+
+ <!--涓変釜蹇呰鐨刯s鏂囦欢寮曞叆-->
<script src="/webControl/jquery-1.12.4.min.js"></script>
<script src="/webControl/jsencrypt.min.js"></script>
+ <!-- 鐢ㄤ簬RSA鍔犲瘑 -->
<script src="/webControl/web-control_1.2.7.min.js"></script>
- <script src="/webControl/webVideoCtrl.js" type="text/javascript"></script>
+
+ <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
+ <script type="text/javascript">
+ var Ip = returnCitySN["cip"];
+ var cityname = returnCitySN["cname"];
+ localStorage.setItem("Ip", Ip);
+ localStorage.setItem("cityname", cityname);
+ </script>
</body>
</html>
<style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/package.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/package.json"
index d85aaea..3c84c05 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/package.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/package.json"
@@ -18,6 +18,7 @@
"echarts": "^5.6.0",
"element-china-area-data": "^6.1.0",
"element-plus": "^2.9.9",
+ "ezuikit-js": "8.1.9-beta.3",
"pinia": "^2.3.0",
"screenfull": "^6.0.2",
"scss": "^0.2.4",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/pnpm-lock.yaml" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/pnpm-lock.yaml"
index 41278f5..5467445 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/pnpm-lock.yaml"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/pnpm-lock.yaml"
@@ -35,6 +35,9 @@
element-plus:
specifier: ^2.9.9
version: 2.9.9(vue@3.5.13)
+ ezuikit-js:
+ specifier: 8.1.9-beta.3
+ version: 8.1.9-beta.3
pinia:
specifier: ^2.3.0
version: 2.3.1(vue@3.5.13)
@@ -415,6 +418,27 @@
cpu: [x64]
os: [win32]
+ '@ezuikit/player-ezopen@8.1.9-beta.3':
+ resolution: {integrity: sha512-4YEA/Otp/lW8iiCOhgajhpkrbdFePUN3oMnSumrvYvDfiIMAKJLAiAmCCiXieoJ8hIzrCeXKjYUPgY5/HALHdg==}
+
+ '@ezuikit/player-plugin-record@8.1.8-beta.3':
+ resolution: {integrity: sha512-YcQ5MR8zyg8b+o/ktr6r+YCXkiEX43HVmzVkfJsERgaokaHzoNIpOomEl51j/13gcemjSXuN6i1apCRC2v32pg==}
+
+ '@ezuikit/utils-collect@0.1.1':
+ resolution: {integrity: sha512-BgEOnTtAq8rQRBAKv5rLXbQLGOnfOZ6NS0QTmiviey80JbMJlxrLiqmjL5lxvkm4JtCcXCtSgPA4tskQKN4eDA==}
+
+ '@ezuikit/utils-i18n@1.0.1':
+ resolution: {integrity: sha512-uUjN3ADHV2ZG4QznuA7FB89/ck8AGV4qS8hm/sqeSA6/ie4ryYw8MS4wIv71WgPBIgIVDfASuEapyLOwq7R2aQ==}
+
+ '@ezuikit/utils-logger@1.0.1':
+ resolution: {integrity: sha512-qak0MXh4vWZCji3aSCfHdWR3EbZCaqS0iMT8/QWuWPRr0vDmTRMP3kFOAw1MuMraR0ocjPBE2PaTEmUuwVqaAw==}
+
+ '@ezuikit/utils-service@1.0.1':
+ resolution: {integrity: sha512-iNjYuU7AScBJxvKBM9PjiGI2y64QJNPT/H1Fy/Y7ZIAlw4DO//TP+x50qCho+i+EOUpWLtOqBQvtRb7a0O4X4Q==}
+
+ '@ezuikit/utils-tools@1.0.4':
+ resolution: {integrity: sha512-w+LZ03qowSqrSqDnuONKPpmEn0cuCaF2pkgHL1YicR0of/ZelCho5X8cy5TXQe7UsrQkIM2M7vVennv5KnAdpQ==}
+
'@floating-ui/core@1.7.0':
resolution: {integrity: sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==}
@@ -441,6 +465,9 @@
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@juggle/resize-observer@3.4.0':
+ resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
'@kurkle/color@0.3.4':
resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==}
@@ -702,6 +729,9 @@
resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
engines: {node: '>=10.0.0'}
+ abortcontroller-polyfill@1.7.8:
+ resolution: {integrity: sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==}
+
address@1.2.2:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
@@ -766,6 +796,9 @@
big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ bignumber.js@9.3.0:
+ resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==}
birpc@0.2.19:
resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
@@ -891,6 +924,9 @@
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+ debounce-promise@3.1.2:
+ resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==}
+
debug@4.4.0:
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
@@ -899,6 +935,10 @@
peerDependenciesMeta:
supports-color:
optional: true
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
default-browser-id@5.0.0:
resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
@@ -919,6 +959,9 @@
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
+
+ delegate@3.2.0:
+ resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
@@ -1008,6 +1051,9 @@
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+
execa@9.5.2:
resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==}
engines: {node: ^18.19.0 || >=20.5.0}
@@ -1015,6 +1061,9 @@
extend-shallow@2.0.1:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'}
+
+ ezuikit-js@8.1.9-beta.3:
+ resolution: {integrity: sha512-BtpkKOafxRmZroVcol5yOpASVHi1ddUy7DGzFb/TLkoh3VER7xEOzJepiK0O7dOsXAMmxXwooMLO+DIfMXFXnw==}
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -1024,6 +1073,10 @@
fast-uri@3.0.6:
resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
+
+ fetch-blob@3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
figgy-pudding@3.5.2:
resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==}
@@ -1056,6 +1109,10 @@
form-data@4.0.2:
resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
engines: {node: '>= 6'}
+
+ formdata-polyfill@4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
formstream@1.5.1:
resolution: {integrity: sha512-q7ORzFqotpwn3Y/GBK2lK7PjtZZwJHz9QE9Phv8zb5IrL9ftGLyi2zjGURON3voK8TaZ+mqJKERYN4lrHYTkUQ==}
@@ -1144,6 +1201,9 @@
humanize-ms@1.2.1:
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+
+ i18n-js@4.5.1:
+ resolution: {integrity: sha512-n7jojFj1WC0tztgr0I8jqTXuIlY1xNzXnC3mjKX/YjJhimdM+jXM8vOmn9d3xQFNC6qDHJ4ovhdrGXrRXLIGkA==}
iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
@@ -1241,6 +1301,9 @@
isstream@0.1.2:
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
+ jquery@3.7.1:
+ resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==}
+
js-base64@2.6.4:
resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
@@ -1318,6 +1381,9 @@
make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
+
+ make-plural@7.4.0:
+ resolution: {integrity: sha512-4/gC9KVNTV6pvYg2gFeQYTW3mWaoJt7WZE5vrp1KnQDgW92JtYZnzmZT81oj/dUTqAIu0ufI2x3dkgu3bB1tYg==}
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
@@ -1407,6 +1473,11 @@
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+ deprecated: Use your platform's native DOMException instead
node-hex@1.0.1:
resolution: {integrity: sha512-iwpZdvW6Umz12ICmu9IYPRxg0tOLGmU3Tq2tKetejCj3oZd7b2nUXwP3a7QA5M9glWy8wlPS1G3RwM/CdsUbdQ==}
@@ -1760,6 +1831,10 @@
resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
engines: {node: '>= 10.13.0'}
+ screenfull@5.2.0:
+ resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==}
+ engines: {node: '>=0.10.0'}
+
screenfull@6.0.2:
resolution: {integrity: sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==}
engines: {node: ^14.13.1 || >=16.0.0}
@@ -1917,6 +1992,9 @@
typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+ ua-parser-js@1.0.37:
+ resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==}
+
uglify-js@3.19.3:
resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==}
engines: {node: '>=0.8.0'}
@@ -1970,6 +2048,10 @@
utility@1.18.0:
resolution: {integrity: sha512-PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==}
engines: {node: '>= 0.12.0'}
+
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
varint@6.0.0:
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
@@ -2097,6 +2179,10 @@
wangeditor@4.7.15:
resolution: {integrity: sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==}
+
+ web-streams-polyfill@3.3.3:
+ resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
+ engines: {node: '>= 8'}
webpack-sources@1.4.3:
resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
@@ -2428,6 +2514,38 @@
'@esbuild/win32-x64@0.25.1':
optional: true
+ '@ezuikit/player-ezopen@8.1.9-beta.3':
+ dependencies:
+ '@ezuikit/player-plugin-record': 8.1.8-beta.3
+ '@ezuikit/utils-i18n': 1.0.1
+ '@ezuikit/utils-logger': 1.0.1
+ '@ezuikit/utils-service': 1.0.1
+ '@ezuikit/utils-tools': 1.0.4
+ '@juggle/resize-observer': 3.4.0
+ dayjs: 1.11.13
+ deepmerge: 4.3.1
+ eventemitter3: 5.0.1
+ jquery: 3.7.1
+ screenfull: 5.2.0
+ ua-parser-js: 1.0.37
+
+ '@ezuikit/player-plugin-record@8.1.8-beta.3': {}
+
+ '@ezuikit/utils-collect@0.1.1': {}
+
+ '@ezuikit/utils-i18n@1.0.1':
+ dependencies:
+ i18n-js: 4.5.1
+
+ '@ezuikit/utils-logger@1.0.1': {}
+
+ '@ezuikit/utils-service@1.0.1':
+ dependencies:
+ '@ezuikit/utils-tools': 1.0.4
+ dayjs: 1.11.13
+
+ '@ezuikit/utils-tools@1.0.4': {}
+
'@floating-ui/core@1.7.0':
dependencies:
'@floating-ui/utils': 0.2.9
@@ -2455,6 +2573,8 @@
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+
+ '@juggle/resize-observer@3.4.0': {}
'@kurkle/color@0.3.4': {}
@@ -2726,6 +2846,8 @@
'@xmldom/xmldom@0.8.10': {}
+ abortcontroller-polyfill@1.7.8: {}
+
address@1.2.2: {}
aes-decrypter@4.0.2:
@@ -2820,6 +2942,8 @@
balanced-match@1.0.2: {}
big.js@5.2.2: {}
+
+ bignumber.js@9.3.0: {}
birpc@0.2.19: {}
@@ -2956,9 +3080,13 @@
dayjs@1.11.13: {}
+ debounce-promise@3.1.2: {}
+
debug@4.4.0:
dependencies:
ms: 2.1.3
+
+ deepmerge@4.3.1: {}
default-browser-id@5.0.0: {}
@@ -2974,6 +3102,8 @@
define-lazy-prop@3.0.0: {}
delayed-stream@1.0.0: {}
+
+ delegate@3.2.0: {}
destroy@1.2.0: {}
@@ -3093,6 +3223,8 @@
estree-walker@2.0.2: {}
+ eventemitter3@5.0.1: {}
+
execa@9.5.2:
dependencies:
'@sindresorhus/merge-streams': 4.0.0
@@ -3112,11 +3244,34 @@
dependencies:
is-extendable: 0.1.1
+ ezuikit-js@8.1.9-beta.3:
+ dependencies:
+ '@ezuikit/player-ezopen': 8.1.9-beta.3
+ '@ezuikit/utils-collect': 0.1.1
+ '@ezuikit/utils-i18n': 1.0.1
+ '@ezuikit/utils-logger': 1.0.1
+ '@ezuikit/utils-tools': 1.0.4
+ '@juggle/resize-observer': 3.4.0
+ abortcontroller-polyfill: 1.7.8
+ debounce-promise: 3.1.2
+ deepmerge: 4.3.1
+ delegate: 3.2.0
+ formdata-polyfill: 4.0.10
+ jquery: 3.7.1
+ lodash-es: 4.17.21
+ screenfull: 5.2.0
+ uuid: 8.3.2
+
fast-deep-equal@3.1.3: {}
fast-json-stable-stringify@2.1.0: {}
fast-uri@3.0.6: {}
+
+ fetch-blob@3.2.0:
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.3.3
figgy-pudding@3.5.2: {}
@@ -3147,6 +3302,10 @@
combined-stream: 1.0.8
es-set-tostringtag: 2.1.0
mime-types: 2.1.35
+
+ formdata-polyfill@4.0.10:
+ dependencies:
+ fetch-blob: 3.2.0
formstream@1.5.1:
dependencies:
@@ -3247,6 +3406,12 @@
dependencies:
ms: 2.1.3
+ i18n-js@4.5.1:
+ dependencies:
+ bignumber.js: 9.3.0
+ lodash: 4.17.21
+ make-plural: 7.4.0
+
iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
@@ -3314,6 +3479,8 @@
isobject@3.0.1: {}
isstream@0.1.2: {}
+
+ jquery@3.7.1: {}
js-base64@2.6.4: {}
@@ -3396,6 +3563,8 @@
dependencies:
pify: 4.0.1
semver: 5.7.2
+
+ make-plural@7.4.0: {}
math-intrinsics@1.1.0: {}
@@ -3485,6 +3654,8 @@
optional: true
neo-async@2.6.2: {}
+
+ node-domexception@1.0.0: {}
node-hex@1.0.1: {}
@@ -3805,6 +3976,8 @@
ajv-formats: 2.1.1(ajv@8.17.1)
ajv-keywords: 5.1.0(ajv@8.17.1)
+ screenfull@5.2.0: {}
+
screenfull@6.0.2: {}
scss@0.2.4:
@@ -3953,6 +4126,8 @@
typedarray@0.0.6: {}
+ ua-parser-js@1.0.37: {}
+
uglify-js@3.19.3: {}
uglifyjs-webpack-plugin@2.2.0:
@@ -4017,6 +4192,8 @@
mkdirp: 0.5.6
mz: 2.7.0
unescape: 1.0.1
+
+ uuid@8.3.2: {}
varint@6.0.0: {}
@@ -4146,6 +4323,8 @@
'@babel/runtime-corejs3': 7.27.1
tslib: 2.8.1
+ web-streams-polyfill@3.3.3: {}
+
webpack-sources@1.4.3:
dependencies:
source-list-map: 2.0.1
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/AlarmReset.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/AlarmReset.js"
index e11ffbb..de0e4e8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/AlarmReset.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/AlarmReset.js"
@@ -1,4 +1,6 @@
import http from "../http";
-//鐧诲綍璁板綍
-export const BecomeTrue = (data) => http.post(`/api/AlarmResetHsy/BecomeTrue?account=${data.account}`);
\ No newline at end of file
+//鎶ヨ澶嶄綅
+export const BecomeTrue = () => http.post(`/api/AlarmResetHsy/BecomeTrue`);
+//娓呴櫎鎶ヨ淇℃伅
+export const ClearAlarm = () => http.post(`/api/AlarmResetHsy/DeleteAllinform`);
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/Maintenance.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/Maintenance.js"
index c57c7a5..075db9d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/Maintenance.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/Maintenance.js"
@@ -8,5 +8,7 @@
export const RunOperation = (id, ispossible) => http.post(`/api/Maintenance/RunOperation?id=${id}&ispossible=${ispossible}`);
//鏀瑰彉鐘舵��
export const ChangeTasState = (data) => http.post("/api/Maintenance/ChangeTasState", data);
+//鑾峰彇寮�濮嬫淇汉鍛�
+export const YShowStartTake = () => http.post(`/api/Maintenance/YShowStartTake`);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/MaintenanceTeam.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/MaintenanceTeam.js"
index 221676b..c387c39 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/MaintenanceTeam.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/newapi/MaintenanceTeam.js"
@@ -1,6 +1,6 @@
import http from "../http";
//妫�淇缃褰�
-export const MaintenanceSettingRecord = (data) =>http.post(`/api/MaintenanceTeam/MaintenanceSettingRecord`, data);
+export const MaintenanceSettingRecord = (data) => http.post(`/api/MaintenanceTeam/MaintenanceSettingRecord`, data);
-//妫�淇搷浣滆褰�
-export const MaintenanceOperationRecord = (data) => http.post(`/api/Maintenance/MaintenanceOperationRecord`,data);
+//鎺堟潈璁板綍璁板綍
+export const AuthGetPageData = (data) => http.post(`/api/AuthorizationRecord/GetPageData`, data);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
index afd7fff..58c7bfd 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/api/user.js"
@@ -10,7 +10,7 @@
export const GetUerType = () => http.get('/api/User/GetUerType')
//鑾峰彇鐢ㄦ埛鍒楄〃
-export const GetUserList = (data) => http.post('/api/User/GetPageData', data)
+export const GetUserList = (data) => http.post('/api/User/YShowUserList', data)
//鏂板缓鐢ㄦ埛
export const AddUser = (data) => http.post('/api/User/AdduserData', data)
@@ -54,3 +54,20 @@
export const IsEnabled = (data) => http.post(`/api/User/UpdateData`, data);
//鑾峰彇閮ㄩ棬
export const GetDepartment = (data) => http.post('/api/Department/GetPageData', data)
+
+//鑾峰彇鐢ㄦ埛鐝粍
+export const GetUserTeam = (data) => http.post('/api/TeamCategory/GetPageData', data)
+//娣诲姞鐢ㄦ埛鐝粍
+export const AddUserTeam = (data) => http.post('/api/TeamCategory/AddData', data)
+//缂栬緫鐢ㄦ埛鐝粍
+export const EditUserTeam = (data) => http.post('/api/TeamCategory/UpdateData', data)
+//鍒犻櫎鐢ㄦ埛鐝粍
+export const DeleteUserTeam = (data) => http.post('/api/TeamCategory/Del', data)
+//鑾峰彇鐢ㄦ埛鍗曚綅
+export const GetUserUnit = (data) => http.post('/api/UnitCategory/GetPageData', data)
+//娣诲姞鐢ㄦ埛鍗曚綅
+export const AddUserUnit = (data) => http.post('/api/UnitCategory/AddData', data)
+//缂栬緫鐢ㄦ埛鍗曚綅
+export const EditUserUnit = (data) => http.post('/api/UnitCategory/UpdateData', data)
+//鍒犻櫎鐢ㄦ埛鍗曚綅
+export const DeleteUserUnit = (data) => http.post('/api/UnitCategory/Del', data)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon1.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon1.png"
index 0de291f..9d21aa4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon1.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon1.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon11.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon11.png"
new file mode 100644
index 0000000..0de291f
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon11.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon2.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon2.png"
index f1b17f4..08c4b41 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon2.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon2.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon21.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon21.png"
new file mode 100644
index 0000000..f1b17f4
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon21.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon3.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon3.png"
index f1b17f4..2b13c77 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon3.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon3.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon31.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon31.png"
new file mode 100644
index 0000000..f1b17f4
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon31.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon4.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon4.png"
index 264dc50..48b9592 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon4.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon4.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon41.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon41.png"
new file mode 100644
index 0000000..264dc50
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon41.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon5.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon5.png"
index 6e4e9da..53e4f05 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon5.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon5.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon6.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon6.png"
index 5848173..60c4f98 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon6.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon6.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon61.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon61.png"
new file mode 100644
index 0000000..5848173
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/index/icon/icon61.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg.png"
index 4c7db11..68ce01b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg.png"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg1.png" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg1.png"
new file mode 100644
index 0000000..4c7db11
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/assets/login/bg1.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenu.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenu.vue"
index 3c6883d..6c26303 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenu.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenu.vue"
@@ -50,7 +50,7 @@
</template>
<script>
-// import VolElementMenuChild from "./VolElementMenuChild";
+import VolElementMenuChild from "./VolElementMenuChild.vue";
import { useRouter } from "vue-router";
import {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenuChild.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenuChild.vue"
index cfa5505..8b98580 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenuChild.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/components/basic/VolElementMenuChild.vue"
@@ -58,6 +58,3 @@
font-size: 0.88rem !important;
}
</style>
-
-
-
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/layout/index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/layout/index.vue"
index c6772a6..44f6e5d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/layout/index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/layout/index.vue"
@@ -3,42 +3,6 @@
style="display: flex; width: 100%; min-height: 100vh; height: 100%"
:class="['vol-theme-' + theme]"
>
- <!-- <div
- style="
- width: 12.5rem;
- height: 100%;
- display: flex;
- flex-direction: column;
- "
- >
- <div
- style="
- width: 100%;
- background-color: #f5f5f5;
- display: flex;
- justify-content: center;
- align-items: center;
- height: 3.75rem;
- "
- >
- <img
- @click="router.push({ path: '/' })"
- src="@/assets/logo.png"
- alt=""
- style="height: 3.65rem; cursor: pointer"
- />
- </div>
- <el-scrollbar style="flex: 1; background-color: #242424">
- <VolMenu
- :currentMenuId="currentMenuId"
- :on-select="onSelect"
- :enable="true"
- :open-select="false"
- :isCollapse="isCollapse"
- :list="menuOptions"
- ></VolMenu>
- </el-scrollbar>
- </div> -->
<div style="flex: 1; height: 100%; display: flex; flex-direction: column">
<header style="height: 4.38rem; background-color: #006eff">
<div
@@ -76,28 +40,17 @@
padding: 0 0.69rem 0 0;
"
>
- <!-- <span
+ <span
style="
- font-size: 1.25rem;
- font-weight: bold;
- color: #fff;
- margin-right: 0.69rem;
- cursor: pointer;
+ color: rgb(255, 255, 255);
+ font-size: 0.88rem;
+ margin-right: 1rem;
"
- @click="router.push({ path: '/VideoSurveillance' })"
- >瑙嗛鐩戞帶</span
- > -->
- <!-- <span
- style="
- font-size: 1.25rem;
- font-weight: bold;
- color: #fff;
- margin-right: 0.69rem;
- cursor: pointer;
- "
- @click="router.push({ path: '/AlarmReset' })"
- >鎶ヨ澶嶄綅</span
- > -->
+ @click="toDetail"
+ class="tetxsize"
+ >鏉冮檺淇敼</span
+ >
+
<img
v-if="!isFullscreen"
style="
@@ -134,12 +87,16 @@
@click="router.push({ path: '/index' })"
/>
<div>
- <span style="color: rgb(255, 255, 255); font-size: 0.88rem"
+ <span
+ style="color: rgb(255, 255, 255); font-size: 0.88rem"
+ class="tetxsize"
>瑙掕壊锛歿{ acountInfo.roleName }}</span
>
</div>
<div style="margin-left: 2rem">
- <span style="color: rgb(255, 255, 255); font-size: 0.88rem"
+ <span
+ style="color: rgb(255, 255, 255); font-size: 0.88rem"
+ class="tetxsize"
>濮撳悕锛歿{ acountInfo.userTrueName }}</span
>
</div>
@@ -180,6 +137,7 @@
font-size: 0.88rem;
text-align: left;
"
+ class="tetxsize"
>
{{ userName }}
</div>
@@ -389,6 +347,10 @@
}
if (item.path == "#") return;
open(item);
+ };
+ // 绠$悊 璺敱璺宠浆
+ const toDetail = (row) => {
+ router.push("/sysMenu");
};
const open = (item, useRoute) => {
/* 2020.07.31澧炲姞鎵嬪姩鎵撳紑tabs*/
@@ -741,6 +703,7 @@
acountInfo,
screenonToggle,
isFullscreen,
+ toDetail,
};
},
/**
@@ -861,6 +824,12 @@
.header-navigation ::v-deep(.el-tabs__item.is-top) {
padding: 0 15px;
}
+
+@media screen and (max-width: 1080px) {
+ .tetxsize {
+ font-size: 1.5rem !important;
+ }
+}
</style>
<style>
.horizontal-collapse-transition {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Index.vue"
index 3845297..bec1524 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Index.vue"
@@ -21,14 +21,15 @@
<img src="@/assets/index/icon/icon1.png" alt="" />
</div>
</div>
+
<div
class="item"
- style="background-color: #ffa726"
- @click="router.push('/Maintenancemanagement')"
+ style="background-color: #2200de"
+ @click="router.push('/Enteroverhaul')"
>
- <span>妫�淇鐞�</span>
+ <span>杩涘叆妫�淇�</span>
<div class="count">
- <img src="@/assets/index/icon/icon2.png" alt="" />
+ <img src="@/assets/index/icon/icon6.png" alt="" />
</div>
</div>
<div
@@ -63,14 +64,15 @@
<img src="@/assets/index/icon/icon5.png" alt="" />
</div>
</div>
+
<div
class="item"
- style="background-color: #2200de"
- @click="router.push('/Enteroverhaul')"
+ style="background-color: #ffa726"
+ @click="router.push('/AlarmReset')"
>
- <span>杩涘叆妫�淇�</span>
+ <span>鎶ヨ澶嶄綅</span>
<div class="count">
- <img src="@/assets/index/icon/icon6.png" alt="" />
+ <img src="@/assets/index/icon/icon2.png" alt="" />
</div>
</div>
</div>
@@ -89,16 +91,16 @@
</div>
<div
class="item"
- style="background-color: #ffa726"
- @click="router.push('/Maintenancemanagement')"
+ style="background-color: #2200de"
+ @click="router.push('/Enteroverhaul')"
>
- <span>妫�淇鐞�</span>
+ <span>杩涘叆妫�淇�</span>
<div class="count">
- <img src="@/assets/index/icon/icon2.png" alt="" />
+ <img src="@/assets/index/icon/icon6.png" alt="" />
</div>
</div>
</div>
- <div class="main_b">
+ <div class="main_b" style="margin-top: 9rem; margin-bottom: 9rem">
<div
class="item"
style="background-color: #9ccc65"
@@ -131,14 +133,15 @@
<img src="@/assets/index/icon/icon5.png" alt="" />
</div>
</div>
+
<div
class="item"
- style="background-color: #2200de"
- @click="router.push('/Enteroverhaul')"
+ style="background-color: #ffa726"
+ @click="router.push('/AlarmReset')"
>
- <span>杩涘叆妫�淇�</span>
+ <span>鎶ヨ澶嶄綅</span>
<div class="count">
- <img src="@/assets/index/icon/icon6.png" alt="" />
+ <img src="@/assets/index/icon/icon2.png" alt="" />
</div>
</div>
</div>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Login.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Login.vue"
index 2f8eea2..c318908 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Login.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/Login.vue"
@@ -2,6 +2,32 @@
<div class="login-container">
<div class="login-header">
<img src="../assets/login/login-text.png" alt="" />
+ <div>
+ <img
+ v-if="!isFullscreen"
+ style="
+ width: 1.88rem;
+ height: 1.88rem;
+ margin-right: 1.81rem;
+ cursor: pointer;
+ "
+ src="@/assets/screen.png"
+ alt=""
+ @click="screenonToggle"
+ />
+ <img
+ v-if="isFullscreen"
+ style="
+ width: 1.88rem;
+ height: 1.88rem;
+ margin-right: 1.81rem;
+ cursor: pointer;
+ "
+ src="@/assets/exitscreen.png"
+ alt=""
+ @click="screenonToggle"
+ />
+ </div>
</div>
<div class="login-box">
<!-- 宸︿晶鍥剧墖 -->
@@ -25,7 +51,7 @@
<el-form-item prop="userName">
<el-input
v-model="loginForm.userName"
- style="height: 3.13rem"
+ style="height: 3.13rem; width: 20.19rem"
ref="userNameRef"
type="text"
size="large"
@@ -37,7 +63,7 @@
<el-input
show-password
v-model="loginForm.password"
- style="height: 3.13rem"
+ style="height: 3.13rem; width: 20.19rem"
type="password"
size="large"
auto-complete="off"
@@ -46,7 +72,7 @@
</el-input>
</el-form-item>
- <el-form-item prop="verificationCode">
+ <!-- <el-form-item prop="verificationCode">
<div style="display: flex">
<el-input
v-model="loginForm.verificationCode"
@@ -66,7 +92,7 @@
/>
</div>
</div>
- </el-form-item>
+ </el-form-item> -->
<el-form-item>
<el-button
:loading="loading"
@@ -224,8 +250,9 @@
<script setup>
import { getCodeImg, login, CleanUnusedImages } from "@/api/login";
import { useRouter, useRoute } from "vue-router";
-import { getCurrentInstance, ref, nextTick, onMounted } from "vue";
+import { getCurrentInstance, ref, nextTick, onMounted, onUnmounted } from "vue";
import { ElMessage } from "element-plus";
+import screenfull from "screenfull";
import store from "@/store";
import axios from "axios";
@@ -249,7 +276,7 @@
const loginForm = ref({
userName: "",
password: "",
- verificationCode: "",
+ verificationCode: "1234",
UUID: undefined,
tenantId: "0",
});
@@ -528,6 +555,28 @@
}, 3000);
}
};
+
+// 鏄惁鍏ㄥ睆
+const isFullscreen = ref(false);
+
+// 鐩戝惉鍙樺寲
+const screenchange = () => {
+ isFullscreen.value = screenfull.isFullscreen;
+};
+
+// 鍒囨崲浜嬩欢
+const screenonToggle = () => {
+ screenfull.toggle();
+};
+// 璁剧疆渚﹀惉鍣�
+onMounted(() => {
+ screenfull.on("screenchange", screenchange);
+});
+
+// 鍒犻櫎渚﹀惉鍣�
+onUnmounted(() => {
+ screenfull.off("screenchange", screenchange);
+});
</script>
<style lang="less" scoped>
@@ -543,6 +592,7 @@
flex-direction: column;
.login-header {
display: flex;
+ justify-content: space-between;
align-items: center;
height: 4.38rem;
background-color: #006eff;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/system/Sys_Menu.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/system/Sys_Menu.vue"
index 5948cef..b6ade53 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/system/Sys_Menu.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/system/Sys_Menu.vue"
@@ -1,14 +1,34 @@
<template>
- <div style="width: 100%;height: 100%;display: flex;background-color: white;" >
+ <div
+ style="width: 100%; height: 100%; display: flex; background-color: white"
+ >
<!-- <el-input/> -->
- <vol-box :width="940" :mask="true" :height="500" title="鍥炬爣鍒楄〃" v-model="model">
+ <vol-box
+ :width="940"
+ :mask="true"
+ :height="500"
+ title="鍥炬爣鍒楄〃"
+ v-model="model"
+ >
<Icons :onSelect="onSelect"></Icons>
<template #footer>
- <el-button type="primary" size="mini" @click="model = false">纭� 璁�</el-button>
+ <el-button type="primary" size="mini" @click="model = false"
+ >纭� 璁�</el-button
+ >
</template>
</vol-box>
- <vol-box :width="600" :mask="true" :height="270" title="鍏朵粬鏉冮檺" v-model="actionModel">
- <vol-form ref="actionForm" :formRules="actionOptions" :formFields="actionFields">
+ <vol-box
+ :width="600"
+ :mask="true"
+ :height="270"
+ title="鍏朵粬鏉冮檺"
+ v-model="actionModel"
+ >
+ <vol-form
+ ref="actionForm"
+ :formRules="actionOptions"
+ :formFields="actionFields"
+ >
<template #header>
<div>
<el-alert show-icon type="success">
@@ -20,20 +40,33 @@
</template>
</vol-form>
<template #footer>
- <el-button type="primary" size="mini" @click="otherAction">纭� 璁�</el-button>
+ <el-button type="primary" size="mini" @click="otherAction"
+ >纭� 璁�</el-button
+ >
</template>
</vol-box>
<!-- v-if="tree.length" -->
<div class="menu-left">
<div class="m-title"><i class="el-icon-warning-outline"></i>鑿滃崟鍒楄〃</div>
- <el-scrollbar style="height: calc(100vh - 6.5rem - 40px - 10px); width: 200px">
- <VolMenu :onSelect="getTreeItem" :list="tree" :isCollapse="false"></VolMenu>
+ <el-scrollbar
+ style="height: calc(100vh - 6.5rem - 40px - 10px); width: 200px"
+ >
+ <VolMenu
+ :onSelect="getTreeItem"
+ :list="tree"
+ :isCollapse="false"
+ ></VolMenu>
</el-scrollbar>
</div>
- <div class="menu-right" style="margin-left: 10px;">
+ <div class="menu-right" style="margin-left: 10px">
<el-scrollbar style="height: 100%">
- <el-alert title="鑿滃崟閰嶇疆璇存槑" type="warning" :closable="false" show-icon>
+ <el-alert
+ title="鑿滃崟閰嶇疆璇存槑"
+ type="warning"
+ :closable="false"
+ show-icon
+ >
<div>
1銆佸鏋滄槸鐢ㄤ唬鐮佺敓鍣ㄧ敓鎴愮殑Vue椤甸潰,Url涓篤ue椤圭洰涓璼rc->router->viewGrid.js瀵瑰簲琛ㄥ悕鐨刾ath灞炴��
</div>
@@ -42,31 +75,56 @@
</div>
</el-alert>
<div style="padding: 0px 30px 0 20px">
- <vol-form class="form-content" ref="form" :formRules="options" :formFields="fields">
+ <vol-form
+ class="form-content"
+ ref="form"
+ :formRules="options"
+ :formFields="fields"
+ >
</vol-form>
<div>
<div class="auth-group">
<label style="width: 100px">鏉冮檺鎸夐挳锛�</label>
<div class="ck">
<el-checkbox-group v-model="actions">
- <el-checkbox v-for="(item, index) in action" :key="index" :label="item.value">{{ item.text + "(" +
- item.value + ")" }}</el-checkbox>
+ <el-checkbox
+ v-for="(item, index) in action"
+ :key="index"
+ :label="item.value"
+ >{{ item.text + "(" + item.value + ")" }}</el-checkbox
+ >
</el-checkbox-group>
</div>
</div>
</div>
<div style="padding-left: 100px">
- <el-button @click="handleCheckAll" size="mini" type="success" plain><i class="el-icon-check"></i>鍏�
- 閫�</el-button>
- <el-button @click="actionModel = true" size="mini" type="primary" plain><i
- class="el-icon-plus"></i>鍏朵粬鏉冮檺</el-button>
+ <el-button @click="handleCheckAll" size="mini" type="success" plain
+ ><i class="el-icon-check"></i>鍏� 閫�</el-button
+ >
+ <el-button
+ @click="actionModel = true"
+ size="mini"
+ type="primary"
+ plain
+ ><i class="el-icon-plus"></i>鍏朵粬鏉冮檺</el-button
+ >
</div>
<div class="m-btn">
- <el-button type="primary" @click="save"><i class="el-icon-check"></i>淇濆瓨</el-button>
- <el-button type="success" @click="add"><i class="el-icon-plus"></i>鏂板缓</el-button>
- <el-button type="warning" @click="addChild"><i class="el-icon-plus"></i>娣诲姞瀛愮骇</el-button>
- <el-button type="primary" plain @click="addBrother"><i class="el-icon-circle-plus"></i> 娣诲姞鍚岀骇</el-button>
- <el-button type="warning" plain @click="delMenu"><i class="el-icon-delete"></i> 鍒犻櫎鑿滃崟</el-button>
+ <el-button type="primary" @click="save"
+ ><i class="el-icon-check"></i>淇濆瓨</el-button
+ >
+ <el-button type="success" @click="add"
+ ><i class="el-icon-plus"></i>鏂板缓</el-button
+ >
+ <el-button type="warning" @click="addChild"
+ ><i class="el-icon-plus"></i>娣诲姞瀛愮骇</el-button
+ >
+ <el-button type="primary" plain @click="addBrother"
+ ><i class="el-icon-circle-plus"></i> 娣诲姞鍚岀骇</el-button
+ >
+ <el-button type="warning" plain @click="delMenu"
+ ><i class="el-icon-delete"></i> 鍒犻櫎鑿滃崟</el-button
+ >
</div>
</div>
</el-scrollbar>
@@ -176,7 +234,11 @@
tigger = true;
let menuId = this.fields.menuId;
this.http
- .post("/api/Sys_Menu/delMenu?menuId=" + menuId, {}, "姝e湪鍒犻櫎鏁版嵁....")
+ .post(
+ "/api/Sys_Menu/delMenu?menuId=" + menuId,
+ {},
+ "姝e湪鍒犻櫎鏁版嵁...."
+ )
.then((x) => {
if (!x.status) return this.$Message.error(x.message);
this.$refs.form.reset();
@@ -227,7 +289,7 @@
orderNo: this.fields.orderNo,
parentId: this.fields.parentId,
});
- console.log(this.tree)
+ console.log(this.tree);
});
});
},
@@ -246,11 +308,9 @@
onOpenChange(node) {
if (node.length == 0) return;
this.getTreeItem(node[node.length > 1 ? node.length - 1 : 0]);
- }
+ },
},
- created(){
-
- },
+ created() {},
setup() {
const tree = ref([]);
const actionValues = ref([]);
@@ -270,10 +330,10 @@
});
const initTree = () => {
http.post("/api/Sys_Menu/getMenu", {}, true).then((x) => {
- x.forEach(item => {
- item.icon = 'el-icon-menu';
- })
-
+ x.forEach((item) => {
+ item.icon = "el-icon-menu";
+ });
+
tree.value = x;
});
};
@@ -426,33 +486,35 @@
]);
const refForm = ref();
const getTreeItem = (node) => {
- http.post("api/Sys_Menu/getTreeItem?menuId=" + node, {}, true).then((x) => {
- try {
- fields.value.icon = x.icon;
- if (x.auth) {
- x.auth = JSON.parse(x.auth);
- action.value.splice(8, action.value.length);
+ http
+ .post("api/Sys_Menu/getTreeItem?menuId=" + node, {}, true)
+ .then((x) => {
+ try {
+ fields.value.icon = x.icon;
+ if (x.auth) {
+ x.auth = JSON.parse(x.auth);
+ action.value.splice(8, action.value.length);
- actions.value = x.auth.map((element) => {
- if (actionValues.value.indexOf(element.value) == -1) {
- action.value.push(element);
- }
- return element.value;
- });
- } else {
- action.value.splice(8, action.value.length);
+ actions.value = x.auth.map((element) => {
+ if (actionValues.value.indexOf(element.value) == -1) {
+ action.value.push(element);
+ }
+ return element.value;
+ });
+ } else {
+ action.value.splice(8, action.value.length);
+ x.auth = [];
+ fields.value.icon = "";
+ actions.value = [];
+ }
+ } catch (error) {
+ console.log("鑿滃崟鍔熻兘鏉冮檺杞崲鎴怞SON澶辫触:" + x.auth);
x.auth = [];
- fields.value.icon = "";
+ // this.icon = "";
actions.value = [];
}
- } catch (error) {
- console.log("鑿滃崟鍔熻兘鏉冮檺杞崲鎴怞SON澶辫触:" + x.auth);
- x.auth = [];
- // this.icon = "";
- actions.value = [];
- }
- refForm.value.reset(x);
- });
+ refForm.value.reset(x);
+ });
};
return {
tree,
@@ -468,7 +530,7 @@
actionOptions,
options,
form: refForm,
- getTreeItem
+ getTreeItem,
};
},
data() {
@@ -521,7 +583,7 @@
margin-top: 1px;
}
- >div {
+ > div {
float: left;
}
}
@@ -615,4 +677,3 @@
padding-left: 4px;
}
</style>
-
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/AlarmReset/AlarmReset.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/AlarmReset/AlarmReset.vue"
index b1124bc..3dbae62 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/AlarmReset/AlarmReset.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/AlarmReset/AlarmReset.vue"
@@ -1,10 +1,22 @@
<template>
<div class="AlarmReset">
- <div style="width: 100%; text-align: center; font-size: 5rem; color: #fff">
+ <div
+ :style="{
+ width: '100%',
+ textAlign: 'center',
+ fontSize: isMin ? '5rem' : '2rem',
+ color: '#fff',
+ }"
+ >
鎶ヨ澶嶄綅
</div>
<div style="margin-top: 3rem">
- <el-table :data="tableData" style="width: 100%" height="800">
+ <el-table
+ empty-text="鏆傛棤鏁版嵁"
+ :data="tableData"
+ style="width: 100%"
+ :height="isMin ? '800' : '450'"
+ >
<el-table-column prop="Id" label="搴忓彿" />
<el-table-column prop="AlarmContent" label="鎶ヨ鍐呭" />
<el-table-column prop="ResetStatus" label="澶嶄綅鐘舵��" />
@@ -40,18 +52,34 @@
/>
</div>
<div
- style="
- width: 100%;
- display: flex;
- justify-content: center;
- margin-top: 4rem;
- "
+ :style="{
+ width: '100%',
+ display: 'flex',
+ justifyContent: 'center',
+ marginTop: isMin ? '4rem' : '2rem',
+ }"
>
<el-button
type="primary"
- style="width: 10rem; height: 3rem"
+ :style="{
+ width: isMin ? '16rem' : '10rem',
+ height: isMin ? '5rem' : '2.5rem',
+ }"
@click="handleBecomeTrue"
- >鎶ヨ澶嶄綅</el-button
+ ><span :style="{ fontSize: isMin ? '3rem' : '1.5rem' }">
+ 鎶ヨ澶嶄綅</span
+ ></el-button
+ >
+ <el-button
+ type="primary"
+ :style="{
+ width: isMin ? '20rem' : '10rem',
+ height: isMin ? '5rem' : '2.5rem',
+ }"
+ @click="handleClearAlarm"
+ ><span :style="{ fontSize: isMin ? '3rem' : '1.5rem' }">
+ 娓呴櫎鎶ヨ淇℃伅</span
+ ></el-button
>
</div>
</div>
@@ -59,7 +87,7 @@
<script setup>
import { ref, onMounted, onUnmounted } from "vue";
import { ElMessage } from "element-plus";
-import { BecomeTrue } from "@/api/newapi/AlarmReset.js";
+import { BecomeTrue, ClearAlarm } from "@/api/newapi/AlarmReset.js";
import { formatTime } from "@/utils/index.js";
const timer = ref(null);
@@ -68,26 +96,37 @@
const pageSize = ref(10); // 姣忛〉鏄剧ず鐨勬潯鏁�
const currentPage = ref(0); // 褰撳墠椤电爜
const total = ref(0); // 鎬绘潯鏁�
+const isStart = ref(false); // 鏄惁寮�濮�
+const positionvalue = ref({}); // 浣嶇疆鍊�
+
const createSocket = (url) => {
clearInterval(timer.value);
// 鍒涘缓WebSocket杩炴帴
//"ws://127.0.0.1:9295/admin"
- client.value = new WebSocket("ws://192.168.2.103:5173/");
+ //192.168.1.103
+ client.value = new WebSocket("ws://192.168.1.103:5173/");
client.value.onopen = function () {
console.log("WebSocket 杩炴帴鎴愬姛");
};
client.value.onmessage = function (event) {
let data = JSON.parse(event.data);
- tableData.value = data.Data.slice(
- currentPage.value * pageSize.value,
- (currentPage.value + 1) * pageSize.value
- );
- total.value = data.Data.length; // 鏇存柊鎬绘潯鏁�
- console.log("WebSocket 鎺ユ敹鍒版秷鎭�", tableData.value);
+ if (data.Status) {
+ tableData.value = data.Data.slice(
+ currentPage.value * pageSize.value,
+ (currentPage.value + 1) * pageSize.value
+ );
+ total.value = data.Data.length; // 鏇存柊鎬绘潯鏁�
+ } else {
+ positionvalue.value = data;
+ }
+
+ console.log("WebSocket 鎺ユ敹鍒版秷鎭�", data);
};
client.value.onclose = function () {
console.log("WebSocket 杩炴帴鍏抽棴");
- timer.value = setTimeout(createSocket, 1000);
+ if (isStart.value) {
+ timer.value = setTimeout(createSocket, 1000);
+ }
};
client.value.onerror = function () {};
@@ -95,12 +134,10 @@
const handleCurrentChange = (val) => {
currentPage.value = val - 1; // 鏇存柊褰撳墠椤电爜
};
-const account = JSON.parse(localStorage.getItem("user")).userName; // 鑾峰彇璐﹀彿
+// const account = JSON.parse(localStorage.getItem("user")).userName; // 鑾峰彇璐﹀彿
//澶嶄綅鎸夐挳鏂规硶
-const handleBecomeTrue = (val) => {
- BecomeTrue({
- account: account,
- }).then((res) => {
+const handleBecomeTrue = () => {
+ BecomeTrue().then((res) => {
if (res.code == 0) {
ElMessage({
message: "澶嶄綅鎴愬姛",
@@ -114,16 +151,31 @@
}
});
};
-
+//娓呴櫎鎶ヨ淇℃伅鏂规硶
+const handleClearAlarm = () => {
+ ClearAlarm().then((res) => {
+ if (res.code == 0) {
+ ElMessage({
+ message: "娓呴櫎鎴愬姛",
+ type: "success",
+ });
+ }
+ });
+};
+const isMin = ref(false); // 鏄惁鏈�灏忓寲
onMounted(() => {
+ isMin.value = window.innerWidth <= 1080; // 鍒ゆ柇鏄惁鏈�灏忓寲
+ isStart.value = true; // 璁剧疆涓哄紑濮嬬姸鎬�
createSocket();
});
onUnmounted(() => {
+ isStart.value = false;
clearInterval(timer.value);
if (client.value) {
client.value.close();
}
+ clearInterval(timer.value);
});
</script>
<style lang="scss" scoped>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
index 81f9094..1f932ae 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/DataLogging/Datalogging.vue"
@@ -15,7 +15,7 @@
:class="['item', isactive == 2 ? 'isactive' : '']"
@click="changeactive(2)"
>
- 妫�淇搷浣滆褰�
+ 鎺堟潈璁板綍
</div>
<div
v-if="roleINFO == 1"
@@ -38,9 +38,9 @@
border-radius: 0 0.25rem 0.25rem 0;
box-shadow: none;
width: 19rem;
- height: 2rem;
border-left: 0;
"
+ class="time_picker"
format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
range-separator="~"
@@ -52,9 +52,11 @@
<div class="serch_box">
<div class="serchb">鍏ㄥ眬鎼滅储</div>
<input
+ @focus="focusInput"
v-model="queryForm.selectInput"
placeholder="璇疯緭鍏ュ叧閿瘝鎼滅储"
style="border-left: 0.06rem solid #e2e2e2"
+ ref="inputRef"
/>
</div>
<el-button
@@ -89,19 +91,31 @@
:header-cell-style="{
background: 'rgba(250,250,250,1)',
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
border: 'none',
}"
:row-style="{
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
+ WWWW,
}"
>
<el-table-column type="selection" align="center" />
<el-table-column prop="operatorName" label="濮撳悕" align="center" />
- <el-table-column prop="teamName" label="鐝粍" align="center" />
+ <!-- <el-table-column prop="teamName" label="缁勫埆" align="center" /> -->
+ <el-table-column prop="" label="缁勫憳绫诲瀷" align="center">
+ <template #default="scope">
+ <span v-if="scope.row.isLeader == 0">缁勫憳</span>
+ <span v-else-if="scope.row.isLeader == 1">缁勯暱</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="dept_Id" label="妫�淇亾" align="center">
+ <template #default="scope">
+ <div>{{ scope.row.dept_Id }}</div>
+ </template></el-table-column
+ >
<el-table-column prop="headImageUrl" label="浜鸿劯" align="center">
<template #default="scope">
<el-image
@@ -118,11 +132,16 @@
label="鍒嗛厤鏃堕棿"
align="center"
/>
- <el-table-column prop="Creater" label="鍒嗛厤妫�淇憳" align="center">
- </el-table-column>
+ <!-- <el-table-column prop="Creater" label="鍒嗛厤妫�淇憳" align="center">
+ </el-table-column> -->
+ <el-table-column
+ prop="ipAddress"
+ label="璁惧IP"
+ align="center"
+ ></el-table-column>
</el-table>
-
- <!-- 妫�淇搷浣滆褰曡褰� -->
+ <!-- 濮撳悕 userName锛屽崟浣� uerUnit锛岀彮缁� userTeam锛屾搷浣滀汉 modifier锛屽惎鐢ㄦ椂闂� enableTime锛屽仠鐢ㄦ椂闂� disableTime-->
+ <!-- 鎺堟潈璁板綍 -->
<el-table
empty-text="鏆傛棤鏁版嵁"
v-if="isactive == 2"
@@ -132,41 +151,23 @@
:header-cell-style="{
background: 'rgba(250,250,250,1)',
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
border: 'none',
}"
:row-style="{
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
}"
>
<el-table-column type="selection" align="center" />
- <el-table-column prop="userTrueName" label="濮撳悕" align="center" />
+ <el-table-column prop="userName" label="濮撳悕" align="center" />
+ <el-table-column prop="uerUnit" label="鍗曚綅" align="center" />
<el-table-column prop="userteam" label="鐝粍" align="center" />
- <el-table-column prop="headImageUrl" label="浜鸿劯" align="center">
- <template #default="scope">
- <el-image
- style="width: 5rem; height: 5rem"
- :src="'http://192.168.1.103:9093' + scope.row.headImageUrl"
- show-progress
- :initial-index="4"
- fit="cover"
- />
- </template>
- </el-table-column>
- <el-table-column
- prop="maintenancStartTime"
- label="杩涘叆妫�淇椂闂�"
- align="center"
- />
- <el-table-column
- prop="maintenancEendTime"
- label="閫�鍑烘淇椂闂�"
- align="center"
- />
- <el-table-column prop="" label="妫�淇亾鍙�" align="center">
+ <el-table-column prop="enableTime" label="鍚敤鏃堕棿" align="center" />
+ <el-table-column prop="disableTime" label="绂佺敤鏃堕棿" align="center" />
+ <el-table-column prop="modifier" label="鎿嶄綔浜�" align="center">
</el-table-column>
</el-table>
@@ -180,20 +181,20 @@
:header-cell-style="{
background: 'rgba(250,250,250,1)',
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
border: 'none',
}"
:row-style="{
color: '#101010',
- fontSize: '0.88rem',
+ fontSize: '1.25rem',
height: '3rem',
}"
>
<el-table-column type="selection" align="center" />
<el-table-column prop="userTrueName" label="濮撳悕" align="center" />
- <el-table-column prop="opCenten" label="鍗曚綅" align="center" />
- <el-table-column prop="userteam" label="鐝粍" align="center" />
+ <!-- <el-table-column prop="opCenten" label="鍗曚綅" align="center" /> -->
+ <!-- <el-table-column prop="userteam" label="缁勫埆" align="center" /> -->
<el-table-column prop="headImageUrl" label="浜鸿劯" align="center">
<template #default="scope">
<el-image
@@ -206,8 +207,8 @@
</template>
</el-table-column>
<el-table-column prop="loginTiem" label="鐧诲綍鏃堕棿" align="center" />
- <el-table-column prop="outTiem" label="閫�鍑烘椂闂�" align="center" />
- <el-table-column label="鎿嶄綔鍐呭" align="center" />
+ <!-- <el-table-column prop="outTiem" label="閫�鍑烘椂闂�" align="center" /> -->
+ <!-- <el-table-column label="鎿嶄綔鍐呭" align="center" /> -->
</el-table>
</div>
<div
@@ -267,7 +268,7 @@
} from "@/api/newapi/Datalogging";
import {
MaintenanceSettingRecord,
- MaintenanceOperationRecord,
+ AuthGetPageData,
} from "@/api/newapi/MaintenanceTeam";
const obj = {
selectTime: [], // 鏃堕棿鑼冨洿
@@ -283,6 +284,21 @@
const pageTotal = ref(0);
const pageTotal1 = ref(0);
const pageTotal2 = ref(0);
+const inputRef = ref(null);
+const focusInput = () => {
+ if (typeof Windows !== "undefined") {
+ const textInputPane =
+ Windows.UI.ViewManagement.InputPane.getForCurrentView();
+
+ // 鏄剧ず铏氭嫙閿洏
+ textInputPane.show();
+
+ // 闅愯棌铏氭嫙閿洏
+ textInputPane.hide();
+ }
+ inputRef.value?.focus();
+ console.log("focusInput called", inputRef.value);
+};
//鍒嗛〉璇锋眰鍙傛暟
const pageQuery = ref({
page: 1, //褰撳墠椤甸潰
@@ -451,24 +467,12 @@
{ name: "createTime", value: startTime, displayType: "ThanOrEqual" },
{ name: "createTime", value: endTime, displayType: "LessOrEqual" },
];
- MaintenanceOperationRecord({
- pageIndex: pageQuery1.value.page,
- pageSize: pageQuery1.value.rows,
- searchKeyword: queryForm.value.selectInput,
- startDate:
- queryForm.value.selectTime.length != 0
- ? queryForm.value.selectTime[0]
- : "",
- endDate:
- queryForm.value.selectTime.length != 0
- ? queryForm.value.selectTime[1]
- : "",
- sortField: "maintenancStartTime",
- sortOrder: "desc",
- account: account,
+ AuthGetPageData({
+ ...pageQuery.value,
+ filter,
}).then((res) => {
- tableData.value = res.data.items;
- pageTotal1.value = res.data.totalCount;
+ tableData.value = res.rows;
+ pageTotal1.value = res.total;
});
};
//鐧诲綍璁板綍
@@ -687,6 +691,118 @@
border-bottom: 0.06rem solid rgba(233, 233, 233, 1);
}
}
+
+@media screen and (max-width: 1080px) {
+ .Datalogging {
+ display: flex;
+ background-color: #fff;
+
+ .content {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+
+ .checkbox {
+ width: 40rem !important;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 1rem;
+ margin-left: 1.31rem;
+
+ .item {
+ width: 12rem;
+ height: 2.88rem;
+ border-radius: 0.25rem;
+ background-color: rgba(190, 199, 209, 1);
+ color: rgba(255, 255, 255, 1);
+ font-size: 1.25rem;
+ text-align: center;
+ line-height: 2.88rem;
+ cursor: pointer;
+ }
+
+ .isactive {
+ background-color: rgba(16, 16, 16, 1);
+ color: rgba(255, 255, 255, 1);
+ }
+ }
+
+ .serch {
+ display: flex;
+ margin-top: 1.31rem;
+ align-items: center;
+
+ .time_box {
+ display: flex;
+ align-items: center;
+ text-align: center;
+ margin-left: 0.98rem;
+
+ .time {
+ box-sizing: border-box;
+ width: 7rem;
+ height: 2.5rem;
+ text-align: center;
+ border: 0.06rem solid rgba(222, 222, 222, 1);
+ border-radius: 0.25rem 0 0 0.25rem;
+ font-size: 1.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ .serch_box {
+ display: flex;
+ align-items: center;
+ text-align: center;
+ margin-left: 0.98rem;
+ border-radius: 0.38rem;
+
+ .serchb {
+ box-sizing: border-box;
+ width: 6.88rem;
+ height: 2.5rem;
+ text-align: center;
+ font-size: 1.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 0.06rem solid rgba(222, 222, 222, 1);
+ }
+
+ input {
+ box-sizing: border-box;
+ outline: none;
+ width: 19rem;
+ height: 2.5rem;
+ border: 0.06rem solid rgba(222, 222, 222, 1);
+ border-radius: 0 0.25rem 0.25rem 0;
+ padding-left: 0.3125rem;
+ font-size: 1rem;
+ }
+ }
+ }
+
+ .btns {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 1.31rem;
+ margin-left: 1.13rem;
+ padding-right: 2rem;
+ box-sizing: border-box;
+ }
+ }
+
+ .my-header {
+ height: 3.84rem;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: 0.06rem solid rgba(233, 233, 233, 1);
+ }
+ }
+}
</style>
<style>
.confirmButtonClass {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
index 71358ee..4793d71 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Enteroverhaul/Enteroverhaul.vue"
@@ -1,7 +1,12 @@
<template>
<div class="Enteroverhaul">
<div class="btns">
- <el-button class="btn" type="primary" @click="startMaintenceTask">
+ <el-button
+ :disabled="startdisabled"
+ class="btn"
+ type="primary"
+ @click="startMaintenceTask"
+ >
<div
style="
display: flex;
@@ -21,6 +26,7 @@
font-size: 1.25rem;
margin-top: 1.6rem;
"
+ class="btn_text"
>寮�濮嬫淇�</span
>
</div>
@@ -29,6 +35,7 @@
class="btn"
type="primary"
style="margin-left: 6.81rem"
+ :disabled="!isStart"
@click="stopMaintenceTask"
>
<div
@@ -50,6 +57,7 @@
font-size: 1.25rem;
margin-top: 1.6rem;
"
+ class="btn_text"
>缁撴潫妫�淇�</span
>
</div>
@@ -87,22 +95,22 @@
></template
>
</el-table-column>
- <el-table-column
+ <!-- <el-table-column
prop="maintenanceDate"
label="娲惧彂浠诲姟鏃堕棿"
align="center"
- />
+ /> -->
<el-table-column
prop="maintenancStartTime"
label="寮�濮嬫淇椂闂�"
align="center"
/>
- <el-table-column
+ <!-- <el-table-column
prop="maintenancEendTime"
label="缁撴潫妫�淇椂闂�"
align="center"
- />
+ /> -->
</el-table>
</div>
</div>
@@ -115,6 +123,8 @@
StartMaintenceTask,
StopMaintenanceTask,
} from "@/api/user";
+import { YShowStartTake } from "@/api/newapi/Maintenance.js";
+import { ElMessage } from "element-plus";
const userInfo = ref(store.state.userInfo);
const isStart = ref(false); //鏄惁寮�濮嬫淇�
@@ -127,6 +137,17 @@
tableData.value = [res.data];
});
};
+const getStartTake = async () => {
+ YShowStartTake().then((res) => {
+ if (res.data.length > 0) {
+ isStart.value = true;
+ } else {
+ isStart.value = false;
+ }
+ tableData.value = res.data;
+ });
+};
+const startdisabled = ref(false); //寮�濮嬫寜閽槸鍚︾鐢�
//寮�濮嬫淇�
const startMaintenceTask = async () => {
StartMaintenceTask({
@@ -134,6 +155,8 @@
}).then((res) => {
isStart.value = true;
tableData.value = [res.data];
+ startdisabled.value = true;
+ getStartTake();
});
};
//缁撴潫妫�淇�
@@ -147,7 +170,8 @@
};
onMounted(() => {
- getMaintenanceTasksOfTheDay();
+ // getMaintenanceTasksOfTheDay();
+ getStartTake();
});
</script>
<style lang="scss" scoped>
@@ -158,7 +182,6 @@
.btns {
margin-top: 7%;
-
.btn {
width: 12.19rem;
height: 11.63rem;
@@ -180,4 +203,37 @@
margin-top: 5.19rem;
}
}
+@media screen and (max-width: 1080px) {
+ .Enteroverhaul {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .btns {
+ margin-top: 7%;
+ .btn {
+ width: 25.19rem;
+ height: 24.63rem;
+ background-image: url("@/assets/Enteroverhaul/btnbg.png");
+ background-size: 100% 100%;
+ background-repeat: no-repeat;
+ border: none;
+ .btn_text {
+ font-size: 2.88rem !important;
+ }
+ }
+ }
+
+ .content_box {
+ width: 70%;
+ height: 40%;
+ background-color: rgba(9, 48, 104, 1);
+ color: rgba(16, 16, 16, 1);
+ font-size: 0.88rem;
+ box-shadow: 0rem 0.13rem 0.38rem 0rem rgba(6, 229, 231, 1);
+ border: 0.06rem solid rgba(6, 229, 231, 1);
+ margin-top: 5.19rem;
+ }
+ }
+}
</style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Parametersettings/Parametersettings.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Parametersettings/Parametersettings.vue"
index 6ba99b5..9f3608c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Parametersettings/Parametersettings.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/Parametersettings/Parametersettings.vue"
@@ -3,6 +3,7 @@
<div class="Parametersettings_l">
<div
style="color: rgba(0, 9, 56, 1); font-size: 1.13rem; font-weight: bold"
+ class="title"
>
浼稿嚭缂╁洖閫熷害璁剧疆
</div>
@@ -18,72 +19,90 @@
>
<el-form-item prop="extendSpeed">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
- >宸LC鑷姩浼稿嚭缂╁洖閫熷害m/min锛�</span
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
+ >PLC鑷姩浼稿嚭缂╁洖閫熷害m/min锛�</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.extendSpeed"
/>
</el-form-item>
- <el-form-item prop="retractionSpeed">
+ <!-- <el-form-item prop="retractionSpeed">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
>鍙砅LC鑷姩浼稿嚭缂╁洖閫熷害m/min锛�</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.retractionSpeed"
/>
- </el-form-item>
+ </el-form-item> -->
<el-form-item prop="manualExtend">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
- >宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害m/min锛�</span
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
+ >PLC鎵嬪姩浼稿嚭缂╁洖閫熷害m/min锛�</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.manualExtend"
/>
</el-form-item>
- <el-form-item prop="manualRetraction">
+ <!-- <el-form-item prop="manualRetraction">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
>鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害m/min锛�</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.manualRetraction"
/>
- </el-form-item>
+ </el-form-item> -->
<el-form-item prop="leftPosition">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
>宸LC鑷姩浼稿埌浣嶏細</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.leftPosition"
/>
</el-form-item>
<el-form-item prop="rightPosition">
<template #label>
- <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ <span
+ style="color: rgba(0, 9, 56, 1); font-size: 0.88rem"
+ class="title_span"
>鍙砅LC鑷姩浼稿埌浣嶏細</span
>
</template>
<el-input
style="height: 1.88rem"
+ class="title_input"
placeholder="璇疯緭鍏�"
v-model="ruleForm.rightPosition"
/>
@@ -99,11 +118,7 @@
>
<el-button
style="height: 1.88rem; width: 5.63rem"
- @click="resetForm(ruleFormRef)"
- >鍙栨秷</el-button
- >
- <el-button
- style="height: 1.88rem; width: 5.63rem"
+ class="title_button"
type="primary"
@click="submitForm(ruleFormRef)"
>
@@ -113,93 +128,6 @@
</el-form-item>
</el-form>
</div>
- <!-- <div class="Parametersettings_c">
- <div
- style="color: rgba(0, 9, 56, 1); font-size: 1.13rem; font-weight: bold"
- >
- PLC淇″彿鐩戞帶
- </div>
- <div
- class="box"
- style="
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- padding: 0 5.25rem;
- margin-top: 3.03rem;
- "
- >
- <el-row>
- <el-col style="display: flex; justify-content: space-between">
- <div class="box_item"></div>
- <div class="box_item"></div>
- <div class="box_item"></div>
- </el-col>
- <el-col
- style="
- display: flex;
- justify-content: space-between;
- margin-top: 2.78rem;
- "
- ><div class="box_item"></div>
- <div class="box_item"></div>
- <div style="width: 6.25rem; height: 6.25rem"></div
- ></el-col>
- </el-row>
- </div>
- </div>
- <div class="Parametersettings_r">
- <div
- style="color: rgba(0, 9, 56, 1); font-size: 1.13rem; font-weight: bold"
- >
- 鏁呴殰澶勭悊
- </div>
- <div
- style="
- display: flex;
- flex-direction: column;
- margin-top: 4.19rem;
- align-items: center;
- justify-content: space-around;
- height: 40%;
- "
- >
- <el-button
- type="primary"
- style="
- width: 7.38rem;
- height: 2.75rem;
- background-color: rgba(230, 160, 0, 1);
- color: rgba(255, 255, 255, 1);
- font-size: 1rem;
- margin-left: 1rem;
- "
- >鍥炲師鐐�</el-button
- >
- <el-button
- type="primary"
- style="
- width: 7.38rem;
- height: 2.75rem;
- background-color: rgba(0, 207, 55, 1);
- color: rgba(255, 255, 255, 1);
- font-size: 1rem;
- "
- >澶嶄綅</el-button
- >
- <el-button
- type="primary"
- style="
- width: 7.38rem;
- height: 2.75rem;
- background-color: rgba(255, 0, 0, 1);
- color: rgba(255, 255, 255, 1);
- font-size: 1rem;
- "
- >娓呴櫎鏁呴殰</el-button
- >
- </div>
- </div> -->
</div>
</template>
<script setup>
@@ -224,8 +152,8 @@
});
//淇濆瓨
const submitForm = () => {
- console.log(ruleForm.value);
-
+ ruleForm.value.retractionSpeed = ruleForm.value.extendSpeed;
+ ruleForm.value.manualRetraction = ruleForm.value.manualExtend;
AddData(ruleForm.value).then((res) => {
if (res.code == 0) {
ElMessage.success("淇濆瓨鎴愬姛");
@@ -288,4 +216,21 @@
padding: 1.44rem 1.25rem;
}
}
+@media screen and (max-width: 1080px) {
+ .title {
+ font-size: 3rem !important;
+ }
+ .title_span {
+ font-size: 2rem !important;
+ }
+ .title_input {
+ height: 4rem !important;
+ font-size: 3rem !important;
+ }
+ .title_button {
+ height: 5rem !important;
+ width: 14rem !important;
+ font-size: 3rem !important;
+ }
+}
</style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/Manualcontrol.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/Manualcontrol.vue"
index fc310a1..06da629 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/Manualcontrol.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/Manualcontrol.vue"
@@ -6,14 +6,16 @@
@click="handleAutoPickAndDrop('浼稿嚭')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !AutoPickColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !AutoPickColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -38,14 +40,16 @@
@click="handleAutoPickAndDrop('缂╁洖')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !AutoDropColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !AutoDropColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -70,14 +74,16 @@
@click="handlePouse"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !pouseColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !pouseColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -119,14 +125,16 @@
@click="handManualOperation('宸�', '浼稿嚭')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !leftPickColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !leftPickColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -151,14 +159,16 @@
@click="handManualOperation('宸�', '缂╁洖')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !leftDropColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !leftDropColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -179,16 +189,19 @@
</div>
<span style="font-size: 2.25rem; text-align: center">缂╁洖</span>
</el-button>
- <div style="color: #fff; font-size: 2rem; margin-left: 15rem">
- 鍙充晶浼哥缉鏉�
+ <div style="color: #fff; font-size: 2rem; margin-left: 13rem">
+ 宸︿晶浼哥缉鏉嗕綅缃�:{{
+ leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0
+ }}
</div>
</div>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.leftPosition }}</div>
+ <!-- ruleForm.leftPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.manualExtend }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.manualExtend }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -203,7 +216,7 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶宸︿晶</span
>
- <img src="@/assets/imgs/right.png" alt="" />
+ <img src="@/assets/imgs/left.png" alt="" />
</div>
</div>
</div>
@@ -214,14 +227,16 @@
@click="handManualOperation('鍙�', '浼稿嚭')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !rightPickColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !rightPickColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -246,14 +261,16 @@
@click="handManualOperation('鍙�', '缂╁洖')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !rightDropColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !rightDropColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -274,16 +291,21 @@
</div>
<span style="font-size: 2.25rem; text-align: center">缂╁洖</span>
</el-button>
- <div style="color: #fff; font-size: 2rem; margin-left: 15rem">
- 宸︿晶浼哥缉鏉�
+ <div style="color: #fff; font-size: 2rem; margin-left: 13rem">
+ 鍙充晶浼哥缉鏉嗕綅缃�:{{
+ rightposition.Rightvalue
+ ? parseInt(rightposition.Rightvalue)
+ : 0
+ }}
</div>
</div>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div>
+ <!-- ruleForm.rightPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.manualRetraction }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.manualRetraction }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -298,7 +320,7 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶鍙充晶</span
>
- <img src="@/assets/imgs/left.png" alt="" />
+ <img src="@/assets/imgs/right.png" alt="" />
</div>
</div>
</div>
@@ -311,14 +333,16 @@
@click="handManualOperation('宸�', '浼稿嚭')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !leftPickColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !leftPickColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -343,14 +367,16 @@
@click="handManualOperation('宸�', '缂╁洖')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !leftDropColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !leftDropColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -374,14 +400,17 @@
</div>
<div style="color: #fff; font-size: 2rem">宸︿晶浼哥缉鏉�</div>
<span style="color: #fff; font-size: 2rem"
- >褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0
+ }}</span
>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.leftPosition }}</div>
+ <!-- ruleForm.leftPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.manualExtend }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.manualExtend }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -396,7 +425,7 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶宸︿晶</span
>
- <img src="@/assets/imgs/right.png" alt="" />
+ <img src="@/assets/imgs/left.png" alt="" />
</div>
</div>
</div>
@@ -407,14 +436,16 @@
@click="handManualOperation('鍙�', '浼稿嚭')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !rightPickColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !rightPickColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -439,14 +470,16 @@
@click="handManualOperation('鍙�', '缂╁洖')"
type="primary"
size="small"
- style="
- width: 14.69rem;
- height: 5.06rem;
- color: rgba(64, 253, 240, 1);
- background-color: rgba(6, 229, 231, 0.3);
- border: none;
- border-top: 0.25rem solid rgba(6, 229, 231, 1);
- "
+ :style="{
+ width: '14.69rem',
+ height: '5.06rem',
+ color: !rightDropColor ? 'rgba(64, 253, 240, 1)' : '#fff',
+ backgroundColor: !rightDropColor
+ ? 'rgba(6, 229, 231, 0.3)'
+ : 'rgba(205, 208, 214,0.5)',
+ border: 'none',
+ borderTop: '0.25rem solid rgba(6, 229, 231, 1)',
+ }"
>
<div class="btnicon">
<span
@@ -470,14 +503,17 @@
</div>
<div style="color: #fff; font-size: 2rem">鍙充晶浼哥缉鏉�</div>
<span style="color: #fff; font-size: 2rem"
- >褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ rightposition.Rightvalue ? parseInt(rightposition.Rightvalue) : 0
+ }}</span
>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div>
+ <!-- ruleForm.rightPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.manualRetraction }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.manualRetraction }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -492,16 +528,14 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶鍙充晶</span
>
- <div
+ <!-- <div id="video-container"></div> -->
+ <img src="@/assets/imgs/right.png" alt="" />
+ <!-- <div
id="playWnd"
class="playWnd"
style="left: 109px; top: 133px"
- ></div>
- <!-- <iframe
- src="http://192.168.2.168/doc/pageview.asp"
- id="childFrame"
- style="height: 100%"
- ></iframe> -->
+ ref="playWnd"
+ ></div> -->
</div>
</div>
</div>
@@ -509,7 +543,7 @@
</div>
</template>
<script setup>
-import { ref, onMounted, nextTick } from "vue";
+import { ref, onMounted, nextTick, onUnmounted } from "vue";
import { useRouter } from "vue-router";
import { ElMessage } from "element-plus";
import {
@@ -517,19 +551,62 @@
GetPosition,
AutoPickAndDrop,
Pouse,
+ GetParameter,
} from "@/api/newapi/Parameters.js";
-// import { WebVideoCtrl } from "@/assets/webControl/webVideoCtrl.js";
+// import EZUIKit from "ezuikit-js";
+
const router = useRouter();
const isMobile = ref(false);
const Position = ref({
- left: 0,
+ lift: 0,
right: 0,
});
+const rightposition = ref({});
+const leftposition = ref({});
+const tableData = ref([]);
+const isStart = ref(false); // 鏄惁寮�濮�
+const timer = ref(null);
+const client = ref(null);
+const pouseColor = ref(false);
+const AutoPickColor = ref(false); // 浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+const AutoDropColor = ref(false); // 缂╁洖鏃堕鑹蹭负鍙樿壊
+const rightPickColor = ref(false); // 鍙充晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+const rightDropColor = ref(false); // 鍙充晶缂╁洖鏃堕鑹蹭负鍙樿壊
+const leftPickColor = ref(false); // 宸︿晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+const leftDropColor = ref(false); // 宸︿晶缂╁洖鏃堕鑹蹭负鍙樿壊
const jumpRouter = (path) => {
router.push(path);
};
-const handManualOperation = async (position, ExtendedState) => {
+const handManualOperation = throttle(async (position, ExtendedState) => {
+ if (position == "鍙�") {
+ if (ExtendedState == "浼稿嚭") {
+ rightPickColor.value = true; // 鍙充晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ rightDropColor.value = true; // 鍙充晶缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ } else {
+ if (ExtendedState == "浼稿嚭") {
+ leftPickColor.value = true; // 宸︿晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ leftDropColor.value = true; // 宸︿晶缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ }
+ setTimeout(() => {
+ if (position == "鍙�") {
+ if (ExtendedState == "浼稿嚭") {
+ rightPickColor.value = false; // 鍙充晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ rightDropColor.value = false; // 鍙充晶缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ } else {
+ if (ExtendedState == "浼稿嚭") {
+ leftPickColor.value = false; // 宸︿晶浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ leftDropColor.value = false; // 宸︿晶缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ }
+ }, 2000);
try {
const res = await ManualOperation({
position: position,
@@ -552,10 +629,20 @@
type: "error",
});
}
-
- console.log(res);
-};
-const handleAutoPickAndDrop = async (val) => {
+}, 2000);
+const handleAutoPickAndDrop = throttle(async (val) => {
+ if (val == "浼稿嚭") {
+ AutoPickColor.value = true; // 浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ AutoDropColor.value = true; // 缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ setTimeout(() => {
+ if (val == "浼稿嚭") {
+ AutoPickColor.value = false; // 浼稿嚭鏃堕鑹蹭负榛樿棰滆壊
+ } else {
+ AutoDropColor.value = false; // 缂╁洖鏃堕鑹蹭负鍙樿壊
+ }
+ }, 2000);
try {
const response = await AutoPickAndDrop({
ExtendedState: val,
@@ -569,8 +656,12 @@
console.error(error);
ElMessage.error("鎿嶄綔澶辫触");
}
-};
-const handlePouse = async () => {
+}, 2000);
+const handlePouse = throttle(async () => {
+ pouseColor.value = !pouseColor.value; // 鍒囨崲棰滆壊
+ setTimeout(() => {
+ pouseColor.value = !pouseColor.value; // 鍒囨崲棰滆壊
+ }, 2000);
try {
const response = await Pouse();
if (response.code === 0) {
@@ -578,158 +669,111 @@
} else {
ElMessage.error(response.message);
}
+ console.log("Pouse response:", response);
} catch (error) {
console.error(error);
ElMessage.error(error);
}
-};
+ // 5绉掑悗鎭㈠鍘熸潵鐨勯鑹�
+}, 2000);
//鑾峰彇褰撳墠浣嶇疆
-const getPosition = () => {
- GetPosition().then((res) => {
+// const getPosition = () => {
+// GetPosition().then((res) => {
+// if (res.code == 0) {
+// Position.value.lift = res.data.lift;
+// Position.value.right = res.data.right;
+// }
+// });
+// };
+
+function throttle(func, wait) {
+ // 涓婁竴娆℃墽琛屽嚱鏁扮殑鏃堕棿鎴筹紝鍒濆鍊间负 0
+ let lastTime = 0;
+ // 杩斿洖涓�涓棴鍖呭嚱鏁帮紝浣滀负鑺傛祦鍚庣殑鍑芥暟
+ return function (...args) {
+ // 鑾峰彇褰撳墠鏃堕棿鎴�
+ const now = Date.now();
+ // 濡傛灉褰撳墠鏃堕棿涓庝笂涓�娆℃墽琛屾椂闂寸殑宸�煎ぇ浜庣瓑浜� wait锛屽垯鎵ц鍑芥暟
+ if (now - lastTime >= wait) {
+ // 鏇存柊涓婁竴娆℃墽琛屽嚱鏁扮殑鏃堕棿鎴�
+ lastTime = now;
+ // 璋冪敤鍘熷鍑芥暟锛屽苟浼犲叆鍙傛暟
+ func(...args);
+ }
+ };
+}
+
+const ruleForm = ref({
+ creater: "string",
+ createDate: "2025-03-27T05:48:57.698Z",
+ modifier: "string",
+ modifyDate: "2025-03-27T05:48:57.698Z",
+ id: 0,
+ extendSpeed: 0,
+ retractionSpeed: 0,
+ manualExtend: 0,
+ manualRetraction: 0,
+ // depid: userInfo.depid,
+ // account: userInfo.userName,
+ leftPosition: 0,
+ rightPosition: 0,
+});
+
+//鑾峰彇鍙傛暟
+const getParameter = () => {
+ GetParameter().then((res) => {
if (res.code == 0) {
- Position.value.left = res.data.left;
- Position.value.right = res.data.right;
+ ruleForm.value.extendSpeed = res.data == null ? 0 : res.data.extendSpeed;
+ ruleForm.value.retractionSpeed =
+ res.data == null ? 0 : res.data.retractionSpeed;
+ ruleForm.value.manualExtend =
+ res.data == null ? 0 : res.data.manualExtend;
+ ruleForm.value.manualRetraction =
+ res.data == null ? 0 : res.data.manualRetraction;
+ ruleForm.value.leftPosition =
+ res.data == null ? 0 : res.data.leftPosition;
+ ruleForm.value.rightPosition =
+ res.data == null ? 0 : res.data.rightPosition;
}
});
};
-// const WebVideoCtrl = new WebControl();
-// 鍒涘缓鎾斁瀹炰緥
-function initPlugin() {
- console.log("initPlugin",new WebControl());
-
- oWebControl = new WebControl({
- szPluginContainer: "playWnd", // 鎸囧畾瀹瑰櫒id
- iServicePortStart: 15900, // 鎸囧畾璧锋绔彛鍙凤紝寤鸿浣跨敤璇ュ��
- iServicePortEnd: 15900,
- szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 鐢ㄤ簬IE10浣跨敤ActiveX鐨刢lsid
- cbConnectSuccess: function () {
- // 鍒涘缓WebControl瀹炰緥鎴愬姛
- oWebControl
- .JS_StartService("window", {
- // WebControl瀹炰緥鍒涘缓鎴愬姛鍚庨渶瑕佸惎鍔ㄦ湇鍔�
- dllPath: "./VideoPluginConnect.dll", // 鍊�"./VideoPluginConnect.dll"鍐欐
- })
- .then(
- function () {
- // 鍚姩鎻掍欢鏈嶅姟鎴愬姛
- oWebControl.JS_SetWindowControlCallback({
- // 璁剧疆娑堟伅鍥炶皟
- cbIntegrationCallBack: cbIntegrationCallBack,
- });
- oWebControl.JS_CreateWnd("playWnd", 1000, 600).then(function () {
- //JS_CreateWnd鍒涘缓瑙嗛鎾斁绐楀彛锛屽楂樺彲璁惧畾
- init(); // 鍒涘缓鎾斁瀹炰緥鎴愬姛鍚庡垵濮嬪寲
- });
- },
- function () {
- // 鍚姩鎻掍欢鏈嶅姟澶辫触
- }
- );
- },
- cbConnectError: function () {
- // 鍒涘缓WebControl瀹炰緥澶辫触
- oWebControl = null;
- $("#playWnd").html("鎻掍欢鏈惎鍔紝姝e湪灏濊瘯鍚姩锛岃绋嶅��...");
- WebControl.JS_WakeUp("VideoWebPlugin://"); // 绋嬪簭鏈惎鍔ㄦ椂鎵цerror鍑芥暟锛岄噰鐢╳akeup鏉ュ惎鍔ㄧ▼搴�
- initCount++;
- if (initCount < 3) {
- setTimeout(function () {
- initPlugin();
- }, 3000);
- } else {
- $("#playWnd").html("鎻掍欢鍚姩澶辫触锛岃妫�鏌ユ彃浠舵槸鍚﹀畨瑁咃紒");
- }
- },
- cbConnectClose: function (bNormalClose) {
- // 寮傚父鏂紑锛歜NormalClose = false
- // JS_Disconnect姝e父鏂紑锛歜NormalClose = true
- console.log("cbConnectClose");
- oWebControl = null;
- $("#playWnd").html("鎻掍欢鏈惎鍔紝姝e湪灏濊瘯鍚姩锛岃绋嶅��...");
- WebControl.JS_WakeUp("VideoWebPlugin://");
- initCount++;
- if (initCount < 3) {
- setTimeout(function () {
- initPlugin();
- }, 3000);
- } else {
- $("#playWnd").html("鎻掍欢鍚姩澶辫触锛岃妫�鏌ユ彃浠舵槸鍚﹀畨瑁咃紒");
- }
- },
- });
-
-}
+const createSocket = (url) => {
+ clearInterval(timer.value);
+ // 鍒涘缓WebSocket杩炴帴
+ //"ws://127.0.0.1:9295/admin"
+ //192.168.1.103
+ client.value = new WebSocket("ws://192.168.1.103:5173/");
+ client.value.onopen = function () {
+ console.log("WebSocket 杩炴帴鎴愬姛");
+ };
+ client.value.onmessage = function (event) {
+ let data = JSON.parse(event.data);
+ if (data.Status) {
+ tableData.value = data.Data;
+ } else if (data.device == "鍙砅lc") {
+ rightposition.value = data;
+ } else if (data.device == "宸lc") {
+ leftposition.value = data;
+ }
-// const initWebVideoCtrl = () => {
-// if (!WebVideoCtrl) {
-// console.error("WebControl 鏈纭姞杞斤紝璇锋鏌ョ浉鍏宠剼鏈��");
-// ElMessage.error("WebControl 鏈纭姞杞斤紝璇锋鏌ョ浉鍏宠剼鏈��");
-// return;
-// }
+ console.log("WebSocket 鎺ユ敹鍒版秷鎭�", data);
+ };
+ client.value.onclose = function () {
+ console.log("WebSocket 杩炴帴鍏抽棴");
+ if (isStart.value) {
+ timer.value = setTimeout(createSocket, 1000);
+ }
+ };
-// try {
-// // 鍒濆鍖栨彃浠�
-// WebVideoCtrl.I_InitPlugin(800, 600, {
-// bWndFull: true, // 鏄惁鏀寔鍗曠獥鍙e叏灞�
-// iPackageType: 2, // 2 琛ㄧず HLS 鍗忚
-// });
-// // 鎻掑叆鎻掍欢鍒版寚瀹� DOM 鍏冪礌
-// WebVideoCtrl.I_InsertOBJECTPlugin("videoDiv");
-
-// // 璁惧淇℃伅
-// const deviceInfo = {
-// sIP: "192.168.2.168", // 璁惧 IP 鍦板潃
-// iPort: 80, // 璁惧绔彛鍙�
-// sUsername: "admin", // 鐢ㄦ埛鍚�
-// sPassword: "123456", // 瀵嗙爜
-// };
-
-// // 璋冪敤鐧诲綍璁惧鍑芥暟
-// loginDevice(deviceInfo);
-// } catch (error) {
-// console.error("鍒濆鍖� WebVideoCtrl 鎻掍欢鏃跺嚭閿�:", error);
-// ElMessage.error("鍒濆鍖� WebVideoCtrl 鎻掍欢鏃跺嚭閿欙紝璇锋鏌ラ厤缃��");
-// }
-// };
-
-// 鐧诲綍璁惧
-// const loginDevice = (deviceInfo) => {
-// WebVideoCtrl.I_Login(
-// deviceInfo.sIP,
-// 1,
-// deviceInfo.iPort,
-// deviceInfo.sUsername,
-// deviceInfo.sPassword,
-// {
-// success: () => {
-// console.log("鐧诲綍鎴愬姛");
-// ElMessage.success("璁惧鐧诲綍鎴愬姛");
-// // 寮�濮嬮瑙�
-// startRealPlay();
-// },
-// error: () => {
-// console.error("鐧诲綍澶辫触锛岃妫�鏌ヨ澶囦俊鎭拰缃戠粶杩炴帴銆�");
-// ElMessage.error("璁惧鐧诲綍澶辫触锛岃妫�鏌ヨ澶囦俊鎭拰缃戠粶杩炴帴銆�");
-// },
-// }
-// );
-// };
-// // 寮�濮嬪疄鏃堕瑙堝嚱鏁�
-// const startRealPlay = () => {
-// try {
-// WebVideoCtrl.I_StartRealPlay(1, {
-// iStreamType: 0, // 涓荤爜娴�
-// });
-// console.log("寮�濮嬪疄鏃堕瑙�");
-// } catch (error) {
-// console.error("寮�濮嬪疄鏃堕瑙堟椂鍑洪敊:", error);
-// ElMessage.error("寮�濮嬪疄鏃堕瑙堟椂鍑洪敊锛岃妫�鏌ヨ澶囩姸鎬併��");
-// }
-// };
+ client.value.onerror = function () {};
+};
onMounted(() => {
- initPlugin();
+ isStart.value = true; // 璁剧疆涓哄紑濮嬬姸鎬�
+ createSocket();
+ getParameter();
+ // initPlugin();
// initWebVideoCtrl();
// 鐩戝惉绐楀彛澶у皬鍙樺寲
window.addEventListener("resize", () => {
@@ -749,7 +793,16 @@
// 濡傛灉绐楀彛瀹藉害灏忎簬绛変簬1080px锛屾墽琛岀浉搴旂殑鎿嶄綔
isMobile.value = false;
}
- getPosition();
+ // getPosition();
+});
+
+onUnmounted(() => {
+ isStart.value = false;
+ clearInterval(timer.value);
+ if (client.value) {
+ client.value.close();
+ }
+ clearInterval(timer.value);
});
</script>
<style lang="scss" scoped>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
index 394ef4c..bbf06f9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/PickAndDrop/PickAndDrop.vue"
@@ -120,15 +120,20 @@
<div v-if="isMobile" class="content">
<div class="content_l">
<div class="model">
- <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span>
+ <span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0
+ }}</span
+ >
<span>宸︿晶浼哥缉鏉�</span>
<span></span>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.leftPosition }}</div>
+ <!-- ruleForm.leftPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.extendSpeed }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.extendSpeed }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -143,21 +148,26 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶宸︿晶</span
>
- <img src="@/assets/imgs/right.png" alt="" />
+ <img src="@/assets/imgs/left.png" alt="" />
</div>
</div>
</div>
<div class="content_r">
<div class="model">
- <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span>
- <span>宸︿晶浼哥缉鏉�</span>
+ <span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ rightposition.Rightvalue ? parseInt(rightposition.Rightvalue) : 0
+ }}</span
+ >
+ <span>鍙充晶浼哥缉鏉�</span>
<span></span>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div>
+ <!-- ruleForm.rightPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.retractionSpeed }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.retractionSpeed }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -172,7 +182,7 @@
<span style="color: #fff; font-size: 1.25rem; font-weight: bold"
>瑙嗛鐩戞帶鍙充晶</span
>
- <img src="@/assets/imgs/left.png" alt="" />
+ <img src="@/assets/imgs/right.png" alt="" />
</div>
</div>
</div>
@@ -180,15 +190,20 @@
<div v-else class="content_mobile">
<div class="content_l">
<div class="model">
- <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.left }}</span>
+ <span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ leftposition.Liftvalue ? parseInt(leftposition.Liftvalue) : 0
+ }}</span
+ >
<span>宸︿晶浼哥缉鏉�</span>
<span></span>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.leftPosition }}</div>
+ <!-- ruleForm.leftPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.extendSpeed }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.extendSpeed }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -203,21 +218,26 @@
<span style="color: #fff; font-size: 2.5rem; font-weight: bold"
>瑙嗛鐩戞帶宸︿晶</span
>
- <img src="@/assets/imgs/right.png" alt="" />
+ <img src="@/assets/imgs/left.png" alt="" />
</div>
</div>
</div>
<div class="content_r">
<div class="model">
- <span>褰撳墠浼哥缉鏉嗕綅缃細{{ Position.right }}</span>
- <span>宸︿晶浼哥缉鏉�</span>
+ <span
+ >褰撳墠浼哥缉鏉嗕綅缃細{{
+ rightposition.Rightvalue ? parseInt(rightposition.Rightvalue) : 0
+ }}</span
+ >
+ <span>鍙充晶浼哥缉鏉�</span>
<span></span>
</div>
<div class="operate">
- <div class="item">浼稿埌浣�</div>
- <div class="item">缂╁埌浣�</div>
- <div class="item">浼稿嚭閫熷害</div>
- <div class="item">缂╁洖閫熷害</div>
+ <div class="item">浼稿埌浣�:{{ ruleForm.rightPosition }}</div>
+ <!-- ruleForm.rightPosition -->
+ <div class="item">缂╁埌浣�:{{ 0 }}</div>
+ <div class="item">浼稿嚭閫熷害:{{ ruleForm.retractionSpeed }}</div>
+ <div class="item">缂╁洖閫熷害:{{ ruleForm.retractionSpeed }}</div>
<div class="open">
<div class="city">
<div class="dotted"></div>
@@ -232,7 +252,7 @@
<span style="color: #fff; font-size: 2.5rem; font-weight: bold"
>瑙嗛鐩戞帶鍙充晶</span
>
- <img src="@/assets/imgs/left.png" alt="" />
+ <img src="@/assets/imgs/right.png" alt="" />
</div>
</div>
</div>
@@ -240,22 +260,43 @@
</div>
</template>
<script setup>
-import { ref, onMounted, nextTick } from "vue";
+import { ref, onMounted, nextTick, onUnmounted } from "vue";
import { useRouter } from "vue-router";
import { ElMessage } from "element-plus";
import {
AutoPickAndDrop,
Pouse,
GetPosition,
+ GetParameter,
} from "@/api/newapi/Parameters.js";
const router = useRouter();
const isMobile = ref(false);
const Position = ref({
- left: 0,
+ lift: 0,
right: 0,
});
-
+const ruleForm = ref({
+ creater: "string",
+ createDate: "2025-03-27T05:48:57.698Z",
+ modifier: "string",
+ modifyDate: "2025-03-27T05:48:57.698Z",
+ id: 0,
+ extendSpeed: 0,
+ retractionSpeed: 0,
+ manualExtend: 0,
+ manualRetraction: 0,
+ // depid: userInfo.depid,
+ // account: userInfo.userName,
+ leftPosition: 0,
+ rightPosition: 0,
+});
+const rightposition = ref({});
+const leftposition = ref({});
+const tableData = ref([]);
+const isStart = ref(false); // 鏄惁寮�濮�
+const timer = ref(null);
+const client = ref(null);
const jumpRouter = (path) => {
router.push(path);
};
@@ -289,13 +330,63 @@
};
//鑾峰彇褰撳墠浣嶇疆
-const getPosition = () => {
- GetPosition().then((res) => {
+// const getPosition = () => {
+// GetPosition().then((res) => {
+// if (res.code == 0) {
+// Position.value.lift = res.data.lift;
+// Position.value.right = res.data.right;
+// }
+// });
+// };
+
+//鑾峰彇鍙傛暟
+const getParameter = () => {
+ GetParameter().then((res) => {
if (res.code == 0) {
- Position.value.left = res.data.lift;
- Position.value.right = res.data.right;
+ ruleForm.value.extendSpeed = res.data == null ? 0 : res.data.extendSpeed;
+ ruleForm.value.retractionSpeed =
+ res.data == null ? 0 : res.data.retractionSpeed;
+ ruleForm.value.manualExtend =
+ res.data == null ? 0 : res.data.manualExtend;
+ ruleForm.value.manualRetraction =
+ res.data == null ? 0 : res.data.manualRetraction;
+ ruleForm.value.leftPosition =
+ res.data == null ? 0 : res.data.leftPosition;
+ ruleForm.value.rightPosition =
+ res.data == null ? 0 : res.data.rightPosition;
}
});
+};
+
+const createSocket = (url) => {
+ clearInterval(timer.value);
+ // 鍒涘缓WebSocket杩炴帴
+ //"ws://127.0.0.1:9295/admin"
+ //192.168.1.103
+ client.value = new WebSocket("ws://192.168.1.103:5173/");
+ client.value.onopen = function () {
+ console.log("WebSocket 杩炴帴鎴愬姛");
+ };
+ client.value.onmessage = function (event) {
+ let data = JSON.parse(event.data);
+ if (data.Status) {
+ tableData.value = data.Data;
+ } else if (data.device == "鍙砅lc") {
+ rightposition.value = data;
+ } else if (data.device == "宸lc") {
+ leftposition.value = data;
+ }
+
+ console.log("WebSocket 鎺ユ敹鍒版秷鎭�", data);
+ };
+ client.value.onclose = function () {
+ console.log("WebSocket 杩炴帴鍏抽棴");
+ if (isStart.value) {
+ timer.value = setTimeout(createSocket, 1000);
+ }
+ };
+
+ client.value.onerror = function () {};
};
onMounted(() => {
// 鐩戝惉绐楀彛澶у皬鍙樺寲
@@ -316,7 +407,19 @@
// 濡傛灉绐楀彛瀹藉害灏忎簬绛変簬1080px锛屾墽琛岀浉搴旂殑鎿嶄綔
isMobile.value = false;
}
- getPosition();
+ isStart.value = true; // 璁剧疆涓哄紑濮嬬姸鎬�
+ createSocket();
+ // getPosition();
+ getParameter();
+});
+
+onUnmounted(() => {
+ isStart.value = false;
+ clearInterval(timer.value);
+ if (client.value) {
+ client.value.close();
+ }
+ clearInterval(timer.value);
});
</script>
<style lang="scss" scoped>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
index e91385e..3b86e55 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\344\274\270\347\274\251\346\235\206/client/src/views/tts/UserManagement/Usermanagement.vue"
@@ -14,6 +14,18 @@
>
鐢ㄦ埛瑙掕壊
</div>
+ <div
+ :class="['item', isactive == 3 ? 'isactive' : '']"
+ @click="changeactive(3)"
+ >
+ 鐢ㄦ埛鐝粍
+ </div>
+ <div
+ :class="['item', isactive == 4 ? 'isactive' : '']"
+ @click="changeactive(4)"
+ >
+ 鐢ㄦ埛鍗曚綅
+ </div>
</div>
<div class="serch">
<div class="time_box">
@@ -31,6 +43,7 @@
height: 2rem;
border-left: 0;
"
+ class="time_picker"
format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
range-separator="~"
@@ -46,6 +59,7 @@
placeholder="璇烽�夋嫨"
size="small"
style="width: 100%; font-size: 0.15rem"
+ class="select"
>
<el-option
v-for="item in selectoptions"
@@ -65,10 +79,15 @@
@click="handleQuery"
type="primary"
size="small"
- style="margin-left: 0.98rem; height: 2rem"
+ style="margin-left: 0.98rem; height: 2.5rem"
+ class="text_btn"
>鏌ヨ</el-button
>
- <el-button size="small" style="height: 2rem" @click="resetQuery"
+ <el-button
+ size="small"
+ style="height: 2.5rem"
+ class="text_btn"
+ @click="resetQuery"
>閲嶇疆</el-button
>
</div>
@@ -87,6 +106,7 @@
display: flex;
align-items: center;
"
+ class="text_btn"
><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
>鏂板缓</el-button
>
@@ -103,6 +123,41 @@
display: flex;
align-items: center;
"
+ class="text_btn"
+ ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
+ >鏂板缓</el-button
+ >
+ <!-- 鐢ㄦ埛鐝粍鏂板缓 -->
+ <el-button
+ v-if="isactive == 3"
+ type="primary"
+ size="small"
+ @click="AddGroup"
+ style="
+ width: 5.5rem;
+ height: 2rem;
+ font-size: 0.88rem;
+ display: flex;
+ align-items: center;
+ "
+ class="text_btn"
+ ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
+ >鏂板缓</el-button
+ >
+ <!-- 鐢ㄦ埛鍗曚綅鏂板缓 -->
+ <el-button
+ v-if="isactive == 4"
+ type="primary"
+ size="small"
+ @click="AddUnit"
+ style="
+ width: 5.5rem;
+ height: 2rem;
+ font-size: 0.88rem;
+ display: flex;
+ align-items: center;
+ "
+ class="text_btn"
><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
>鏂板缓</el-button
>
@@ -110,12 +165,14 @@
size="small"
style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
@click="printExcel"
+ class="text_btn"
>鎵归噺瀵煎嚭</el-button
>
<el-button
@click="deleteAll"
size="small"
style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
+ class="text_btn"
>鎵归噺鍒犻櫎</el-button
>
</div>
@@ -124,22 +181,40 @@
<!-- 鐢ㄦ埛鍒楄〃 -->
<el-table
empty-text="鏆傛棤鏁版嵁"
- height="450"
+ :height="isMin ? '950' : '450'"
v-if="isactive == 1"
:data="tableData"
style="width: 100%"
- :header-cell-style="{
- background: 'rgba(250,250,250,1)',
- color: '#101010',
- fontSize: '0.88rem',
- height: '3rem',
- border: 'none',
- }"
- :row-style="{
- color: '#101010',
- fontSize: '0.88rem',
- height: '3rem',
- }"
+ :header-cell-style="
+ isMin
+ ? {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '1.5rem',
+ height: '3rem',
+ border: 'none',
+ }
+ : {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ border: 'none',
+ }
+ "
+ :row-style="
+ isMin
+ ? {
+ color: '#101010',
+ fontSize: '2rem',
+ height: '3rem',
+ }
+ : {
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ }
+ "
@selection-change="UserSelectionChange"
>
<el-table-column type="selection" align="center" min-width="1%" />
@@ -162,14 +237,25 @@
min-width="3%"
/>
<el-table-column
- prop="userteam"
- label="鐢ㄦ埛鍒嗙粍"
+ prop="isLeader"
+ label="鐢ㄦ埛绫诲瀷"
align="center"
min-width="2%"
+ >
+ <template #default="scope">
+ <span v-if="scope.row.isLeader == 0">缁勫憳</span>
+ <span v-else-if="scope.row.isLeader == 1">缁勯暱</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ align="center"
+ min-width="3%"
/>
<el-table-column
- prop="roleName"
- label="鐢ㄦ埛瑙掕壊"
+ prop="userteam"
+ label="鐝粍"
align="center"
min-width="3%"
/>
@@ -242,22 +328,40 @@
<!-- 鐢ㄦ埛瑙掕壊 -->
<el-table
empty-text="鏆傛棤鏁版嵁"
- height="450"
+ :height="isMin ? '950' : '450'"
v-if="isactive == 2"
:data="grideData"
style="width: 100%"
- :header-cell-style="{
- background: 'rgba(250,250,250,1)',
- color: '#101010',
- fontSize: '0.88rem',
- height: '3rem',
- border: 'none',
- }"
- :row-style="{
- color: '#101010',
- fontSize: '0.88rem',
- height: '3rem',
- }"
+ :header-cell-style="
+ isMin
+ ? {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '1.5rem',
+ height: '3rem',
+ border: 'none',
+ }
+ : {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ border: 'none',
+ }
+ "
+ :row-style="
+ isMin
+ ? {
+ color: '#101010',
+ fontSize: '1.88rem',
+ height: '3rem',
+ }
+ : {
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ }
+ "
@selection-change="RoleSelectionChange"
>
<el-table-column type="selection" align="center" />
@@ -276,6 +380,12 @@
style="color: #4386ff; cursor: pointer"
>绠$悊</span
>
+ </template>
+ </el-table-column>
+ <el-table-column prop="isLeader" label="缁勫憳绫诲瀷" align="center">
+ <template #default="scope">
+ <span v-if="scope.row.isLeader == 0">缁勫憳</span>
+ <span v-else-if="scope.row.isLeader == 1">缁勯暱</span>
</template>
</el-table-column>
<el-table-column prop="deptName" label="澶囨敞" align="center" />
@@ -303,8 +413,142 @@
scope.row.user_Id == '1' ||
scope.row.userName != userInfo.userName)
"
- style="color: blue; font-size: 0.88rem; cursor: pointer"
+ :style="{
+ color: 'blue',
+ fontSize: isMin ? '1.88rem' : '0.88rem',
+ cursor: 'pointer',
+ }"
@click="EditRole(scope.row)"
+ >缂栬緫</span
+ >
+ </template></el-table-column
+ >
+ </el-table>
+
+ <!-- 鐢ㄦ埛鐝粍 -->
+ <el-table
+ empty-text="鏆傛棤鏁版嵁"
+ :height="isMin ? '950' : '450'"
+ v-if="isactive == 3"
+ :data="departmentData"
+ style="width: 100%"
+ :header-cell-style="
+ isMin
+ ? {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '1.5rem',
+ height: '3rem',
+ border: 'none',
+ }
+ : {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ border: 'none',
+ }
+ "
+ :row-style="
+ isMin
+ ? {
+ color: '#101010',
+ fontSize: '1.88rem',
+ height: '3rem',
+ }
+ : {
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ }
+ "
+ @selection-change="TreamSelectionChange"
+ >
+ <el-table-column type="selection" align="center" />
+ <el-table-column prop="teamName" label="鐝粍鍚嶇О" align="center" />
+ <el-table-column prop="creater" label="鍒涘缓鑰�" align="center" />
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" />
+ <el-table-column label="鎿嶄綔" align="center">
+ <template #default="scope">
+ <span
+ v-if="
+ !(userInfo.userName == 'admin' || userInfo.roleId == '1'
+ ? scope.row.userName == 'admin' || scope.row.user_Id == '1'
+ : scope.row.userName == 'admin' ||
+ scope.row.user_Id == '1' ||
+ scope.row.userName != userInfo.userName)
+ "
+ :style="{
+ color: 'blue',
+ fontSize: isMin ? '1.88rem' : '0.88rem',
+ cursor: 'pointer',
+ }"
+ @click="EditTream(scope.row)"
+ >缂栬緫</span
+ >
+ </template></el-table-column
+ >
+ </el-table>
+
+ <!-- 鐢ㄦ埛鍗曚綅 -->
+ <el-table
+ empty-text="鏆傛棤鏁版嵁"
+ :height="isMin ? '950' : '450'"
+ v-if="isactive == 4"
+ :data="unitData"
+ style="width: 100%"
+ :header-cell-style="
+ isMin
+ ? {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '1.5rem',
+ height: '3rem',
+ border: 'none',
+ }
+ : {
+ background: 'rgba(250,250,250,1)',
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ border: 'none',
+ }
+ "
+ :row-style="
+ isMin
+ ? {
+ color: '#101010',
+ fontSize: '1.88rem',
+ height: '3rem',
+ }
+ : {
+ color: '#101010',
+ fontSize: '0.88rem',
+ height: '3rem',
+ }
+ "
+ @selection-change="UnitSelectionChange"
+ >
+ <el-table-column type="selection" align="center" />
+ <el-table-column prop="unitName" label="鍗曚綅鍚嶇О" align="center" />
+ <el-table-column prop="creater" label="鍒涘缓鑰�" align="center" />
+ <el-table-column prop="createDate" label="鍒涘缓鏃ユ湡" align="center" />
+ <el-table-column label="鎿嶄綔" align="center">
+ <template #default="scope">
+ <span
+ v-if="
+ !(userInfo.userName == 'admin' || userInfo.roleId == '1'
+ ? scope.row.userName == 'admin' || scope.row.user_Id == '1'
+ : scope.row.userName == 'admin' ||
+ scope.row.user_Id == '1' ||
+ scope.row.userName != userInfo.userName)
+ "
+ :style="{
+ color: 'blue',
+ fontSize: isMin ? '1.88rem' : '0.88rem',
+ cursor: 'pointer',
+ }"
+ @click="EditUnit(scope.row)"
>缂栬緫</span
>
</template></el-table-column
@@ -354,6 +598,7 @@
>
<span
style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold"
+ class="font-title"
>鐢ㄦ埛淇℃伅</span
>
</div>
@@ -374,6 +619,7 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>鐧诲綍璐﹀彿</span
>
</div>
@@ -392,6 +638,7 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>鐪熷疄濮撳悕</span
>
</div>
@@ -410,6 +657,7 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>鑱旂郴鐢佃瘽</span
>
</div>
@@ -430,6 +678,7 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>鐢ㄦ埛瑙掕壊
</span>
</div>
@@ -438,6 +687,7 @@
v-model="formUser.roleid"
placeholder="璇烽�夋嫨"
size="small"
+ @change="handleRoleChange"
>
<el-option
:disabled="item.roleId == 1"
@@ -450,26 +700,27 @@
</el-form-item>
</el-col>
<el-col :span="8">
- <el-form-item prop="rolename">
+ <el-form-item prop="userunit">
<template #label>
<div style="display: flex; align-items: flex-end">
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
- >鐢ㄦ埛绫诲瀷
- </span>
+ class="from_title"
+ >鍗曚綅</span
+ >
</div>
</template>
<el-select
- v-model="formUser.rolename"
+ v-model="formUser.userunit"
placeholder="璇烽�夋嫨"
size="small"
>
<el-option
- v-for="item in roleNameList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ v-for="item in unitData"
+ :key="item.id"
+ :label="item.unitName"
+ :value="item.unitName"
/>
</el-select>
</el-form-item>
@@ -481,6 +732,7 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>鏄惁鍚敤</span
>
</div>
@@ -502,68 +754,31 @@
</el-row>
<el-row :gutter="20">
<el-col :span="8">
- <el-form-item prop="dept_Id">
+ <el-form-item prop="userteam">
<template #label>
<div style="display: flex; align-items: flex-end">
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
- >杞ㄩ亾绔�</span
+ class="from_title"
+ >鐝粍</span
>
</div>
</template>
<el-select
- v-model="formUser.dept_Id"
+ v-model="formUser.userteam"
placeholder="璇烽�夋嫨"
size="small"
>
<el-option
- v-for="item in departmentOptions"
+ v-for="item in departmentData"
:key="item.id"
- :label="item.departmentName"
- :value="item.id"
+ :label="item.teamName"
+ :value="item.teamName"
/>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="8">
- <el-form-item prop="dept_Id">
- <template #label>
- <div style="display: flex; align-items: flex-end">
- <span style="color: red; margin-right: 0.2rem">*</span>
- <span
- style="font-size: 0.88rem; color: black; font-weight: bold"
- >缁�</span
- >
- </div>
- </template>
- <el-input
- size="small"
- v-model="formUser.userteam"
- placeholder="璇疯緭鍏�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item prop="dept_Id">
- <template #label>
- <div style="display: flex; align-items: flex-end">
- <span style="color: red; margin-right: 0.2rem">*</span>
- <span
- style="font-size: 0.88rem; color: black; font-weight: bold"
- >鍗″彿</span
- >
- </div>
- </template>
- <el-input
- size="small"
- v-model="formUser.carnuber"
- placeholder="璇疯緭鍏�"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
<el-col :span="8">
<el-form-item>
<template #label>
@@ -571,16 +786,9 @@
<span style="color: red; margin-right: 0.2rem">*</span>
<span
style="font-size: 0.88rem; color: black; font-weight: bold"
+ class="from_title"
>浜鸿劯鍥剧墖</span
>
- <!-- <span
- style="
- color: rgba(255, 0, 0, 1);
- font-size: 0.75rem;
- margin-left: 0.5rem;
- "
- >娉細鏈�澶氬彲涓婁紶涓夊紶锛屽浘鐗囬渶瑕佹瑙勭殑浜哄儚璇佷欢鐓�</span
- > -->
</div>
</template>
<el-upload
@@ -660,7 +868,7 @@
</template>
</el-dialog>
- <!-- 鐢ㄦ埛淇℃伅淇敼瀵嗙爜寮瑰嚭妗� -->
+ <!-- 鐢ㄦ埛淇敼瀵嗙爜寮瑰嚭妗� -->
<el-dialog
v-model="dialogVisible1"
title=""
@@ -703,9 +911,11 @@
border-radius: 0.25rem;
"
>
- <span style="color: #51b820; font-size: 1rem"
+ <span style="color: #51b820; font-size: 1rem" class="formpassword"
>璐﹀彿锛歿{ formpassword.userName }}</span
- ><span style="color: #51b820; font-size: 1rem; margin-left: 2rem"
+ ><span
+ style="color: #51b820; font-size: 1rem; margin-left: 2rem"
+ class="formpassword"
>鐢ㄦ埛锛歿{ formpassword.roleName }}</span
>
</div>
@@ -760,7 +970,11 @@
"
>
<span
- style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold"
+ :style="{
+ color: 'rgb(16, 16, 16)',
+ fontSize: isMin ? '2rem' : '1rem',
+ fontWeight: 'bold',
+ }"
>鐢ㄦ埛瑙掕壊</span
>
</div>
@@ -776,8 +990,20 @@
<el-form-item prop="roleName">
<template #label>
<div style="display: flex; align-items: flex-end">
- <span style="color: red; margin-right: 0.2rem">*</span>
- <span style="font-size: 0.88rem; color: black; font-weight: bold"
+ <span
+ :style="{
+ color: 'red',
+ marginRight: '0.2rem',
+ fontSize: '2rem',
+ }"
+ >*</span
+ >
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: bold,
+ }"
>瑙掕壊鍚嶇О</span
>
</div>
@@ -789,10 +1015,49 @@
placeholder="璇疯緭鍏�"
/>
</el-form-item>
+ <el-form-item prop="isLeader">
+ <template #label>
+ <div style="display: flex; align-items: flex-end">
+ <span
+ :style="{
+ color: 'red',
+ marginRight: '0.2rem',
+ fontSize: '2rem',
+ }"
+ >*</span
+ >
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: bold,
+ }"
+ >缁勫憳绫诲瀷</span
+ >
+ </div>
+ </template>
+ <el-select
+ v-model="formRole.isLeader"
+ placeholder="璇烽�夋嫨"
+ size="small"
+ >
+ <el-option
+ v-for="item in rolekey"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item>
<template #label>
<div style="display: flex; align-items: flex-end">
- <span style="font-size: 0.88rem; color: black; font-weight: bold"
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: 'bold',
+ }"
>澶囨敞</span
>
</div>
@@ -818,6 +1083,178 @@
size="small"
type="primary"
@click="saveRole(formRoleRef)"
+ style="height: 2rem; font-size: 0.88rem"
+ >
+ 淇濆瓨
+ </el-button>
+ </div>
+ </template>
+ </el-dialog>
+
+ <!-- 鐢ㄦ埛鐝粍鏂板缓/缂栬緫 -->
+ <el-dialog
+ v-model="TreamdialogVisible"
+ title=""
+ width="20%"
+ :before-close="handleClose"
+ :show-close="false"
+ :align-center="true"
+ @close="resetForm2(formTreamdRef)"
+ >
+ <template #title>
+ <div
+ style="
+ height: 3.63rem;
+ display: flex;
+ border-bottom: 1px solid #e6e6e6;
+ "
+ >
+ <span
+ :style="{
+ color: 'rgb(16, 16, 16)',
+ fontSize: isMin ? '2rem' : '1rem',
+ fontWeight: 'bold',
+ }"
+ >鐢ㄦ埛鐝粍</span
+ >
+ </div>
+ </template>
+ <el-form
+ :model="formTeam"
+ label-width="auto"
+ label-position="top"
+ ref="formTreamdRef"
+ :rules="roleRules"
+ :hide-required-asterisk="true"
+ >
+ <el-form-item prop="teamName">
+ <template #label>
+ <div style="display: flex; align-items: flex-end">
+ <span
+ :style="{
+ color: 'red',
+ marginRight: '0.2rem',
+ fontSize: '2rem',
+ }"
+ >*</span
+ >
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: bold,
+ }"
+ >鐝粍鍚嶇О</span
+ >
+ </div>
+ </template>
+ <el-input
+ style="height: 2rem"
+ size="small"
+ v-model="formTeam.teamName"
+ placeholder="璇疯緭鍏�"
+ />
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer" style="text-align: center">
+ <el-button
+ size="small"
+ @click="TreamdialogVisible = false"
+ style="height: 2rem; font-size: 0.88rem"
+ >鍙栨秷</el-button
+ >
+
+ <el-button
+ size="small"
+ type="primary"
+ @click="saveTream(formTreamdRef)"
+ style="height: 2rem; font-size: 0.88rem"
+ >
+ 淇濆瓨
+ </el-button>
+ </div>
+ </template>
+ </el-dialog>
+
+ <!-- 鐢ㄦ埛鍗曚綅鏂板缓/缂栬緫 -->
+ <el-dialog
+ v-model="UnitdialogVisible"
+ title=""
+ width="20%"
+ :before-close="handleClose"
+ :show-close="false"
+ :align-center="true"
+ @close="resetForm3(formUnitRef)"
+ >
+ <template #title>
+ <div
+ style="
+ height: 3.63rem;
+ display: flex;
+ border-bottom: 1px solid #e6e6e6;
+ "
+ >
+ <span
+ :style="{
+ color: 'rgb(16, 16, 16)',
+ fontSize: isMin ? '2rem' : '1rem',
+ fontWeight: 'bold',
+ }"
+ >鐢ㄦ埛鍗曚綅</span
+ >
+ </div>
+ </template>
+ <el-form
+ :model="formUnit"
+ label-width="auto"
+ label-position="top"
+ ref="formUnitRef"
+ :rules="roleRules"
+ :hide-required-asterisk="true"
+ >
+ <el-form-item prop="unitName">
+ <template #label>
+ <div style="display: flex; align-items: flex-end">
+ <span
+ :style="{
+ color: 'red',
+ marginRight: '0.2rem',
+ fontSize: '2rem',
+ }"
+ >*</span
+ >
+ <span
+ :style="{
+ fontSize: isMin ? '2rem' : '0.88rem',
+ color: 'black',
+ fontWeight: bold,
+ }"
+ >鍗曚綅鍚嶇О</span
+ >
+ </div>
+ </template>
+ <el-input
+ style="height: 2rem"
+ size="small"
+ v-model="formUnit.unitName"
+ placeholder="璇疯緭鍏�"
+ />
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer" style="text-align: center">
+ <el-button
+ size="small"
+ @click="UnitdialogVisible = false"
+ style="height: 2rem; font-size: 0.88rem"
+ >鍙栨秷</el-button
+ >
+
+ <el-button
+ size="small"
+ type="primary"
+ @click="saveUnit(formUnitRef)"
style="height: 2rem; font-size: 0.88rem"
>
淇濆瓨
@@ -858,6 +1295,15 @@
ExportApi1,
UpdatePwd,
DeleteUserData,
+ GetDepartment,
+ GetUserTeam,
+ AddUserTeam,
+ EditUserTeam,
+ DeleteUserTeam,
+ GetUserUnit,
+ AddUserUnit,
+ EditUserUnit,
+ DeleteUserUnit,
} from "@/api/user";
import { useRouter } from "vue-router";
import { formatTime } from "@/utils/index.js";
@@ -868,7 +1314,6 @@
UpdateRoleApi,
DeleteRoleApi,
} from "@/api/role";
-import { GetDepartment } from "@/api/user";
let obj = {
selectName: "",
selectTime: [], // 鏃堕棿鑼冨洿
@@ -880,10 +1325,12 @@
const tableData = ref([]);
const grideData = ref([]);
+//鐢ㄦ埛鐝粍
+const departmentData = ref([]);
+//鐢ㄦ埛鍗曚綅
+const unitData = ref([]);
//鏂板缓鐢ㄦ埛ref
const formUserRef = ref();
-const options = ref([]);
-const props = { multiple: true };
const userInfo = ref();
const isoptins = ref([
{
@@ -892,13 +1339,13 @@
},
{ value: 1, label: "鏄�" },
]);
-//鍒嗙粍
+//瑙掕壊
const groupOptions = ref([]);
const formUser = ref({
id: undefined,
username: "",
phoneno: "",
- roleid: 2,
+ roleid: null,
rolename: "",
enable: 1,
path: "",
@@ -906,14 +1353,16 @@
dept_Id: 1,
carnuber: null,
userteam: "",
+ isLeader: 0,
+ userunit: "",
});
const rules = reactive({
- userName: {
+ username: {
required: true,
message: "璇疯緭鍏ョ敤鎴峰悕",
trigger: "blur",
},
- role_Id: {
+ roleid: {
required: true,
message: "璇烽�夋嫨瑙掕壊",
trigger: "change",
@@ -930,12 +1379,12 @@
message: "璇疯緭鍏ュ鍚�",
trigger: "blur",
},
- phoneNo: {
+ phoneno: {
required: true,
message: "璇疯緭鍏ユ墜鏈哄彿",
trigger: "blur",
},
- userTrueName: {
+ usertruename: {
required: true,
message: "璇疯緭鍏ョ湡瀹炲鍚�",
trigger: "blur",
@@ -945,13 +1394,12 @@
message: "璇疯緭鍏ョ粍",
trigger: "blur",
},
- carnuber: {
+ userunit: {
required: true,
- message: "璇疯緭鍏ュ崱鍙�",
+ message: "璇烽�夋嫨鍗曚綅",
trigger: "blur",
},
});
-
const formpasswordRef = ref();
const isactive = ref(1);
const dialogVisible = ref(false);
@@ -977,21 +1425,26 @@
},
];
const fileList = ref([]);
-const roleNameList = ref([
- { value: "鐢垫皵璐ㄦ", label: "鐢垫皵璐ㄦ" },
- { value: "鏈烘璐ㄦ", label: "鏈烘璐ㄦ" },
- { value: "鍦版矡璐ㄦ", label: "鍦版矡璐ㄦ" },
- { value: "鐢垫皵鍔涚煩", label: "鐢垫皵鍔涚煩" },
- { value: "鐢垫皵杈呭姪", label: "鐢垫皵杈呭姪" },
- { value: "鏈烘鍔涚煩", label: "鏈烘鍔涚煩" },
- { value: "鏈烘杈呭姪", label: "鏈烘杈呭姪" },
- { value: "鍦版矡鍔涚煩", label: "鍦版矡鍔涚煩" },
- { value: "鍦版矡杈呭姪", label: "鍦版矡杈呭姪" },
+const rolekey = ref([
+ { value: 1, label: "缁勯暱" },
+ { value: 0, label: "缁勫憳" },
]);
const roleOptions = [
{
value: "roleName",
label: "瑙掕壊鍚嶇О",
+ },
+];
+const treamOptions = [
+ {
+ value: "teamName",
+ label: "鐝粍鍚嶇О",
+ },
+];
+const unitOptions = [
+ {
+ value: "unitName",
+ label: "鍗曚綅鍚嶇О",
},
];
const selectoptions = ref([]);
@@ -1016,12 +1469,53 @@
},
],
});
-
const uploadRef = ref();
const showUpload = ref(false);
const pageTotal = ref(0);
+const isMin = ref(false);
+const newRole = ref({});
//鑾峰彇閮ㄩ棬
const departmentOptions = ref([]);
+
+const initData = () => {
+ // 鏌ヨ鏉′欢
+ const startTime = formatTime(queryForm.value.selectTime[0]);
+ const endTime = formatTime(queryForm.value.selectTime[1]);
+ const filter = [
+ {
+ name: queryForm.value.selectType,
+ value: queryForm.value.selectInput,
+ displayType: "like",
+ },
+ { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
+ { name: "createDate", value: endTime, displayType: "LessOrEqual" },
+ ];
+ GetUserList({
+ pageIndex: 1,
+ pageSize: 10,
+ searchKeyword: "",
+ startDate: formatTime(queryForm.value.selectTime[0]),
+ endDate: formatTime(queryForm.value.selectTime[1]),
+ status: 0,
+ sortField: "",
+ sortOrder: "",
+ account: "",
+ }).then((res) => {
+ tableData.value = res.data.items.map((item) => {
+ return {
+ ...item,
+ isdisabled:
+ userInfo.value.userName == "admin" || userInfo.value.roleId == "1"
+ ? item.userName == "admin" || item.user_Id == "1"
+ : item.userName == "admin" ||
+ item.user_Id == "1" ||
+ item.userName != userInfo.value.userName,
+ };
+ });
+ pageTotal.value = res.data.totalCount;
+ });
+ getDepartment();
+};
const getDepartment = () => {
GetDepartment({
page: 1,
@@ -1043,40 +1537,6 @@
}).then((res) => {
departmentOptions.value = res.rows;
});
-};
-
-//鐧诲綍璁板綍
-const initData = () => {
- // 鏌ヨ鏉′欢
- const startTime = formatTime(queryForm.value.selectTime[0]);
- const endTime = formatTime(queryForm.value.selectTime[1]);
- const filter = [
- {
- name: queryForm.value.selectType,
- value: queryForm.value.selectInput,
- displayType: "like",
- },
- { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
- { name: "createDate", value: endTime, displayType: "LessOrEqual" },
- ];
- GetUserList({
- ...pageQuery.value,
- filter,
- }).then((res) => {
- tableData.value = res.rows.map((item) => {
- return {
- ...item,
- isdisabled:
- userInfo.value.userName == "admin" || userInfo.value.roleId == "1"
- ? item.userName == "admin" || item.user_Id == "1"
- : item.userName == "admin" ||
- item.user_Id == "1" ||
- item.userName != userInfo.value.userName,
- };
- });
- pageTotal.value = res.total;
- });
- getDepartment();
};
//鍒嗛〉璇锋眰鍙傛暟
const pageQuery = ref({
@@ -1138,13 +1598,14 @@
formUser.value = {
username: "",
phoneno: "",
- roleid: 20,
+ roleid: null,
rolename: "",
enable: 1,
path: "",
user_Id: undefined,
userteam: "",
carnuber: null,
+ isLeader: 0,
};
fileList.value = [];
};
@@ -1154,6 +1615,20 @@
formRole.value = {
roleName: "",
description: "",
+ };
+};
+const resetForm2 = (formEl) => {
+ if (!formEl) return;
+ formEl.resetFields();
+ formTeam.value = {
+ teamName: "",
+ };
+};
+const resetForm3 = (formEl) => {
+ if (!formEl) return;
+ formEl.resetFields();
+ formUnit.value = {
+ unitName: "",
};
};
@@ -1172,25 +1647,33 @@
const beforeAvatarUpload = (val) => {
console.log(val);
};
+const handleRoleChange = (val) => {
+ groupOptions.value.find((item) => {
+ if (item.roleId == val) {
+ newRole.value = item;
+ }
+ });
+};
//鏂板缓鐢ㄦ埛璐﹀彿
const saveObj = async (formEl) => {
- // submitUpload();
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
if (formUser.value.id != undefined) {
- if (!formUser.value.userteam.includes('缁�')) {
- formUser.value.userteam = formUser.value.userteam + '缁�'
- }
+ // if (!formUser.value.userteam.includes("缁�")) {
+ // formUser.value.userteam = formUser.value.userteam + "缁�";
+ // }
+ formUser.value.isLeader = newRole.value.isLeader;
UpdateUser(formUser.value).then((res) => {
ElMessage({ message: "淇敼鎴愬姛", type: "success" });
dialogVisible.value = false;
initData();
});
} else {
- if (!formUser.value.userteam.includes('缁�')) {
- formUser.value.userteam = formUser.value.userteam + '缁�'
- }
+ // if (!formUser.value.userteam.includes("缁�")) {
+ // formUser.value.userteam = formUser.value.userteam + "缁�";
+ // }
+ formUser.value.isLeader = newRole.value.isLeader;
AddUser(formUser.value).then((res) => {
ElMessage({ message: "鎻愪氦鎴愬姛", type: "success" });
dialogVisible.value = false;
@@ -1240,6 +1723,8 @@
usertruename: val.userTrueName,
cardNumber: val.cardNumber,
userteam: val.userteam,
+ userunit: val.unit,
+ dept_Id: val.dept_Id,
};
UpdateUser(data).then((res) => {
ElMessage({ message: "淇敼鎴愬姛", type: "success" });
@@ -1272,6 +1757,8 @@
carnuber: val.cardNumber,
userteam: val.userteam,
dept_Id: val.dept_Id,
+ isLeader: val.isLeader,
+ userunit: val.unit,
};
formUser.value = {
...obj,
@@ -1330,6 +1817,16 @@
message: "璇疯緭鍏ヨ鑹叉弿杩�",
trigger: "blur",
},
+ teamName: {
+ required: true,
+ message: "璇疯緭鍏ョ彮缁勫悕绉�",
+ trigger: "blur",
+ },
+ unitName: {
+ required: true,
+ message: "璇疯緭鍏ュ崟浣嶅悕绉�",
+ trigger: "blur",
+ },
});
const formRole = ref({
roleName: "",
@@ -1373,6 +1870,20 @@
let obj = Object.assign({}, val);
formRole.value = obj;
dialogVisible2.value = true;
+};
+//缂栬緫鐝粍
+const EditTream = (val) => {
+ Treamtype.value = "淇敼";
+ let obj = Object.assign({}, val);
+ formTeam.value = obj;
+ TreamdialogVisible.value = true;
+};
+//缂栬緫鍗曚綅
+const EditUnit = (val) => {
+ Unittype.value = "淇敼";
+ let obj = Object.assign({}, val);
+ formUnit.value = obj;
+ UnitdialogVisible.value = true;
};
//鑾峰彇瑙掕壊
const getRole = () => {
@@ -1425,15 +1936,119 @@
});
}
};
+//鑾峰彇鐢ㄦ埛鐝粍
+const getGroup = () => {
+ const startTime = formatTime(queryForm.value.selectTime[0]);
+ const endTime = formatTime(queryForm.value.selectTime[1]);
+ const filter = [
+ {
+ name: queryForm.value.selectType,
+ value: queryForm.value.selectInput,
+ displayType: "like",
+ },
+ { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
+ { name: "createDate", value: endTime, displayType: "LessOrEqual" },
+ ];
+ GetUserTeam({ ...pageQuery.value, filter }).then((res) => {
+ departmentData.value = res.rows;
+ pageTotal.value = res.total;
+ });
+};
+const formTeam = ref({});
+const TreamdialogVisible = ref(false);
+//鏂板缓鐢ㄦ埛鐝粍
+const AddGroup = () => {
+ Treamtype.value = "鏂板缓";
+ TreamdialogVisible.value = true;
+};
+const Treamtype = ref("鏂板缓");
+const formTreamdRef = ref(null);
+const saveTream = async (formEl) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if (Treamtype.value == "淇敼") {
+ EditUserTeam(formTeam.value).then((res) => {
+ ElMessage({ message: "淇敼鎴愬姛", type: "success" });
+ TreamdialogVisible.value = false;
+ getGroup();
+ });
+ } else {
+ AddUserTeam(formTeam.value).then((res) => {
+ ElMessage({ message: "娣诲姞鎴愬姛", type: "success" });
+ TreamdialogVisible.value = false;
+ getGroup();
+ });
+ }
+ } else {
+ console.log("error submit!", fields);
+ }
+ });
+};
+const formUnit = ref({});
+const UnitdialogVisible = ref(false);
+const Unittype = ref("鏂板缓");
+const formUnitRef = ref(null);
+const AddUnit = () => {
+ Unittype.value = "鏂板缓";
+ UnitdialogVisible.value = true;
+};
+//鑾峰彇鐢ㄦ埛鍗曚綅
+const getUnit = () => {
+ const startTime = formatTime(queryForm.value.selectTime[0]);
+ const endTime = formatTime(queryForm.value.selectTime[1]);
+ const filter = [
+ {
+ name: queryForm.value.selectType,
+ value: queryForm.value.selectInput,
+ displayType: "like",
+ },
+ { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
+ { name: "createDate", value: endTime, displayType: "LessOrEqual" },
+ ];
+ GetUserUnit({ ...pageQuery.value, filter }).then((res) => {
+ unitData.value = res.rows;
+ pageTotal.value = res.total;
+ });
+};
+//淇濆瓨鍗曚綅
+const saveUnit = async (formEl) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if (Unittype.value == "淇敼") {
+ EditUserUnit(formUnit.value).then((res) => {
+ ElMessage({ message: "淇敼鎴愬姛", type: "success" });
+ UnitdialogVisible.value = false;
+ getUnit();
+ });
+ } else {
+ AddUserUnit(formUnit.value).then((res) => {
+ ElMessage({ message: "娣诲姞鎴愬姛", type: "success" });
+ UnitdialogVisible.value = false;
+ getUnit();
+ });
+ }
+ } else {
+ console.log("error submit!", fields);
+ }
+ });
+};
//鍒囨崲椤甸潰
const changeactive = (index) => {
isactive.value = index;
if (isactive.value == 1) {
selectoptions.value = userOptions;
initData();
- } else {
+ } else if (isactive.value == 2) {
selectoptions.value = roleOptions;
getRole();
+ } else if (isactive.value == 3) {
+ selectoptions.value = treamOptions;
+ getGroup();
+ } else if (isactive.value == 4) {
+ selectoptions.value = unitOptions;
+ getUnit();
}
};
@@ -1447,6 +2062,14 @@
const RoleSelectionChange = (val) => {
ids.value = [];
ids.value = val.map((item) => item.roleId);
+};
+const TreamSelectionChange = (val) => {
+ ids.value = [];
+ ids.value = val.map((item) => item.id);
+};
+const UnitSelectionChange = (val) => {
+ ids.value = [];
+ ids.value = val.map((item) => item.id);
};
const deleteAll = () => {
if (ids.value.includes(1)) {
@@ -1462,22 +2085,37 @@
ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
initData();
});
- } else {
+ } else if (isactive.value == 2) {
DeleteRoleApi(ids.value).then((res) => {
ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
getRole();
});
+ } else if (isactive.value == 3) {
+ DeleteUserTeam(ids.value).then((res) => {
+ ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
+ getGroup();
+ });
+ } else if (isactive.value == 4) {
+ DeleteUserUnit(ids.value).then((res) => {
+ ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
+ getUnit();
+ });
}
};
-//绠$悊
-//璺敱璺宠浆
+// 绠$悊 璺敱璺宠浆
const toDetail = (row) => {
router.push({ name: "permission", state: { info: JSON.stringify(row) } });
};
onMounted(() => {
+ if (window.innerWidth <= 1080) {
+ isMin.value = true;
+ }
+ //鎵撳嵃褰撳墠灞忓箷瀹藉害
initData();
getRole();
+ getUnit();
+ getGroup();
userInfo.value = JSON.parse(localStorage.getItem("user"));
});
</script>
@@ -1492,7 +2130,7 @@
flex-direction: column;
.checkbox {
- width: 11rem;
+ width: 25rem;
display: flex;
justify-content: space-between;
margin-top: 1rem;
@@ -1624,6 +2262,194 @@
text-align: center;
}
}
+@media screen and (max-width: 1080px) {
+ .Usermanagement {
+ display: flex;
+ background-color: #fff;
+
+ .content {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+
+ .checkbox {
+ width: 35rem;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 1rem;
+ margin-left: 1.31rem;
+
+ .item {
+ width: 8rem;
+ height: 2.88rem;
+ border-radius: 0.25rem;
+ background-color: rgba(190, 199, 209, 1);
+ color: rgba(255, 255, 255, 1);
+ font-size: 1.25rem;
+ text-align: center;
+ line-height: 2.88rem;
+ cursor: pointer;
+ }
+
+ .isactive {
+ background-color: rgba(16, 16, 16, 1);
+ color: rgba(255, 255, 255, 1);
+ }
+ }
+
+ .serch {
+ display: flex;
+ margin-top: 1.31rem;
+ align-items: center;
+
+ .time_box {
+ display: flex;
+ align-items: center;
+ text-align: center;
+ margin-left: 0.98rem;
+
+ .time {
+ box-sizing: border-box;
+ width: 6.88rem;
+ height: 3rem;
+ text-align: center;
+ border: 0.06rem solid rgba(222, 222, 222, 1);
+ border-radius: 0.25rem 0 0 0.25rem;
+ font-size: 1.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ :deep(.el-input__wrapper) {
+ height: 3rem !important;
+ font-size: 1.25rem !important;
+ }
+ }
+
+ .serch_box {
+ display: flex;
+ align-items: center;
+ text-align: center;
+ margin-left: 0.98rem;
+ border-radius: 0.38rem;
+
+ .serchb {
+ box-sizing: border-box;
+ width: 9rem;
+ height: 3rem !important;
+ text-align: center;
+ font-size: 2rem !important;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .select {
+ height: 3rem !important;
+ :deep(.el-select__wrapper) {
+ height: 3rem !important;
+ font-size: 1.5rem !important;
+ }
+ }
+ }
+
+ input {
+ box-sizing: border-box;
+ outline: none;
+ width: 19rem;
+ height: 3rem;
+ border: 0.06rem solid rgba(222, 222, 222, 1);
+ border-radius: 0 0.25rem 0.25rem 0;
+ padding-left: 0.3125rem;
+ font-size: 2rem;
+ }
+ }
+ .text_btn {
+ width: 10rem !important;
+ height: 3.5rem !important;
+ font-size: 2rem !important;
+ display: flex;
+ align-items: center;
+ }
+ }
+
+ .btns {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 1.31rem;
+ margin-left: 1.13rem;
+ padding-right: 2rem;
+ box-sizing: border-box;
+ .text_btn {
+ width: 10rem !important;
+ height: 3.5rem !important;
+ font-size: 2rem !important;
+ display: flex;
+ align-items: center;
+ }
+ }
+ }
+ .formpassword {
+ font-size: 1.5rem !important;
+ }
+ .my-header {
+ height: 3.84rem;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: 0.06rem solid rgba(233, 233, 233, 1);
+ }
+
+ .avatar-uploader .avatar {
+ width: 7rem;
+ height: 7rem;
+ display: block;
+ }
+
+ :deep(.avatar-uploader .el-upload) {
+ width: 7rem;
+ height: 7rem;
+ border: 0.0625rem dashed var(--el-border-color);
+ border-radius: 0.0375rem;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+ transition: var(--el-transition-duration-fast);
+ }
+
+ :deep(.el-upload-list__item) {
+ width: 7rem;
+ height: 7rem;
+ }
+
+ .avatar-uploader .el-upload:hover {
+ border-color: var(--el-color-primary);
+ }
+
+ .el-icon .avatar-uploader-icon {
+ font-size: 0.5rem;
+ color: #8c939d;
+ width: 0.81rem;
+ height: 0.81rem;
+ text-align: center;
+ }
+ .font-title {
+ font-size: 2rem !important;
+ }
+ .from_title {
+ font-size: 2rem !important;
+ }
+ .el-form-item__content {
+ .el-input {
+ height: 3rem !important;
+ font-size: 2rem !important;
+ }
+ .el-select--small :deep(.el-select__wrapper) {
+ font-size: 2rem;
+ line-height: 3rem;
+ min-height: 3rem;
+ }
+ }
+ }
+}
</style>
<style>
.confirmButtonClass {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217.7z" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217.7z"
index 606890f..ee76f02 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217.7z"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217.7z"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/layout/index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/layout/index.vue"
index 6d64ba6..0469657 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/layout/index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/layout/index.vue"
@@ -195,7 +195,7 @@
<router-view
style="
height: calc(100vh - 4.38rem - 10rem);
- width: calc(100vw - 10rem);
+ width: calc(100vw - 6rem);
"
v-slot="{ Component }"
>
@@ -796,7 +796,7 @@
// background-repeat: no-repeat;
// background-size: 100% 100%;
background: linear-gradient(to bottom, #0072c6, #2e6aa7);
- padding: 5rem 5rem;
+ padding: 5rem 3rem;
box-sizing: border-box;
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/views/Index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/views/Index.vue"
index b4c48e9..f634c8e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/views/Index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\217\257\350\247\206\345\214\226\345\244\247\345\261\217/client/src/views/Index.vue"
@@ -5,7 +5,7 @@
display: flex;
justify-content: center;
color: #fff;
- font-size: 15rem;
+ font-size: 20rem;
letter-spacing: 5rem;
font-weight: bold;
"
@@ -20,7 +20,7 @@
align-items: center;
color: #fff;
font-size: 3rem;
- margin-top: 3rem;
+ margin-top: 1rem;
"
>
<div
@@ -47,7 +47,7 @@
color: #fff;
font-weight: bold;
margin-top: 5rem;
- font-size: 10rem;
+ font-size: 12rem;
"
>
<span> CR400AF</span>
@@ -83,7 +83,7 @@
<div
style="
height: 5rem;
- font-size: 6rem;
+ font-size: 7rem;
font-weight: bold;
display: flex;
align-items: center;
@@ -121,7 +121,7 @@
<div
style="
width: 40%;
- font-size: 6rem;
+ font-size: 7rem;
color: #fff;
background-color: #058f66;
border-radius: 1.5rem;
@@ -134,7 +134,7 @@
<div
style="
width: 40%;
- font-size: 6rem;
+ font-size: 7rem;
color: #fff;
background-color: #d9001b;
border-radius: 1.5rem;
@@ -164,7 +164,7 @@
>浣�
</div>
</div>
- <div style="width: 90%; margin-top: 2rem">
+ <div style="width: 98%; margin-top: 2rem">
<el-table
empty-text="鏆傛棤鏁版嵁"
:data="tableData"
@@ -174,11 +174,12 @@
height: '1.61rem',
color: '#fff',
background: '#1860A8',
- fontSize: '2rem',
+ fontSize: '2.1rem',
}"
:cell-style="{
color: '#fff',
background: 'rgba(23, 87, 149, 0.9)',
+ fontSize: '4rem',
}"
>
<el-table-column
--
Gitblit v1.9.3