| | |
| | | </noscript> --> |
| | | <div id="app"></div> |
| | | <script type="module" src="/src/main.js"></script> |
| | | |
| | | <!--ä¸ä¸ªå¿
è¦çjsæä»¶å¼å
¥--> |
| | | <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> |
| | |
| | | "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", |
| | |
| | | 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) |
| | |
| | | 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==} |
| | | |
| | |
| | | |
| | | '@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==} |
| | |
| | | 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'} |
| | |
| | | |
| | | 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==} |
| | |
| | | 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'} |
| | |
| | | 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==} |
| | |
| | | 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==} |
| | |
| | | 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} |
| | |
| | | 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==} |
| | |
| | | |
| | | 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==} |
| | |
| | | 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==} |
| | |
| | | |
| | | 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==} |
| | |
| | | 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==} |
| | | |
| | |
| | | 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==} |
| | |
| | | |
| | | 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==} |
| | |
| | | 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} |
| | |
| | | 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'} |
| | |
| | | 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==} |
| | |
| | | |
| | | 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==} |
| | |
| | | '@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 |
| | |
| | | dependencies: |
| | | '@jridgewell/resolve-uri': 3.1.2 |
| | | '@jridgewell/sourcemap-codec': 1.5.0 |
| | | |
| | | '@juggle/resize-observer@3.4.0': {} |
| | | |
| | | '@kurkle/color@0.3.4': {} |
| | | |
| | |
| | | |
| | | '@xmldom/xmldom@0.8.10': {} |
| | | |
| | | abortcontroller-polyfill@1.7.8: {} |
| | | |
| | | address@1.2.2: {} |
| | | |
| | | aes-decrypter@4.0.2: |
| | |
| | | balanced-match@1.0.2: {} |
| | | |
| | | big.js@5.2.2: {} |
| | | |
| | | bignumber.js@9.3.0: {} |
| | | |
| | | birpc@0.2.19: {} |
| | | |
| | |
| | | |
| | | 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: {} |
| | | |
| | |
| | | define-lazy-prop@3.0.0: {} |
| | | |
| | | delayed-stream@1.0.0: {} |
| | | |
| | | delegate@3.2.0: {} |
| | | |
| | | destroy@1.2.0: {} |
| | | |
| | |
| | | |
| | | estree-walker@2.0.2: {} |
| | | |
| | | eventemitter3@5.0.1: {} |
| | | |
| | | execa@9.5.2: |
| | | dependencies: |
| | | '@sindresorhus/merge-streams': 4.0.0 |
| | |
| | | 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: {} |
| | | |
| | |
| | | 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: |
| | |
| | | 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 |
| | |
| | | isobject@3.0.1: {} |
| | | |
| | | isstream@0.1.2: {} |
| | | |
| | | jquery@3.7.1: {} |
| | | |
| | | js-base64@2.6.4: {} |
| | | |
| | |
| | | dependencies: |
| | | pify: 4.0.1 |
| | | semver: 5.7.2 |
| | | |
| | | make-plural@7.4.0: {} |
| | | |
| | | math-intrinsics@1.1.0: {} |
| | | |
| | |
| | | optional: true |
| | | |
| | | neo-async@2.6.2: {} |
| | | |
| | | node-domexception@1.0.0: {} |
| | | |
| | | node-hex@1.0.1: {} |
| | | |
| | |
| | | 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: |
| | |
| | | |
| | | typedarray@0.0.6: {} |
| | | |
| | | ua-parser-js@1.0.37: {} |
| | | |
| | | uglify-js@3.19.3: {} |
| | | |
| | | uglifyjs-webpack-plugin@2.2.0: |
| | |
| | | mkdirp: 0.5.6 |
| | | mz: 2.7.0 |
| | | unescape: 1.0.1 |
| | | |
| | | uuid@8.3.2: {} |
| | | |
| | | varint@6.0.0: {} |
| | | |
| | |
| | | '@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 |
| | |
| | | import http from "../http"; |
| | | |
| | | //ç»å½è®°å½ |
| | | export const BecomeTrue = (data) => http.post(`/api/AlarmResetHsy/BecomeTrue?account=${data.account}`); |
| | | //æ¥è¦å¤ä½ |
| | | export const BecomeTrue = () => http.post(`/api/AlarmResetHsy/BecomeTrue`); |
| | | //æ¸
餿¥è¦ä¿¡æ¯ |
| | | export const ClearAlarm = () => http.post(`/api/AlarmResetHsy/DeleteAllinform`); |
| | |
| | | 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`); |
| | | |
| | | |
| | |
| | | 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); |
| | |
| | | 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) |
| | |
| | | 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) |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | // import VolElementMenuChild from "./VolElementMenuChild"; |
| | | import VolElementMenuChild from "./VolElementMenuChild.vue"; |
| | | import { useRouter } from "vue-router"; |
| | | |
| | | import { |
| | |
| | | font-size: 0.88rem !important; |
| | | } |
| | | </style> |
| | | |
| | | |
| | | |
| | |
| | | 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 |
| | |
| | | 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=" |
| | |
| | | @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> |
| | |
| | | font-size: 0.88rem; |
| | | text-align: left; |
| | | " |
| | | class="tetxsize" |
| | | > |
| | | {{ userName }} |
| | | </div> |
| | |
| | | } |
| | | if (item.path == "#") return; |
| | | open(item); |
| | | }; |
| | | // 管ç è·¯ç±è·³è½¬ |
| | | const toDetail = (row) => { |
| | | router.push("/sysMenu"); |
| | | }; |
| | | const open = (item, useRoute) => { |
| | | /* 2020.07.31å¢å æå¨æå¼tabs*/ |
| | |
| | | acountInfo, |
| | | screenonToggle, |
| | | isFullscreen, |
| | | toDetail, |
| | | }; |
| | | }, |
| | | /** |
| | |
| | | .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 { |
| | |
| | | <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 |
| | |
| | | <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> |
| | |
| | | </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" |
| | |
| | | <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> |
| | |
| | | <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"> |
| | | <!-- 左侧å¾ç --> |
| | |
| | | <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" |
| | |
| | | <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" |
| | |
| | | </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" |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button |
| | | :loading="loading" |
| | |
| | | <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"; |
| | | |
| | |
| | | const loginForm = ref({ |
| | | userName: "", |
| | | password: "", |
| | | verificationCode: "", |
| | | verificationCode: "1234", |
| | | UUID: undefined, |
| | | tenantId: "0", |
| | | }); |
| | |
| | | }, 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> |
| | |
| | | flex-direction: column; |
| | | .login-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 4.38rem; |
| | | background-color: #006eff; |
| | |
| | | <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"> |
| | |
| | | </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为Vue项ç®ä¸src->router->viewGrid.js对åºè¡¨åçpath屿§ |
| | | </div> |
| | |
| | | </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> |
| | |
| | | tigger = true; |
| | | let menuId = this.fields.menuId; |
| | | this.http |
| | | .post("/api/Sys_Menu/delMenu?menuId=" + menuId, {}, "æ£å¨å 餿°æ®....") |
| | | .post( |
| | | "/api/Sys_Menu/delMenu?menuId=" + menuId, |
| | | {}, |
| | | "æ£å¨å 餿°æ®...." |
| | | ) |
| | | .then((x) => { |
| | | if (!x.status) return this.$Message.error(x.message); |
| | | this.$refs.form.reset(); |
| | |
| | | orderNo: this.fields.orderNo, |
| | | parentId: this.fields.parentId, |
| | | }); |
| | | console.log(this.tree) |
| | | console.log(this.tree); |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | 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([]); |
| | |
| | | }); |
| | | 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; |
| | | }); |
| | | }; |
| | |
| | | ]); |
| | | 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("èååè½æéè½¬æ¢æJSON失败:" + x.auth); |
| | | x.auth = []; |
| | | fields.value.icon = ""; |
| | | // this.icon = ""; |
| | | actions.value = []; |
| | | } |
| | | } catch (error) { |
| | | console.log("èååè½æéè½¬æ¢æJSON失败:" + x.auth); |
| | | x.auth = []; |
| | | // this.icon = ""; |
| | | actions.value = []; |
| | | } |
| | | refForm.value.reset(x); |
| | | }); |
| | | refForm.value.reset(x); |
| | | }); |
| | | }; |
| | | return { |
| | | tree, |
| | |
| | | actionOptions, |
| | | options, |
| | | form: refForm, |
| | | getTreeItem |
| | | getTreeItem, |
| | | }; |
| | | }, |
| | | data() { |
| | |
| | | margin-top: 1px; |
| | | } |
| | | |
| | | >div { |
| | | > div { |
| | | float: left; |
| | | } |
| | | } |
| | |
| | | padding-left: 4px; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <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="å¤ä½ç¶æ" /> |
| | |
| | | /> |
| | | </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> |
| | |
| | | <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); |
| | |
| | | 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 () {}; |
| | |
| | | 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: "å¤ä½æå", |
| | |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | //æ¸
餿¥è¦ä¿¡æ¯æ¹æ³ |
| | | 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> |
| | |
| | | :class="['item', isactive == 2 ? 'isactive' : '']" |
| | | @click="changeactive(2)" |
| | | > |
| | | æ£ä¿®æä½è®°å½ |
| | | ææè®°å½ |
| | | </div> |
| | | <div |
| | | v-if="roleINFO == 1" |
| | |
| | | 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="~" |
| | |
| | | <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 |
| | |
| | | :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 |
| | |
| | | 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" |
| | |
| | | :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> |
| | | |
| | |
| | | :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 |
| | |
| | | </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 |
| | |
| | | } from "@/api/newapi/Datalogging"; |
| | | import { |
| | | MaintenanceSettingRecord, |
| | | MaintenanceOperationRecord, |
| | | AuthGetPageData, |
| | | } from "@/api/newapi/MaintenanceTeam"; |
| | | const obj = { |
| | | selectTime: [], // æ¶é´èå´ |
| | |
| | | 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, //å½åé¡µé¢ |
| | |
| | | { 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; |
| | | }); |
| | | }; |
| | | //ç»å½è®°å½ |
| | |
| | | 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 { |
| | |
| | | <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; |
| | |
| | | font-size: 1.25rem; |
| | | margin-top: 1.6rem; |
| | | " |
| | | class="btn_text" |
| | | >å¼å§æ£ä¿®</span |
| | | > |
| | | </div> |
| | |
| | | class="btn" |
| | | type="primary" |
| | | style="margin-left: 6.81rem" |
| | | :disabled="!isStart" |
| | | @click="stopMaintenceTask" |
| | | > |
| | | <div |
| | |
| | | font-size: 1.25rem; |
| | | margin-top: 1.6rem; |
| | | " |
| | | class="btn_text" |
| | | >ç»ææ£ä¿®</span |
| | | > |
| | | </div> |
| | |
| | | ></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> |
| | |
| | | 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); //æ¯å¦å¼å§æ£ä¿® |
| | |
| | | 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({ |
| | |
| | | }).then((res) => { |
| | | isStart.value = true; |
| | | tableData.value = [res.data]; |
| | | startdisabled.value = true; |
| | | getStartTake(); |
| | | }); |
| | | }; |
| | | //ç»ææ£ä¿® |
| | |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getMaintenanceTasksOfTheDay(); |
| | | // getMaintenanceTasksOfTheDay(); |
| | | getStartTake(); |
| | | }); |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | |
| | | .btns { |
| | | margin-top: 7%; |
| | | |
| | | .btn { |
| | | width: 12.19rem; |
| | | height: 11.63rem; |
| | |
| | | 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> |
| | |
| | | <div class="Parametersettings_l"> |
| | | <div |
| | | style="color: rgba(0, 9, 56, 1); font-size: 1.13rem; font-weight: bold" |
| | | class="title" |
| | | > |
| | | 伸åºç¼©åé度设置 |
| | | </div> |
| | |
| | | > |
| | | <el-form-item prop="extendSpeed"> |
| | | <template #label> |
| | | <span style="color: rgba(0, 9, 56, 1); font-size: 0.88rem" |
| | | >å·¦PLCèªå¨ä¼¸åºç¼©åé度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" |
| | | >å³PLCèªå¨ä¼¸åºç¼©åé度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" |
| | | >å·¦PLCæå¨ä¼¸åºç¼©åé度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" |
| | | >å³PLCæå¨ä¼¸åºç¼©åé度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" |
| | | >å·¦PLCèªå¨ä¼¸å°ä½ï¼</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" |
| | | >å³PLCèªå¨ä¼¸å°ä½ï¼</span |
| | | > |
| | | </template> |
| | | <el-input |
| | | style="height: 1.88rem" |
| | | class="title_input" |
| | | placeholder="请è¾å
¥" |
| | | v-model="ruleForm.rightPosition" |
| | | /> |
| | |
| | | > |
| | | <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)" |
| | | > |
| | |
| | | </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> |
| | |
| | | }); |
| | | //ä¿å |
| | | 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("ä¿åæå"); |
| | |
| | | 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> |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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 { |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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) { |
| | |
| | | } 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çclsid |
| | | 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("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å..."); |
| | | WebControl.JS_WakeUp("VideoWebPlugin://"); // ç¨åºæªå¯å¨æ¶æ§è¡error彿°ï¼éç¨wakeupæ¥å¯å¨ç¨åº |
| | | initCount++; |
| | | if (initCount < 3) { |
| | | setTimeout(function () { |
| | | initPlugin(); |
| | | }, 3000); |
| | | } else { |
| | | $("#playWnd").html("æä»¶å¯å¨å¤±è´¥ï¼è¯·æ£æ¥æä»¶æ¯å¦å®è£
ï¼"); |
| | | } |
| | | }, |
| | | cbConnectClose: function (bNormalClose) { |
| | | // å¼å¸¸æå¼ï¼bNormalClose = false |
| | | // JS_Disconnectæ£å¸¸æå¼ï¼bNormalClose = true |
| | | console.log("cbConnectClose"); |
| | | oWebControl = null; |
| | | $("#playWnd").html("æä»¶æªå¯å¨ï¼æ£å¨å°è¯å¯å¨ï¼è¯·ç¨å..."); |
| | | 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 == "å³Plc") { |
| | | rightposition.value = data; |
| | | } else if (data.device == "å·¦Plc") { |
| | | 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, // æ¯å¦æ¯æåçªå£å
¨å± |
| | | // 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", () => { |
| | |
| | | // 妿çªå£å®½åº¦å°äºçäº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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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); |
| | | }; |
| | |
| | | }; |
| | | |
| | | //è·åå½åä½ç½® |
| | | 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 == "å³Plc") { |
| | | rightposition.value = data; |
| | | } else if (data.device == "å·¦Plc") { |
| | | 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(() => { |
| | | // çå¬çªå£å¤§å°åå |
| | |
| | | // 妿çªå£å®½åº¦å°äºçäº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> |
| | |
| | | > |
| | | ç¨æ·è§è² |
| | | </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"> |
| | |
| | | height: 2rem; |
| | | border-left: 0; |
| | | " |
| | | class="time_picker" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="~" |
| | |
| | | placeholder="è¯·éæ©" |
| | | size="small" |
| | | style="width: 100%; font-size: 0.15rem" |
| | | class="select" |
| | | > |
| | | <el-option |
| | | v-for="item in selectoptions" |
| | |
| | | @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> |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | " |
| | | class="text_btn" |
| | | ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon |
| | | >æ°å»º</el-button |
| | | > |
| | |
| | | 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 |
| | | > |
| | |
| | | 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> |
| | |
| | | <!-- ç¨æ·å表 --> |
| | | <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%" /> |
| | |
| | | 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%" |
| | | /> |
| | |
| | | <!-- ç¨æ·è§è² --> |
| | | <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" /> |
| | |
| | | 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" /> |
| | |
| | | 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 |
| | |
| | | > |
| | | <span |
| | | style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold" |
| | | class="font-title" |
| | | >ç¨æ·ä¿¡æ¯</span |
| | | > |
| | | </div> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | v-model="formUser.roleid" |
| | | placeholder="è¯·éæ©" |
| | | size="small" |
| | | @change="handleRoleChange" |
| | | > |
| | | <el-option |
| | | :disabled="item.roleId == 1" |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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 |
| | |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | <!-- ç¨æ·ä¿¡æ¯ä¿®æ¹å¯ç å¼¹åºæ¡ --> |
| | | <!-- ç¨æ·ä¿®æ¹å¯ç å¼¹åºæ¡ --> |
| | | <el-dialog |
| | | v-model="dialogVisible1" |
| | | title="" |
| | |
| | | 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> |
| | |
| | | " |
| | | > |
| | | <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> |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | 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" |
| | | > |
| | | ä¿å |
| | |
| | | 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"; |
| | |
| | | UpdateRoleApi, |
| | | DeleteRoleApi, |
| | | } from "@/api/role"; |
| | | import { GetDepartment } from "@/api/user"; |
| | | let obj = { |
| | | selectName: "", |
| | | selectTime: [], // æ¶é´èå´ |
| | |
| | | |
| | | 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([ |
| | | { |
| | |
| | | }, |
| | | { value: 1, label: "æ¯" }, |
| | | ]); |
| | | //åç» |
| | | //è§è² |
| | | const groupOptions = ref([]); |
| | | const formUser = ref({ |
| | | id: undefined, |
| | | username: "", |
| | | phoneno: "", |
| | | roleid: 2, |
| | | roleid: null, |
| | | rolename: "", |
| | | enable: 1, |
| | | path: "", |
| | |
| | | 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", |
| | |
| | | message: "请è¾å
¥å§å", |
| | | trigger: "blur", |
| | | }, |
| | | phoneNo: { |
| | | phoneno: { |
| | | required: true, |
| | | message: "请è¾å
¥ææºå·", |
| | | trigger: "blur", |
| | | }, |
| | | userTrueName: { |
| | | usertruename: { |
| | | required: true, |
| | | message: "请è¾å
¥çå®å§å", |
| | | trigger: "blur", |
| | |
| | | message: "请è¾å
¥ç»", |
| | | trigger: "blur", |
| | | }, |
| | | carnuber: { |
| | | userunit: { |
| | | required: true, |
| | | message: "请è¾å
¥å¡å·", |
| | | message: "è¯·éæ©åä½", |
| | | trigger: "blur", |
| | | }, |
| | | }); |
| | | |
| | | const formpasswordRef = ref(); |
| | | const isactive = ref(1); |
| | | const dialogVisible = ref(false); |
| | |
| | | }, |
| | | ]; |
| | | 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([]); |
| | |
| | | }, |
| | | ], |
| | | }); |
| | | |
| | | 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, |
| | |
| | | }).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({ |
| | |
| | | formUser.value = { |
| | | username: "", |
| | | phoneno: "", |
| | | roleid: 20, |
| | | roleid: null, |
| | | rolename: "", |
| | | enable: 1, |
| | | path: "", |
| | | user_Id: undefined, |
| | | userteam: "", |
| | | carnuber: null, |
| | | isLeader: 0, |
| | | }; |
| | | fileList.value = []; |
| | | }; |
| | |
| | | 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: "", |
| | | }; |
| | | }; |
| | | |
| | |
| | | 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; |
| | |
| | | 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" }); |
| | |
| | | carnuber: val.cardNumber, |
| | | userteam: val.userteam, |
| | | dept_Id: val.dept_Id, |
| | | isLeader: val.isLeader, |
| | | userunit: val.unit, |
| | | }; |
| | | formUser.value = { |
| | | ...obj, |
| | |
| | | message: "请è¾å
¥è§è²æè¿°", |
| | | trigger: "blur", |
| | | }, |
| | | teamName: { |
| | | required: true, |
| | | message: "请è¾å
¥çç»åç§°", |
| | | trigger: "blur", |
| | | }, |
| | | unitName: { |
| | | required: true, |
| | | message: "请è¾å
¥åä½åç§°", |
| | | trigger: "blur", |
| | | }, |
| | | }); |
| | | const formRole = ref({ |
| | | roleName: "", |
| | |
| | | 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 = () => { |
| | |
| | | }); |
| | | } |
| | | }; |
| | | //è·åç¨æ·çç» |
| | | 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(); |
| | | } |
| | | }; |
| | | |
| | |
| | | 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)) { |
| | |
| | | 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> |
| | |
| | | flex-direction: column; |
| | | |
| | | .checkbox { |
| | | width: 11rem; |
| | | width: 25rem; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-top: 1rem; |
| | |
| | | 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 { |
| | |
| | | <router-view |
| | | style=" |
| | | height: calc(100vh - 4.38rem - 10rem); |
| | | width: calc(100vw - 10rem); |
| | | width: calc(100vw - 6rem); |
| | | " |
| | | v-slot="{ Component }" |
| | | > |
| | |
| | | // 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; |
| | | } |
| | | |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | color: #fff; |
| | | font-size: 15rem; |
| | | font-size: 20rem; |
| | | letter-spacing: 5rem; |
| | | font-weight: bold; |
| | | " |
| | |
| | | align-items: center; |
| | | color: #fff; |
| | | font-size: 3rem; |
| | | margin-top: 3rem; |
| | | margin-top: 1rem; |
| | | " |
| | | > |
| | | <div |
| | |
| | | color: #fff; |
| | | font-weight: bold; |
| | | margin-top: 5rem; |
| | | font-size: 10rem; |
| | | font-size: 12rem; |
| | | " |
| | | > |
| | | <span> CR400AF</span> |
| | |
| | | <div |
| | | style=" |
| | | height: 5rem; |
| | | font-size: 6rem; |
| | | font-size: 7rem; |
| | | font-weight: bold; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | <div |
| | | style=" |
| | | width: 40%; |
| | | font-size: 6rem; |
| | | font-size: 7rem; |
| | | color: #fff; |
| | | background-color: #058f66; |
| | | border-radius: 1.5rem; |
| | |
| | | <div |
| | | style=" |
| | | width: 40%; |
| | | font-size: 6rem; |
| | | font-size: 7rem; |
| | | color: #fff; |
| | | background-color: #d9001b; |
| | | border-radius: 1.5rem; |
| | |
| | | >ä½ |
| | | </div> |
| | | </div> |
| | | <div style="width: 90%; margin-top: 2rem"> |
| | | <div style="width: 98%; margin-top: 2rem"> |
| | | <el-table |
| | | empty-text="ææ æ°æ®" |
| | | :data="tableData" |
| | |
| | | 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 |