Bläddra i källkod

fix 调试修复

zhanghaijun 2 år sedan
förälder
incheckning
7ee6cc130f
72 ändrade filer med 310 tillägg och 236 borttagningar
  1. 2 0
      train-server/src/main/java/top/haijunit/train/device/entity/DeviceEntity.java
  2. 1 0
      train-server/src/main/java/top/haijunit/train/device/service/DeviceService.java
  3. 5 1
      train-server/src/main/java/top/haijunit/train/listener/MessageEventListener.java
  4. 1 0
      train-server/src/main/resources/db/changelog/device/db-server-device.xml
  5. 1 1
      train-server/src/main/resources/static/assets/404-c7323ac4.js
  6. 1 1
      train-server/src/main/resources/static/assets/404-legacy-56fa2f54.js
  7. 1 0
      train-server/src/main/resources/static/assets/Device-328f59bf.js
  8. 0 1
      train-server/src/main/resources/static/assets/Device-c1adcce9.js
  9. 0 1
      train-server/src/main/resources/static/assets/Device-legacy-2466b132.js
  10. 1 0
      train-server/src/main/resources/static/assets/Device-legacy-df4616c9.js
  11. 1 0
      train-server/src/main/resources/static/assets/DeviceTest-421ca5b7.js
  12. 1 0
      train-server/src/main/resources/static/assets/DeviceTest-d357be27.css
  13. 1 0
      train-server/src/main/resources/static/assets/DeviceTest-legacy-321b01e5.js
  14. 1 1
      train-server/src/main/resources/static/assets/HomeIndex-f47e26e9.js
  15. 1 1
      train-server/src/main/resources/static/assets/HomeIndex-legacy-bdf5097f.js
  16. 1 0
      train-server/src/main/resources/static/assets/el-button-6eee6882.js
  17. 1 0
      train-server/src/main/resources/static/assets/el-button-f53fc369.css
  18. 1 0
      train-server/src/main/resources/static/assets/el-button-legacy-65b7f6f9.js
  19. 1 0
      train-server/src/main/resources/static/assets/el-popper-1261d1bd.js
  20. 1 1
      train-server/src/main/resources/static/assets/el-popper-9ffe9570.css
  21. 0 1
      train-server/src/main/resources/static/assets/el-popper-b0e0dd48.js
  22. 0 1
      train-server/src/main/resources/static/assets/el-popper-legacy-441a7cdd.js
  23. 1 0
      train-server/src/main/resources/static/assets/el-popper-legacy-98957729.js
  24. 1 0
      train-server/src/main/resources/static/assets/el-tag-8917ddcd.css
  25. 20 0
      train-server/src/main/resources/static/assets/el-tag-d75cbe80.js
  26. 23 0
      train-server/src/main/resources/static/assets/el-tag-legacy-f0556e0b.js
  27. 0 1
      train-server/src/main/resources/static/assets/http-09eb1235.js
  28. 0 1
      train-server/src/main/resources/static/assets/http-legacy-fc67f240.js
  29. 0 1
      train-server/src/main/resources/static/assets/index-070ffbe3.js
  30. 1 0
      train-server/src/main/resources/static/assets/index-1fd45bc6.js
  31. 1 0
      train-server/src/main/resources/static/assets/index-28178421.js
  32. 0 20
      train-server/src/main/resources/static/assets/index-2b0ac1f6.js
  33. 0 1
      train-server/src/main/resources/static/assets/index-3be4d568.js
  34. 1 0
      train-server/src/main/resources/static/assets/index-4cb7387f.js
  35. 0 1
      train-server/src/main/resources/static/assets/index-5e343368.js
  36. 0 26
      train-server/src/main/resources/static/assets/index-6bee7d33.js
  37. 1 0
      train-server/src/main/resources/static/assets/index-6d12eb1c.js
  38. 1 0
      train-server/src/main/resources/static/assets/index-70c1201e.css
  39. 0 1
      train-server/src/main/resources/static/assets/index-7714a3ca.css
  40. 1 0
      train-server/src/main/resources/static/assets/index-797ff58e.css
  41. 0 1
      train-server/src/main/resources/static/assets/index-9239eee4.js
  42. 1 0
      train-server/src/main/resources/static/assets/index-bed17ddf.js
  43. 26 0
      train-server/src/main/resources/static/assets/index-d98c3d65.js
  44. 1 0
      train-server/src/main/resources/static/assets/index-e287c44a.css
  45. 1 0
      train-server/src/main/resources/static/assets/index-e9aa14d4.js
  46. 0 1
      train-server/src/main/resources/static/assets/index-f63aff0c.js
  47. 1 0
      train-server/src/main/resources/static/assets/index-legacy-0bfa2872.js
  48. 1 0
      train-server/src/main/resources/static/assets/index-legacy-1199044c.js
  49. 1 0
      train-server/src/main/resources/static/assets/index-legacy-176fe3f0.js
  50. 0 26
      train-server/src/main/resources/static/assets/index-legacy-212462c4.js
  51. 0 1
      train-server/src/main/resources/static/assets/index-legacy-5214d531.js
  52. 26 0
      train-server/src/main/resources/static/assets/index-legacy-552e4f5d.js
  53. 0 1
      train-server/src/main/resources/static/assets/index-legacy-5d5a33d3.js
  54. 0 23
      train-server/src/main/resources/static/assets/index-legacy-a9452cb0.js
  55. 1 0
      train-server/src/main/resources/static/assets/index-legacy-b6a408fb.js
  56. 0 1
      train-server/src/main/resources/static/assets/index-legacy-b83ce8e0.js
  57. 0 1
      train-server/src/main/resources/static/assets/index-legacy-be93e84c.js
  58. 0 1
      train-server/src/main/resources/static/assets/index-legacy-ce2dd7cb.js
  59. 1 0
      train-server/src/main/resources/static/assets/index-legacy-d1f1256a.js
  60. 1 0
      train-server/src/main/resources/static/assets/index-legacy-d9c01edf.js
  61. 0 1
      train-server/src/main/resources/static/assets/plugin-vue_export-helper-96bb3b70.js
  62. 0 1
      train-server/src/main/resources/static/assets/plugin-vue_export-helper-legacy-56e0ea6d.js
  63. 1 0
      train-server/src/main/resources/static/assets/polyfills-legacy-91b25bd7.js
  64. 0 1
      train-server/src/main/resources/static/assets/polyfills-legacy-d04cad5b.js
  65. 3 3
      train-server/src/main/resources/static/index.html
  66. 4 4
      train-web/src/pages/device/DeviceAfc.vue
  67. 7 7
      train-web/src/pages/device/DeviceElevator.vue
  68. 139 0
      train-web/src/pages/situation/index-chart.vue
  69. 20 98
      train-web/src/pages/situation/index.vue
  70. 0 2
      train-web/src/types/auto-imports.d.ts
  71. 1 0
      train-web/src/types/components.d.ts
  72. 0 1
      train-web/tsconfig.json

