| | |
| | | </dependencies> |
| | | |
| | | <build> |
| | | <finalName>xgmFlwcs</finalName> |
| | | <finalName>tzglwcs</finalName> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | |
| | | |
| | | StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); |
| | | |
| | | if(staProtocol == null) { |
| | | News.error("站点信息未获得"); |
| | | continue; |
| | | } |
| | | // 尺寸检测异常 |
| | | boolean back = false; |
| | | String errMsg = ""; |
| | | if (staProtocol.isFrontErr()) { |
| | | if (!back && staProtocol.isFrontErr()) { |
| | | errMsg = "前超限"; |
| | | back = true; |
| | | } |
| | |
| | | continue; |
| | | } |
| | | |
| | | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) { |
| | | News.warnNoLog("" + mark + " - 1" + " - 8" + " - 双深库位且浅库位有货,则需先对浅库位进行库位移转 : 开始执行 任务号={}", wrkMast.getWrkNo()); |
| | | String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo()); |
| | | LocMast shallowLoc = locMastService.selectById(shallowLocNo); |
| | | // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬! |
| | | if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { |
| | | News.warnNoLog("" + mark + " - 1" + " - 9" + " - // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬!库位状态={}", shallowLoc.getLocSts()); |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | if (null == waitWrkMast) { |
| | | News.error("" + mark + " - 1" + " - 10" + " - {}库位异常,未检索到相应工作档!", shallowLocNo); |
| | | } else { |
| | | waitWrkMast.setIoPri(15D); |
| | | waitWrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(waitWrkMast) == 0) { |
| | | News.error("" + mark + " - 1" + " - 11" + " - 调整工作档优先级失败!工作号={}", waitWrkMast.getWrkNo()); |
| | | } |
| | | continue; |
| | | } |
| | | |
| | | } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | News.warnNoLog("" + mark + " - 1" + " - 12" + " - // F、D 库位状态={}", shallowLoc.getLocSts()); |
| | | // 此标记避免多次执行移库任务 |
| | | if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) { |
| | | wrkMast.setUpdMk("Y"); |
| | | wrkMast.setIoPri(14D); |
| | | wrkMastMapper.updateById(wrkMast); |
| | | // 生成工作档,将浅库位移转到新的库位中 |
| | | moveLocForDeepLoc(slave, shallowLoc, mark); |
| | | // 生成工作档、改变浅库位的源库/目标库 库位状态、下发堆垛机命令(立马执行) |
| | | // moveLocForDeepLocPakin(slave, shallowLoc, wrkMast); |
| | | } |
| | | continue; |
| | | } else if (shallowLoc.getLocSts().equals("Q")) { |
| | | News.warnNoLog("" + mark + " - 1" + " - 13" + " - // Q 库位状态={}", shallowLoc.getLocSts()); |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { |
| | | News.infoNoLog("" + mark + " - 1" + " - 14" + " - // F、D 工作状态(判断条件为==4)={}", waitWrkMast.getWrkSts()); |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | // // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | // if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) { |
| | | // News.warnNoLog("" + mark + " - 1" + " - 8" + " - 双深库位且浅库位有货,则需先对浅库位进行库位移转 : 开始执行 任务号={}", wrkMast.getWrkNo()); |
| | | // String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo()); |
| | | // LocMast shallowLoc = locMastService.selectById(shallowLocNo); |
| | | // // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬! |
| | | // if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { |
| | | // News.warnNoLog("" + mark + " - 1" + " - 9" + " - // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬!库位状态={}", shallowLoc.getLocSts()); |
| | | // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | // if (null == waitWrkMast) { |
| | | // News.error("" + mark + " - 1" + " - 10" + " - {}库位异常,未检索到相应工作档!", shallowLocNo); |
| | | // } else { |
| | | // waitWrkMast.setIoPri(15D); |
| | | // waitWrkMast.setModiTime(new Date()); |
| | | // if (wrkMastMapper.updateById(waitWrkMast) == 0) { |
| | | // News.error("" + mark + " - 1" + " - 11" + " - 调整工作档优先级失败!工作号={}", waitWrkMast.getWrkNo()); |
| | | // } |
| | | // continue; |
| | | // } |
| | | // |
| | | // } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | // News.warnNoLog("" + mark + " - 1" + " - 12" + " - // F、D 库位状态={}", shallowLoc.getLocSts()); |
| | | // // 此标记避免多次执行移库任务 |
| | | // if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) { |
| | | // wrkMast.setUpdMk("Y"); |
| | | // wrkMast.setIoPri(14D); |
| | | // wrkMastMapper.updateById(wrkMast); |
| | | // // 生成工作档,将浅库位移转到新的库位中 |
| | | // moveLocForDeepLoc(slave, shallowLoc, mark); |
| | | // // 生成工作档、改变浅库位的源库/目标库 库位状态、下发堆垛机命令(立马执行) |
| | | //// moveLocForDeepLocPakin(slave, shallowLoc, wrkMast); |
| | | // } |
| | | // continue; |
| | | // } else if (shallowLoc.getLocSts().equals("Q")) { |
| | | // News.warnNoLog("" + mark + " - 1" + " - 13" + " - // Q 库位状态={}", shallowLoc.getLocSts()); |
| | | // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | // if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { |
| | | // News.infoNoLog("" + mark + " - 1" + " - 14" + " - // F、D 工作状态(判断条件为==4)={}", waitWrkMast.getWrkSts()); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // } |
| | | News.warnNoLog("" + mark + " - 1" + " - 15" + " - 命令下发 : 工作号={},源排={},源列={},源层={},目标排={},目标列={},目标层={}", wrkMast.getWrkNo().shortValue() |
| | | , crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue() |
| | | , locMast.getRow1().shortValue(), locMast.getBay1().shortValue(), locMast.getLev1().shortValue()); |
| | |
| | | break; |
| | | } |
| | | |
| | | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { |
| | | News.warnNoLog("" + mark + " - 2" + " - 6" + " - 双深库位且浅库位有货,则需先对浅库位进行库位移转 : 开始执行 任务号={}", wrkMast.getWrkNo()); |
| | | String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo()); |
| | | LocMast shallowLoc = locMastService.selectById(shallowLocNo); |
| | | // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬! |
| | | if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { |
| | | News.warnNoLog("" + mark + " - 2" + " - 7" + " - // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬!库位状态={}", shallowLoc.getLocSts()); |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | if (null == waitWrkMast) { |
| | | News.error("{}库位异常,未检索到相应工作档!", shallowLocNo); |
| | | } else { |
| | | if (waitWrkMast.getWrkSts() == 11) { |
| | | waitWrkMast.setIoPri(15D); |
| | | waitWrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(waitWrkMast) == 0) { |
| | | News.error("" + mark + " - 2" + " - 8" + " - 调整工作档优先级失败!工作号={}", waitWrkMast.getWrkNo()); |
| | | } |
| | | continue; |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | News.warnNoLog("" + mark + " - 2" + " - 9" + " - // F、D 库位状态={}", shallowLoc.getLocSts()); |
| | | // // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | // if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { |
| | | // News.warnNoLog("" + mark + " - 2" + " - 6" + " - 双深库位且浅库位有货,则需先对浅库位进行库位移转 : 开始执行 任务号={}", wrkMast.getWrkNo()); |
| | | // String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo()); |
| | | // LocMast shallowLoc = locMastService.selectById(shallowLocNo); |
| | | // // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬! |
| | | // if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { |
| | | // News.warnNoLog("" + mark + " - 2" + " - 7" + " - // O.空库位、Q.拣料/盘点/并板再入库、S.入库预约、X.禁用 直接搬!库位状态={}", shallowLoc.getLocSts()); |
| | | // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | //2022-08-16 modify,不根据updmk标记移库任务(容易被取消导致堵塞),查询工作档是否存在任务 |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); |
| | | // 此标记避免多次执行移库任务 |
| | | // if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) |
| | | // || Cools.isEmpty(waitWrkMast)) { |
| | | if (Cools.isEmpty(waitWrkMast)) { |
| | | wrkMast.setUpdMk("Y"); |
| | | wrkMastMapper.updateById(wrkMast); |
| | | // 生成工作档,将浅库位移转到新的库位中 |
| | | moveLocForDeepLoc(slave, shallowLoc, mark); |
| | | } |
| | | News.error("{}任务出库失败,浅库位堵塞!浅库位号:{}", wrkMast.getWrkNo(), shallowLocNo); |
| | | continue; |
| | | } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { |
| | | News.warnNoLog("" + mark + " - 2" + " - 10" + " - // Q、S 库位状态={}", shallowLoc.getLocSts()); |
| | | WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); |
| | | if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { |
| | | News.infoNoLog("" + mark + " - 2" + " - 11" + " - // F、D 工作状态(判断条件为==4)={}", waitWrkMast.getWrkSts()); |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | // if (null == waitWrkMast) { |
| | | // News.error("{}库位异常,未检索到相应工作档!", shallowLocNo); |
| | | // } else { |
| | | // if (waitWrkMast.getWrkSts() == 11) { |
| | | // waitWrkMast.setIoPri(15D); |
| | | // waitWrkMast.setModiTime(new Date()); |
| | | // if (wrkMastMapper.updateById(waitWrkMast) == 0) { |
| | | // News.error("" + mark + " - 2" + " - 8" + " - 调整工作档优先级失败!工作号={}", waitWrkMast.getWrkNo()); |
| | | // } |
| | | // continue; |
| | | // } else { |
| | | // |
| | | // } |
| | | // } |
| | | // } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { |
| | | // News.warnNoLog("" + mark + " - 2" + " - 9" + " - // F、D 库位状态={}", shallowLoc.getLocSts()); |
| | | //// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); |
| | | // //2022-08-16 modify,不根据updmk标记移库任务(容易被取消导致堵塞),查询工作档是否存在任务 |
| | | // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); |
| | | // // 此标记避免多次执行移库任务 |
| | | //// if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) |
| | | //// || Cools.isEmpty(waitWrkMast)) { |
| | | // if (Cools.isEmpty(waitWrkMast)) { |
| | | // wrkMast.setUpdMk("Y"); |
| | | // wrkMastMapper.updateById(wrkMast); |
| | | // // 生成工作档,将浅库位移转到新的库位中 |
| | | // moveLocForDeepLoc(slave, shallowLoc, mark); |
| | | // } |
| | | // News.error("{}任务出库失败,浅库位堵塞!浅库位号:{}", wrkMast.getWrkNo(), shallowLocNo); |
| | | // continue; |
| | | // } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { |
| | | // News.warnNoLog("" + mark + " - 2" + " - 10" + " - // Q、S 库位状态={}", shallowLoc.getLocSts()); |
| | | // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); |
| | | // if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { |
| | | // News.infoNoLog("" + mark + " - 2" + " - 11" + " - // F、D 工作状态(判断条件为==4)={}", waitWrkMast.getWrkSts()); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | // 已经存在吊车执行任务时,则过滤 |
| | | if (wrkMastMapper.selectWorking(slave.getId()) != null) { |
| | |
| | | // 其他 ===>> LED显示器复位,显示默认信息 |
| | | mainService.ledReset(); |
| | | |
| | | mainService.outOfDevp(11); |
| | | // mainService.outOfDevp(11); |
| | | |
| | | // if (i>10){ |
| | | // //空托盘自动出库 |
| | |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://192.168.11.30:1433;databasename=xgmFlasrs |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzglasrs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | |
| | | enable: false |
| | | |
| | | wms: |
| | | url: 192.168.11.30:8080/xgmFlwms |
| | | url: 127.0.0.1:8080/tzglwms |
| | | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | |
| | | row: 5 |
| | | bay: 42 |
| | | lev: 1 |
| | | # 堆垛机4 |
| | | crn[3]: |
| | | id: 4 |
| | | ip: 10.10.10.141 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 0 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 204 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 208 |
| | | row: 5 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 104 |
| | | row: 6 |
| | | bay: 42 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 5 |
| | | bay: 42 |
| | | lev: 1 |
| | | # 输送线1 |
| | | devp[0]: |
| | | id: 1 |
| | |
| | | height: 40%; |
| | | line-height: 90px; |
| | | position: fixed; |
| | | top: 50%; |
| | | top: 60%; |
| | | transform: translateY(-50%); |
| | | } |
| | | .nav ul { |
| | |
| | | var baseUrl = "/xgmFlwcs"; |
| | | var baseUrl = "/tzglwcs"; |
| | | |
| | | // 赋值 |
| | | function setVal(el, val) { |
| | |
| | | let floor = areas[i].text |
| | | let barcodes = areas[i].barcode |
| | | floorId = areas[i].id |
| | | var position = (i+1)*100 |
| | | var position = (i+1)*50 + 400 |
| | | floorBtn = |
| | | "<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+position+"px;'>" + floor +"</button>" |
| | | if (mapInfo.areas[0].floors.length == 1) { |
| | |
| | | mapInfo ={ |
| | | "mapName": "xgmFlwcs", |
| | | "rackCount": 6, |
| | | "crnCount": 3, |
| | | "stbCount": 48, |
| | | "mapName": "tzglwcs", |
| | | "rackCount": 8, |
| | | "crnCount": 4, |
| | | "stbCount": 120, |
| | | "hpPosition": 0, |
| | | "minBayNo": 2, |
| | | "floors": 1, |
| | | "racks": [{ |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 448, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 500, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 427, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 308, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 356, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }, { |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 377, |
| | | "left": 447, |
| | | "width": 845, |
| | | "height": 20, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 41 |
| | | }], |
| | | "rackDescs": [{ |
| | | "type": "rackDescs", |
| | | "id": "lb_desc1", |
| | | "text": "#1", |
| | | "top": 273, |
| | | "left": 1217, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc2", |
| | | "text": "#6", |
| | | "top": 551, |
| | | "left": 1218, |
| | | "width": 33, |
| | | "height": 23 |
| | | }], |
| | | "crns": [{ |
| | | "type": "track", |
| | | "id": "lb_track3", |
| | | "text": "", |
| | | "top": 485, |
| | | "left": 408, |
| | | "width": 900, |
| | | "height": 2 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-3", |
| | | "text": "3", |
| | | "top": 474, |
| | | "left": 866, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 412, |
| | | "left": 408, |
| | | "width": 900, |
| | | "height": 2 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 402, |
| | | "left": 866, |
| | | "width": 93, |
| | | "height": 22 |
| | | }, { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 339, |
| | | "left": 408, |
| | | "width": 900, |
| | | "height": 2 |
| | | }, { |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 329, |
| | | "left": 866, |
| | | "width": 93, |
| | | "height": 22 |
| | | }], |
| | | "areas": [{ |
| | | "type": "Control_floor", |
| | | "id": "tabControl_floor1", |
| | | "text": "楼层", |
| | | "top": 66, |
| | | "left": 77, |
| | | "width": 1537, |
| | | "height": 598, |
| | | "floors": [{ |
| | | "type": "floor", |
| | | "id": "page_floor1", |
| | | "text": "1F", |
| | | "top": 4, |
| | | "left": 22, |
| | | "width": 1511, |
| | | "height": 590, |
| | | "stns": [{ |
| | | "type": "stn", |
| | | "id": "site-221", |
| | | "text": "221", |
| | | "top": 311, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-222", |
| | | "text": "222", |
| | | "top": 311, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-217", |
| | | "text": "217", |
| | | "top": 357, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-223", |
| | | "text": "223", |
| | | "top": 290, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-220", |
| | | "text": "220", |
| | | "top": 311, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-200", |
| | | "text": "200", |
| | | "top": 542, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-214", |
| | | "text": "214", |
| | | "top": 378, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-213", |
| | | "text": "213", |
| | | "top": 378, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-215", |
| | | "text": "215", |
| | | "top": 378, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-211", |
| | | "text": "211", |
| | | "top": 427, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-210", |
| | | "text": "210", |
| | | "top": 427, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-212", |
| | | "text": "212", |
| | | "top": 399, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 27 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-208", |
| | | "text": "208", |
| | | "top": 448, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-207", |
| | | "text": "207", |
| | | "top": 448, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-209", |
| | | "text": "209", |
| | | "top": 427, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-205", |
| | | "text": "205", |
| | | "top": 469, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 30 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-204", |
| | | "text": "204", |
| | | "top": 500, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-206", |
| | | "text": "206", |
| | | "top": 448, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-202", |
| | | "text": "202", |
| | | "top": 500, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-201", |
| | | "text": "201", |
| | | "top": 521, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-203", |
| | | "text": "203", |
| | | "top": 500, |
| | | "left": 284, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-219", |
| | | "text": "219", |
| | | "top": 332, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 24 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-216", |
| | | "text": "216", |
| | | "top": 357, |
| | | "left": 203, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-218", |
| | | "text": "218", |
| | | "top": 357, |
| | | "left": 365, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-121", |
| | | "text": "121", |
| | | "top": 311, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-122", |
| | | "text": "122", |
| | | "top": 311, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-117", |
| | | "text": "117", |
| | | "top": 357, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-123", |
| | | "text": "123", |
| | | "top": 290, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-120", |
| | | "text": "120", |
| | | "top": 311, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-100", |
| | | "text": "100", |
| | | "top": 542, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-114", |
| | | "text": "114", |
| | | "top": 378, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-113", |
| | | "text": "113", |
| | | "top": 378, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-115", |
| | | "text": "115", |
| | | "top": 378, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-111", |
| | | "text": "111", |
| | | "top": 427, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-110", |
| | | "text": "110", |
| | | "top": 427, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-112", |
| | | "text": "112", |
| | | "top": 399, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 27 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-108", |
| | | "text": "108", |
| | | "top": 448, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-107", |
| | | "text": "107", |
| | | "top": 448, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-109", |
| | | "text": "109", |
| | | "top": 427, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-105", |
| | | "text": "105", |
| | | "top": 469, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 30 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-104", |
| | | "text": "104", |
| | | "top": 500, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-106", |
| | | "text": "106", |
| | | "top": 448, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-102", |
| | | "text": "102", |
| | | "top": 500, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-101", |
| | | "text": "101", |
| | | "top": 521, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-103", |
| | | "text": "103", |
| | | "top": 500, |
| | | "left": 1375, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-119", |
| | | "text": "119", |
| | | "top": 332, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 24 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-116", |
| | | "text": "116", |
| | | "top": 357, |
| | | "left": 1456, |
| | | "width": 80, |
| | | "height": 20 |
| | | }, { |
| | | "type": "stn", |
| | | "id": "site-118", |
| | | "text": "118", |
| | | "top": 357, |
| | | "left": 1294, |
| | | "width": 80, |
| | | "height": 20 |
| | | }], |
| | | "barcode":[ |
| | | "racks": [ |
| | | { |
| | | "type": "rack", |
| | | "id": "rack1", |
| | | "top": 80, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack2", |
| | | "top": 130, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack3", |
| | | "top": 160, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack4", |
| | | "top": 210, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack5", |
| | | "top": 240, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack6", |
| | | "top": 290, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack7", |
| | | "top": 320, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | }, |
| | | { |
| | | "type": "rack", |
| | | "id": "rack8", |
| | | "top": 370, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 23, |
| | | "minBayNo": 2, |
| | | "maxBayNo": 120 |
| | | } |
| | | ], |
| | | "rackDescs": [ |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc1", |
| | | "text": "#1", |
| | | "top": 80, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc2", |
| | | "text": "#2", |
| | | "top": 130, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc3", |
| | | "text": "#3", |
| | | "top": 160, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc4", |
| | | "text": "#4", |
| | | "top": 210, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc5", |
| | | "text": "#5", |
| | | "top": 240, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc6", |
| | | "text": "#6", |
| | | "top": 290, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc7", |
| | | "text": "#7", |
| | | "top": 320, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | { |
| | | "type": "rackDescs", |
| | | "id": "lb_desc8", |
| | | "text": "#8", |
| | | "top": 370, |
| | | "left": 1860, |
| | | "width": 30, |
| | | "height": 23 |
| | | }, |
| | | ], |
| | | "crns": [ |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-1", |
| | | "text": "1", |
| | | "top": 110, |
| | | "left": 1550, |
| | | "width": 100, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-2", |
| | | "text": "2", |
| | | "top": 190, |
| | | "left": 1550, |
| | | "width": 100, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-3", |
| | | "text": "3", |
| | | "top": 270, |
| | | "left": 1550, |
| | | "width": 100, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "crane", |
| | | "id": "crn-4", |
| | | "text": "4", |
| | | "top": 350, |
| | | "left": 1550, |
| | | "width": 100, |
| | | "height": 22 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track1", |
| | | "text": "", |
| | | "top": 117, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track2", |
| | | "text": "", |
| | | "top": 197, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track3", |
| | | "text": "", |
| | | "top": 277, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 2 |
| | | }, |
| | | { |
| | | "type": "track", |
| | | "id": "lb_track4", |
| | | "text": "", |
| | | "top": 357, |
| | | "left": 140, |
| | | "width": 1600, |
| | | "height": 2 |
| | | } |
| | | ], |
| | | "areas": [ |
| | | { |
| | | "type": "Control_floor", |
| | | "id": "tabControl_floor1", |
| | | "text": "楼层", |
| | | "top": 50, |
| | | "left": 50, |
| | | "width": 2900, |
| | | "height": 600, |
| | | "floors": [ |
| | | { |
| | | "type": "barcode", |
| | | "id": "barcode-1", |
| | | "text": "", |
| | | "top": 522, |
| | | "left": 1370, |
| | | "width": 80, |
| | | "height": 20 |
| | | "type": "floor", |
| | | "id": "page_floor1", |
| | | "text": "1F", |
| | | "top": 0, |
| | | "left": 0, |
| | | "width": 2900, |
| | | "height": 600, |
| | | "stns": [ |
| | | { "type": "stn", "id": "site-100", "text": "100", "top": 80, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-101", "text": "101", "top": 80, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-102", "text": "102", "top": 80, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-103", "text": "103", "top": 80, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-104", "text": "104", "top": 80, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-105", "text": "105", "top": 80, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-106", "text": "106", "top": 130, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-107", "text": "107", "top": 130, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-108", "text": "108", "top": 130, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-109", "text": "109", "top": 130, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-110", "text": "110", "top": 130, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-111", "text": "111", "top": 130, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-112", "text": "112", "top": 160, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-113", "text": "113", "top": 160, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-114", "text": "114", "top": 160, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-115", "text": "115", "top": 160, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-116", "text": "116", "top": 160, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-117", "text": "117", "top": 160, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-118", "text": "118", "top": 240, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-119", "text": "119", "top": 240, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-120", "text": "120", "top": 240, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-121", "text": "121", "top": 240, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-122", "text": "122", "top": 240, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-123", "text": "123", "top": 240, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-124", "text": "124", "top": 320, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-125", "text": "125", "top": 320, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-126", "text": "126", "top": 320, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-127", "text": "127", "top": 320, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-128", "text": "128", "top": 320, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-129", "text": "129", "top": 320, "left": 1826, "width": 40, "height": 23 } |
| | | ], |
| | | "barcode": [] |
| | | }, |
| | | { |
| | | "type": "barcode", |
| | | "id": "barcode-2", |
| | | "text": "", |
| | | "top": 522, |
| | | "left": 285, |
| | | "width": 80, |
| | | "height": 20 |
| | | "type": "floor", |
| | | "id": "page_floor2", |
| | | "text": "2F", |
| | | "top": 0, |
| | | "left": 0, |
| | | "width": 2900, |
| | | "height": 600, |
| | | "stns": [ |
| | | { "type": "stn", "id": "site-200", "text": "200", "top": 80, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-201", "text": "201", "top": 80, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-202", "text": "202", "top": 80, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-203", "text": "203", "top": 80, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-204", "text": "204", "top": 80, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-205", "text": "205", "top": 80, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-206", "text": "206", "top": 130, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-207", "text": "207", "top": 130, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-208", "text": "208", "top": 130, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-209", "text": "209", "top": 130, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-210", "text": "210", "top": 130, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-211", "text": "211", "top": 130, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-212", "text": "212", "top": 160, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-213", "text": "213", "top": 160, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-214", "text": "214", "top": 160, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-215", "text": "215", "top": 160, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-216", "text": "216", "top": 160, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-217", "text": "217", "top": 160, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-218", "text": "218", "top": 240, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-219", "text": "219", "top": 240, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-220", "text": "220", "top": 240, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-221", "text": "221", "top": 240, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-222", "text": "222", "top": 240, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-223", "text": "223", "top": 240, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-224", "text": "224", "top": 320, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-225", "text": "225", "top": 320, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-226", "text": "226", "top": 320, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-227", "text": "227", "top": 320, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-228", "text": "228", "top": 320, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-229", "text": "229", "top": 320, "left": 1826, "width": 40, "height": 23 } |
| | | ], |
| | | "barcode": [] |
| | | }, |
| | | { |
| | | "type": "floor", |
| | | "id": "page_floor3", |
| | | "text": "3F", |
| | | "top": 0, |
| | | "left": 0, |
| | | "width": 2900, |
| | | "height": 600, |
| | | "stns": [ |
| | | // { "type": "stn", "id": "site-300", "text": "300", "top": 80, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-301", "text": "301", "top": 80, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-302", "text": "302", "top": 80, "left": 10, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-303", "text": "303", "top": 80, "left": 1742, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-304", "text": "304", "top": 80, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-305", "text": "305", "top": 80, "left": 1826, "width": 40, "height": 23 }, |
| | | // |
| | | // { "type": "stn", "id": "site-306", "text": "306", "top": 130, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-307", "text": "307", "top": 130, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-308", "text": "308", "top": 130, "left": 10, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-309", "text": "309", "top": 130, "left": 1742, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-310", "text": "310", "top": 130, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-311", "text": "311", "top": 130, "left": 1826, "width": 40, "height": 23 }, |
| | | // |
| | | // { "type": "stn", "id": "site-312", "text": "312", "top": 160, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-313", "text": "313", "top": 160, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-314", "text": "314", "top": 160, "left": 10, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-315", "text": "315", "top": 160, "left": 1742, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-316", "text": "316", "top": 160, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-317", "text": "317", "top": 160, "left": 1826, "width": 40, "height": 23 }, |
| | | // |
| | | // { "type": "stn", "id": "site-318", "text": "318", "top": 240, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-319", "text": "319", "top": 240, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-320", "text": "320", "top": 240, "left": 10, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-321", "text": "321", "top": 240, "left": 1742, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-322", "text": "322", "top": 240, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-323", "text": "323", "top": 240, "left": 1826, "width": 40, "height": 23 }, |
| | | // |
| | | // { "type": "stn", "id": "site-324", "text": "324", "top": 320, "left": 94, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-325", "text": "325", "top": 320, "left": 52, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-326", "text": "326", "top": 320, "left": 10, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-327", "text": "327", "top": 320, "left": 1742, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-328", "text": "328", "top": 320, "left": 1784, "width": 40, "height": 23 }, |
| | | // { "type": "stn", "id": "site-329", "text": "329", "top": 320, "left": 1826, "width": 40, "height": 23 } |
| | | ], |
| | | "barcode": [] |
| | | }, |
| | | { |
| | | "type": "floor", |
| | | "id": "page_floor4", |
| | | "text": "4F", |
| | | "top": 0, |
| | | "left": 0, |
| | | "width": 2900, |
| | | "height": 600, |
| | | "stns": [ |
| | | { "type": "stn", "id": "site-400", "text": "400", "top": 80, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-401", "text": "401", "top": 80, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-402", "text": "402", "top": 80, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-403", "text": "403", "top": 80, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-404", "text": "404", "top": 80, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-405", "text": "405", "top": 80, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-406", "text": "406", "top": 130, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-407", "text": "407", "top": 130, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-408", "text": "408", "top": 130, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-409", "text": "409", "top": 130, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-410", "text": "410", "top": 130, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-411", "text": "411", "top": 130, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-412", "text": "412", "top": 160, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-413", "text": "413", "top": 160, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-414", "text": "414", "top": 160, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-415", "text": "415", "top": 160, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-416", "text": "416", "top": 160, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-417", "text": "417", "top": 160, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-418", "text": "418", "top": 240, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-419", "text": "419", "top": 240, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-420", "text": "420", "top": 240, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-421", "text": "421", "top": 240, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-422", "text": "422", "top": 240, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-423", "text": "423", "top": 240, "left": 1826, "width": 40, "height": 23 }, |
| | | |
| | | { "type": "stn", "id": "site-424", "text": "424", "top": 320, "left": 94, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-425", "text": "425", "top": 320, "left": 52, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-426", "text": "426", "top": 320, "left": 10, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-427", "text": "427", "top": 320, "left": 1742, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-428", "text": "428", "top": 320, "left": 1784, "width": 40, "height": 23 }, |
| | | { "type": "stn", "id": "site-429", "text": "429", "top": 320, "left": 1826, "width": 40, "height": 23 } |
| | | ], |
| | | "barcode": [] |
| | | } |
| | | ] |
| | | }] |
| | | }] |
| | | } |
| | | } |
| | | ] |
| | | } |
| | |
| | | |
| | | </head> |
| | | <body> |
| | | <div id="main"> |
| | | <div class="head"> |
| | | <div class="head-left"> |
| | | <h1>自动仓库WCS监控图</h1> |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | <div class="head-right"> |
| | | <img src="../static/images/zy-logo.png" alt="中扬" height="44" width="80"> |
| | | </div> |
| | | <div id="main"> |
| | | <div class="head"> |
| | | <div class="head-left"> |
| | | <h1>自动仓库WCS监控图</h1> |
| | | <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6> |
| | | </div> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | <div class="head-right"> |
| | | <!-- <img src="../static/images/zy-logo.png" alt="徐工汉云" height="44" width="80">--> |
| | | </div> |
| | | </div> |
| | | <!-- 货架 + 堆垛机 + 入库站点 --> |
| | | <div class="main-part"> |
| | | |
| | | </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 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 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=""> |
| | | </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="machine-status"> |
| | | <div class="body-head">堆垛机状态</div> |
| | | <div class="state"> |
| | | <span>堆垛机 1</span> |
| | | <span class="state-ss machine-put-flag ">入库</span> |
| | | <div class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>堆垛机状态:</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 class="form-item-input"> |
| | | <input type="text" name="crnStatus" value=""> |
| | | </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 class="form-item"> |
| | | <div class="form-item-label"> |
| | | <span>异常:</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 class="form-item-input"> |
| | | <input type="text" name="error" value=""> |
| | | </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=""> |
| | | </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> |
| | | </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=""> |
| | | </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="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=""> |
| | | </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> |
| | | |
| | | </form> |
| | | </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=""> |
| | | </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="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=""> |
| | | </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> |
| | | |
| | | </form> |
| | | </div> |
| | | </div> |
| | | |
| | | </body> |
| | | |
| | |
| | | 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) { |
| | |
| | | } |
| | | </script> |
| | | <script type="text/javascript"> |
| | | // 弹窗站点信息 |
| | | $('.site').on('click', function () { |
| | | // 弹窗站点信息 —— 使用事件委托 |
| | | $(document).on('click', '.site', function () { |
| | | var id = this.id.split("-")[1]; |
| | | $("#siteWindow").attr("style", "display:block;");//显示div |
| | | $("#crnWindow").attr("style", "display:none;"); |
| | | $(".detailed").empty(); |
| | | $('.detailed').append(id + '站点详细信息'); |
| | | $("#siteWindow").css("display", "block"); // 显示站点信息窗口 |
| | | $("#crnWindow").css("display", "none"); |
| | | $(".detailed").empty().append(id + '站点详细信息'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/site/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | siteId: id |
| | | }, |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { siteId: id }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | for (var val in res.data) { |
| | |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | find.prop("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | }); |
| | | // 堆垛机信息 |
| | | $('.machine').on('click', function () { |
| | | |
| | | // 堆垛机信息 —— 使用事件委托 |
| | | $(document).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 + '号堆垛机'); |
| | | $("#crnWindow").css("display", "block"); |
| | | $("#siteWindow").css("display", "none"); |
| | | $(".detailed").empty().append(id + '号堆垛机'); |
| | | $.ajax({ |
| | | url: baseUrl + "/console/crn/detail", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: { |
| | | crnNo: id |
| | | }, |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { crnNo: id }, |
| | | method: 'post', |
| | | success: function (res) { |
| | | for (var val in res.data) { |
| | |
| | | if (find[0].type === 'text') { |
| | | find.val(res.data[val]); |
| | | } else if (find[0].type === 'checkbox') { |
| | | find.attr("checked", res.data[val] === 'Y'); |
| | | find.prop("checked", res.data[val] === 'Y'); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | }) |
| | | |
| | | }) |
| | | // 弹窗关闭 |
| | | $('button').on('click', function () { |
| | | $('#siteWindow').attr('style', 'display:none') |
| | |
| | | getSystemRunningStatus(); |
| | | getBarcodeInfo(); |
| | | getScaleInfo(); |
| | | // carAnimate(); |
| | | carAnimate2(); |
| | | // 实时访问 |
| | | setInterval(function () { |
| | | getCrnInfo(); |
| | |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | | } else { |
| | | alert(res.msg); |
| | | console.log(res.msg); |
| | | |
| | | } |
| | | } |
| | | }); |
| | |
| | | var sites = res.data; |
| | | for (var i = 0; i < sites.length; i++) { |
| | | var siteEl = $("#site-" + sites[i].siteId); |
| | | console.log(sites[i].siteId) |
| | | siteEl.attr("class", "site " + sites[i].siteStatus); |
| | | // siteEl.attr("class", "site site-auto-run-id"); |
| | | if (sites[i].workNo != null && sites[i].workNo > 0) { |
| | | siteEl.html(sites[i].siteId + "[" + sites[i].workNo + "]"); |
| | | } else { |
| | | siteEl.html(sites[i].siteId); |
| | | } |
| | | |
| | | if (sites[i].siteId === '1' || sites[i].siteId === '2' || sites[i].siteId === '3') { |
| | | if (sites[i].siteId === '16' || sites[i].siteId === '016') { |
| | | |
| | | carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); |
| | | } |
| | |
| | | } |
| | | // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000); |
| | | // crns[i].bay = 15; |
| | | |
| | | var offSet = 0; |
| | | switch (i) { |
| | | case 0: |
| | | case 1: |
| | | case 2: |
| | | case 3: |
| | | unit = 18; |
| | | offSet = 500; |
| | | break; |
| | | case 5: |
| | | unit = 124; |
| | | offSet = 550; |
| | | break; |
| | | case 4: |
| | | case 6: |
| | | unit = 62; |
| | | offSet = 550; |
| | | break; |
| | | } |
| | | unit = 15; |
| | | offSet = 140; |
| | | |
| | | |
| | | if(crns[i].bay === 1){ |
| | | crnEl.animate({left: offSet + 'px'}, 1000); |
| | |
| | | if (res.code === 200) { |
| | | var barcodes = res.data; |
| | | for (var i = 0; i < barcodes.length; i++) { |
| | | $("#barcode-"+barcodes[i].barcodeId).html(barcodes[i].codeValue ? barcodes[i].codeValue : "--"); |
| | | $("#code-decoder-data-" + barcodes[i].barcodeId).html(barcodes[i].codeValue); |
| | | } |
| | | } else if (res.code === 403) { |
| | | parent.location.href = baseUrl + "/login"; |
| | |
| | | $("#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; |
| | | 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) { |
| | | // debugger |
| | | var targetTop = 0; |
| | | if (id === 1 || id === '1' || id === '2' || id === 2 || id === '3' || id === 3) { |
| | | if (id === 16 || id === '16' || id === '016') { |
| | | switch (target) { |
| | | case 1: |
| | | targetTop += 792; |
| | | targetTop += 827; |
| | | break; |
| | | case 2: |
| | | targetTop += 771; |
| | | targetTop += 765; |
| | | break; |
| | | case 3: |
| | | targetTop += 727; |
| | | targetTop += 651; |
| | | break; |
| | | case 4: |
| | | targetTop += 706; |
| | | targetTop += 589; |
| | | break; |
| | | case 5: |
| | | targetTop += 662; |
| | | targetTop += 505; |
| | | break; |
| | | case 6: |
| | | targetTop += 620; |
| | | targetTop += 443; |
| | | break; |
| | | case 7: |
| | | targetTop += 578; |
| | | targetTop += 362; |
| | | break; |
| | | case 8: |
| | | targetTop += 530; |
| | | targetTop += 297; |
| | | break; |
| | | case 9: |
| | | targetTop += 190; |
| | | targetTop += 243; |
| | | break; |
| | | case 10: |
| | | targetTop += 147; |
| | | break; |
| | | case 11: |
| | | targetTop += 107; |
| | | break; |
| | | case 12: |
| | | targetTop += 63; |
| | | targetTop += 129; |
| | | break; |
| | | default: |
| | | return; |
| | |
| | | return; |
| | | } |
| | | |
| | | $("#site-" + id).animate({top: targetTop + 'px'}, 1000); |
| | | $("#site-0" + id).animate({top: targetTop + 'px'}, 1000); |
| | | } |
| | | |
| | | //RGV车辆各站点距离数据 |
| | | let sitePosition = { |
| | | 101: '68px', |
| | | 102: '117px', |
| | | 122: '183px', |
| | | 104: '183px', |
| | | 105: '232px', |
| | | 118: '297px', |
| | | 107: '297px', |
| | | 108: '345px', |
| | | 119: '355px', |
| | | 110: '410px', |
| | | 120: '421px', |
| | | 111: '459px', |
| | | 121: '479px', |
| | | 113: '524px', |
| | | 123: '556px', |
| | | 114: '572px', |
| | | 1142: '600px', |
| | | 116: '639px', |
| | | 117: '687px', |
| | | } |
| | | |
| | | //RGV车移动动画 |
| | | function moveSite(siteId, staNo) { |
| | | $(siteId).animate({top: sitePosition[staNo]}, 1000); |
| | | } |
| | | |
| | | // moveSite("#site-1", 117);//测试移动方法,可删除 |
| | | |
| | | // Rgv实时数据获取 |
| | | function carAnimate2() { |
| | | // console.log("1=============1") |
| | | $.ajax({ |
| | | url: baseUrl + "/rgv/console/rgv/site/data", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var rgvMap = res.data; |
| | | for (var i = 0; i < rgvMap.length; i++) { |
| | | moveSite("#site-"+rgvMap[i].id, rgvMap[i].title); |
| | | } |
| | | } else { |
| | | console.log(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | </script> |
| | |
| | | <!-- <span> </span>--> |
| | | <input id="crn3" disabled="disabled"> |
| | | </div> |
| | | <!-- <div class="crn-command-item">--> |
| | | <!-- <label>4#</label>--> |
| | | <!-- <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> |
| | | <!-- <!– <span> </span>–>--> |
| | | <!-- <input id="crn4" disabled="disabled">--> |
| | | <!-- </div>--> |
| | | <div class="crn-command-item"> |
| | | <label>4#</label> |
| | | <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button> |
| | | <!-- <span> </span>--> |
| | | <input id="crn4" disabled="disabled"> |
| | | </div> |
| | | <!-- <div class="crn-command-item">--> |
| | | <!-- <label>5#</label>--> |
| | | <!-- <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> |
| | | <!-- <!– <span> </span>–>--> |
| | | <!-- <input id="crn5" disabled="disabled">--> |
| | | <!-- </div>--> |
| | | <!-- <div class="crn-command-item">--> |
| | | <!-- <label>6#</label>--> |
| | | <!-- <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>--> |
| | | <!-- <!– <span> </span>–>--> |
| | | <!-- <input id="crn6" disabled="disabled">--> |
| | | <!-- </div>--> |
| | | </div> |
| | | <!-- 堆垛机状态位信息 --> |
| | | <div class="crn-state"> |
| | |
| | | <th>目标站</th> |
| | | <th>源库位</th> |
| | | <th>目标库位</th> |
| | | <th>走行速度(m/min)</th> |
| | | <th>升降速度(m/min)</th> |
| | | <th>叉牙速度(m/min)</th> |
| | | <th>走行距离(Km)</th> |
| | | <th>升降距离(Km)</th> |
| | | <th>走行时长(H)</th> |
| | | <th>升降时长(H)</th> |
| | | <!-- <th>走行速度(m/min)</th>--> |
| | | <!-- <th>升降速度(m/min)</th>--> |
| | | <!-- <th>叉牙速度(m/min)</th>--> |
| | | <!-- <th>走行距离(Km)</th>--> |
| | | <!-- <th>升降距离(Km)</th>--> |
| | | <!-- <th>走行时长(H)</th>--> |
| | | <!-- <th>升降时长(H)</th>--> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | |
| | | <label><input type="radio" name="crnSelect" value="1" checked> 1号堆垛机</label> |
| | | <label><input type="radio" name="crnSelect" value="2"> 2号堆垛机</label> |
| | | <label><input type="radio" name="crnSelect" value="3"> 3号堆垛机</label> |
| | | <!-- <label><input type="radio" name="crnSelect" value="4"> 4号堆垛机</label>--> |
| | | <label><input type="radio" name="crnSelect" value="4"> 4号堆垛机</label> |
| | | <!-- <label><input type="radio" name="crnSelect" value="5"> 5号堆垛机</label>--> |
| | | <!-- <label><input type="radio" name="crnSelect" value="6"> 6号堆垛机</label>--> |
| | | </div> |
| | | </div> |
| | | <!-- 源站/源库位 选择 --> |
| | |
| | | <fieldset> |
| | | <legend>手动操作</legend> |
| | | <div class="button-group"> |
| | | <!-- <button class="item" onclick="put()">入库</button>--> |
| | | <!-- <button class="item" onclick="take()">出库</button>--> |
| | | <button class="item" onclick="put()">入库</button> |
| | | <button class="item" onclick="take()">出库</button> |
| | | <button class="item" onclick="stockMove()">库位转移</button> |
| | | <!-- <button class="item" onclick="siteMove()">站到站</button>--> |
| | | <button class="item" onclick="siteMove()">站到站</button> |
| | | <!-- <button class="item" onclick="bacOrigin()">回原点</button>--> |
| | | <!-- <button class="item" onclick="reverseOrigin()">反原点</button>--> |
| | | <!-- <button class="item" onclick="coorMove()">坐标移行</button>--> |
| | | <button class="item" onclick="taskComplete()">任务完成</button> |
| | | <!-- <button class="item" onclick="pause()">暂停</button>--> |
| | | <!-- <button class="item" onclick="boot()">启动</button>--> |
| | | <!-- <button class="item" onclick="clearCommand()">清除命令</button>--> |
| | | <!-- <button class="item" onclick="handleReset()">复位</button>--> |
| | | <button class="item" onclick="clearCommand()">清除命令</button> |
| | | <button class="item" onclick="handleReset()">复位</button> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | |
| | | setVal(tr.children("td").eq(4), table[i-1].staNo); |
| | | setVal(tr.children("td").eq(5), table[i-1].sourceLocNo); |
| | | setVal(tr.children("td").eq(6), table[i-1].locNo); |
| | | setVal(tr.children("td").eq(7), table[i-1].xspeed); |
| | | setVal(tr.children("td").eq(8), table[i-1].yspeed); |
| | | setVal(tr.children("td").eq(9), table[i-1].zspeed); |
| | | setVal(tr.children("td").eq(10), table[i-1].xdistance); |
| | | setVal(tr.children("td").eq(11), table[i-1].ydistance); |
| | | setVal(tr.children("td").eq(12), table[i-1].xduration); |
| | | setVal(tr.children("td").eq(13), table[i-1].yduration); |
| | | // setVal(tr.children("td").eq(7), table[i-1].xspeed); |
| | | // setVal(tr.children("td").eq(8), table[i-1].yspeed); |
| | | // setVal(tr.children("td").eq(9), table[i-1].zspeed); |
| | | // setVal(tr.children("td").eq(10), table[i-1].xdistance); |
| | | // setVal(tr.children("td").eq(11), table[i-1].ydistance); |
| | | // setVal(tr.children("td").eq(12), table[i-1].xduration); |
| | | // setVal(tr.children("td").eq(13), table[i-1].yduration); |
| | | } |
| | | } else if (res.code === 403){ |
| | | window.location.href = baseUrl+"/login"; |
| | |
| | | <li><a id="console" onclick="nav(this.id)" class="nav-select" href="#">主控图</a></li> |
| | | <li><a id="pipeline" onclick="nav(this.id)" class="nav-unselect" href="#">输送设备</a></li> |
| | | <li><a id="crn" onclick="nav(this.id)" class="nav-unselect" href="#">堆垛机</a></li> |
| | | <li><a id="rgv" onclick="nav(this.id)" class="nav-unselect" href="#">RGV</a></li> |
| | | <!-- <li><a id="rgv" onclick="nav(this.id)" class="nav-unselect" href="#">RGV</a></li>--> |
| | | </ul> |
| | | </div> |
| | | </div> |