| | |
| | | port: 51236 |
| | | ip: 172.17.91.39 |
| | | id: 4 |
| | | # LED1 |
| | | # LED1 成品库1F |
| | | led[0]: |
| | | id: 1 |
| | | ip: 192.168.110.210 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[2].id} |
| | | staArr: 1052 |
| | | # LED2 成品库1F |
| | | led[1]: |
| | | id: 2 |
| | | ip: 192.168.110.211 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[2].id} |
| | | staArr: 1052 |
| | | # LED3 半成品库1F |
| | | led[2]: |
| | | id: 3 |
| | | ip: 192.168.110.212 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 1014 |
| | | # LED4 成品库2F |
| | | led[3]: |
| | | id: 4 |
| | | ip: 192.168.110.213 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[3].id} |
| | | staArr: 2057 |
| | | # LED5 成品库2F |
| | | led[4]: |
| | | id: 5 |
| | | ip: 192.168.110.214 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[3].id} |
| | | staArr: 2056 |
| | | # LED6 成品库2F |
| | | led[5]: |
| | | id: 6 |
| | | ip: 192.168.110.215 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[3].id} |
| | | staArr: 2054 |
| | | # LED7 成品库2F |
| | | led[6]: |
| | | id: 7 |
| | | ip: 192.168.110.216 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[3].id} |
| | | staArr: 2051 |
| | | # LED8 半成品库2F |
| | | led[7]: |
| | | id: 8 |
| | | ip: 192.168.110.217 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 2002 |
| | | # LED9 半成品库2F |
| | | led[8]: |
| | | id: 9 |
| | | ip: 192.168.110.218 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 2007 |
| | | # LED10 半成品库2F |
| | | led[9]: |
| | | id: 10 |
| | | ip: 192.168.110.219 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 2018 |
| | | # crn[0]: #堆垛机1 |
| | | # rack: 0 |
| | | # offset: 2 #偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://192.168.0.39:1433;databasename=czscwcs |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=czscwcs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | |
| | | "hpPosition": 0, |
| | | "minBayNo": 1, |
| | | "floors": 1, |
| | | "racks": [{ |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 326, |
| | | "left": 800, |
| | | "width": 795, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 50, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "racks": [ |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack7", |
| | | // "top": 326, |
| | | // "left": 800, |
| | | // "width": 795, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 50, |
| | | // "hiddenArr": [1,22] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 303, |
| | | "left": 800, |
| | | "width": 795, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 209, |
| | | "left": 800, |
| | | "width": 795, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | },{ |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack5", |
| | | // "top": 209, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 232, |
| | | "left": 800, |
| | | "width": 795, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 182, |
| | | "left": 800, |
| | | "width": 795, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack3", |
| | | // "top": 182, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 159, |
| | | "left": 800, |
| | | "width": 795, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 98, |
| | | "left": 800, |
| | | "width": 795, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack0", |
| | | "top": 75, |
| | | "left": 800, |
| | | "width": 795, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 22, |
| | | "hiddenArr": [1,22] |
| | | }], |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack0", |
| | | // "top": 75, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // } |
| | | ], |
| | | "crns": [{ |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | |
| | | "stns": [{ |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "100", |
| | | "text": "1008", |
| | | "top": 99, |
| | | "left": 771, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "101", |
| | | "text": "1007", |
| | | "top": 99, |
| | | "left": 707, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-102", |
| | | "text": "102", |
| | | "text": "RGV小车", |
| | | "top": 99, |
| | | "left": 643, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "103", |
| | | "text": "1011", |
| | | "top": 99, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-104", |
| | | "text": "104", |
| | | "top": 124, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 34 |
| | | },{ |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1020", |
| | | "top": 70, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 450, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-104", |
| | | // "text": "104", |
| | | // "top": 124, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 34 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-125", |
| | | "text": "125", |
| | | "text": "1006", |
| | | "top": 160, |
| | | "left": 771, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "124", |
| | | "text": "1005", |
| | | "top": 160, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-123", |
| | | "text": "123", |
| | | "text": "RGV小车", |
| | | "top": 160, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-122", |
| | | "text": "122", |
| | | "top": 160, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-121", |
| | | "text": "121", |
| | | "top": 186, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 42 |
| | | },{ |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-122", |
| | | // "text": "122", |
| | | // "top": 160, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-121", |
| | | // "text": "121", |
| | | // "top": 186, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 42 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-120", |
| | | "text": "120", |
| | | "text": "1004", |
| | | "top": 231, |
| | | "left": 771, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-119", |
| | | "text": "119", |
| | | "text": "1003", |
| | | "top": 231, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-118", |
| | | "text": "118", |
| | | "text": "RGV小车", |
| | | "top": 231, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-117", |
| | | "text": "117", |
| | | "top": 231, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-116", |
| | | "text": "116", |
| | | "top": 256, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 46 |
| | | },{ |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-117", |
| | | // "text": "117", |
| | | // "top": 231, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-116", |
| | | // "text": "116", |
| | | // "top": 256, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 46 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-115", |
| | | "text": "115", |
| | | "text": "1002", |
| | | "top": 304, |
| | | "left": 771, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "114", |
| | | "text": "1001", |
| | | "top": 304, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1016", |
| | | "top": 330, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1018", |
| | | "top": 356, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1019", |
| | | "top": 356, |
| | | "left": 772, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 837, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 902, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1017", |
| | | "top": 383, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-113", |
| | | "text": "113", |
| | | "text": "RGV小车", |
| | | "top": 304, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-112", |
| | | "text": "112", |
| | | "top": 304, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-112", |
| | | // "text": "112", |
| | | // "top": 304, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-105", |
| | | "text": "105", |
| | | "text": "1012", |
| | | "top": 99, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-106", |
| | | "text": "106", |
| | | "text": "1013", |
| | | "top": 124, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-107", |
| | | "text": "107", |
| | | "text": "1013", |
| | | "top": 160, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-108", |
| | | "text": "108", |
| | | "text": "1013", |
| | | "top": 186, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-109", |
| | | "text": "109", |
| | | "text": "1013", |
| | | "top": 231, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-110", |
| | | "text": "110", |
| | | "text": "1014", |
| | | "top": 304, |
| | | "left": 515, |
| | | "width": 62, |
| | |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-111", |
| | | "text": "111", |
| | | "text": "1015", |
| | | "top": 329, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-1001", |
| | | "text": "1001", |
| | | "top": 99, |
| | | "left": 451, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-1002", |
| | | "text": "1002", |
| | | "top": 160, |
| | | "left": 451, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-1003", |
| | | "text": "1003", |
| | | "top": 231, |
| | | "left": 451, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-1004", |
| | | "text": "1004", |
| | | "top": 304, |
| | | "left": 451, |
| | | "width": 62, |
| | | "height": 23 |
| | | } ] |
| | | }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1001", |
| | | // "text": "1001", |
| | | // "top": 99, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1002", |
| | | // "text": "1002", |
| | | // "top": 160, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1003", |
| | | // "text": "1003", |
| | | // "top": 231, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1004", |
| | | // "text": "1004", |
| | | // "top": 304, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // } |
| | | ] |
| | | }] |
| | | }] |
| | | } |
New file |
| | |
| | | mapInfo = { |
| | | "mapName": "scwcs", |
| | | "rackCount": 13, |
| | | "crnCount": 4, |
| | | "stbCount": 4, |
| | | "hpPosition": 0, |
| | | "minBayNo": 1, |
| | | "floors": 1, |
| | | "racks": [ |
| | | { |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 326, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 303, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 209, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 232, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 182, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 159, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 98, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack0", |
| | | "top": 75, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }*/ |
| | | ], |
| | | "crns": [ |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 268, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | /*{ |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 132, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, */ |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 278, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }, |
| | | /* { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 143, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }*/ |
| | | ], |
| | | "areas": [{ |
| | | "type": "Control_floor", |
| | | "id": "tabControl_floor1", |
| | | "text": "楼层", |
| | | "top": 66, |
| | | "left": 580, |
| | | "width": 334, |
| | | "height": 714, |
| | | "floors": [{ |
| | | "type": "floor", |
| | | "id": "page_floor1", |
| | | "text": "1F", |
| | | "top": 4, |
| | | "left": 422, |
| | | "width": 308, |
| | | "height": 706, |
| | | "stns": [ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "1008", |
| | | "top": 99, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "1007", |
| | | "top": 99, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-102", |
| | | "text": "RGV小车", |
| | | "top": 99, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1011", |
| | | "top": 99, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1020", |
| | | "top": 70, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 450, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-104", |
| | | // "text": "104", |
| | | // "top": 124, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 34 |
| | | // }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-125", |
| | | "text": "1006", |
| | | "top": 160, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | { |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "1051", |
| | | "top": 200, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-123", |
| | | "text": "RGV小车", |
| | | "top": 160, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-122", |
| | | // "text": "122", |
| | | // "top": 160, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-121", |
| | | // "text": "121", |
| | | // "top": 186, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 42 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-120", |
| | | "text": "1056", |
| | | "top": 231, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-119", |
| | | "text": "1052", |
| | | "top": 231, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 60 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-118", |
| | | "text": "RGV小车", |
| | | "top": 231, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-117", |
| | | // "text": "117", |
| | | // "top": 231, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-116", |
| | | // "text": "116", |
| | | // "top": 256, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 46 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-115", |
| | | "text": "1058", |
| | | "top": 304, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1053", |
| | | "top": 304, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1054", |
| | | "top": 330, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1018", |
| | | "top": 356, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1019", |
| | | "top": 356, |
| | | "left": 772, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 837, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 902, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1017", |
| | | "top": 383, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-113", |
| | | "text": "RGV小车", |
| | | "top": 304, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-112", |
| | | // "text": "112", |
| | | // "top": 304, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | /* { |
| | | "type": "stn", |
| | | "id": "site-105", |
| | | "text": "1012", |
| | | "top": 99, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-106", |
| | | "text": "1013", |
| | | "top": 124, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 34 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-107", |
| | | "text": "1013", |
| | | "top": 160, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-108", |
| | | "text": "1013", |
| | | "top": 186, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 42 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-109", |
| | | "text": "1013", |
| | | "top": 231, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 70 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-110", |
| | | "text": "1014", |
| | | "top": 304, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-111", |
| | | "text": "1015", |
| | | "top": 329, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1001", |
| | | // "text": "1001", |
| | | // "top": 99, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1002", |
| | | // "text": "1002", |
| | | // "top": 160, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1003", |
| | | // "text": "1003", |
| | | // "top": 231, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1004", |
| | | // "text": "1004", |
| | | // "top": 304, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // } |
| | | ] |
| | | }] |
| | | }] |
| | | } |
New file |
| | |
| | | mapInfo = { |
| | | "mapName": "scwcs", |
| | | "rackCount": 13, |
| | | "crnCount": 4, |
| | | "stbCount": 4, |
| | | "hpPosition": 0, |
| | | "minBayNo": 1, |
| | | "floors": 1, |
| | | "racks": [ |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack7", |
| | | // "top": 326, |
| | | // "left": 800, |
| | | // "width": 795, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 50, |
| | | // "hiddenArr": [1,22] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 303, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack5", |
| | | // "top": 209, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 232, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack3", |
| | | // "top": 182, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 159, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 98, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 59, |
| | | "hiddenArr": [1,59] |
| | | }, |
| | | // { |
| | | // "type": "rack", |
| | | // "id": "rack0", |
| | | // "top": 75, |
| | | // "left": 820, |
| | | // "width": 1050, |
| | | // "height": 23, |
| | | // "minBayNo": 1, |
| | | // "maxBayNo": 59, |
| | | // "hiddenArr": [1,59] |
| | | // } |
| | | ], |
| | | "crns": [{ |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 268, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 132, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 278, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 143, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }], |
| | | "areas": [{ |
| | | "type": "Control_floor", |
| | | "id": "tabControl_floor1", |
| | | "text": "楼层", |
| | | "top": 66, |
| | | "left": 580, |
| | | "width": 334, |
| | | "height": 714, |
| | | "floors": [{ |
| | | "type": "floor", |
| | | "id": "page_floor1", |
| | | "text": "1F", |
| | | "top": 4, |
| | | "left": 422, |
| | | "width": 308, |
| | | "height": 706, |
| | | "stns": [ |
| | | { |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "2001", |
| | | "top": 40, |
| | | "left": 900, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "2002", |
| | | "top": 67, |
| | | "left": 900, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "2006", |
| | | "top": 57, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "2007", |
| | | "top": 90, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-102", |
| | | "text": "2008", |
| | | "top": 125, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1011", |
| | | "top": 99, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1020", |
| | | "top": 70, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /* { |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 450, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-104", |
| | | // "text": "104", |
| | | // "top": 124, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 34 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-125", |
| | | "text": "2003", |
| | | "top": 160, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "2005", |
| | | "top": 160, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "2004", |
| | | "top": 160, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-123", |
| | | "text": "RGV小车", |
| | | "top": 160, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-122", |
| | | // "text": "122", |
| | | // "top": 160, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-121", |
| | | // "text": "121", |
| | | // "top": 186, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 42 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-120", |
| | | "text": "2012", |
| | | "top": 231, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "2009", |
| | | "top": 195, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "2010", |
| | | "top": 231, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-119", |
| | | "text": "2011", |
| | | "top": 231, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-118", |
| | | "text": "RGV小车", |
| | | "top": 231, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-117", |
| | | // "text": "117", |
| | | // "top": 231, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-116", |
| | | // "text": "116", |
| | | // "top": 256, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 46 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-115", |
| | | "text": "2013", |
| | | "top": 304, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "2015", |
| | | "top": 304, |
| | | "left": 640, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "2014", |
| | | "top": 304, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1016", |
| | | "top": 330, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1018", |
| | | "top": 356, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1019", |
| | | "top": 356, |
| | | "left": 772, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /* { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 837, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /* { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 902, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1017", |
| | | "top": 383, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-113", |
| | | "text": "RGV小车", |
| | | "top": 304, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-112", |
| | | // "text": "112", |
| | | // "top": 304, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-105", |
| | | "text": "2019", |
| | | "top": 99, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-106", |
| | | "text": "", |
| | | "top": 135, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 34 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-107", |
| | | "text": "2018", |
| | | "top": 160, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-108", |
| | | "text": "", |
| | | "top": 190, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 42 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-109", |
| | | "text": "2017", |
| | | "top": 231, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 70 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-110", |
| | | "text": "2016", |
| | | "top": 304, |
| | | "left": 574, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-111", |
| | | "text": "1015", |
| | | "top": 329, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1001", |
| | | // "text": "1001", |
| | | // "top": 99, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1002", |
| | | // "text": "1002", |
| | | // "top": 160, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1003", |
| | | // "text": "1003", |
| | | // "top": 231, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1004", |
| | | // "text": "1004", |
| | | // "top": 304, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // } |
| | | ] |
| | | }] |
| | | }] |
| | | } |
New file |
| | |
| | | mapInfo = { |
| | | "mapName": "scwcs", |
| | | "rackCount": 13, |
| | | "crnCount": 4, |
| | | "stbCount": 4, |
| | | "hpPosition": 0, |
| | | "minBayNo": 1, |
| | | "floors": 1, |
| | | "racks": [ |
| | | { |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 326, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 303, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 209, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 232, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }, |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 182, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 159, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 98, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | },*/ |
| | | /*{ |
| | | "type": "rack", |
| | | "id": "rack0", |
| | | "top": 75, |
| | | "left": 820, |
| | | "width": 1050, |
| | | "height": 23, |
| | | "minBayNo": 1, |
| | | "maxBayNo": 43, |
| | | "hiddenArr": [1,43] |
| | | }*/ |
| | | ], |
| | | "crns": [ |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 268, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, |
| | | /*{ |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 132, |
| | | "left": 855, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, */ |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 278, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }, |
| | | /* { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 143, |
| | | "left": 769, |
| | | "width": 850, |
| | | "height": 2 |
| | | }*/ |
| | | ], |
| | | "areas": [{ |
| | | "type": "Control_floor", |
| | | "id": "tabControl_floor1", |
| | | "text": "楼层", |
| | | "top": 66, |
| | | "left": 580, |
| | | "width": 334, |
| | | "height": 714, |
| | | "floors": [{ |
| | | "type": "floor", |
| | | "id": "page_floor1", |
| | | "text": "1F", |
| | | "top": 4, |
| | | "left": 422, |
| | | "width": 308, |
| | | "height": 706, |
| | | "stns": [ |
| | | { |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "2052", |
| | | "top": 150, |
| | | "left": 1050, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "2052", |
| | | "top": 180, |
| | | "left": 1050, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "2051", |
| | | "top": 150, |
| | | "left": 1150, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "2051", |
| | | "top": 180, |
| | | "left": 1150, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-102", |
| | | "text": "RGV小车", |
| | | "top": 99, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1011", |
| | | "top": 99, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "1020", |
| | | "top": 70, |
| | | "left": 579, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "", |
| | | "top": 70, |
| | | "left": 450, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-104", |
| | | // "text": "104", |
| | | // "top": 124, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 34 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-125", |
| | | "text": "2053", |
| | | "top": 150, |
| | | "left": 950, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-125", |
| | | "text": "2054", |
| | | "top": 180, |
| | | "left": 950, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "2055", |
| | | "top": 150, |
| | | "left": 850, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-124", |
| | | "text": "2056", |
| | | "top": 180, |
| | | "left": 850, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-123", |
| | | "text": "RGV小车", |
| | | "top": 160, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-122", |
| | | // "text": "122", |
| | | // "top": 160, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-121", |
| | | // "text": "121", |
| | | // "top": 186, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 42 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-120", |
| | | "text": "2057", |
| | | "top": 231, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-119", |
| | | "text": "2057", |
| | | "top": 231, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },/*{ |
| | | "type": "stn", |
| | | "id": "site-118", |
| | | "text": "RGV小车", |
| | | "top": 231, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-117", |
| | | // "text": "117", |
| | | // "top": 231, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-116", |
| | | // "text": "116", |
| | | // "top": 256, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 46 |
| | | // }, |
| | | { |
| | | "type": "stn", |
| | | "id": "site-115", |
| | | "text": "2058", |
| | | "top": 304, |
| | | "left": 771, |
| | | "width": 62, |
| | | "height": 23 |
| | | },{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "2058", |
| | | "top": 304, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1016", |
| | | "top": 330, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1018", |
| | | "top": 356, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1019", |
| | | "top": 356, |
| | | "left": 772, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 837, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "", |
| | | "top": 356, |
| | | "left": 902, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "1017", |
| | | "top": 383, |
| | | "left": 707, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-113", |
| | | "text": "RGV小车", |
| | | "top": 304, |
| | | "left": 643, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-112", |
| | | // "text": "112", |
| | | // "top": 304, |
| | | // "left": 579, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | /*{ |
| | | "type": "stn", |
| | | "id": "site-105", |
| | | "text": "1012", |
| | | "top": 99, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-106", |
| | | "text": "1013", |
| | | "top": 124, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 34 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-107", |
| | | "text": "1013", |
| | | "top": 160, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-108", |
| | | "text": "1013", |
| | | "top": 186, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 42 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-109", |
| | | "text": "1013", |
| | | "top": 231, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 70 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-110", |
| | | "text": "1014", |
| | | "top": 304, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*//*{ |
| | | "type": "stn", |
| | | "id": "site-111", |
| | | "text": "1015", |
| | | "top": 329, |
| | | "left": 515, |
| | | "width": 62, |
| | | "height": 23 |
| | | },*/ |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1001", |
| | | // "text": "1001", |
| | | // "top": 99, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // }, |
| | | // { |
| | | // "type": "stn", |
| | | // "id": "site-1002", |
| | | // "text": "1002", |
| | | // "top": 160, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1003", |
| | | // "text": "1003", |
| | | // "top": 231, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // },{ |
| | | // "type": "stn", |
| | | // "id": "site-1004", |
| | | // "text": "1004", |
| | | // "top": 304, |
| | | // "left": 451, |
| | | // "width": 62, |
| | | // "height": 23 |
| | | // } |
| | | ] |
| | | }] |
| | | }] |
| | | } |
| | |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | </div> |
| | | <select onchange="window.open(this.value)"> |
| | | <option value = "console1.html">--成品一楼--</option> |
| | | <option value="console2.html" >-半成品二楼-</option> |
| | | <option value="console3.html">-成品二楼-</option> |
| | | <option value="console.html"selected ="selected">-半成品一楼-</option> |
| | | </select> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>自动仓库wcs系统</title> |
| | | <link rel="stylesheet" href="../../static/wcs/css/render.css"> |
| | | <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> |
| | | <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> |
| | | <!--地图json--> |
| | | <script src="../../static/wcs/js/console1.map.js"></script> |
| | | <script src="../../static/wcs/js/console.js"></script> |
| | | <script src="../../static/wcs/js/common.js"></script> |
| | | </head> |
| | | <script type="text/html" id="errorTpl"> |
| | | {{# if( d.error === false ){ }} |
| | | <span name="level" class="layui-badge layui-badge-green">正常</span> |
| | | {{# } else { }} |
| | | <span name="level" class="layui-badge layui-badge-red">异常</span> |
| | | {{# } }} |
| | | </script> |
| | | <body> |
| | | <div id="main"> |
| | | <div class="head"> |
| | | <div class="head-left"> |
| | | <h1>自动仓库WCS监控图</h1> |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | </div> |
| | | <select onchange="window.open(this.value)"> |
| | | <option value = "console1.html">--成品一楼--</option> |
| | | <option value="" >-半成品二楼-</option> |
| | | <option value="">-成品二楼-</option> |
| | | <option value="console.html"selected ="selected">-半成品一楼-</option> |
| | | </select> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | |
| | | </div> |
| | | |
| | | <!-- <!–设备列表–>--> |
| | | <!-- <div class="device-info">--> |
| | | <!-- <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>--> |
| | | <!-- </div>--> |
| | | |
| | | <div id="body"> |
| | | <!-- 总开关 --> |
| | | <div class="system-state"> |
| | | <div class="body-head">总开关</div> |
| | | <div class="switch"> |
| | | <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div> |
| | | <div class="switch_r"> |
| | | <p>系统状态</p> |
| | | <p id="system-run-desc">系统运行中</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="machine-status"> |
| | | <div class="body-head">堆垛机状态</div> |
| | | <div class="state"> |
| | | <span>堆垛机 1</span> |
| | | <span class="state-ss machine-put-flag ">入库</span> |
| | | </div> |
| | | <div class="state"> |
| | | <span>堆垛机 2</span> |
| | | <span class="state-ss machine-auto-flag ">自动</span> |
| | | |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="machine-put-flag">入库</span> |
| | | <span class="machine-take-flag">出库</span> |
| | | <span class="machine-stock-move-flag">库到库</span> |
| | | <span class="machine-site-move-flag">站到站</span> |
| | | <span class="machine-p-move-flag">PToP</span> |
| | | <span class="machine-error-flag">异常</span> |
| | | <span class="machine-auto-flag">自动</span> |
| | | <span class="machine-unauto-flag">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="line-status"> |
| | | <div class="body-head">输送线状态</div> |
| | | <div class="state states"> |
| | | <span>运输线总数</span> |
| | | <span id="line-total" class="line-ss"></span> |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="site-auto-run-id">自动+有物+ID</span> |
| | | <span class="site-auto-run">自动+有物</span> |
| | | <span class="site-auto-id">自动+ID</span> |
| | | <span class="site-auto">自动</span> |
| | | <span class="site-unauto">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="bar-code"> |
| | | <div class="body-head" id="code">条码扫描器</div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode1" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode2" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode3" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机弹窗 --> |
| | | <div id="crnWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <div id="crnWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 堆垛机号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label" style> |
| | | <span>堆垛机号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnNo" value="" id="crnNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 站源 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>站源:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>堆垛机状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnStatus" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 异常 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>异常:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="error" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item" style="display: flex;"> |
| | | <div class="form-item-input"> |
| | | <div>入库:开<input type="radio" name="pakIn" id="pakInY" value="1"> 关<input type="radio" name="pakIn" id="pakInN" value="0"/></div> |
| | | <div>出库:开<input type="radio" name="pakOut" id="pakOutY" value="1"> 关<input type="radio" name="pakOut" id="pakOutN" value="0"/></div> |
| | | </div> |
| | | <div><a id="crnCommand" class="layui-btn">下发命令</a></div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | <!-- 输送设备弹窗 --> |
| | | <div id="siteWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <!-- 表头 --> |
| | | <div id="siteWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 设备号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>设备号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="siteId" value="" id="devpSiteId"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value="" id="devpWorkNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 自动 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>自动</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="autoing"> |
| | | </div> |
| | | </div> |
| | | <!-- 有物 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>有物</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="loading"> |
| | | </div> |
| | | </div> |
| | | <!-- 能入 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能入</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canining"> |
| | | </div> |
| | | </div> |
| | | <!-- 能出 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能出</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canouting"> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value="" id="devpStaNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item"> |
| | | <a id="devpCommand" class="layui-btn">下发命令</a> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| | | <script> |
| | | getMap(); |
| | | </script> |
| | | <script> |
| | | setInterval(function () { |
| | | getCodeData(); |
| | | renderBarCode(); |
| | | }, 1000) |
| | | var tData = [],tData1 = [],tData2 = [],tData3 = []; |
| | | function getCodeData() { |
| | | $.ajax({ |
| | | url: baseUrl + '/console/barcode/output/site', |
| | | method: 'GET', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | tData = eval(res.data); |
| | | if (tData.length <= 5) { |
| | | tData1 = tData |
| | | } else if (tData.length <= 10) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData.splice(0, 5) |
| | | tData2 = tData |
| | | } else if (tData.length <= 15) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData2 = tData.slice(6, 10) |
| | | tData.splice(0, 10) |
| | | tData3 = tData |
| | | } else { |
| | | tData = tData.slice(-15) |
| | | tData1 = tData.slice(-15) |
| | | tData2 = tData.slice(-10) |
| | | tData3 = tData.slice(-5) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | function renderBarCode() { |
| | | for (var i = 0; i < tData1.length; i++) { |
| | | var str1 = '<li><span>' + tData1[i].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>' |
| | | $('#scale1').append(str1) |
| | | } |
| | | for (var j = 0; j < tData2.length; j++) { |
| | | var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>' |
| | | $('#scale2').append(str2) |
| | | } |
| | | for (var k = 0; k < tData3.length; k++) { |
| | | var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>' |
| | | $('#scale3').append(str3) |
| | | } |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | // 弹窗站点信息 |
| | | $("body").on('click', '.site', function (e) { |
| | | console.log(e) |
| | | var id = this.id.split("-")[1]; |
| | | $("#siteWindow").attr("style", "display:block;");//显示div |
| | | $("#crnWindow").attr("style", "display:none;"); |
| | | $(".detailed").empty(); |
| | | $('.detailed').append(id + '站点详细信息'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/site/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | siteId: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | for (var val in res.data) { |
| | | var find = $("#siteWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 堆垛机信息 |
| | | $("body").on('click', '.machine', function () { |
| | | var id = this.id.split("-")[1]; |
| | | $("#crnWindow").attr('style', 'display:block;'); |
| | | $("#siteWindow").attr("style", "display:none;"); |
| | | $('.detailed').empty(); |
| | | $('.detailed').append(id + '号堆垛机'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/crn/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | console.log(res) |
| | | for (var val in res.data) { |
| | | if (val === "inEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakInY").prop("checked", true); |
| | | }else{ |
| | | $("#pakInN").prop("checked", true); |
| | | } |
| | | }else if (val === "outEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakOutY").prop("checked", true); |
| | | }else{ |
| | | $("#pakOutN").prop("checked", true); |
| | | } |
| | | }else { |
| | | var find = $("#crnWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 弹窗关闭 |
| | | $('button').on('click', function () { |
| | | $('#siteWindow').attr('style', 'display:none') |
| | | $('#crnWindow').attr('style', 'display:none') |
| | | }) |
| | | |
| | | |
| | | var crn1Position = 0; |
| | | var crn2Position = 0; |
| | | var crn3Position = 0; |
| | | var crn4Position = 0; |
| | | var crn5Position = 0; |
| | | |
| | | // 初始化 |
| | | getSitesInfo(); |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | // 实时访问 |
| | | setInterval(function () { |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | }, 1000); |
| | | setInterval(function () { |
| | | getSitesInfo(); |
| | | }, 3000); |
| | | |
| | | // 系统运行开关 |
| | | function systemSwitch() { |
| | | if (parent.systemRunning) { |
| | | layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1, shadeClose: true}, function (pass, idx) { |
| | | layer.close(idx); |
| | | doSwitch(0, pass); // 停止wcs系统 |
| | | }); |
| | | } else { |
| | | doSwitch(1); // 启动wcs系统 |
| | | } |
| | | } |
| | | |
| | | // 请求服务器控制wcs系统运行状态 |
| | | function doSwitch(operatorType, password) { |
| | | // 加载tips |
| | | var index = layer.load(1, { |
| | | shade: [0.1, '#fff'] |
| | | }); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/switch", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | // async: false, |
| | | data: { |
| | | operatorType: operatorType, |
| | | password: password |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(index); |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 获取wcs系统运行状态 |
| | | function getSystemRunningStatus() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/running/status", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 输送设备实时数据获取 |
| | | function getSitesInfo() { |
| | | // carAnimate(112,4); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/site", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var sites = res.data; |
| | | for (var i = 0; i < sites.length; i++) { |
| | | var siteEl = $("#site-" + sites[i].siteId); |
| | | siteEl.attr("class", "site " + sites[i].siteStatus); |
| | | if (sites[i].workNo != null && sites[i].workNo > 0) { |
| | | siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]"); |
| | | } else { |
| | | siteEl.html(sites[i].siteId); |
| | | } |
| | | // RGV位置 |
| | | if(sites[i].siteId === '112' || sites[i].siteId === '212'){ |
| | | carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); |
| | | } |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机实时数据获取 |
| | | function getCrnInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/crn", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | var crns = res.data; |
| | | for (var i = 0; i < crns.length; i++) { |
| | | var crnEl = $("#crn-" + crns[i].crnId); |
| | | crnEl.attr("class", "machine " + crns[i].crnStatus); |
| | | var unit = 20.6;//($('.item').eq(0).width() + 13) / 2; |
| | | if (crns[i].bay < 0) { |
| | | crns[i].bay = 1; |
| | | } |
| | | // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000); |
| | | // crns[i].bay = 1; |
| | | |
| | | var offSet = 800; |
| | | // crns[i].bay = 41; |
| | | if(crns[i].bay === 1){ |
| | | crnEl.animate({left: offSet + 'px'}, 1000); |
| | | } else { |
| | | crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 1000); |
| | | } |
| | | |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 扫码器实时数据获取 |
| | | function getBarcodeInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/barcode", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var barcodes = res.data; |
| | | for (var i = 0; i < barcodes.length; i++) { |
| | | $("#code-decoder-data-" + barcodes[i].barcodeId).html(barcodes[i].codeValue); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 磅秤实时数据获取 |
| | | function getScaleInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/scale", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | |
| | | if (res.code === 200) { |
| | | var sclaes = res.data; |
| | | for (var i = 0; i < sclaes.length; i++) { |
| | | console.log(sclaes[i].scaleId + ":" + sclaes[i].value) |
| | | $("#scale-data-" + sclaes[i].scaleId).text(sclaes[i].value); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机偏移动画 |
| | | function crnAnimate(id, leftVal) { |
| | | // console.log(crn1Position) |
| | | switch (id) { |
| | | case 1: |
| | | $("#crn-1").animate({left: leftVal + 'px'}, 1000); |
| | | crn1Position = leftVal; |
| | | break; |
| | | case 2: |
| | | $("#crn-2").animate({left: leftVal + 'px'}, 1000); |
| | | crn2Position = leftVal; |
| | | break; |
| | | case 3: |
| | | $("#crn-3").animate({left: leftVal + 'px'}, 1000); |
| | | crn3Position = leftVal; |
| | | break; |
| | | case 4: |
| | | $("#crn-4").animate({left: leftVal + 'px'}, 1000); |
| | | crn4Position = leftVal; |
| | | break; |
| | | case 5: |
| | | $("#crn-5").animate({left: leftVal + 'px'}, 1000); |
| | | crn5Position = leftVal; |
| | | break; |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | |
| | | // 小车偏移动画 |
| | | function carAnimate(id, target) { |
| | | var targetTop = 0; |
| | | if (id === 112) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else if (id === 212) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | $("#site-" + id).animate({top: targetTop + 'px'}, 1000); |
| | | } |
| | | |
| | | //下发输送线命令 |
| | | $("#devpCommand").on("click", () => { |
| | | let siteId = $("#devpSiteId").val()//设备id |
| | | let wrkNo = $("#devpWorkNo").val()//工作号 |
| | | let staNo = $("#devpStaNo").val()//目标站 |
| | | |
| | | $.ajax({ |
| | | url: baseUrl+"/site/detl/update", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | devNo: siteId, |
| | | workNo: wrkNo, |
| | | staNo: staNo, |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | //下发堆垛机命令 |
| | | $("#crnCommand").on("click", () => { |
| | | let crnNo = $("#crnNo").val()//设备id |
| | | var pakIn = $('input[name="pakIn"]:checked').val(); |
| | | var pakOut = $('input[name="pakOut"]:checked').val(); |
| | | |
| | | console.log(pakIn,pakOut) |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + "/basCrnp/update/auth", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: crnNo, |
| | | inEnable: pakIn == 1 ? "Y" : "N", |
| | | outEnable: pakOut == 1 ? "Y" : "N" |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | </script> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>自动仓库wcs系统</title> |
| | | <link rel="stylesheet" href="../../static/wcs/css/render.css"> |
| | | <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> |
| | | <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> |
| | | <!--地图json--> |
| | | <script src="../../static/wcs/js/console2.map.js"></script> |
| | | <script src="../../static/wcs/js/console.js"></script> |
| | | <script src="../../static/wcs/js/common.js"></script> |
| | | </head> |
| | | <script type="text/html" id="errorTpl"> |
| | | {{# if( d.error === false ){ }} |
| | | <span name="level" class="layui-badge layui-badge-green">正常</span> |
| | | {{# } else { }} |
| | | <span name="level" class="layui-badge layui-badge-red">异常</span> |
| | | {{# } }} |
| | | </script> |
| | | <body> |
| | | <div id="main"> |
| | | <div class="head"> |
| | | <div class="head-left"> |
| | | <h1>自动仓库WCS监控图</h1> |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | </div> |
| | | <select onchange="window.open(this.value)"> |
| | | <option value = "console1.html">--成品一楼--</option> |
| | | <option value="console2.html" >-半成品二楼-</option> |
| | | <option value="console3.html">-成品二楼-</option> |
| | | <option value="console.html"selected ="selected">-半成品一楼-</option> |
| | | </select> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | |
| | | </div> |
| | | |
| | | <!-- <!–设备列表–>--> |
| | | <!-- <div class="device-info">--> |
| | | <!-- <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>--> |
| | | <!-- </div>--> |
| | | |
| | | <div id="body"> |
| | | <!-- 总开关 --> |
| | | <div class="system-state"> |
| | | <div class="body-head">总开关</div> |
| | | <div class="switch"> |
| | | <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div> |
| | | <div class="switch_r"> |
| | | <p>系统状态</p> |
| | | <p id="system-run-desc">系统运行中</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="machine-status"> |
| | | <div class="body-head">堆垛机状态</div> |
| | | <div class="state"> |
| | | <span>堆垛机 1</span> |
| | | <span class="state-ss machine-put-flag ">入库</span> |
| | | </div> |
| | | <div class="state"> |
| | | <span>堆垛机 2</span> |
| | | <span class="state-ss machine-auto-flag ">自动</span> |
| | | |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="machine-put-flag">入库</span> |
| | | <span class="machine-take-flag">出库</span> |
| | | <span class="machine-stock-move-flag">库到库</span> |
| | | <span class="machine-site-move-flag">站到站</span> |
| | | <span class="machine-p-move-flag">PToP</span> |
| | | <span class="machine-error-flag">异常</span> |
| | | <span class="machine-auto-flag">自动</span> |
| | | <span class="machine-unauto-flag">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="line-status"> |
| | | <div class="body-head">输送线状态</div> |
| | | <div class="state states"> |
| | | <span>运输线总数</span> |
| | | <span id="line-total" class="line-ss"></span> |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="site-auto-run-id">自动+有物+ID</span> |
| | | <span class="site-auto-run">自动+有物</span> |
| | | <span class="site-auto-id">自动+ID</span> |
| | | <span class="site-auto">自动</span> |
| | | <span class="site-unauto">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="bar-code"> |
| | | <div class="body-head" id="code">条码扫描器</div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode1" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode2" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode3" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机弹窗 --> |
| | | <div id="crnWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <div id="crnWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 堆垛机号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label" style> |
| | | <span>堆垛机号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnNo" value="" id="crnNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 站源 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>站源:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>堆垛机状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnStatus" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 异常 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>异常:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="error" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item" style="display: flex;"> |
| | | <div class="form-item-input"> |
| | | <div>入库:开<input type="radio" name="pakIn" id="pakInY" value="1"> 关<input type="radio" name="pakIn" id="pakInN" value="0"/></div> |
| | | <div>出库:开<input type="radio" name="pakOut" id="pakOutY" value="1"> 关<input type="radio" name="pakOut" id="pakOutN" value="0"/></div> |
| | | </div> |
| | | <div><a id="crnCommand" class="layui-btn">下发命令</a></div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | <!-- 输送设备弹窗 --> |
| | | <div id="siteWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <!-- 表头 --> |
| | | <div id="siteWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 设备号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>设备号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="siteId" value="" id="devpSiteId"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value="" id="devpWorkNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 自动 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>自动</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="autoing"> |
| | | </div> |
| | | </div> |
| | | <!-- 有物 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>有物</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="loading"> |
| | | </div> |
| | | </div> |
| | | <!-- 能入 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能入</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canining"> |
| | | </div> |
| | | </div> |
| | | <!-- 能出 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能出</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canouting"> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value="" id="devpStaNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item"> |
| | | <a id="devpCommand" class="layui-btn">下发命令</a> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| | | <script> |
| | | getMap(); |
| | | </script> |
| | | <script> |
| | | setInterval(function () { |
| | | getCodeData(); |
| | | renderBarCode(); |
| | | }, 1000) |
| | | var tData = [],tData1 = [],tData2 = [],tData3 = []; |
| | | function getCodeData() { |
| | | $.ajax({ |
| | | url: baseUrl + '/console/barcode/output/site', |
| | | method: 'GET', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | tData = eval(res.data); |
| | | if (tData.length <= 5) { |
| | | tData1 = tData |
| | | } else if (tData.length <= 10) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData.splice(0, 5) |
| | | tData2 = tData |
| | | } else if (tData.length <= 15) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData2 = tData.slice(6, 10) |
| | | tData.splice(0, 10) |
| | | tData3 = tData |
| | | } else { |
| | | tData = tData.slice(-15) |
| | | tData1 = tData.slice(-15) |
| | | tData2 = tData.slice(-10) |
| | | tData3 = tData.slice(-5) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | function renderBarCode() { |
| | | for (var i = 0; i < tData1.length; i++) { |
| | | var str1 = '<li><span>' + tData1[i].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>' |
| | | $('#scale1').append(str1) |
| | | } |
| | | for (var j = 0; j < tData2.length; j++) { |
| | | var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>' |
| | | $('#scale2').append(str2) |
| | | } |
| | | for (var k = 0; k < tData3.length; k++) { |
| | | var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>' |
| | | $('#scale3').append(str3) |
| | | } |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | // 弹窗站点信息 |
| | | $("body").on('click', '.site', function (e) { |
| | | console.log(e) |
| | | var id = this.id.split("-")[1]; |
| | | $("#siteWindow").attr("style", "display:block;");//显示div |
| | | $("#crnWindow").attr("style", "display:none;"); |
| | | $(".detailed").empty(); |
| | | $('.detailed').append(id + '站点详细信息'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/site/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | siteId: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | for (var val in res.data) { |
| | | var find = $("#siteWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 堆垛机信息 |
| | | $("body").on('click', '.machine', function () { |
| | | var id = this.id.split("-")[1]; |
| | | $("#crnWindow").attr('style', 'display:block;'); |
| | | $("#siteWindow").attr("style", "display:none;"); |
| | | $('.detailed').empty(); |
| | | $('.detailed').append(id + '号堆垛机'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/crn/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | console.log(res) |
| | | for (var val in res.data) { |
| | | if (val === "inEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakInY").prop("checked", true); |
| | | }else{ |
| | | $("#pakInN").prop("checked", true); |
| | | } |
| | | }else if (val === "outEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakOutY").prop("checked", true); |
| | | }else{ |
| | | $("#pakOutN").prop("checked", true); |
| | | } |
| | | }else { |
| | | var find = $("#crnWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 弹窗关闭 |
| | | $('button').on('click', function () { |
| | | $('#siteWindow').attr('style', 'display:none') |
| | | $('#crnWindow').attr('style', 'display:none') |
| | | }) |
| | | |
| | | |
| | | var crn1Position = 0; |
| | | var crn2Position = 0; |
| | | var crn3Position = 0; |
| | | var crn4Position = 0; |
| | | var crn5Position = 0; |
| | | |
| | | // 初始化 |
| | | getSitesInfo(); |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | // 实时访问 |
| | | setInterval(function () { |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | }, 1000); |
| | | setInterval(function () { |
| | | getSitesInfo(); |
| | | }, 3000); |
| | | |
| | | // 系统运行开关 |
| | | function systemSwitch() { |
| | | if (parent.systemRunning) { |
| | | layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1, shadeClose: true}, function (pass, idx) { |
| | | layer.close(idx); |
| | | doSwitch(0, pass); // 停止wcs系统 |
| | | }); |
| | | } else { |
| | | doSwitch(1); // 启动wcs系统 |
| | | } |
| | | } |
| | | |
| | | // 请求服务器控制wcs系统运行状态 |
| | | function doSwitch(operatorType, password) { |
| | | // 加载tips |
| | | var index = layer.load(1, { |
| | | shade: [0.1, '#fff'] |
| | | }); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/switch", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | // async: false, |
| | | data: { |
| | | operatorType: operatorType, |
| | | password: password |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(index); |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 获取wcs系统运行状态 |
| | | function getSystemRunningStatus() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/running/status", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 输送设备实时数据获取 |
| | | function getSitesInfo() { |
| | | // carAnimate(112,4); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/site", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var sites = res.data; |
| | | for (var i = 0; i < sites.length; i++) { |
| | | var siteEl = $("#site-" + sites[i].siteId); |
| | | siteEl.attr("class", "site " + sites[i].siteStatus); |
| | | if (sites[i].workNo != null && sites[i].workNo > 0) { |
| | | siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]"); |
| | | } else { |
| | | siteEl.html(sites[i].siteId); |
| | | } |
| | | // RGV位置 |
| | | if(sites[i].siteId === '112' || sites[i].siteId === '212'){ |
| | | carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); |
| | | } |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机实时数据获取 |
| | | function getCrnInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/crn", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | var crns = res.data; |
| | | for (var i = 0; i < crns.length; i++) { |
| | | var crnEl = $("#crn-" + crns[i].crnId); |
| | | crnEl.attr("class", "machine " + crns[i].crnStatus); |
| | | var unit = 20.6;//($('.item').eq(0).width() + 13) / 2; |
| | | if (crns[i].bay < 0) { |
| | | crns[i].bay = 1; |
| | | } |
| | | // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000); |
| | | // crns[i].bay = 1; |
| | | |
| | | var offSet = 800; |
| | | // crns[i].bay = 41; |
| | | if(crns[i].bay === 1){ |
| | | crnEl.animate({left: offSet + 'px'}, 1000); |
| | | } else { |
| | | crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 1000); |
| | | } |
| | | |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 扫码器实时数据获取 |
| | | function getBarcodeInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/barcode", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var barcodes = res.data; |
| | | for (var i = 0; i < barcodes.length; i++) { |
| | | $("#code-decoder-data-" + barcodes[i].barcodeId).html(barcodes[i].codeValue); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 磅秤实时数据获取 |
| | | function getScaleInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/scale", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | |
| | | if (res.code === 200) { |
| | | var sclaes = res.data; |
| | | for (var i = 0; i < sclaes.length; i++) { |
| | | console.log(sclaes[i].scaleId + ":" + sclaes[i].value) |
| | | $("#scale-data-" + sclaes[i].scaleId).text(sclaes[i].value); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机偏移动画 |
| | | function crnAnimate(id, leftVal) { |
| | | // console.log(crn1Position) |
| | | switch (id) { |
| | | case 1: |
| | | $("#crn-1").animate({left: leftVal + 'px'}, 1000); |
| | | crn1Position = leftVal; |
| | | break; |
| | | case 2: |
| | | $("#crn-2").animate({left: leftVal + 'px'}, 1000); |
| | | crn2Position = leftVal; |
| | | break; |
| | | case 3: |
| | | $("#crn-3").animate({left: leftVal + 'px'}, 1000); |
| | | crn3Position = leftVal; |
| | | break; |
| | | case 4: |
| | | $("#crn-4").animate({left: leftVal + 'px'}, 1000); |
| | | crn4Position = leftVal; |
| | | break; |
| | | case 5: |
| | | $("#crn-5").animate({left: leftVal + 'px'}, 1000); |
| | | crn5Position = leftVal; |
| | | break; |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | |
| | | // 小车偏移动画 |
| | | function carAnimate(id, target) { |
| | | var targetTop = 0; |
| | | if (id === 112) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else if (id === 212) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | $("#site-" + id).animate({top: targetTop + 'px'}, 1000); |
| | | } |
| | | |
| | | //下发输送线命令 |
| | | $("#devpCommand").on("click", () => { |
| | | let siteId = $("#devpSiteId").val()//设备id |
| | | let wrkNo = $("#devpWorkNo").val()//工作号 |
| | | let staNo = $("#devpStaNo").val()//目标站 |
| | | |
| | | $.ajax({ |
| | | url: baseUrl+"/site/detl/update", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | devNo: siteId, |
| | | workNo: wrkNo, |
| | | staNo: staNo, |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | //下发堆垛机命令 |
| | | $("#crnCommand").on("click", () => { |
| | | let crnNo = $("#crnNo").val()//设备id |
| | | var pakIn = $('input[name="pakIn"]:checked').val(); |
| | | var pakOut = $('input[name="pakOut"]:checked').val(); |
| | | |
| | | console.log(pakIn,pakOut) |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + "/basCrnp/update/auth", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: crnNo, |
| | | inEnable: pakIn == 1 ? "Y" : "N", |
| | | outEnable: pakOut == 1 ? "Y" : "N" |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | </script> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>自动仓库wcs系统</title> |
| | | <link rel="stylesheet" href="../../static/wcs/css/render.css"> |
| | | <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> |
| | | <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> |
| | | <!--地图json--> |
| | | <script src="../../static/wcs/js/console3.map.js"></script> |
| | | <script src="../../static/wcs/js/console.js"></script> |
| | | <script src="../../static/wcs/js/common.js"></script> |
| | | </head> |
| | | <script type="text/html" id="errorTpl"> |
| | | {{# if( d.error === false ){ }} |
| | | <span name="level" class="layui-badge layui-badge-green">正常</span> |
| | | {{# } else { }} |
| | | <span name="level" class="layui-badge layui-badge-red">异常</span> |
| | | {{# } }} |
| | | </script> |
| | | <body> |
| | | <div id="main"> |
| | | <div class="head"> |
| | | <div class="head-left"> |
| | | <h1>自动仓库WCS监控图</h1> |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | </div> |
| | | <select onchange="window.open(this.value)"> |
| | | <option value = "console1.html">--成品一楼--</option> |
| | | <option value="console2.html" >-半成品二楼-</option> |
| | | <option value="console3.html">-成品二楼-</option> |
| | | <option value="console.html"selected ="selected">-半成品一楼-</option> |
| | | </select> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | |
| | | </div> |
| | | |
| | | <!-- <!–设备列表–>--> |
| | | <!-- <div class="device-info">--> |
| | | <!-- <table class="layui-hide" id="deviceInfo" lay-filter="deviceInfo"></table>--> |
| | | <!-- </div>--> |
| | | |
| | | <div id="body"> |
| | | <!-- 总开关 --> |
| | | <div class="system-state"> |
| | | <div class="body-head">总开关</div> |
| | | <div class="switch"> |
| | | <div id="system-icon" class="system-icon-open" onclick="systemSwitch()"></div> |
| | | <div class="switch_r"> |
| | | <p>系统状态</p> |
| | | <p id="system-run-desc">系统运行中</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="machine-status"> |
| | | <div class="body-head">堆垛机状态</div> |
| | | <div class="state"> |
| | | <span>堆垛机 1</span> |
| | | <span class="state-ss machine-put-flag ">入库</span> |
| | | </div> |
| | | <div class="state"> |
| | | <span>堆垛机 2</span> |
| | | <span class="state-ss machine-auto-flag ">自动</span> |
| | | |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="machine-put-flag">入库</span> |
| | | <span class="machine-take-flag">出库</span> |
| | | <span class="machine-stock-move-flag">库到库</span> |
| | | <span class="machine-site-move-flag">站到站</span> |
| | | <span class="machine-p-move-flag">PToP</span> |
| | | <span class="machine-error-flag">异常</span> |
| | | <span class="machine-auto-flag">自动</span> |
| | | <span class="machine-unauto-flag">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="line-status"> |
| | | <div class="body-head">输送线状态</div> |
| | | <div class="state states"> |
| | | <span>运输线总数</span> |
| | | <span id="line-total" class="line-ss"></span> |
| | | </div> |
| | | <div class="button"><span>所有状态</span></div> |
| | | <div class="button item-group"> |
| | | <span class="site-auto-run-id">自动+有物+ID</span> |
| | | <span class="site-auto-run">自动+有物</span> |
| | | <span class="site-auto-id">自动+ID</span> |
| | | <span class="site-auto">自动</span> |
| | | <span class="site-unauto">非自动/手动</span> |
| | | </div> |
| | | </div> |
| | | <div class="bar-code"> |
| | | <div class="body-head" id="code">条码扫描器</div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode1" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode2" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="tablebox"> |
| | | <div class="table-head"> |
| | | <li><span>条码名称</span><span class="right">扫码时间</span></li> |
| | | </div> |
| | | <div id="barcode3" class="table-body"> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机弹窗 --> |
| | | <div id="crnWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <div id="crnWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 堆垛机号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label" style> |
| | | <span>堆垛机号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnNo" value="" id="crnNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 站源 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>站源:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 堆垛机状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>堆垛机状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="crnStatus" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 异常 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>异常:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="error" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item" style="display: flex;"> |
| | | <div class="form-item-input"> |
| | | <div>入库:开<input type="radio" name="pakIn" id="pakInY" value="1"> 关<input type="radio" name="pakIn" id="pakInN" value="0"/></div> |
| | | <div>出库:开<input type="radio" name="pakOut" id="pakOutY" value="1"> 关<input type="radio" name="pakOut" id="pakOutN" value="0"/></div> |
| | | </div> |
| | | <div><a id="crnCommand" class="layui-btn">下发命令</a></div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | <!-- 输送设备弹窗 --> |
| | | <div id="siteWindow" style="display: none;" class="animate__animated animate__fadeIn"> |
| | | <!-- 表头 --> |
| | | <div id="siteWindow-head"> |
| | | <div class='detailed'></div> |
| | | <button></button> |
| | | </div> |
| | | <form> |
| | | <!-- 设备号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>设备号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="siteId" value="" id="devpSiteId"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作号 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作号:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="workNo" value="" id="devpWorkNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 工作状态 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>工作状态:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="wrkSts" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 自动 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>自动</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="autoing"> |
| | | </div> |
| | | </div> |
| | | <!-- 有物 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>有物</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="loading"> |
| | | </div> |
| | | </div> |
| | | <!-- 能入 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能入</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canining"> |
| | | </div> |
| | | </div> |
| | | <!-- 能出 --> |
| | | <div class="form-item-checkbox"> |
| | | <div class="form-item-label-checkbox"> |
| | | <span>能出</span> |
| | | </div> |
| | | <div class="form-item-input-checkbox"> |
| | | <input type="checkbox" name="canouting"> |
| | | </div> |
| | | </div> |
| | | <!-- 出入类型 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>出入类型:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="ioType" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 源站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceStaNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标站 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标站:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="staNo" value="" id="devpStaNo"> |
| | | </div> |
| | | </div> |
| | | <!-- 源库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>源库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="sourceLocNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 目标库位 --> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>目标库位:</span> |
| | | </div> |
| | | <div class="form-item-input"> |
| | | <input type="text" name="locNo" value=""> |
| | | </div> |
| | | </div> |
| | | <!-- 操作按钮 --> |
| | | <div class="form-item"> |
| | | <a id="devpCommand" class="layui-btn">下发命令</a> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| | | <script> |
| | | getMap(); |
| | | </script> |
| | | <script> |
| | | setInterval(function () { |
| | | getCodeData(); |
| | | renderBarCode(); |
| | | }, 1000) |
| | | var tData = [],tData1 = [],tData2 = [],tData3 = []; |
| | | function getCodeData() { |
| | | $.ajax({ |
| | | url: baseUrl + '/console/barcode/output/site', |
| | | method: 'GET', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | tData = eval(res.data); |
| | | if (tData.length <= 5) { |
| | | tData1 = tData |
| | | } else if (tData.length <= 10) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData.splice(0, 5) |
| | | tData2 = tData |
| | | } else if (tData.length <= 15) { |
| | | tData1 = tData.slice(0, 5) |
| | | tData2 = tData.slice(6, 10) |
| | | tData.splice(0, 10) |
| | | tData3 = tData |
| | | } else { |
| | | tData = tData.slice(-15) |
| | | tData1 = tData.slice(-15) |
| | | tData2 = tData.slice(-10) |
| | | tData3 = tData.slice(-5) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | function renderBarCode() { |
| | | for (var i = 0; i < tData1.length; i++) { |
| | | var str1 = '<li><span>' + tData1[i].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData1[i].time + '</span></li>' |
| | | $('#scale1').append(str1) |
| | | } |
| | | for (var j = 0; j < tData2.length; j++) { |
| | | var str2 = '<li><span>' + tData2[j].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData2[j].time + '</span></li>' |
| | | $('#scale2').append(str2) |
| | | } |
| | | for (var k = 0; k < tData3.length; k++) { |
| | | var str3 = '<li><span>' + tData3[k].id +'-'+ tData1[i].scale +'kg'+ '</span><span class="right">' + tData3[k].time + '</span></li>' |
| | | $('#scale3').append(str3) |
| | | } |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | // 弹窗站点信息 |
| | | $("body").on('click', '.site', function (e) { |
| | | console.log(e) |
| | | var id = this.id.split("-")[1]; |
| | | $("#siteWindow").attr("style", "display:block;");//显示div |
| | | $("#crnWindow").attr("style", "display:none;"); |
| | | $(".detailed").empty(); |
| | | $('.detailed').append(id + '站点详细信息'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/site/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | siteId: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | for (var val in res.data) { |
| | | var find = $("#siteWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 堆垛机信息 |
| | | $("body").on('click', '.machine', function () { |
| | | var id = this.id.split("-")[1]; |
| | | $("#crnWindow").attr('style', 'display:block;'); |
| | | $("#siteWindow").attr("style", "display:none;"); |
| | | $('.detailed').empty(); |
| | | $('.detailed').append(id + '号堆垛机'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/crn/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: id |
| | | }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | console.log(res) |
| | | for (var val in res.data) { |
| | | if (val === "inEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakInY").prop("checked", true); |
| | | }else{ |
| | | $("#pakInN").prop("checked", true); |
| | | } |
| | | }else if (val === "outEnable") { |
| | | if (res.data[val] === 'Y') { |
| | | $("#pakOutY").prop("checked", true); |
| | | }else{ |
| | | $("#pakOutN").prop("checked", true); |
| | | } |
| | | }else { |
| | | var find = $("#crnWindow").find(":input[name='" + val + "']"); |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | // 弹窗关闭 |
| | | $('button').on('click', function () { |
| | | $('#siteWindow').attr('style', 'display:none') |
| | | $('#crnWindow').attr('style', 'display:none') |
| | | }) |
| | | |
| | | |
| | | var crn1Position = 0; |
| | | var crn2Position = 0; |
| | | var crn3Position = 0; |
| | | var crn4Position = 0; |
| | | var crn5Position = 0; |
| | | |
| | | // 初始化 |
| | | getSitesInfo(); |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | // 实时访问 |
| | | setInterval(function () { |
| | | getCrnInfo(); |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | }, 1000); |
| | | setInterval(function () { |
| | | getSitesInfo(); |
| | | }, 3000); |
| | | |
| | | // 系统运行开关 |
| | | function systemSwitch() { |
| | | if (parent.systemRunning) { |
| | | layer.prompt({title: '请输入口令,并停止 WCS 系统', formType: 1, shadeClose: true}, function (pass, idx) { |
| | | layer.close(idx); |
| | | doSwitch(0, pass); // 停止wcs系统 |
| | | }); |
| | | } else { |
| | | doSwitch(1); // 启动wcs系统 |
| | | } |
| | | } |
| | | |
| | | // 请求服务器控制wcs系统运行状态 |
| | | function doSwitch(operatorType, password) { |
| | | // 加载tips |
| | | var index = layer.load(1, { |
| | | shade: [0.1, '#fff'] |
| | | }); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/switch", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | // async: false, |
| | | data: { |
| | | operatorType: operatorType, |
| | | password: password |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(index); |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 获取wcs系统运行状态 |
| | | function getSystemRunningStatus() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/system/running/status", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | if (res.data.status) { |
| | | $('#system-icon').attr("class", "system-icon-open"); |
| | | $('#system-run-desc').html("系统运行中..."); |
| | | parent.systemRunning = true; |
| | | } else { |
| | | $('#system-icon').attr("class", "system-icon-close"); |
| | | $('#system-run-desc').html("系统已停止!"); |
| | | parent.systemRunning = false; |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 输送设备实时数据获取 |
| | | function getSitesInfo() { |
| | | // carAnimate(112,4); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/site", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var sites = res.data; |
| | | for (var i = 0; i < sites.length; i++) { |
| | | var siteEl = $("#site-" + sites[i].siteId); |
| | | siteEl.attr("class", "site " + sites[i].siteStatus); |
| | | if (sites[i].workNo != null && sites[i].workNo > 0) { |
| | | siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]"); |
| | | } else { |
| | | siteEl.html(sites[i].siteId); |
| | | } |
| | | // RGV位置 |
| | | if(sites[i].siteId === '112' || sites[i].siteId === '212'){ |
| | | carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); |
| | | } |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机实时数据获取 |
| | | function getCrnInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/crn", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | // console.log(res) |
| | | if (res.code === 200) { |
| | | var crns = res.data; |
| | | for (var i = 0; i < crns.length; i++) { |
| | | var crnEl = $("#crn-" + crns[i].crnId); |
| | | crnEl.attr("class", "machine " + crns[i].crnStatus); |
| | | var unit = 20.6;//($('.item').eq(0).width() + 13) / 2; |
| | | if (crns[i].bay < 0) { |
| | | crns[i].bay = 1; |
| | | } |
| | | // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000); |
| | | // crns[i].bay = 1; |
| | | |
| | | var offSet = 800; |
| | | // crns[i].bay = 41; |
| | | if(crns[i].bay === 1){ |
| | | crnEl.animate({left: offSet + 'px'}, 1000); |
| | | } else { |
| | | crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 1000); |
| | | } |
| | | |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 扫码器实时数据获取 |
| | | function getBarcodeInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/barcode", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var barcodes = res.data; |
| | | for (var i = 0; i < barcodes.length; i++) { |
| | | $("#code-decoder-data-" + barcodes[i].barcodeId).html(barcodes[i].codeValue); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 磅秤实时数据获取 |
| | | function getScaleInfo() { |
| | | $.ajax({ |
| | | url: baseUrl + "/console/latest/data/scale", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | |
| | | if (res.code === 200) { |
| | | var sclaes = res.data; |
| | | for (var i = 0; i < sclaes.length; i++) { |
| | | console.log(sclaes[i].scaleId + ":" + sclaes[i].value) |
| | | $("#scale-data-" + sclaes[i].scaleId).text(sclaes[i].value); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 堆垛机偏移动画 |
| | | function crnAnimate(id, leftVal) { |
| | | // console.log(crn1Position) |
| | | switch (id) { |
| | | case 1: |
| | | $("#crn-1").animate({left: leftVal + 'px'}, 1000); |
| | | crn1Position = leftVal; |
| | | break; |
| | | case 2: |
| | | $("#crn-2").animate({left: leftVal + 'px'}, 1000); |
| | | crn2Position = leftVal; |
| | | break; |
| | | case 3: |
| | | $("#crn-3").animate({left: leftVal + 'px'}, 1000); |
| | | crn3Position = leftVal; |
| | | break; |
| | | case 4: |
| | | $("#crn-4").animate({left: leftVal + 'px'}, 1000); |
| | | crn4Position = leftVal; |
| | | break; |
| | | case 5: |
| | | $("#crn-5").animate({left: leftVal + 'px'}, 1000); |
| | | crn5Position = leftVal; |
| | | break; |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | |
| | | // 小车偏移动画 |
| | | function carAnimate(id, target) { |
| | | var targetTop = 0; |
| | | if (id === 112) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else if (id === 212) { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 313; |
| | | break; |
| | | case 2: |
| | | targetTop += 313; |
| | | break; |
| | | case 3: |
| | | targetTop += 256; |
| | | break; |
| | | case 4: |
| | | targetTop += 226; |
| | | break; |
| | | case 5: |
| | | targetTop += 168; |
| | | case 6: |
| | | targetTop += 168; |
| | | break; |
| | | default: |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | $("#site-" + id).animate({top: targetTop + 'px'}, 1000); |
| | | } |
| | | |
| | | //下发输送线命令 |
| | | $("#devpCommand").on("click", () => { |
| | | let siteId = $("#devpSiteId").val()//设备id |
| | | let wrkNo = $("#devpWorkNo").val()//工作号 |
| | | let staNo = $("#devpStaNo").val()//目标站 |
| | | |
| | | $.ajax({ |
| | | url: baseUrl+"/site/detl/update", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | devNo: siteId, |
| | | workNo: wrkNo, |
| | | staNo: staNo, |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | //下发堆垛机命令 |
| | | $("#crnCommand").on("click", () => { |
| | | let crnNo = $("#crnNo").val()//设备id |
| | | var pakIn = $('input[name="pakIn"]:checked').val(); |
| | | var pakOut = $('input[name="pakOut"]:checked').val(); |
| | | |
| | | console.log(pakIn,pakOut) |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + "/basCrnp/update/auth", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: crnNo, |
| | | inEnable: pakIn == 1 ? "Y" : "N", |
| | | outEnable: pakOut == 1 ? "Y" : "N" |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg("下发成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | </script> |