+ 2 - 0
train-server/src/main/java/top/haijunit/train/device/entity/DeviceEntity.java

@@ -39,6 +39,8 @@ public class DeviceEntity implements Serializable {
     // 所属站台
     @NotNull(message = "所属站台不能为空")
     private Long stationId;
+    // 是否是新设备
+    private boolean isNew;
     // 消息内容
     private String message;
 }

+ 1 - 0
train-server/src/main/java/top/haijunit/train/device/service/DeviceService.java

@@ -101,6 +101,7 @@ public class DeviceService {
         }
         if (null == device) {
             device = new DeviceEntity();
+            device.setNew(true);
             device.setCode(code);
             device.setCommand(command);
             // 默认是中间车站

+ 5 - 1
train-server/src/main/java/top/haijunit/train/listener/MessageEventListener.java

@@ -89,7 +89,11 @@ public class MessageEventListener implements ApplicationListener<MessageEvent> {
         } else {
             data = JSONUtil.createObj();
         }
-        data.set(command.getNameStr(), Convert.toStr(device.getId(),""));
+        if (device.isNew()) {
+            data.set(command.getNameStr(), Convert.toStr(device.getCode(), ""));
+        } else {
+            data.set(command.getNameStr(), Convert.toStr(device.getId(), ""));
+        }
         data.set(command.getStatusStr(), device.getStatus());
         data.set("stationId", Convert.toLong(device.getStationId(), 104002L));
         return data;

+ 1 - 0
train-server/src/main/resources/db/changelog/device/db-server-device.xml

@@ -12,6 +12,7 @@
             <column name="status" type="${number.type}" defaultValueNumeric="0" remarks="设备状态"/>
             <column name="station_id" type="${autoing.type}" defaultValueNumeric="0" remarks="所属站台"/>
             <column name="json_str" type="VARCHAR(254)" defaultValue="" remarks="其他信息"/>
+            <column name="is_new" type="boolean" defaultValueBoolean="false" remarks="是否新设备"/>
             <column name="message" type="VARCHAR(254)" defaultValue="" remarks="消息内容"/>
         </createTable>
     </changeSet>

+ 1 - 1
train-server/src/main/resources/static/assets/404-c7323ac4.js

@@ -1 +1 @@
-import{_ as t}from"./_plugin-vue_export-helper-c27b6911.js";import{D as o,o as r,e as n,I as s,w as a,E as c,G as _}from"./index-6bee7d33.js";const d={},i={style:{"border-radius":"8px",border:"1px solid #3666",margin:"0 auto",width:"600px","text-align":"center",padding:"50px"}},l=c("h2",null,"页面找不到",-1);function p(x,m){const e=o("router-link");return r(),n("div",i,[l,s(e,{to:"/"},{default:a(()=>[_(" 跳转首页 ")]),_:1})])}const h=t(d,[["render",p]]);export{h as default};
+import{_ as t}from"./_plugin-vue_export-helper-c27b6911.js";import{W as o,o as r,f as n,$ as s,w as a,X as c,Y as _}from"./index-d98c3d65.js";const d={},i={style:{"border-radius":"8px",border:"1px solid #3666",margin:"0 auto",width:"600px","text-align":"center",padding:"50px"}},l=c("h2",null,"页面找不到",-1);function p(x,f){const e=o("router-link");return r(),n("div",i,[l,s(e,{to:"/"},{default:a(()=>[_(" 跳转首页 ")]),_:1})])}const h=t(d,[["render",p]]);export{h as default};

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
train-server/src/main/resources/static/assets/404-legacy-56fa2f54.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/Device-328f59bf.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/Device-c1adcce9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/Device-legacy-2466b132.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/Device-legacy-df4616c9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/DeviceTest-421ca5b7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/DeviceTest-d357be27.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/DeviceTest-legacy-321b01e5.js


+ 1 - 1
train-server/src/main/resources/static/assets/HomeIndex-f47e26e9.js

@@ -1 +1 @@
-import{_ as e}from"./_plugin-vue_export-helper-c27b6911.js";import{o,e as r}from"./index-6bee7d33.js";const c={};function n(t,s){return o(),r("h2",null,"欢迎访问")}const f=e(c,[["render",n]]);export{f as default};
+import{_ as e}from"./_plugin-vue_export-helper-c27b6911.js";import{o,f as r}from"./index-d98c3d65.js";const c={};function n(t,s){return o(),r("h2",null,"欢迎访问")}const f=e(c,[["render",n]]);export{f as default};

+ 1 - 1
train-server/src/main/resources/static/assets/HomeIndex-legacy-bdf5097f.js

@@ -1 +1 @@
-System.register(["./_plugin-vue_export-helper-legacy-762b7923.js","./index-legacy-212462c4.js"],(function(e,t){"use strict";var r,n,u;return{setters:[e=>{r=e._},e=>{n=e.o,u=e.e}],execute:function(){e("default",r({},[["render",function(e,t){return n(),u("h2",null,"欢迎访问")}]]))}}}));
+System.register(["./_plugin-vue_export-helper-legacy-762b7923.js","./index-legacy-552e4f5d.js"],(function(e,t){"use strict";var r,n,u;return{setters:[e=>{r=e._},e=>{n=e.o,u=e.f}],execute:function(){e("default",r({},[["render",function(e,t){return n(),u("h2",null,"欢迎访问")}]]))}}}));

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-button-6eee6882.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-button-f53fc369.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-button-legacy-65b7f6f9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-popper-1261d1bd.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
train-server/src/main/resources/static/assets/el-popper-9ffe9570.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/el-popper-b0e0dd48.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/el-popper-legacy-441a7cdd.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-popper-legacy-98957729.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/el-tag-8917ddcd.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 20 - 0
train-server/src/main/resources/static/assets/el-tag-d75cbe80.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 23 - 0
train-server/src/main/resources/static/assets/el-tag-legacy-f0556e0b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/http-09eb1235.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/http-legacy-fc67f240.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-070ffbe3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-1fd45bc6.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-28178421.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 20
train-server/src/main/resources/static/assets/index-2b0ac1f6.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-3be4d568.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-4cb7387f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-5e343368.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 26
train-server/src/main/resources/static/assets/index-6bee7d33.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-6d12eb1c.js


+ 1 - 0
train-server/src/main/resources/static/assets/index-70c1201e.css

@@ -0,0 +1 @@
+.svg-icon[data-v-1008ae11]{display:inline-block;outline:none;width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-7714a3ca.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-797ff58e.css


+ 0 - 1
train-server/src/main/resources/static/assets/index-9239eee4.js

@@ -1 +0,0 @@
-import{_ as o}from"./Device-c1adcce9.js";import{d as n,o as t,c as r,u as s}from"./index-6bee7d33.js";import"./el-popper-b0e0dd48.js";import"./plugin-vue_export-helper-96bb3b70.js";import"./_plugin-vue_export-helper-c27b6911.js";const a="/assets/backage-situation-58688f43.png",d=n({__name:"index",setup(c){return(i,m)=>{const e=o;return t(),r(e,{"img-url":s(a),devices:[]},null,8,["img-url"])}}});export{d as default};

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-bed17ddf.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 26 - 0
train-server/src/main/resources/static/assets/index-d98c3d65.js


+ 1 - 0
train-server/src/main/resources/static/assets/index-e287c44a.css

@@ -0,0 +1 @@
+.echart-box[data-v-4b135e26]{width:23.958333vw;height:19.791667vw;background-color:#031a67;position:absolute;bottom:0;border-radius:.520833vw}.point-box[data-v-4b135e26]{width:6vh;height:3vh;text-align:center;background-color:#00f;border-radius:1vh;color:#fff;position:absolute;cursor:pointer}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-e9aa14d4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-f63aff0c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-0bfa2872.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-1199044c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-176fe3f0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 26
train-server/src/main/resources/static/assets/index-legacy-212462c4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-legacy-5214d531.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 26 - 0
train-server/src/main/resources/static/assets/index-legacy-552e4f5d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-legacy-5d5a33d3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 23
train-server/src/main/resources/static/assets/index-legacy-a9452cb0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-b6a408fb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-legacy-b83ce8e0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-legacy-be93e84c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/index-legacy-ce2dd7cb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-d1f1256a.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/index-legacy-d9c01edf.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/plugin-vue_export-helper-96bb3b70.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/plugin-vue_export-helper-legacy-56e0ea6d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
train-server/src/main/resources/static/assets/polyfills-legacy-91b25bd7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
train-server/src/main/resources/static/assets/polyfills-legacy-d04cad5b.js


+ 3 - 3
train-server/src/main/resources/static/index.html

@@ -5,7 +5,7 @@
     <link rel="icon" type="image/svg+xml" href="/logo.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>城轨车站多智能体虚拟场景演练系统</title>
-    <script type="module" crossorigin src="/assets/index-6bee7d33.js"></script>
+    <script type="module" crossorigin src="/assets/index-d98c3d65.js"></script>
     <link rel="stylesheet" href="/assets/index-534d28ba.css">
     <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script>
     <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
@@ -14,7 +14,7 @@
     <div id="app"></div>
     
     <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
-    <script nomodule crossorigin id="vite-legacy-polyfill" src="/assets/polyfills-legacy-d04cad5b.js"></script>
-    <script nomodule crossorigin id="vite-legacy-entry" data-src="/assets/index-legacy-212462c4.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+    <script nomodule crossorigin id="vite-legacy-polyfill" src="/assets/polyfills-legacy-91b25bd7.js"></script>
+    <script nomodule crossorigin id="vite-legacy-entry" data-src="/assets/index-legacy-552e4f5d.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
   </body>
 </html>

+ 4 - 4
train-web/src/pages/device/DeviceAfc.vue

@@ -18,10 +18,10 @@ const devices = reactive<DeviceIcon[]>([
   { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0202", size: 30, statusColor: "#00FF00", style: "left: 504px;top:362px" },
   { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0203", size: 30, statusColor: "#00FF00", style: "left: 533px;top:362px" },
   { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0204", size: 30, statusColor: "#00FF00", style: "left: 562px;top:362px" },
-  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0205", size: 30, statusColor: "#00FF00", style: "left: 710px;top:362px" },
-  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0206", size: 30, statusColor: "#00FF00", style: "left: 740px;top:362px" },
-  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0207", size: 30, statusColor: "#00FF00", style: "left: 770px;top:362px" },
-  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0208", size: 30, statusColor: "#00FF00", style: "left: 798px;top:362px" },
+  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0208", size: 30, statusColor: "#00FF00", style: "left: 710px;top:362px" },
+  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0207", size: 30, statusColor: "#00FF00", style: "left: 740px;top:362px" },
+  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0206", size: 30, statusColor: "#00FF00", style: "left: 770px;top:362px" },
+  { command: AFC_GATE_MACHINE, icon: "闸机", code: "AGM0205", size: 30, statusColor: "#00FF00", style: "left: 798px;top:362px" },
 ]);
 
 const getDevice = function () {

+ 7 - 7
train-web/src/pages/device/DeviceElevator.vue

@@ -7,13 +7,13 @@ import { DeviceIcon, DeviceItem, ELEVATOR_HAND_COMMAND } from "@/types/device";
 import { StoreDevices } from '@/store/modules/devices.ts'
 
 const devices = reactive<DeviceIcon[]>([
-  { command: ELEVATOR_HAND_COMMAND, icon: "电梯", size: 90, code: "FT-02A1", statusColor: "#000", style: "left: 622px;top: 400px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 90, code: "FT-0201", statusColor: "#000", style: "left: 920px;top: 0px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 90, code: "FT-0201", statusColor: "#000", style: "left: 830px;top: 38px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 120, code: "FT-0205", statusColor: "#000", style: "left: 122px;top: 260px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯右", size: 120, code: "FT-0204", statusColor: "#000", style: "left: 1160px;top: 260px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯右", size: 100, code: "FT-0202", statusColor: "#000", style: "left: 500px;top: 390px;" },
-  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 100, code: "FT-0203", statusColor: "#000", style: "left: 720px;top: 390px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电梯", size: 90, code: "DT-0201", statusColor: "#000", style: "left: 622px;top: 400px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 90, code: "FT-02A1", statusColor: "#000", style: "left: 920px;top: 0px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 90, code: "FT-02B1", statusColor: "#000", style: "left: 830px;top: 38px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 120, code: "FT-0201", statusColor: "#000", style: "left: 122px;top: 260px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯右", size: 120, code: "FT-0202", statusColor: "#000", style: "left: 1160px;top: 260px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯右", size: 100, code: "FT-0203", statusColor: "#000", style: "left: 500px;top: 390px;" },
+  { command: ELEVATOR_HAND_COMMAND, icon: "电扶梯左", size: 100, code: "FT-0204", statusColor: "#000", style: "left: 720px;top: 390px;" },
 ]);
 
 const getDevice = async function () {

+ 139 - 0
train-web/src/pages/situation/index-chart.vue

@@ -0,0 +1,139 @@
+<template>
+  <device :img-url="imageUrl" :devices="[]">
+    <template v-for="item in dataList">
+      <el-popover placement="top-start" :title="item.name" :width="80" trigger="hover">
+        <template #reference>
+          <div class="point-box" :style="{ top: item.top, left: item.left }">{{ item.name }}</div>
+        </template>
+        <div>
+          <div>
+            <span style="text-align: right;display: inline-block;min-width: 30px;margin-right: 6px;">{{ '大客流: ' }}</span>
+            <span>{{ item.people }}</span><span>{{ '人/m2' }}</span>
+          </div>
+          <div>
+            <span style="text-align: right;display: inline-block;min-width: 30px;margin-right: 6px;">{{ '水位: ' }}</span>
+            <span>{{ item.water }}</span><span>{{ 'm' }}</span>
+          </div>
+        </div>
+      </el-popover>
+    </template>
+    <div class="echart-box" ref="chartDom"></div>
+  </device>
+</template>
+<script lang="ts" setup>
+import imageUrl from '@/assets/images/backage-situation.png'
+import * as echarts from "echarts";
+import { ElPopover } from 'element-plus';
+
+const dataList = [
+  { name: '站厅', top: '18vh', left: '110vh', people: 10, water: 0.21 },
+  { name: '站台', top: '62vh', left: '110vh', people: 12, water: 1.01 },
+]
+
+
+let chartDom = ref(null);
+onMounted(() => {
+  initChart();
+});
+
+const initChart = () => {
+  var option = {
+    dataset: {
+      source: [
+        ['站厅', 10, 0.21],
+        ['站台', 12, 1.01],
+      ]
+    },
+    tooltip: {
+      trigger: "axis",
+      backgroundColor: "rgba(32, 33, 36,.7)",
+      borderColor: "rgba(32, 33, 36,0.20)",
+      borderWidth: 6,
+      textStyle: { color: "#fff", fontSize: "12", },
+      axisPointer: { type: "cross", label: { backgroundColor: "#6a7985" } },
+    },
+    title: {
+      text: '大客流 / 水灾',
+      left: 'center',
+      top: 6,
+      textStyle: { color: '#fff', },
+      borderColor: 'rgb(231, 231, 231);',
+      borderWidth: 2,
+      borderRadius: 5,
+    },
+    grid: { left: "14%", bottom: "30%" },
+    legend: {
+      bottom: 36,
+      textStyle: { color: '#fff' }
+    },
+    xAxis: {
+      type: 'category',
+      axisLabel: { textStyle: { color: "white", fontSize: "10", }, },
+      axisTick: { alignWithLabel: true },
+    },
+    yAxis: [
+      {
+        position: 'left',
+        name: '客流量(人/m2)',
+        nameTextStyle: { color: "white" },
+        axisLabel: { textStyle: { color: "white", }, formatter: '{value}' },
+        min: 0,
+        max: 100,
+      }, {
+        position: 'right',
+        name: '水位(m)',
+        nameTextStyle: { color: "white" },
+        axisLabel: { textStyle: { color: "white", }, formatter: '{value} m' },
+        min: 0,
+        max: 5,
+      }
+    ],
+    series: [
+      {
+        name: '客流信息',
+        type: 'bar',
+        yAxisIndex: 0,
+        itemStyle: {
+          normal: {
+            borderRadius: [3, 3, 0, 0],
+            // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "rgba(0,244,255,1)", }, { offset: 1, color: "rgba(0,77,167,1)", },]),
+          },
+        },
+      }, {
+        name: '水位信息',
+        type: 'bar',
+        smooth: true,
+        yAxisIndex: 1,
+        itemStyle: {
+          normal: {
+            borderRadius: [3, 3, 0, 0],
+            // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "rgba(0,244,255,1)", }, { offset: 1, color: "rgba(0,77,167,1)", },]),
+          },
+        },
+      }
+    ]
+  };
+  option && echarts.init(chartDom.value, null, { width: 360, height: 260 }).setOption(option);
+};
+</script>
+<style  lang="scss" scoped>
+.echart-box {
+  width: 460px;
+  height: 380px;
+  background-color: #031a67;
+  position: absolute;
+  bottom: 0px;
+  border-radius: 10px;
+}
+
+.point-box {
+  width: 6vh;
+  height: 3vh;
+  text-align: center;
+  background-color: blue;
+  border-radius: 1vh;
+  color: white;
+  position: absolute;
+  cursor: pointer;
+}
+</style>

+ 20 - 98
train-web/src/pages/situation/index.vue

@@ -1,11 +1,18 @@
 <template>
   <device :img-url="imageUrl" :devices="[]">
+    <div class="situation-box">
+
+    </div>
+    <div>
+      <el-button type="primary" @click="waterControl">一键控制</el-button>
+    </div>
     <template v-for="item in dataList">
-      <el-popover placement="top-start" :title="item.name" :width="80" trigger="hover">
+      <el-popover placement="top-start" :title="item.name" :width="80" trigger="hover" :visible=true>
         <template #reference>
           <div class="point-box" :style="{ top: item.top, left: item.left }">{{ item.name }}</div>
         </template>
         <div>
+          <el-slider v-model="value4" :format-tooltip="formatTooltip" />
           <div>
             <span style="text-align: right;display: inline-block;min-width: 30px;margin-right: 6px;">{{ '大客流: ' }}</span>
             <span>{{ item.people }}</span><span>{{ '人/m2' }}</span>
@@ -17,115 +24,30 @@
         </div>
       </el-popover>
     </template>
-    <div class="echart-box" ref="chartDom"></div>
   </device>
 </template>
 <script lang="ts" setup>
 import imageUrl from '@/assets/images/backage-situation.png'
-import * as echarts from "echarts";
 import { ElPopover } from 'element-plus';
+import { situationWaterControl } from '@/api/device.ts'
 
 const dataList = [
   { name: '站厅', top: '18vh', left: '110vh', people: 10, water: 0.21 },
-  { name: '站台', top: '62vh', left: '110vh', people: 12, water: 1.01 },
-]
-
-
-let chartDom = ref(null);
-onMounted(() => {
-  initChart();
-});
+  { name: '站台', top: '62vh', left: '110vh', people: 12, water: 1.01 }
+];
+const value4 = ref(0);
+const formatTooltip = (val: number) => {
+  return val / 100
+}
 
-const initChart = () => {
-  var option = {
-    dataset: {
-      source: [
-        ['站厅', 10, 0.21],
-        ['站台', 12, 1.01],
-      ]
-    },
-    tooltip: {
-      trigger: "axis",
-      backgroundColor: "rgba(32, 33, 36,.7)",
-      borderColor: "rgba(32, 33, 36,0.20)",
-      borderWidth: 6,
-      textStyle: { color: "#fff", fontSize: "12", },
-      axisPointer: { type: "cross", label: { backgroundColor: "#6a7985" } },
-    },
-    title: {
-      text: '大客流 / 水灾',
-      left: 'center',
-      top: 6,
-      textStyle: { color: '#fff', },
-      borderColor: 'rgb(231, 231, 231);',
-      borderWidth: 2,
-      borderRadius: 5,
-    },
-    grid: { left: "14%", bottom: "30%" },
-    legend: {
-      bottom: 36,
-      textStyle: { color: '#fff' }
-    },
-    xAxis: {
-      type: 'category',
-      axisLabel: { textStyle: { color: "white", fontSize: "10", }, },
-      axisTick: { alignWithLabel: true },
-    },
-    yAxis: [
-      {
-        position: 'left',
-        name: '客流量(人/m2)',
-        nameTextStyle: { color: "white" },
-        axisLabel: { textStyle: { color: "white", }, formatter: '{value}' },
-        min: 0,
-        max: 100,
-      }, {
-        position: 'right',
-        name: '水位(m)',
-        nameTextStyle: { color: "white" },
-        axisLabel: { textStyle: { color: "white", }, formatter: '{value} m' },
-        min: 0,
-        max: 5,
-      }
-    ],
-    series: [
-      {
-        name: '客流信息',
-        type: 'bar',
-        yAxisIndex: 0,
-        itemStyle: {
-          normal: {
-            borderRadius: [3, 3, 0, 0],
-            // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "rgba(0,244,255,1)", }, { offset: 1, color: "rgba(0,77,167,1)", },]),
-          },
-        },
-      }, {
-        name: '水位信息',
-        type: 'bar',
-        smooth: true,
-        yAxisIndex: 1,
-        itemStyle: {
-          normal: {
-            borderRadius: [3, 3, 0, 0],
-            // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "rgba(0,244,255,1)", }, { offset: 1, color: "rgba(0,77,167,1)", },]),
-          },
-        },
-      }
-    ]
-  };
-  option && echarts.init(chartDom.value, null, { width: 360, height: 260 }).setOption(option);
+const waterControl = function () {
+  situationWaterControl(true, 0.5).then(res => {
+    console.log(res);
+  });
 };
+
 </script>
 <style  lang="scss" scoped>
-.echart-box {
-  width: 460px;
-  height: 380px;
-  background-color: #031a67;
-  position: absolute;
-  bottom: 0px;
-  border-radius: 10px;
-}
-
 .point-box {
   width: 6vh;
   height: 3vh;

+ 0 - 2
train-web/src/types/auto-imports.d.ts

@@ -309,7 +309,6 @@ import { UnwrapRef } from 'vue'
 declare module 'vue' {
   interface ComponentCustomProperties {
     readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
-    readonly ElNotification: UnwrapRef<typeof import('element-plus/es')['ElNotification']>
     readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
     readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
     readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>
@@ -605,7 +604,6 @@ declare module 'vue' {
 declare module '@vue/runtime-core' {
   interface ComponentCustomProperties {
     readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
-    readonly ElNotification: UnwrapRef<typeof import('element-plus/es')['ElNotification']>
     readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
     readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
     readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>

+ 1 - 0
train-web/src/types/components.d.ts

@@ -22,6 +22,7 @@ declare module 'vue' {
     ElRadio: typeof import('element-plus/es')['ElRadio']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElSelect: typeof import('element-plus/es')['ElSelect']
+    ElSlider: typeof import('element-plus/es')['ElSlider']
     ElTable: typeof import('element-plus/es')['ElTable']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
     ElTabPane: typeof import('element-plus/es')['ElTabPane']

+ 0 - 1
train-web/tsconfig.json

@@ -5,7 +5,6 @@
       "@/*": ["./src/*"],
       "#/*": ["./*"]
     },
-    "types": ["vite,client"],
     "target": "ES2020",
     "useDefineForClassFields": true,
     "module": "ESNext",