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