diff --git a/.gitignore b/.gitignore index b09ff6fd6..7cec057b6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,8 @@ yarn-debug.log* yarn-error.log* package-lock.json tests/**/coverage/ -src/utils/baseUrl* +/src/utils/baseUrl.js +/src/utils/ # Editor directories and files .idea diff --git a/src/App.vue b/src/App.vue index 48c2ff43e..fe435c8d0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,7 @@ @@ -9,12 +9,16 @@ import { handleToken } from '@/utils/auth'; import { creatSubscribe, perpetualTopic } from '@/utils/stomp'; import DeomonTopic from '@/views/demonstration/deomonTopic'; +import WindowResizeHandler from '@/mixin/WindowResizeHandler'; + export default { name: 'App', components: { DeomonTopic - // QuickMenu }, + mixins: [ + WindowResizeHandler + ], watch: { '$store.state.socket.roomInvite': function (val) { if (val.creatorId) { @@ -27,6 +31,9 @@ export default { this.subscribe(); }, methods: { + resizeHandler() { + this.$store.dispatch('app/resize', {width: this._clientWidth, height: this._clientHeight}); + }, prohibitSystemContextMenu() { window.document.oncontextmenu = function () { return false; diff --git a/src/api/management/author.js b/src/api/management/author.js index c844787d1..c7e165645 100644 --- a/src/api/management/author.js +++ b/src/api/management/author.js @@ -10,14 +10,6 @@ export function getLessonPermissonPageList(params) { }); } -// 根据ID获取权限数据 -// export function getLessonPermissonDetail(id) { -// return request({ -// url: `/api/permission/${id}`, -// method: 'get' -// }); -// } - /** 创建课程权限*/ export function createLessonPermisson(data) { return request({ @@ -26,10 +18,36 @@ export function createLessonPermisson(data) { data: data }); } + +/** 获取权限详情*/ +export function getPermissonDetail(id) { + return request({ + url: `/api/permission/${id}/package`, + method: 'get' + }); +} + +/** 修改权限*/ +export function putPermissonDetail(data) { + return request({ + url: `/api/permission/${data.id}`, + method: 'put', + data: data + }); +} + +/** 一键生成所有权限*/ +export function postPermissonList(mapId) { + return request({ + url: `/api/permission/${mapId}/generate`, + method: 'post' + }); +} + /** 获取用户某课程某段时间内可用的权限数量*/ export function getTotalRemains(params) { return request({ - url: '/api/permission/totalRemains', + url: '/api/userPermission/totalRemains', method: 'get', params: params }); @@ -37,7 +55,7 @@ export function getTotalRemains(params) { /** 设置权限失效或有效*/ export function setLessonPermisson(data) { return request({ - url: `/api/permission/${data.id}/status`, + url: `/api/userPermission/${data.id}/status`, method: 'put', data: data }); @@ -48,7 +66,7 @@ export function setLessonPermisson(data) { */ export function queryPermissionSimulation(data) { return request({ - url: `/api/permission/${data.mapId}/${data.prdCode}/simulation`, + url: `/api/userPermission/${data.mapId}/${data.prdCode}/simulation`, method: 'get' }); } @@ -56,38 +74,28 @@ export function queryPermissionSimulation(data) { /** 获取大屏权限列表*/ export function queryPermissionScreen() { return request({ - url: `/api/permission/bigScreen`, + url: `/api/userPermission/bigScreen`, method: 'get' }); } -/** 更新课程权限*/ -/* -export function updateLessonPermisson(data) { - return request({ - url: '/api/permission', - method: 'put', - data: data - }); -} -*/ - -/** 删除课程权限*/ -/* -export function deleteLessonPermisson(id) { - return request({ - url: '/api/permission/' + id, - method: 'delete' - }); -} -*/ - /** * 用户权限列表 */ +export function listPermision(params) { + return request({ + url: `/api/userPermission`, + method: 'get', + params: params + }); +} + +/** + * 个人权限列表 + */ export function listUserPermision(params) { return request({ - url: `/api/permission/my`, + url: `/api/userPermission/my`, method: 'get', params: params }); @@ -101,10 +109,10 @@ export function getDistribute(id) { }); } -/** 用户权限列表 */ +/** 设置权限所有者 */ export function putPermissionOwner(data) { return request({ - url: `/api/permission/${data.id}/owner`, + url: `/api/userPermission/${data.id}/owner`, method: 'put', data: data.owner }); diff --git a/src/api/management/distribute.js b/src/api/management/distribute.js index f7424bbbc..5d68f8bbc 100644 --- a/src/api/management/distribute.js +++ b/src/api/management/distribute.js @@ -1,6 +1,6 @@ import request from '@/utils/request'; -/** 上课权限获取*/ +/** 权限转增*/ export function getLessons(data) { return request({ url: '/api/distribute/getLessons', @@ -9,15 +9,41 @@ export function getLessons(data) { }); } -/** 上课权限分发*/ +/** 权限分发*/ export function giveLessons(data) { return request({ - url: '/api/distribute/givePermission', + url: '/api/distribute/distribute', method: 'post', data: data }); } +/** 权限转增*/ +export function permissionTurnAdd(data) { + return request({ + url: '/api/distribute/transfer', + method: 'post', + data: data + }); +} + +/** 从订单分发权限(获取二维码)*/ +export function postDistribute(data) { + return request({ + url: `/api/distribute/${data.code}/distribute`, + method: 'post', + data: data + }); +} + +/** 权限获取*/ +export function getPermission(state) { + return request({ + url: `/api/distribute/getPermission?state=${state}`, + method: 'get' + }); +} + /** 接收课程权限*/ export function receiveLessons(data) { return request({ diff --git a/src/api/management/goods.js b/src/api/management/goods.js index 5e9b6fd59..7c87f2e5a 100644 --- a/src/api/management/goods.js +++ b/src/api/management/goods.js @@ -66,7 +66,7 @@ export function getCommodityDetailById(id) { */ export function updataCommodityList(data) { return request({ - url: `/api/goods`, + url: `/api/goods/${data.id}`, method: 'put', data: data }); diff --git a/src/api/runplan.js b/src/api/runplan.js index 229c57b1d..8876c8220 100644 --- a/src/api/runplan.js +++ b/src/api/runplan.js @@ -277,20 +277,14 @@ export function deleteRunPlanTemplate(planId) { } /** 生成通用每日运行图*/ -export function generateCommonRunPlanEveryDay(planId) { +export function generateCommonRunPlanEveryDay(planId, params) { return request({ url: `/api/runPlan/template/generate/${planId}`, - method: 'post' + method: 'post', + params }); } -/** 生成用户每日运行图*/ -export function generateUserRunPlanEveryDay(planId, group) { - return request({ - url: `/api/runPlan/daily/privilege/${planId}?group=${group}`, - method: 'post' - }); -} /** 获取运行计划每日列表*/ export function runPlanEveryDayList(params) { return request({ @@ -309,20 +303,12 @@ export function deleteRunPlanEveryDay(planId) { } /** 获取地图运行图的车次号*/ -export function getPublishMapTrainNos(skinCode) { - return request({ - url: `/api/runPlan/daily/${skinCode}/trainNos`, - method: 'get' - }); -} - -/** 获取服务号、车组号*/ -export function getPublishMapTrainServerNos(skinCode) { - return request({ - url: `/api/runPlan/daily/${skinCode}/serverNos`, - method: 'get' - }); -} +// export function getPublishMapTrainNos(skinCode) { +// return request({ +// url: `/api/runPlan/daily/${skinCode}/trainNos`, +// method: 'get' +// }); +// } /** 分页查询加载计划*/ export function getRunPlanLoadList(params) { @@ -374,3 +360,11 @@ export function queryRunPlanDaily(planId) { method: 'get' }); } + +/** 获取模板运行图列表*/ +export function listAllTempLateRunPlan() { + return request({ + url: `/api/runPlan/template/all`, + method: 'get' + }); +} diff --git a/src/api/scheduling.js b/src/api/scheduling.js new file mode 100644 index 000000000..253dd304c --- /dev/null +++ b/src/api/scheduling.js @@ -0,0 +1,46 @@ +import request from '@/utils/request'; + +export function querySecheduling(group, params) { + return request({ + url: `/api/scheduling/${group}/day`, + method: 'get', + params + }); +} + +export function generateScheduling(group, params) { + return request({ + url: `/api/scheduling/${group}/generate`, + method: 'post', + params + }); +} + +export function getSchedulingAllTrains(group) { + return request({ + url: `/api/scheduling/${group}/train/all`, + method: 'get' + }); +} + +export function checkScheduling(group) { + return request({ + url: `/api/scheduling/${group}/check`, + method: 'post' + }); +} + +export function saveScheduling(group, data) { + return request({ + url: `/api/scheduling/${group}/save`, + method: 'post', + data + }); +} + +export function generateSchedulingAgain(group) { + return request({ + url: `/api/scheduling/${group}/rebuild`, + method: 'delete' + }); +} diff --git a/src/api/simulation.js b/src/api/simulation.js index 60e1053b1..b8161a02d 100644 --- a/src/api/simulation.js +++ b/src/api/simulation.js @@ -160,14 +160,6 @@ export function getEveryDayRunPlanData(group) { }); } -/** 生成手机同步仿真二维码*/ -// export function getSimulationQrCodeUrl(group) { -// return request({ -// url: `/api/simulation/${group}/qrCode`, -// method: 'post' -// }); -// } - /** 录制脚本仿真*/ export function scriptRecordNotify(scriptId) { return request({ @@ -239,7 +231,7 @@ export function selectScriptMembers(group, data) { export function modifyScriptMemberSex(group, playerId, data) { return request({ url: `/api/simulation/${group}/scriptWrite/player/${playerId}?gender=${data.gender}`, - method: 'put', + method: 'put' }); } @@ -293,85 +285,6 @@ export function modifyScriptAction(group, actionId, data) { }); } -// /** 根据成员角色查询设备列表*/ -// export function getDevicesByRole(group, params) { -// return request({ -// url: `/api/simulation/${group}/role/devices`, -// method: 'get', -// params -// }); -// } -// /** 获取任务录制的成员角色列表 */ -// export function getMembersByGroup(group) { -// return request({ -// url: `/api/simulation/${group}/questRecord/members`, -// method: 'get' -// }); -// } - -// /** 添加任务角色成员 */ -// export function postQuestMember(group, data) { -// return request({ -// url: `/api/simulation/${group}/questRecord/member`, -// method: 'post', -// data -// }); -// } - -// /** 删除任务角色成员 */ -// export function deleteQuestMember(group, memberId) { -// return request({ -// url: `/api/simulation/${group}/questRecord/member/${memberId}`, -// method: 'delete' -// }); -// } - -// // /** 添加/修改任务角色行为 */ -// export function postMemberBehavior(group, memberId, data) { -// return request({ -// url: `/api/simulation/${group}/questRecord/${memberId}/behavior`, -// method: 'post', -// data -// }); -// } -// /** 删除任务角色行为 */ -// export function deleteMemberBehavior(group, memberId, behaviorId) { -// return request({ -// url: `/api/simulation/${group}/questRecord/${memberId}/behavior/${behaviorId}`, -// method: 'delete' -// }); -// } -// /** 删除任务角色行为动作 */ -// export function deleteMemberBehaviorAction(group, memberId, behaviorId, actionId) { -// return request({ -// url: `/api/simulation/${group}/questRecord/${memberId}/behavior/${behaviorId}/action/${actionId}`, -// method: 'delete' -// }); -// } -// /** 添加/修改任务角色行为动作 */ -// export function postMemberBehaviorAction(group, memberId, behaviorId, data) { -// return request({ -// url: `/api/simulation/${group}/questRecord/${memberId}/behavior/${behaviorId}/action`, -// method: 'post', -// data -// }); -// } -// /** 添加/修改任务目标条件*/ -// export function postTargetConditionAction(group, data) { -// return request({ -// url: `/api/simulation/${group}/questRecord/targetCondition`, -// method: 'post', -// data -// }); -// } -// /** 删除任务目标条件*/ -// export function deleteTargetConditionAction(group, tcId) { -// return request({ -// url: `/api/simulation/${group}/questRecord/targetCondition/${tcId}`, -// method: 'delete' -// }); -// } - /** 分页查询存在的仿真 */ export function getExistingSimulation(params) { return request({ @@ -396,14 +309,6 @@ export function getDeviceCodeByDeviceType(group, params) { params }); } -// /** 根据设备类型获取设备条件列表 */ -// export function getDeviceCoditionByDeviceType(params) { -// return request({ -// url: `/api/simulation/deviceType/conditions`, -// method: 'get', -// params -// }); -// } /** 获取任务录制的数据 */ export function getScriptRecord(group) { @@ -486,3 +391,20 @@ export function executeScript(group) { method: 'post' }); } + +/** 生成用户自己的当日运行图*/ +export function generateDayRunPlan(planId, group) { + return request({ + url: `/api/simulation/${group}/loadRunPlan/${planId}`, + method: 'post' + }); +} + +/** 创建排班计划仿真*/ +export function schedulingNotify(params) { + return request({ + url: `/api/scheduling/simulation`, + method: 'post', + params + }); +} diff --git a/src/assets/ibp_images/alarm.png b/src/assets/ibp_images/alarm.png index 996d2e957..6319ecc4f 100644 Binary files a/src/assets/ibp_images/alarm.png and b/src/assets/ibp_images/alarm.png differ diff --git a/src/assets/ibp_images/appendage_box.png b/src/assets/ibp_images/appendage_box.png new file mode 100644 index 000000000..5d26ada38 Binary files /dev/null and b/src/assets/ibp_images/appendage_box.png differ diff --git a/src/assets/ibp_images/clock/clock_0.png b/src/assets/ibp_images/clock/clock_0.png new file mode 100644 index 000000000..b1afd7ec3 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_0.png differ diff --git a/src/assets/ibp_images/clock/clock_1.png b/src/assets/ibp_images/clock/clock_1.png new file mode 100644 index 000000000..b6825acf2 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_1.png differ diff --git a/src/assets/ibp_images/clock/clock_2.png b/src/assets/ibp_images/clock/clock_2.png new file mode 100644 index 000000000..f77c4091f Binary files /dev/null and b/src/assets/ibp_images/clock/clock_2.png differ diff --git a/src/assets/ibp_images/clock/clock_3.png b/src/assets/ibp_images/clock/clock_3.png new file mode 100644 index 000000000..ad05d7d64 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_3.png differ diff --git a/src/assets/ibp_images/clock/clock_4.png b/src/assets/ibp_images/clock/clock_4.png new file mode 100644 index 000000000..d307c8938 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_4.png differ diff --git a/src/assets/ibp_images/clock/clock_5.png b/src/assets/ibp_images/clock/clock_5.png new file mode 100644 index 000000000..bc7f02388 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_5.png differ diff --git a/src/assets/ibp_images/clock/clock_6.png b/src/assets/ibp_images/clock/clock_6.png new file mode 100644 index 000000000..a432741ab Binary files /dev/null and b/src/assets/ibp_images/clock/clock_6.png differ diff --git a/src/assets/ibp_images/clock/clock_7.png b/src/assets/ibp_images/clock/clock_7.png new file mode 100644 index 000000000..a9560b395 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_7.png differ diff --git a/src/assets/ibp_images/clock/clock_8.png b/src/assets/ibp_images/clock/clock_8.png new file mode 100644 index 000000000..b19fb0f2a Binary files /dev/null and b/src/assets/ibp_images/clock/clock_8.png differ diff --git a/src/assets/ibp_images/clock/clock_9.png b/src/assets/ibp_images/clock/clock_9.png new file mode 100644 index 000000000..6874d2617 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_9.png differ diff --git a/src/assets/ibp_images/clock/clock_bg.png b/src/assets/ibp_images/clock/clock_bg.png new file mode 100644 index 000000000..f751ca15c Binary files /dev/null and b/src/assets/ibp_images/clock/clock_bg.png differ diff --git a/src/assets/ibp_images/clock/clock_colon.png b/src/assets/ibp_images/clock/clock_colon.png new file mode 100644 index 000000000..d2d39a985 Binary files /dev/null and b/src/assets/ibp_images/clock/clock_colon.png differ diff --git a/src/assets/ibp_images/elevatorArrow.png b/src/assets/ibp_images/elevatorArrow.png new file mode 100644 index 000000000..8120b68ce Binary files /dev/null and b/src/assets/ibp_images/elevatorArrow.png differ diff --git a/src/assets/ibp_images/elevatorArrow_on.png b/src/assets/ibp_images/elevatorArrow_on.png new file mode 100644 index 000000000..7b898b922 Binary files /dev/null and b/src/assets/ibp_images/elevatorArrow_on.png differ diff --git a/src/assets/ibp_images/ibp_bg.png b/src/assets/ibp_images/ibp_bg.png index ba2d03cbf..47bb6eb6a 100644 Binary files a/src/assets/ibp_images/ibp_bg.png and b/src/assets/ibp_images/ibp_bg.png differ diff --git a/src/assets/ibp_images/key.png b/src/assets/ibp_images/key.png new file mode 100644 index 000000000..ce2edd5ca Binary files /dev/null and b/src/assets/ibp_images/key.png differ diff --git a/src/assets/ibp_images/key_on.png b/src/assets/ibp_images/key_on.png new file mode 100644 index 000000000..7ab133914 Binary files /dev/null and b/src/assets/ibp_images/key_on.png differ diff --git a/src/assets/ibp_images/keyhole.png b/src/assets/ibp_images/keyhole.png new file mode 100644 index 000000000..b31e041f2 Binary files /dev/null and b/src/assets/ibp_images/keyhole.png differ diff --git a/src/assets/ibp_images/rotate_black.png b/src/assets/ibp_images/rotate_black.png index cc24ab15f..6f9ad48b6 100644 Binary files a/src/assets/ibp_images/rotate_black.png and b/src/assets/ibp_images/rotate_black.png differ diff --git a/src/assets/ibp_images/rotate_red.png b/src/assets/ibp_images/rotate_red.png index 0e7994d2d..2e06a141f 100644 Binary files a/src/assets/ibp_images/rotate_red.png and b/src/assets/ibp_images/rotate_red.png differ diff --git a/src/assets/ibp_images/telephone_terminal.png b/src/assets/ibp_images/telephone_terminal.png new file mode 100644 index 000000000..2916add46 Binary files /dev/null and b/src/assets/ibp_images/telephone_terminal.png differ diff --git a/src/components/QueryListPage/QueryListPage.vue b/src/components/QueryListPage/QueryListPage.vue index ea6077051..1faf56ee3 100644 --- a/src/components/QueryListPage/QueryListPage.vue +++ b/src/components/QueryListPage/QueryListPage.vue @@ -63,8 +63,7 @@ :sortable="column.sortable" > {{ getTableBtnName(button.name, - scope.$index, scope.row) }} + >{{ getTableBtnName(button.name, scope.$index, scope.row) }} @@ -454,6 +452,9 @@ export default { }, currentChoose() { return this.choose; + }, + refresh() { + this.queryList.data = [...this.queryList.data]; } } diff --git a/src/i18n/langs/en/router.js b/src/i18n/langs/en/router.js index bf68857ba..fa74379f1 100644 --- a/src/i18n/langs/en/router.js +++ b/src/i18n/langs/en/router.js @@ -13,7 +13,7 @@ export default { trainingRule: 'Training rules', trainingManage: 'Training management', taskManage: 'Task management', - scriptManage: 'Script management', + scriptManage: 'Script', teachSystem: 'Teaching', @@ -28,13 +28,14 @@ export default { replayManage: 'Playback', permissionManage: 'Permission', + selfPermission: 'My Permission', pulishManage: 'Publication', publishMapManage: 'Publishing map management', productStateManage: 'Product state management', publishLessonManage: 'Publishing lesson management', runPlanTemplateManage: 'Template plan management', - runPlanCommonManage: 'General plan management', + runPlanCommonManage: 'Loading Plan Managemen', runPlanEveryDayManage: 'Daily plan Management', examRuleManage: 'Management of examination rules', @@ -43,6 +44,7 @@ export default { orderManage: 'Order management', authorityManage: 'authority management', authorityTransferManage: 'Privilege distribution management', + userRulesManage: 'User Rights Statistics', addCommodity: 'Adding goods', addOrder: 'Adding orders', addCoursePermissions: 'Adding course permissions', diff --git a/src/i18n/langs/zh/global.js b/src/i18n/langs/zh/global.js index 7a0f9c4e1..5030b44c2 100644 --- a/src/i18n/langs/zh/global.js +++ b/src/i18n/langs/zh/global.js @@ -144,6 +144,6 @@ export default { line: '线路:', permissionList: '权限列表:', remove: '移除', - append: '添加', + append: '添 加', release: '发布' }; diff --git a/src/i18n/langs/zh/orderAuthor.js b/src/i18n/langs/zh/orderAuthor.js index e0012e7fd..60c07602c 100644 --- a/src/i18n/langs/zh/orderAuthor.js +++ b/src/i18n/langs/zh/orderAuthor.js @@ -46,7 +46,7 @@ export default { renew: '续费', productName: '产品名称', recovery: '回收', - permissionPack: '权限包', + permissionPack: '包权限', privilegeTransferQRCode: '权限转赠二维码', generatingQRCode: '生成二维码', transferQRCode: '转赠二维码', diff --git a/src/i18n/langs/zh/permission.js b/src/i18n/langs/zh/permission.js index 3e99db472..5e2f60423 100644 --- a/src/i18n/langs/zh/permission.js +++ b/src/i18n/langs/zh/permission.js @@ -10,7 +10,7 @@ export default { permissionStatus: '权限状态', permissionUseType: '公用/专用', permissionTotal: '权限总数', - permissionRemains: '生于权限', + permissionRemains: '剩余权限', isForever: '是否永久', startTime: '开始时间', endTime: '结束时间', diff --git a/src/i18n/langs/zh/router.js b/src/i18n/langs/zh/router.js index b6cac578e..fc18a0c13 100644 --- a/src/i18n/langs/zh/router.js +++ b/src/i18n/langs/zh/router.js @@ -28,13 +28,14 @@ export default { replayManage: '回放管理', permissionManage: '权限管理', + selfPermission: '我的权限', pulishManage: '发布内容管理', publishMapManage: '发布地图管理', productStateManage: '产品状态管理', publishLessonManage: '发布课程管理', runPlanTemplateManage: '模板运行图管理', - runPlanCommonManage: '通用运行图管理', + runPlanCommonManage: '加载计划运行图管理', runPlanEveryDayManage: '每日运行图管理', examRuleManage: '试题规则管理', @@ -43,6 +44,7 @@ export default { orderManage: '订单管理', authorityManage: '权限管理', authorityTransferManage: '权限分发管理', + userRulesManage: '用户权限统计', addCommodity: '添加商品', addOrder: '添加订单', addCoursePermissions: '添加课程权限', @@ -51,9 +53,9 @@ export default { dataDictionary: '数据字典', dataDictionaryDetails: '数据字典明细', userManage: '用户管理', - userTrainingManage: '用户实训管理', - userExamManage: '用户考试管理', - userSimulationManage: '用户仿真管理', + userTrainingManage: '用户实训统计', + userExamManage: '用户考试统计', + userSimulationManage: '用户仿真统计', existingSimulation: '存在仿真管理', ibpDraw: 'Ibp盘绘制' diff --git a/src/ibp/constant/deviceRender.js b/src/ibp/constant/deviceRender.js index ef76c84d6..f202bef70 100644 --- a/src/ibp/constant/deviceRender.js +++ b/src/ibp/constant/deviceRender.js @@ -4,32 +4,33 @@ const deviceRender = {}; /** IbpText渲染配置*/ deviceRender[deviceType.IbpText] = { - zlevel: 1 + zlevel: 3 }; /** SquareButton渲染配置*/ deviceRender[deviceType.SquareButton] = { - zlevel: 1 + zlevel: 3 }; /** WarnButton渲染配置*/ deviceRender[deviceType.WarnButton] = { - zlevel: 1 + zlevel: 3 }; /** Arrow渲染配置*/ deviceRender[deviceType.Arrow] = { - zlevel: 1 + zlevel: 2 }; /** RotatingButton渲染配置*/ deviceRender[deviceType.RotatingButton] = { - zlevel: 1 + zlevel: 3 }; -/** Tip渲染配置*/ -deviceRender[deviceType.Tip] = { - zlevel: 1 +/** TipBox渲染配置*/ +deviceRender[deviceType.TipBox] = { + zlevel: 2, + z: 2 }; /** BackGround渲染配置*/ @@ -39,6 +40,43 @@ deviceRender[deviceType.Background] = { /** CircularLamp渲染配置 */ deviceRender[deviceType.CircularLamp] = { + zlevel: 3 +}; + +/** AppendageBox渲染配置 */ +deviceRender[deviceType.AppendageBox] = { zlevel: 1 }; + +/** IbpLine渲染配置 */ +deviceRender[deviceType.IbpLine] = { + zlevel: 1 +}; + +/** Elevator 渲染配置 */ +deviceRender[deviceType.Elevator] = { + zlevel: 2, + z: 1 +}; + +/** Key 渲染配置 */ +deviceRender[deviceType.Key] = { + zlevel: 4 +}; + +/** TeleTerminal 渲染配置 */ +deviceRender[deviceType.TeleTerminal] = { + zlevel: 3 +}; + +/** Clock 渲染配置*/ +deviceRender[deviceType.Clock] = { + zlevel: 3 +}; + +/** RotateTip 渲染配置 */ +deviceRender[deviceType.RotateTip] = { + zlevel: 3 +}; + export default deviceRender; diff --git a/src/ibp/constant/deviceType.js b/src/ibp/constant/deviceType.js index 90d429fc8..a61df0c64 100644 --- a/src/ibp/constant/deviceType.js +++ b/src/ibp/constant/deviceType.js @@ -1,12 +1,19 @@ const deviceType = { IbpText: 'IbpText', SquareButton: 'SquareButton', - WarnButton: 'WarnButton', Arrow: 'Arrow', RotatingButton: 'RotatingButton', - Tip: 'Tip', + TipBox: 'TipBox', Background: 'Background', - CircularLamp: 'CircularLamp' + CircularLamp: 'CircularLamp', + IbpLine: 'IbpLine', + AppendageBox: 'AppendageBox', + Alarm: 'Alarm', + Elevator: 'Elevator', + Key: 'Key', + TeleTerminal: 'TeleTerminal', + Clock: 'Clock', + RotateTip: 'RotateTip' }; export default deviceType; diff --git a/src/ibp/constant/ibpData.js b/src/ibp/constant/ibpData.js index 656fc75cc..0b6b17b2b 100644 --- a/src/ibp/constant/ibpData.js +++ b/src/ibp/constant/ibpData.js @@ -1,51 +1,2 @@ - -const ibpData = { - background: { - type: 'Background', - code: 'bg_0000' - }, - arrowList: [ - { - type: 'Arrow', - code: '1111_arrow', - point: { - x: 510, - y: 400 - }, - length: 488, - stroke: '#0000CD', - fill: '#0000CD', - lineWidth: 1, - direction: '上行', - stationstandDirection: '三桥方向' - }, - { - type: 'Arrow', - code: '1222_arrow', - point: { - x: 510, - y: 200 - }, - length: 488, - stroke: '#0000CD', - fill: '#0000CD', - lineWidth: 1, - direction: '下行', - stationstandDirection: '车辆段方向' - } - ], - circularLampList: [ - { - type: 'CircularLamp', - code: '1333_lamp', - point: { - x: 600, - y: 600 - }, - r: 40, - fillColor: '#332C22' - } - ] -}; - +const ibpData = {"background":{"_type":"Background","code":"bg_0000","width":4096,"height":1024,"zlevel":0},"arrowList":[{"zlevel":2,"z":1,"point":{"x":518,"y":273},"_type":"Arrow","code":"arrow_0001","orientation":"left","fill":"#0000CD","width":10,"length":488,"lineWidth":1},{"zlevel":2,"z":1,"point":{"x":518,"y":377},"_type":"Arrow","code":"arrow_0002","orientation":"right","fill":"#0000CD","width":10,"length":488,"lineWidth":1},{"zlevel":2,"z":1,"point":{"x":2974,"y":255},"_type":"Arrow","code":"arrow_4175812644734","orientation":"left","fill":"#0000CD","width":10,"length":172,"lineWidth":1},{"zlevel":2,"z":1,"point":{"x":2977,"y":381},"_type":"Arrow","code":"arrow_4175975962338","orientation":"right","fill":"#0000CD","width":10,"length":172,"lineWidth":1},{"zlevel":2,"z":1,"point":{"x":3632,"y":256},"_type":"Arrow","code":"arrow_41839558767141","orientation":"left","fill":"#0000CD","width":10,"length":414,"lineWidth":1},{"zlevel":2,"z":1,"point":{"x":3633,"y":380},"_type":"Arrow","code":"arrow_4184617987898","orientation":"right","fill":"#0000CD","width":10,"length":414,"lineWidth":1}],"circularLampList":[{"zlevel":3,"z":1,"point":{"x":549,"y":500},"_type":"CircularLamp","code":"lamp_4131658685771","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":646,"y":499},"_type":"CircularLamp","code":"lamp_41318382693510","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":1888,"y":110},"_type":"CircularLamp","code":"lamp_41642384928515","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":1962,"y":109},"_type":"CircularLamp","code":"lamp_41642491326562","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2039,"y":110},"_type":"CircularLamp","code":"lamp_41642549077834","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2109,"y":109},"_type":"CircularLamp","code":"lamp_4164317797683","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2182,"y":110},"_type":"CircularLamp","code":"lamp_41643164927195","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":1986,"y":476},"_type":"CircularLamp","code":"lamp_41715522921607","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2864,"y":183},"_type":"CircularLamp","code":"lamp_41754266926174","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2938,"y":183},"_type":"CircularLamp","code":"lamp_41754403732853","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2864,"y":427},"_type":"CircularLamp","code":"lamp_41885246733","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2937,"y":426},"_type":"CircularLamp","code":"lamp_4189474357636","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":3621,"y":181},"_type":"CircularLamp","code":"lamp_4193379315744","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":3524,"y":281},"_type":"CircularLamp","code":"lamp_590451103611","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":3621,"y":427},"_type":"CircularLamp","code":"lamp_591242466193","r":8,"fillColor":"#332C22"},{"zlevel":3,"z":1,"point":{"x":2670,"y":355},"_type":"CircularLamp","code":"lamp_51533188773658","r":8,"fillColor":"#332C22"}],"textList":[{"code":"text_0001","context":"隧 道 紧 急 通 风","fontFamily":"consolas","fontSize":38,"fontWeight":900,"point":{"x":442,"y":30},"textFill":"#000","z":1,"zlevel":3,"_type":"IbpText"},{"zlevel":3,"z":1,"point":{"x":40,"y":243},"code":"text_0002","_type":"IbpText","context":"车 辆 段 方 向","textFill":"#000","fontSize":22,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":41,"y":287},"code":"text_0003","_type":"IbpText","context":"下 行","textFill":"#000","fontSize":22,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":943,"y":349},"code":"text_0004","_type":"IbpText","context":"上 行","textFill":"#000","fontSize":22,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":874,"y":389},"code":"text_0005","_type":"IbpText","context":"三 桥 方 向","textFill":"#000","fontSize":22,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":87,"y":201},"code":"text_0006","_type":"IbpText","context":" DH14\n入段线车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":138,"y":202},"code":"text_0008","_type":"IbpText","context":" DH15\n入段线车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":186,"y":200},"code":"text_0009","_type":"IbpText","context":" DH16\n入段线车中\n 进洞口\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":235,"y":200},"code":"text_4101339933514","_type":"IbpText","context":" DH17\n入段线车中\n 进洞口\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":281,"y":200},"code":"text_41015558239831","_type":"IbpText","context":" DH18\n入段线车中\n 近站端\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":333,"y":200},"code":"text_4101817285946","_type":"IbpText","context":" DH19\n入段线车中\n 进站端\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":417,"y":201},"code":"text_41022504805842","_type":"IbpText","context":"HS20\n车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":467,"y":199},"code":"text_41023582961187","_type":"IbpText","context":"HS21\n车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":505,"y":199},"code":"text_41024357034066","_type":"IbpText","context":" HS22\n 车中\n 近后卫寨\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":556,"y":199},"code":"text_41025561198680","_type":"IbpText","context":" HS23\n 车中\n 近后卫寨\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":604,"y":199},"code":"text_4103078481189","_type":"IbpText","context":" HS24\n 车中\n 近风井\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":654,"y":199},"code":"text_41031425832992","_type":"IbpText","context":" HS25\n 车中\n 近风井\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":734,"y":200},"code":"text_41036487831793","_type":"IbpText","context":"HS26\n车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":784,"y":200},"code":"text_41037448007888","_type":"IbpText","context":"HS27\n车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":823,"y":198},"code":"text_41038349206672","_type":"IbpText","context":" HS28\n 车中\n 近风井\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":872,"y":199},"code":"text_41042449209958","_type":"IbpText","context":" HS29\n 车中\n 近风井\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":922,"y":199},"code":"text_41044376818284","_type":"IbpText","context":" HS30\n 车中\n 近三桥\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":969,"y":199},"code":"text_4104658711371","_type":"IbpText","context":" HS31\n 车中\n 近三桥\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":89,"y":446},"code":"text_41115231045004","_type":"IbpText","context":" DH08\n出线段车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":136,"y":447},"code":"text_41116273364907","_type":"IbpText","context":" DH09\n出线段车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":187,"y":447},"code":"text_41117234729714","_type":"IbpText","context":" DH10\n出线段车中\n 近洞口\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":235,"y":447},"code":"text_41118537682079","_type":"IbpText","context":" DH11\n出线段车中\n 近洞口\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":288,"y":446},"code":"text_41122462638800","_type":"IbpText","context":" DH12\n出线段车中\n 近站端\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":338,"y":447},"code":"text_4112461757268","_type":"IbpText","context":" DH13\n出线段车中\n 近站端\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":416,"y":445},"code":"text_41125556167293","_type":"IbpText","context":"HS08\n车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":465,"y":445},"code":"text_41126347113903","_type":"IbpText","context":"HS09\n车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":507,"y":446},"code":"text_41127161832649","_type":"IbpText","context":" HS10\n 车中\n 近后卫寨\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":555,"y":447},"code":"text_41128408327201","_type":"IbpText","context":" HS11\n 车中\n 近后卫寨\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":604,"y":446},"code":"text_4125942461520","_type":"IbpText","context":" HS12\n 车中\n 近风井\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":652,"y":447},"code":"text_4131124852381","_type":"IbpText","context":" HS13\n 车中\n 近风井\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":736,"y":446},"code":"text_4132384456747","_type":"IbpText","context":"HS14\n车头","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":784,"y":444},"code":"text_4133296692590","_type":"IbpText","context":"HS15\n车尾","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":822,"y":446},"code":"text_4134332217879","_type":"IbpText","context":" HS16\n 车中\n 近风井\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":872,"y":445},"code":"text_4135391402165","_type":"IbpText","context":" HS17\n 车中\n 近风井\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":920,"y":444},"code":"text_413734316654","_type":"IbpText","context":" HS18\n 车中\n 近三桥\n疏散逆行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":971,"y":444},"code":"text_413882776642","_type":"IbpText","context":" HS19\n 车中\n 近三桥\n疏散同行车","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":282,"y":526},"code":"text_41310125966053","_type":"IbpText","context":"IBP试灯","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":332,"y":495},"code":"text_41311121817148","_type":"IbpText","context":"专业人员定期\n按压、检查","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":524,"y":518},"code":"text_41317486621504","_type":"IbpText","context":"自动状态","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":623,"y":520},"code":"text_4131916129","_type":"IbpText","context":"手动状态","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":681,"y":493},"code":"text_4131748422577","_type":"IbpText","context":"正常位为\n“自动”位:\n根据环调\n指令,如需\n人工操作时\n转至手动位\n按压上方对\n应按钮","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":769,"y":504},"code":"text_4148249096842","_type":"IbpText","context":"自动","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":734,"y":531},"code":"text_4141181575325","_type":"IbpText","context":"手动","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":829,"y":524},"code":"text_41412426926359","_type":"IbpText","context":"复位","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1054,"y":200},"code":"text_415356693561","_type":"IbpText","context":" XA04\n通风空调电控室\n 灭火时\n","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1137,"y":200},"code":"text_4155316378988","_type":"IbpText","context":" XA06\n通信电源室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1210,"y":201},"code":"text_4156432128042","_type":"IbpText","context":" XA08\n通信设备室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1067,"y":275},"code":"text_4158217804290","_type":"IbpText","context":" XA10\n蓄电池室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1142,"y":276},"code":"text_4159166523947","_type":"IbpText","context":" XA12\n信号电源室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1214,"y":275},"code":"text_415954685476","_type":"IbpText","context":" XA14\n信号设备室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1067,"y":347},"code":"text_4151159093828","_type":"IbpText","context":" XA16\n综合监控室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1135,"y":347},"code":"text_41511476379556","_type":"IbpText","context":" XA18\n屏蔽门控制室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1205,"y":347},"code":"text_41512491889718","_type":"IbpText","context":" XA20\n民用通信设备室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1062,"y":422},"code":"text_41513423648140","_type":"IbpText","context":" XA22\n站厅防烟分区1\n车控站长、AFC、\n值班会议、更衣","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1131,"y":421},"code":"text_41517561655340","_type":"IbpText","context":" XA23\n站厅防烟分区2\n 走道","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1209,"y":420},"code":"text_41519343254392","_type":"IbpText","context":" XA24\n站厅防烟分区3\n通风空调机房","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1061,"y":495},"code":"text_41520423096113","_type":"IbpText","context":" XA25\n气瓶、照明配、\n备品、保洁、电\n井、乘务员室等","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1311,"y":200},"code":"text_41534145981544","_type":"IbpText","context":" DW05\n站厅公共区","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1310,"y":275},"code":"text_41534554285116","_type":"IbpText","context":" DW06\n站台公共区","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1311,"y":349},"code":"text_4153529603395","_type":"IbpText","context":" DW07\n上行轨行区","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1311,"y":423},"code":"text_41537305253717","_type":"IbpText","context":" DW08\n下行轨行区","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1118,"y":132},"code":"text_4153858164985","_type":"IbpText","context":"A端 小 系 统","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1303,"y":133},"code":"text_41539324608403","_type":"IbpText","context":"大 系 统","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1462,"y":133},"code":"text_41540394521279","_type":"IbpText","context":"B端 小 系 统","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1401,"y":200},"code":"text_4155017189648","_type":"IbpText","context":" XB04\n0.4KV开关柜室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1471,"y":201},"code":"text_4155130909534","_type":"IbpText","context":" XB06\n35KV开关柜室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1546,"y":200},"code":"text_41552448283016","_type":"IbpText","context":" XB08\n直流开关柜室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1403,"y":275},"code":"text_41554135973266","_type":"IbpText","context":" XB10\n整流变压器室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1473,"y":276},"code":"text_41555434523453","_type":"IbpText","context":" XB12\n照明配电盖蓄电\n 池室灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1546,"y":276},"code":"text_41559125721130","_type":"IbpText","context":" XB14\n冷水机房电控室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1400,"y":346},"code":"text_4160221004491","_type":"IbpText","context":" XB16\n通风空调电控室\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1487,"y":346},"code":"text_41612760997","_type":"IbpText","context":" XB18\n控制室\n灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1560,"y":347},"code":"text_4162343487602","_type":"IbpText","context":" XB20\n警务机房\n灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1399,"y":419},"code":"text_4163345005659","_type":"IbpText","context":" XB22\n站厅防烟分区1\n 走道","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1476,"y":420},"code":"text_41643697261","_type":"IbpText","context":" XB23\n站厅防烟分区2\n通风空调机房","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1551,"y":419},"code":"text_416627561308","_type":"IbpText","context":" XB24\n站厅防烟分区3\n 冷水机房","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1399,"y":493},"code":"text_4167203645771","_type":"IbpText","context":" XB25\n气瓶、照明配、保\n洁、电井、警务、工\n务、检修等等","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1630,"y":131},"code":"text_41619184366041","_type":"IbpText","context":"C端 小 系 统","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1731,"y":134},"code":"text_4162029006925","_type":"IbpText","context":"D端 小 系 统","textFill":"#000","fontSize":12,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1653,"y":201},"code":"text_41621103168861","_type":"IbpText","context":" XC03\n区间跟随所\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1660,"y":275},"code":"text_4162244286898","_type":"IbpText","context":"XC05\n气瓶间","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1750,"y":200},"code":"text_41622377178344","_type":"IbpText","context":" XD02\n区间跟随所\n 灭火时","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1759,"y":276},"code":"text_4162334129751","_type":"IbpText","context":"XD04\n气瓶间","textFill":"#000","fontSize":8,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1937,"y":35},"code":"text_41639459086866","_type":"IbpText","context":"消 防 栓 水 泵","textFill":"#000","fontSize":28,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1866,"y":124},"code":"text_41644191955711","_type":"IbpText","context":"1#消火栓\n水泵运行","textFill":"#000","fontSize":12,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1935,"y":124},"code":"text_41645348369894","_type":"IbpText","context":"1#消火栓\n水泵故障","textFill":"#000","fontSize":12,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2015,"y":126},"code":"text_41646129085761","_type":"IbpText","context":"2#消火栓\n水泵运行","textFill":"#000","fontSize":12,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2083,"y":126},"code":"text_41647262125941","_type":"IbpText","context":"2#消火栓\n水泵故障","textFill":"#000","fontSize":12,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2153,"y":125},"code":"text_41648198367714","_type":"IbpText","context":"消火栓水泵\n处于故障状态","textFill":"#000","fontSize":12,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1929,"y":205},"code":"text_41652204763377","_type":"IbpText","context":"消火栓水泵启动","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2079,"y":204},"code":"text_41653445085428","_type":"IbpText","context":"消火栓水泵禁止","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1959,"y":273},"code":"text_41655128361097","_type":"IbpText","context":"A F C 闸 机","textFill":"#000","fontSize":28,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1860,"y":350},"code":"text_417259565354","_type":"IbpText","context":"紧急释放状态","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1994,"y":350},"code":"text_4172447724209","_type":"IbpText","context":"紧急释放","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2184,"y":327},"code":"text_4176256119241","_type":"IbpText","context":"联动允许","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2138,"y":360},"code":"text_4177254929769","_type":"IbpText","context":"联动禁止","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2126,"y":377},"code":"text_4178314368413","_type":"IbpText","context":" 正常位为:\n“联动禁止”位","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1977,"y":367},"code":"text_417111045260","_type":"IbpText","context":"紧急情况下,直接按压\n“紧急释放”,紧急释\n放状态灯亮,即执行成功","textFill":"#000","fontSize":8,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1986,"y":434},"code":"text_4171565003604","_type":"IbpText","context":"门 禁","textFill":"#000","fontSize":28,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":1957,"y":499},"code":"text_41716594045146","_type":"IbpText","context":"紧急开门状态","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2067,"y":501},"code":"text_4171731125729","_type":"IbpText","context":"紧急开门","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2124,"y":435},"code":"text_4171879969696","_type":"IbpText","context":"应急情况下按\n压,“紧急开门\n状态”灯亮,即\n执行成功,所有\n门禁将释放,恢\n复时需要专业\n操作。","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2255,"y":10},"code":"text_41740466362992","_type":"IbpText","context":"后卫寨站","textFill":"#000","fontSize":50,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2434,"y":123},"code":"text_41747109004314","_type":"IbpText","context":"自 动 扶 梯","textFill":"#000","fontSize":28,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2913,"y":110},"code":"text_41753238285971","_type":"IbpText","context":"屏 蔽 门","textFill":"#000","fontSize":28,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2836,"y":204},"code":"text_4175695956261","_type":"IbpText","context":"门关闭且锁紧","textFill":"#000","fontSize":10,"fontWeight":700,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2920,"y":204},"code":"text_41756474911594","_type":"IbpText","context":"开门状态","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3001,"y":204},"code":"text_41757201559908","_type":"IbpText","context":"开门","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3095,"y":357},"code":"text_4187272432554","_type":"IbpText","context":"上 行","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2812,"y":266},"code":"text_4187569317011","_type":"IbpText","context":"下 行","textFill":"#000","fontSize":18,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2836,"y":451},"code":"text_4181134351083","_type":"IbpText","context":"门关闭且锁紧","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2917,"y":451},"code":"text_4181147163926","_type":"IbpText","context":"开门状态","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3000,"y":451},"code":"text_4181225179602","_type":"IbpText","context":"开门","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3111,"y":179},"code":"text_41815382847533","_type":"IbpText","context":"禁止","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3075,"y":213},"code":"text_41815593003205","_type":"IbpText","context":"允许","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3110,"y":423},"code":"text_41816238362630","_type":"IbpText","context":"禁止","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3075,"y":458},"code":"text_41816528125864","_type":"IbpText","context":"允许","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2822,"y":152},"code":"text_41819316437589","_type":"IbpText","context":"屏蔽门关闭且锁紧,信号正\n常时,“关闭且锁紧”灯亮","textFill":"#000","fontSize":6,"fontWeight":550,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2905,"y":152},"code":"text_41826117008612","_type":"IbpText","context":"屏蔽门打开时,信号正常\n时,“开门状态”灯亮","textFill":"#000","fontSize":6,"fontWeight":550,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3056,"y":156},"code":"text_4183225871334","_type":"IbpText","context":"正常位位“禁止”位","textFill":"#000","fontSize":8,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3055,"y":275},"code":"text_41833377567007","_type":"IbpText","context":"钥匙转至“允许”位,再\n按压“开门”按钮,乘客\n上下完毕后转至“禁止”\n位,现场方可使用PLS钥\n匙关门或打互锁解除发车","textFill":"#000","fontSize":8,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3588,"y":43},"code":"text_41847255246397","_type":"IbpText","context":"信 号","textFill":"#000","fontSize":28,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3221,"y":228},"code":"text_41850174913674","_type":"IbpText","context":"车 辆 段 方 向","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3222,"y":272},"code":"text_41851168674074","_type":"IbpText","context":"下 行","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":4003,"y":352},"code":"text_4185288836353","_type":"IbpText","context":"上 行","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3945,"y":397},"code":"text_418523436504","_type":"IbpText","context":"三 桥 方 向","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3269,"y":151},"code":"text_5915382632462","_type":"IbpText","context":"G1116","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3317,"y":151},"code":"text_5916408706415","_type":"IbpText","context":"G1118","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3367,"y":151},"code":"text_5917207509333","_type":"IbpText","context":"G1120","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3415,"y":152},"code":"text_5917524544029","_type":"IbpText","context":"G1122","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3219,"y":201},"code":"text_5918376936934","_type":"IbpText","context":"DG1124","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3269,"y":201},"code":"text_591917986","_type":"IbpText","context":"DG1126","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3317,"y":200},"code":"text_5919432625338","_type":"IbpText","context":"G1102","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3366,"y":200},"code":"text_5920119423643","_type":"IbpText","context":"DG1104","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3415,"y":200},"code":"text_5920471822286","_type":"IbpText","context":"G1106","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3506,"y":202},"code":"text_5921262388204","_type":"IbpText","context":"X扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3605,"y":201},"code":"text_5921539743621","_type":"IbpText","context":"X扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3694,"y":202},"code":"text_5922244535209","_type":"IbpText","context":"x终止扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3805,"y":154},"code":"text_592320785014","_type":"IbpText","context":"DG1108","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3853,"y":154},"code":"text_5924125989003","_type":"IbpText","context":"G1110","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3902,"y":154},"code":"text_59244330439","_type":"IbpText","context":"G1202","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3950,"y":155},"code":"text_5925341667016","_type":"IbpText","context":"G1204","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3349,"y":352},"code":"text_5926325668147","_type":"IbpText","context":"计轴预复零","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3505,"y":301},"code":"text_5927422707726","_type":"IbpText","context":"紧急停车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3504,"y":353},"code":"text_5928174782973","_type":"IbpText","context":"紧急停车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3602,"y":353},"code":"text_592963424015","_type":"IbpText","context":"取消紧停","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3698,"y":298},"code":"text_5930122945783","_type":"IbpText","context":"紧停报警","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3220,"y":449},"code":"text_5931423181905","_type":"IbpText","context":"G1111","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3269,"y":448},"code":"text_593284629497","_type":"IbpText","context":"G1113","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3317,"y":448},"code":"text_5932412541025","_type":"IbpText","context":"G1115","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3366,"y":448},"code":"text_593335387711","_type":"IbpText","context":"G1117","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3415,"y":448},"code":"text_59342863929","_type":"IbpText","context":"DG1119","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3269,"y":497},"code":"text_593521437162","_type":"IbpText","context":"DG1121","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3318,"y":497},"code":"text_5935267983522","_type":"IbpText","context":"G1101","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3366,"y":497},"code":"text_5935573662933","_type":"IbpText","context":"DG1103","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3417,"y":497},"code":"text_5936306548978","_type":"IbpText","context":"G1105","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3508,"y":451},"code":"text_5937107825346","_type":"IbpText","context":"S扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3605,"y":450},"code":"text_5937487749902","_type":"IbpText","context":"S扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3693,"y":451},"code":"text_5938423278075","_type":"IbpText","context":"S终止扣车","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3805,"y":448},"code":"text_593916228964","_type":"IbpText","context":"DG1107","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3854,"y":448},"code":"text_5939429423622","_type":"IbpText","context":"G1201","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3901,"y":448},"code":"text_5940294947504","_type":"IbpText","context":"G1203","textFill":"#000","fontSize":10,"fontWeight":800,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3495,"y":96},"code":"text_5945243988109","_type":"IbpText","context":"下行。按压后,\n表示灯亮,\nATS/LOW机界\n面下行站台旁\n出现'H,即执\n行成功。","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3684,"y":98},"code":"text_5950224139408","_type":"IbpText","context":"下行。按压,待扣\n车表示灯熄灭后,\nATS/LOW机下行\n站台旁圆点与字\n符消失,即执行\n成功。","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3295,"y":288},"code":"text_5954411745214","_type":"IbpText","context":"确认计轴区段后,\n与计轴预复零按\n钮同时按压,待\n轨道区段按钮表\n示灯点亮,即执\n行成功。","textFill":"#000","fontSize":9,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3426,"y":277},"code":"text_5958143342352","_type":"IbpText","context":"按压后,表示灯亮,\n蜂鸣器持续响(可\n按压报警切除进行\n消音),ATS/LOW\n机站台中央出现红\n色菱形,即执行\n成功。","textFill":"#000","fontSize":9,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3580,"y":264},"code":"text_5101473349554","_type":"IbpText","context":"按压后,表示灯熄灭蜂\n鸣器持续响(可按压报\n警切除进行消音),\nATS/LOW机站台中\n央红色菱形消失,即\n执行成功。","textFill":"#000","fontSize":8,"fontWeight":550,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3491,"y":474},"code":"text_510716302814","_type":"IbpText","context":"上行。按压后,\n表示灯亮,\nATS/LOW机界\n面上行站台旁\n出现'H,即执\n行成功。","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3682,"y":474},"code":"text_5109366545936","_type":"IbpText","context":"上行。按压,待扣\n车表示灯熄灭后,\nATS/LOW机上行\n站台旁圆点与字\n符消失,即执行\n成功。","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3699,"y":351},"code":"text_51026543111242","_type":"IbpText","context":"报警切除","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3757,"y":323},"code":"text_51027375826525","_type":"IbpText","context":"按压后蜂鸣器静\n音,即执行成功","textFill":"#000","fontSize":10,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2664,"y":371},"code":"text_51534464299805","_type":"IbpText","context":"扶梯盖板\n非正常打开","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":10,"y":10},"code":"","_type":"IbpText","context":"","textFill":"","fontSize":"","fontWeight":"","fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2717,"y":180},"code":"text_51536055991","_type":"IbpText","context":"地面","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2716,"y":301},"code":"text_51536333416355","_type":"IbpText","context":"站厅","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2718,"y":422},"code":"text_51537159657167","_type":"IbpText","context":"站台","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2318,"y":299},"code":"text_51538187899953","_type":"IbpText","context":"E0111/03(K1) E0111/04(K2) E0111/05(K3) E0111/06(K4)","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2350,"y":419},"code":"text_5154024180892","_type":"IbpText","context":"E0111/01(N) E0111/02(N)","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2366,"y":253},"code":"text_51542363412784","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2441,"y":255},"code":"text_51543258299554","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2514,"y":254},"code":"text_5154426299197","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2586,"y":255},"code":"text_51544384294017","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2391,"y":379},"code":"text_5154577973006","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2465,"y":379},"code":"text_51545329418685","_type":"IbpText","context":"急停","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":3981,"y":495},"code":"text_5166547667596","_type":"IbpText","context":"电话端子","textFill":"#000","fontSize":10,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2318,"y":350},"code":"text_1154349701569","_type":"IbpText","context":"西\n端","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2636,"y":350},"code":"text_1154721929053","_type":"IbpText","context":"东\n端","textFill":"#000","fontSize":18,"fontWeight":600,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2365,"y":200},"code":"text_1155744136033","_type":"IbpText","context":"B口","textFill":"#000","fontSize":15,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2440,"y":200},"code":"text_11559149644411","_type":"IbpText","context":"D口","textFill":"#000","fontSize":15,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2586,"y":200},"code":"text_116055517211","_type":"IbpText","context":"A口","textFill":"#000","fontSize":15,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2512,"y":200},"code":"text_116282926344","_type":"IbpText","context":"A口","textFill":"#000","fontSize":15,"fontWeight":500,"fontFamily":"consolas"},{"zlevel":3,"z":1,"point":{"x":2516,"y":149},"code":"text_1161398925293","_type":"IbpText","context":"按压后,红灯亮,现场扶梯停\n止运行,需现场用钥匙开启扶\n梯时,需再次按压,红灯熄灭。","textFill":"#000","fontSize":8,"fontWeight":550,"fontFamily":"consolas"}],"squareButtonList":[{"zlevel":3,"z":1,"point":{"x":96,"y":168},"_type":"SquareButton","code":"button_0001","color":"red","status":"off","width":25,"height":30},{"zlevel":3,"z":1,"point":{"x":145,"y":169},"_type":"SquareButton","code":"button_0002","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":195,"y":168},"_type":"SquareButton","code":"button_0003","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":243,"y":169},"_type":"SquareButton","code":"button_0004","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":292,"y":168},"_type":"SquareButton","code":"button_0005","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":341,"y":169},"_type":"SquareButton","code":"button_0006","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":413,"y":168},"_type":"SquareButton","code":"sButton_4102066234674","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":462,"y":167},"_type":"SquareButton","code":"sButton_41021142802731","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":511,"y":168},"_type":"SquareButton","code":"sButton_41021261282904","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":560,"y":169},"_type":"SquareButton","code":"sButton_41021372727639","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":609,"y":169},"_type":"SquareButton","code":"sButton_410222879556","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":658,"y":168},"_type":"SquareButton","code":"sButton_41022225682818","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":730,"y":168},"_type":"SquareButton","code":"sButton_41034167834942","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":779,"y":169},"_type":"SquareButton","code":"sButton_41034458409859","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":828,"y":168},"_type":"SquareButton","code":"sButton_41034586872393","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":877,"y":168},"_type":"SquareButton","code":"sButton_41035117756343","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":926,"y":169},"_type":"SquareButton","code":"sButton_41035211524212","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":975,"y":169},"_type":"SquareButton","code":"sButton_41035352001528","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":97,"y":416},"_type":"SquareButton","code":"sButton_41054552164071","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":145,"y":415},"_type":"SquareButton","code":"sButton_41055138482599","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":194,"y":415},"_type":"SquareButton","code":"sButton_41055293124518","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":292,"y":415},"_type":"SquareButton","code":"sButton_4105540974333","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":243,"y":415},"_type":"SquareButton","code":"sButton_41055571289361","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":341,"y":415},"_type":"SquareButton","code":"sButton_4116164588527","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":413,"y":415},"_type":"SquareButton","code":"sButton_4117401914880","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":462,"y":415},"_type":"SquareButton","code":"sButton_411802155297","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":511,"y":415},"_type":"SquareButton","code":"sButton_4118165201356","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":560,"y":415},"_type":"SquareButton","code":"sButton_41183348571","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":609,"y":415},"_type":"SquareButton","code":"sButton_4118451602012","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":657,"y":415},"_type":"SquareButton","code":"sButton_4111174482634","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":731,"y":414},"_type":"SquareButton","code":"sButton_4111132407854","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":779,"y":414},"_type":"SquareButton","code":"sButton_41111469846478","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":829,"y":414},"_type":"SquareButton","code":"sButton_411120568399","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":877,"y":413},"_type":"SquareButton","code":"sButton_41114173755674","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":925,"y":413},"_type":"SquareButton","code":"sButton_41114272551551","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":975,"y":413},"_type":"SquareButton","code":"sButton_41114398395159","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":292,"y":488},"_type":"SquareButton","code":"sButton_41394129318","color":"yellow","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":828,"y":486},"_type":"SquareButton","code":"sButton_4141218684010","color":"green","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1073,"y":170},"_type":"SquareButton","code":"sButton_41430292761901","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1145,"y":170},"_type":"SquareButton","code":"sButton_41430568369705","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1218,"y":170},"_type":"SquareButton","code":"sButton_414318884722","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1073,"y":244},"_type":"SquareButton","code":"sButton_4143519249051","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1146,"y":245},"_type":"SquareButton","code":"sButton_41435247085059","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1219,"y":244},"_type":"SquareButton","code":"sButton_4143537405349","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1072,"y":317},"_type":"SquareButton","code":"sButton_41435495483958","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1145,"y":317},"_type":"SquareButton","code":"sButton_414365484870","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1219,"y":316},"_type":"SquareButton","code":"sButton_4143619420649","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1072,"y":391},"_type":"SquareButton","code":"sButton_41436335325302","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1145,"y":390},"_type":"SquareButton","code":"sButton_414365985566","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1219,"y":390},"_type":"SquareButton","code":"sButton_41437157979886","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1073,"y":464},"_type":"SquareButton","code":"sButton_41437246219504","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1316,"y":171},"_type":"SquareButton","code":"sButton_41525455488026","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1559,"y":318},"_type":"SquareButton","code":"sButton_41527396609835","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1316,"y":244},"_type":"SquareButton","code":"sButton_4152829453371","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1316,"y":391},"_type":"SquareButton","code":"sButton_41529367729656","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1560,"y":169},"_type":"SquareButton","code":"sButton_41543306289510","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1559,"y":244},"_type":"SquareButton","code":"sButton_41543378924491","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1486,"y":316},"_type":"SquareButton","code":"sButton_4154419403287","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1316,"y":318},"_type":"SquareButton","code":"sButton_41544103967385","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1560,"y":390},"_type":"SquareButton","code":"sButton_4154423137871","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1487,"y":390},"_type":"SquareButton","code":"sButton_41544377013009","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1414,"y":462},"_type":"SquareButton","code":"sButton_41544484844591","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1413,"y":390},"_type":"SquareButton","code":"sButton_41544562848923","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1414,"y":316},"_type":"SquareButton","code":"sButton_4154551569736","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1413,"y":244},"_type":"SquareButton","code":"sButton_41545133883604","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1413,"y":170},"_type":"SquareButton","code":"sButton_41545206212162","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1486,"y":170},"_type":"SquareButton","code":"sButton_41545303323996","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1487,"y":245},"_type":"SquareButton","code":"sButton_41545426847471","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1756,"y":170},"_type":"SquareButton","code":"sButton_41612415341796","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1658,"y":243},"_type":"SquareButton","code":"sButton_41612486602946","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1757,"y":244},"_type":"SquareButton","code":"sButton_4161256929830","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1658,"y":170},"_type":"SquareButton","code":"sButton_4161329561451","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":1949,"y":169},"_type":"SquareButton","code":"sButton_41650552361820","color":"green","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2096,"y":169},"_type":"SquareButton","code":"sButton_4165141871209","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2001,"y":316},"_type":"SquareButton","code":"sButton_41656443649289","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2072,"y":464},"_type":"SquareButton","code":"sButton_41716138843053","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2510,"y":219},"_type":"SquareButton","code":"sButton_4175012276948","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2583,"y":219},"_type":"SquareButton","code":"sButton_41750223316796","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2388,"y":342},"_type":"SquareButton","code":"sButton_41750321799217","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2462,"y":342},"_type":"SquareButton","code":"sButton_4175039605366","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2364,"y":219},"_type":"SquareButton","code":"sButton_41752339637523","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2437,"y":220},"_type":"SquareButton","code":"sButton_417530124476","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2998,"y":171},"_type":"SquareButton","code":"sButton_4175598209979","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":2998,"y":415},"_type":"SquareButton","code":"sButton_41810156446450","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3268,"y":118},"_type":"SquareButton","code":"sButton_41853327072814","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3315,"y":118},"_type":"SquareButton","code":"sButton_4185437871566","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3364,"y":118},"_type":"SquareButton","code":"sButton_41854384757478","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3413,"y":119},"_type":"SquareButton","code":"sButton_41854552912531","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3217,"y":166},"_type":"SquareButton","code":"sButton_41855146592759","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3267,"y":167},"_type":"SquareButton","code":"sButton_41855248593080","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3315,"y":167},"_type":"SquareButton","code":"sButton_41855371632786","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3364,"y":167},"_type":"SquareButton","code":"sButton_41855465795347","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3414,"y":166},"_type":"SquareButton","code":"sButton_4185603875332","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3509,"y":166},"_type":"SquareButton","code":"sButton_41858403003346","color":"yellow","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3707,"y":167},"_type":"SquareButton","code":"sButton_419149351938","color":"green","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3804,"y":120},"_type":"SquareButton","code":"sButton_4196579878265","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3850,"y":121},"_type":"SquareButton","code":"sButton_4198379728039","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3900,"y":122},"_type":"SquareButton","code":"sButton_4198544114734","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3946,"y":122},"_type":"SquareButton","code":"sButton_419977078481","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3364,"y":317},"_type":"SquareButton","code":"sButton_585251543479","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3510,"y":316},"_type":"SquareButton","code":"sButton_5853389821378","color":"red","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3608,"y":317},"_type":"SquareButton","code":"sButton_585433829492","color":"yellow","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3217,"y":415},"_type":"SquareButton","code":"sButton_5855266304306","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3266,"y":414},"_type":"SquareButton","code":"sButton_5855455988433","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3315,"y":414},"_type":"SquareButton","code":"sButton_5856189426498","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3364,"y":414},"_type":"SquareButton","code":"sButton_5856319511385","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3412,"y":414},"_type":"SquareButton","code":"sButton_58572793406","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3267,"y":463},"_type":"SquareButton","code":"sButton_5857132953525","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3315,"y":463},"_type":"SquareButton","code":"sButton_5857285271469","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3364,"y":463},"_type":"SquareButton","code":"sButton_5857399835349","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3412,"y":462},"_type":"SquareButton","code":"sButton_5857569912421","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3510,"y":414},"_type":"SquareButton","code":"sButton_5858506468093","color":"yellow","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3704,"y":414},"_type":"SquareButton","code":"sButton_5859243822042","color":"green","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3803,"y":415},"_type":"SquareButton","code":"sButton_5859518063071","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3852,"y":414},"_type":"SquareButton","code":"sButton_5901566937","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3900,"y":414},"_type":"SquareButton","code":"sButton_590135987337","color":"gray","status":"off","width":25,"height":1},{"zlevel":3,"z":1,"point":{"x":3705,"y":317},"_type":"SquareButton","code":"sButton_5102544143660","color":"blue","status":"off","width":25,"height":1}],"tipBoxList":[{"zlevel":2,"z":2,"point":{"x":325,"y":489},"code":"tipBox_4131207904875","_type":"TipBox","width":75,"height":28,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":679,"y":484},"code":"tipBox_41323422529661","_type":"TipBox","width":54,"height":100,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2120,"y":372},"code":"tipBox_4179311892930","_type":"TipBox","width":75,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":1969,"y":363},"code":"tipBox_41713195488258","_type":"TipBox","width":100,"height":30,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2121,"y":432},"code":"tipBox_41732408877171","_type":"TipBox","width":75,"height":80,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2820,"y":148},"code":"tipBox_41823194731832","_type":"TipBox","width":80,"height":20,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2903,"y":147},"code":"tipBox_4182947526663","_type":"TipBox","width":70,"height":20,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3050,"y":146},"code":"tipBox_41837191712348","_type":"TipBox","width":80,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3047,"y":270},"code":"tipBox_41837572193649","_type":"TipBox","width":100,"height":50,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3491,"y":88},"code":"tipBox_5101251023030","_type":"TipBox","width":70,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3676,"y":92},"code":"tipBox_51012286706118","_type":"TipBox","width":90,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3289,"y":279},"code":"tipBox_51013152783750","_type":"TipBox","width":75,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3422,"y":272},"code":"tipBox_5101427107104","_type":"TipBox","width":80,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3575,"y":262},"code":"tipBox_51014343012273","_type":"TipBox","width":90,"height":50,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3487,"y":469},"code":"tipBox_51014567027956","_type":"TipBox","width":70,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3677,"y":468},"code":"tipBox_51016129828839","_type":"TipBox","width":90,"height":70,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3752,"y":317},"code":"tipBox_51028494865468","_type":"TipBox","width":80,"height":30,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2315,"y":342},"code":"tipBox_115425936901","_type":"TipBox","width":25,"height":50,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2633,"y":342},"code":"tipBox_11546276127881","_type":"TipBox","width":25,"height":50,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2364,"y":194},"code":"tipBox_11548437166774","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2440,"y":194},"code":"tipBox_1155371737732","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2511,"y":194},"code":"tipBox_115545161260","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2584,"y":194},"code":"tipBox_11555468604530","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2511,"y":147},"code":"tipBox_11612376601928","_type":"TipBox","width":120,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":769,"y":520},"code":"tipBox_11639231721562","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":2184,"y":340},"code":"tipBox_11652348769885","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3100,"y":190},"code":"tipBox_11654392041327","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"},{"zlevel":2,"z":2,"point":{"x":3100,"y":435},"code":"tipBox_11657307246391","_type":"TipBox","width":25,"height":25,"fillColor":"#CE950F"}],"rotatingButtonList":[{"zlevel":3,"z":1,"point":{"x":736,"y":498},"draggable":true,"_type":"RotatingButton","code":"rButton_41344417412052","width":20,"height":20},{"zlevel":3,"z":1,"point":{"x":2146,"y":318},"draggable":true,"_type":"RotatingButton","code":"rButton_41658147562730","width":25,"height":25},{"zlevel":3,"z":1,"point":{"x":3073,"y":172},"draggable":true,"_type":"RotatingButton","code":"rButton_41755475633812","width":25,"height":25},{"zlevel":3,"z":1,"point":{"x":3072,"y":415},"draggable":true,"_type":"RotatingButton","code":"rButton_41810343886103","width":25,"height":25}],"ibpLineList":[{"zlevel":1,"z":1,"point1":{"x":754,"y":508},"point2":{"x":764,"y":508},"direction":"transverse","code":"line_4147304287066","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":746,"y":515},"point2":{"x":746,"y":525},"direction":"vertical","code":"line_4147585973070","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":1045,"y":157},"point2":{"x":1045,"y":532},"direction":"vertical","code":"line_4142172603445","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1269,"y":157},"point2":{"x":1269,"y":532},"direction":"vertical","code":"line_41423256845316","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1044,"y":157},"point2":{"x":1269,"y":157},"direction":"transverse","code":"line_4151484455902","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1045,"y":532},"point2":{"x":1270,"y":532},"direction":"transverse","code":"line_415213806180","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1301,"y":157},"point2":{"x":1301,"y":532},"direction":"vertical","code":"line_41530950878","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1300,"y":156},"point2":{"x":1360,"y":156},"direction":"transverse","code":"line_41532361001859","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1300,"y":532},"point2":{"x":1360,"y":532},"direction":"transverse","code":"line_4153351167000","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1359,"y":156},"point2":{"x":1359,"y":531},"direction":"vertical","code":"line_41533308921524","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1389,"y":155},"point2":{"x":1389,"y":530},"direction":"vertical","code":"line_41541367969158","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1612,"y":154},"point2":{"x":1612,"y":529},"direction":"vertical","code":"line_41541546841867","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1388,"y":530},"point2":{"x":1613,"y":530},"direction":"transverse","code":"line_41542278124761","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1388,"y":155},"point2":{"x":1613,"y":155},"direction":"transverse","code":"line_4154245138867","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1639,"y":156},"point2":{"x":1699,"y":156},"direction":"transverse","code":"line_4169578701349","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1737,"y":530},"point2":{"x":1797,"y":530},"direction":"transverse","code":"line_41610143487536","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1639,"y":530},"point2":{"x":1699,"y":530},"direction":"transverse","code":"line_41610314288535","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1737,"y":156},"point2":{"x":1797,"y":156},"direction":"transverse","code":"line_4161050606325","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1738,"y":155},"point2":{"x":1738,"y":530},"direction":"vertical","code":"line_416116219732","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1640,"y":155},"point2":{"x":1640,"y":530},"direction":"vertical","code":"line_41611253166269","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1698,"y":155},"point2":{"x":1698,"y":530},"direction":"vertical","code":"line_4161145281664","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":1,"z":1,"point1":{"x":1796,"y":156},"point2":{"x":1796,"y":531},"direction":"vertical","code":"line_4161248923530","_type":"IbpLine","lineWidth":2,"fillColor":"#0000CD"},{"zlevel":2,"z":1,"point1":{"x":2240,"y":1},"point2":{"x":2240,"y":1024},"code":"line_4162565004919","_type":"IbpLine","lineWidth":5,"fillColor":"#3A3A36"},{"zlevel":2,"z":1,"point1":{"x":1841,"y":1},"point2":{"x":1841,"y":1024},"code":"line_41626187083180","_type":"IbpLine","lineWidth":5,"fillColor":"#3A3A36"},{"zlevel":1,"z":1,"point1":{"x":1841,"y":405},"point2":{"x":2241,"y":405},"direction":"transverse","code":"line_4163649268911","_type":"IbpLine","lineWidth":5,"fillColor":"#3A3A36"},{"zlevel":1,"z":1,"point1":{"x":1841,"y":254},"point2":{"x":2241,"y":254},"direction":"transverse","code":"line_41637136446994","_type":"IbpLine","lineWidth":5,"fillColor":"#3A3A36"},{"zlevel":1,"z":1,"point1":{"x":2171,"y":330},"point2":{"x":2181,"y":330},"direction":"transverse","code":"line_417459403934","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":2158,"y":344},"point2":{"x":2158,"y":354},"direction":"vertical","code":"line_4175593558037","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":2,"z":1,"point1":{"x":3180,"y":1},"point2":{"x":3180,"y":1024},"code":"line_41814331538253","_type":"IbpLine","lineWidth":5,"fillColor":"#3A3A36"},{"zlevel":1,"z":1,"point1":{"x":3097,"y":184},"point2":{"x":3107,"y":184},"direction":"transverse","code":"line_41817198046655","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":3085,"y":197},"point2":{"x":3085,"y":207},"direction":"vertical","code":"line_4181743772122","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":3096,"y":427},"point2":{"x":3106,"y":427},"direction":"transverse","code":"line_4181889162471","_type":"IbpLine","lineWidth":3,"fillColor":"#000"},{"zlevel":1,"z":1,"point1":{"x":3085,"y":440},"point2":{"x":3085,"y":450},"direction":"vertical","code":"line_4181846432328","_type":"IbpLine","lineWidth":3,"fillColor":"#000"}],"appendageBoxList":[{"zlevel":1,"z":1,"point":{"x":2284,"y":152},"_type":"AppendageBox","code":"aBox41745264751296","width":475,"height":310}],"alarmList":[{"zlevel":2,"z":1,"point":{"x":3711,"y":272},"code":"alarm_591507021609","_type":"Alarm","width":35,"height":35},{"zlevel":2,"z":1,"point":{"x":2683,"y":343},"code":"alarm_51531302525872","_type":"Alarm","width":40}],"keyList":[{"zlevel":4,"z":1,"point":{"x":731,"y":497},"draggable":true,"_type":"Key","code":"key_5145349642093","width":25,"height":75,"status":"off"},{"zlevel":4,"z":1,"point":{"x":2144,"y":317},"draggable":true,"_type":"Key","code":"key_514551676531","width":25,"height":75,"status":"off"},{"zlevel":4,"z":1,"point":{"x":4305,"y":280},"draggable":true,"_type":"Key","code":"key_51455586131122","width":25,"height":75,"status":"on"},{"zlevel":4,"z":1,"point":{"x":3072,"y":415},"draggable":true,"_type":"Key","code":"key_11656496202355","width":25,"height":75,"status":"on"}],"teleTerminalList":[{"zlevel":3,"z":1,"point":{"x":3980,"y":471},"draggable":true,"_type":"TeleTerminal","code":"terminal5163486449281","width":15},{"zlevel":3,"z":1,"point":{"x":4004,"y":471},"draggable":true,"_type":"TeleTerminal","code":"terminal51663374196","width":15}],"elevatorList":[{"zlevel":2,"z":1,"point":{"x":2340,"y":193},"_type":"Elevator","code":"elevator_1100206636334","width":75,"height":100,"fillColor":"#3E3E3E","direction":"top"},{"zlevel":2,"z":1,"point":{"x":2415,"y":193},"_type":"Elevator","code":"elevator_1109363762841","width":75,"height":100,"fillColor":"#3E3E3E","direction":"top"},{"zlevel":2,"z":1,"point":{"x":2490,"y":193},"_type":"Elevator","code":"elevator_11010506963311","width":75,"height":100,"fillColor":"#404040","direction":"top"},{"zlevel":2,"z":1,"point":{"x":2565,"y":193},"_type":"Elevator","code":"elevator_1101128375561","width":75,"height":100,"fillColor":"#444444","direction":"top"},{"zlevel":2,"z":1,"point":{"x":2365,"y":313},"_type":"Elevator","code":"elevator_1101217128585","width":75,"height":100,"fillColor":"#474646","direction":"top"},{"zlevel":2,"z":1,"point":{"x":2440,"y":313},"_type":"Elevator","code":"elevator_11013267457977","width":75,"height":100,"fillColor":"#484848","direction":"top"}],"clockList":[{"zlevel":3,"z":1,"point":{"x":2455,"y":5},"_type":"Clock","code":"clock_11537372847874","width":300}],"rotateTipList":[{"zlevel":3,"z":1,"point":{"x":770,"y":524},"draggable":true,"_type":"RotateTip","code":"rTip_11651188933493","width":20},{"zlevel":3,"z":1,"point":{"x":2185,"y":345},"draggable":true,"_type":"RotateTip","code":"rTip_116531493638","width":20},{"zlevel":3,"z":1,"point":{"x":3102,"y":195},"draggable":true,"_type":"RotateTip","code":"rTip_1165518413653","width":20},{"zlevel":3,"z":1,"point":{"x":3102,"y":440},"draggable":true,"_type":"RotateTip","code":"rTip_1165817924321","width":20}]}; export default ibpData; diff --git a/src/ibp/ibpPan.js b/src/ibp/ibpPan.js index f1c6f5a17..11c80092a 100644 --- a/src/ibp/ibpPan.js +++ b/src/ibp/ibpPan.js @@ -7,6 +7,7 @@ import Painter from './painter'; import deviceState from '../jmap/constant/deviceState'; import deviceType from './constant/deviceType'; import {calculateDCenter, createBoundingRect, modelFactory} from './utils/parser'; +import { updateIbpData } from './utils/parser'; const renderer = 'canvas'; const devicePixelRatio = 1; @@ -24,6 +25,9 @@ class IbpPan { // 设备数据 this.ibpDevice = {}; + // 展示的画布大小 + this.canvasSize = {}; + // 默认状态 this.defaultStateDict = this.loadDefaultState(); @@ -39,7 +43,7 @@ class IbpPan { this.$painter = new Painter(this); this.$painter.updateZrSize({width: this.$ibpZr.getWidth(), height: this.$ibpZr.getHeight()}); - this.$painter.updateTransform(this.$options); + this.$painter.updateTransform(this.$options, this.canvasSize); this.optionsHandler = this.setOptions.bind(this); @@ -60,23 +64,27 @@ class IbpPan { return defaultStateDict; } setMap(config, ibpDevice) { - // 保存皮肤类型 + // 保存平移缩放数据 if (config.config) { this.$options.scaleRate = config.scaling; this.$options.offsetX = config.origin.x; this.$options.offsetY = config.origin.y; - this.$painter.updateTransform({ scaleRate: config.scaling, offsetX: config.origin.x, offsetY: config.origin.y }); } // 保存原始数据 this.data = config; + // 保存需展现的画布大小 + this.canvasSize = { + x: 0, + y: 0, + width: config.background.width, + height: config.background.height + }; + // 解析地图数据 this.ibpDevice = ibpDevice; - // 加载对应皮肤 - // this.style = this.loadStyle(this.skinCode); - // 数据加载完成 回调 if (this.methods.dataLoaded instanceof Function) { this.methods.dataLoaded(this.ibpDevice); } @@ -86,6 +94,7 @@ class IbpPan { // 视图加载完成 回调 if (this.methods.viewLoaded instanceof Function) { this.methods.viewLoaded(this.ibpDevice); } + this.$painter.updateTransform(this.$options, this.canvasSize); } setDefaultState() { @@ -97,7 +106,7 @@ class IbpPan { setOptions(opts) { const options = this.pullBack(opts); this.$options.update(options); - this.$painter.updateTransform(this.$options); + this.$painter.updateTransform(this.$options, this.canvasSize); if (this.$options.disabled == true) { this.$mouseController.disable(); @@ -122,16 +131,16 @@ class IbpPan { } render(list) { - console.log('-*-*-*-*-', list); (list || []).forEach(elem => { const code = elem.code; const type = elem._type; + updateIbpData(elem); const oDevice = this.ibpDevice[code] || {instance: null, event: null, model: modelFactory(type, elem)}; - const nDevice = Object.assign(oDevice.model || {}, elem); + const nDevice = {instance: null, event: null, model: Object.assign(oDevice.model || {}, elem)}; this.$painter.delete(oDevice); if (!elem._dispose) { this.ibpDevice[code] = nDevice; - this.$painter.add(nDevice); + this.$painter.add(nDevice, true); } }); @@ -234,7 +243,22 @@ class IbpPan { this.ibpDevice = {}; this.$painter.clear(); } - + initClockTime(initTime) { + Object.values(this.ibpDevice) + .forEach(elem => { + if (elem.model._type === deviceType.Clock) { + this.$painter.initClockTime(elem, initTime); + } + }); + } + setClockStart(started) { + Object.values(this.ibpDevice) + .forEach(elem => { + if (elem.model._type === deviceType.Clock) { + this.$painter.setClockStart(elem, started); + } + }); + } dispose() { this.off(this.events.Pan, this.optionsHandler); this.off(this.events.Zoom, this.optionsHandler); diff --git a/src/ibp/painter.js b/src/ibp/painter.js deleted file mode 100644 index 126c11508..000000000 --- a/src/ibp/painter.js +++ /dev/null @@ -1,207 +0,0 @@ -import * as zrUtil from 'zrender/src/core/util'; -import * as vector from 'zrender/src/core/vector'; -import Group from 'zrender/src/container/Group'; -import deviceType from './constant/deviceType'; -import shapefactory from './shape/factory'; -import TransformHandle from './transformHandle'; - -class Painter { - constructor(ibp) { - // 父级实例 - this.$ibp = ibp; - this.$ibpZr = ibp.getZr(); - - // 图层数据 - this.ibpInstanceLevel = {}; - - // 初始图层 - this.initLevels(); - - // 视图控制器 - this.$transformHandle = new TransformHandle(this); - } - - /** - * 初始绘图实例 - * @param {*} dom - * @param {*} config - */ - initLevels() { - - // 添加父级图层 - this.parentLevel = new Group({ name: '__parent__' }); - this.$ibpZr.add(this.parentLevel); - - // 添加子级图层 - zrUtil.each(Object.values(deviceType), (type) => { - const level = new Group({ name: `__${type}__` }); - this.ibpInstanceLevel[type] = level; - this.parentLevel.add(level); - }); - } - - /** - * 重绘视图 - * @param {*} ibpDevice - */ - repaint(ibpDevice) { - // 清空视图 - this.clear(); - - // 创建视图 - Object.values(ibpDevice).forEach(device => { - this.add(device); - }); - } - - /** - * 添加视图 - * @param {*} device - */ - add(device) { - device = Object.assign(device, { event: this.$ibp.$mouseController }); - const instance = shapefactory(device, this.$ibp); - if (instance) { - device.instance = instance; - this.$transformHandle.transformView(instance); - this.ibpInstanceLevel[device.model._type].add(instance); - } - } - - /** - * 删除视图 - * @param {*} device - */ - delete(device) { - const instance = device.instance; - if (instance) { - this.ibpInstanceLevel[device.model._type].remove(instance); - } - } - - /** - * 更新视图 - * @param {*} device - */ - update(device) { - if (device) { - if (device.model._dispose) { - this.delete(device); - } else { - const instance = device.instance; - if (instance) { - instance.setState(device); - } - } - } - } - - /** - * 绘制ipb时,更改draggable 和注册事件 - */ - drawIbp(device) { - if (device) { - const instance = device.instance; - if (instance) { - instance.setDraggable(); - } - } - } - - /** - * 更新transform变化 - * @param {*} opt - */ - updateTransform(opt,) { - this.$transformHandle.updateTransform(opt); - } - - /** - * 更新zrender尺寸 - * @param {*} opt - */ - updateZrSize(opt) { - this.$transformHandle.updateZrSize(opt); - } - - /** - * 过去坐标提示位置 - * @param {*} opts - */ - getShapeTipPoint(instance, opts) { - if (instance) { - var point = instance.getShapeTipPoint(opts); - if (point) { - // 矩阵变换 - var transform = this.$transformHandle.transform; - var transPoint = vector.applyTransform([], [point.x, point.y], transform); - return { - x: transPoint[0], - y: transPoint[1] - }; - } - - } - } - - /** - * 设置图层可见 - * @param {*} code - */ - setLevelVisible(list) { - zrUtil.each(Object.values(deviceType), type => { - const level = this.ibpInstanceLevel[type]; - if (list.includes(type)) { - level.show(); - } else { - level.hide(); - } - }, this); - } - - /** - * 刷新图层 - */ - refresh() { - this.$ibpZr.refresh(); - } - - /** - * 清除图层 - */ - clearLevel(type) { - const level = this.ibpInstanceLevel[type]; - if (level) { - level.removeAll(); - } - } - - /** - * 清除canvas - */ - clear() { - zrUtil.each(Object.values(this.ibpInstanceLevel), (level) => { - level && level.removeAll(); - }, this); - - this.refresh(); - } - - /** - * 销毁图层 - */ - dispose() { - this.ibpInstanceLevel = {}; - this.parentLevel = null; - } - - /** - * 父级图层 - */ - getParentLevel() { - return this.parentLevel; - } - -} - -export default Painter; diff --git a/src/ibp/shape/alarm.js b/src/ibp/shape/alarm.js index cc09557d8..d851dbd9f 100644 --- a/src/ibp/shape/alarm.js +++ b/src/ibp/shape/alarm.js @@ -1,13 +1,18 @@ import Group from 'zrender/src/container/Group'; import Image from 'zrender/src/graphic/Image'; import alarmpic from '@/assets/ibp_images/alarm.png'; +import store from '@/store'; export default class alarm extends Group { constructor(device) { super(); this.model = device.model; + this.event = device.event; this.zlevel = device.model.zlevel; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; this.create(); } @@ -15,20 +20,27 @@ export default class alarm extends Group { const model = this.model; this.imageBg = new Image({ zlevel: this.zlevel, - draggable: model.draggable || false, + draggable: false, style: { image: alarmpic, x: model.point.x, y: model.point.y, - width: 70, - height: 74 + width: model.width, + height: model.width/71*74 } }); this.add(this.imageBg); + this.transformScale(); + } + /** 缩放按钮 */ + transformScale() { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.scale =[this.model.width/71, this.model.width/71]; + this.imageBg.dirty(); } setDraggable() { - this.arrow.attr('draggable', true); + this.imageBg.attr('draggable', true); this.createMouseEvent(); } createMouseEvent() { @@ -39,6 +51,13 @@ export default class alarm extends Group { mousedown(e) { this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; } mousemove(e) { @@ -46,7 +65,11 @@ export default class alarm extends Group { mouseup(e) { this.event.enable(); - this.model.point.x = this.model.point.x + e.offsetX; - this.model.point.y = this.model.point.y + e.offsetY; + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } + } } diff --git a/src/ibp/shape/appendageBox.js b/src/ibp/shape/appendageBox.js new file mode 100644 index 000000000..7e5e7fd6f --- /dev/null +++ b/src/ibp/shape/appendageBox.js @@ -0,0 +1,65 @@ +import Group from 'zrender/src/container/Group'; +import Image from 'zrender/src/graphic/Image'; +import AppendageBoxImage from '@/assets/ibp_images/appendage_box.png'; +import store from '@/store'; + +export default class AppendageBox extends Group { + constructor(device) { + super(); + this.model = device.model; + this.event = device.event; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; + this.create(); + } + + create() { + this.appendageBox = new Image({ + zlevel: this.zlevel, + z: this.z, + draggable: false, + style: { + image: AppendageBoxImage, + x: this.model.point.x, + y: this.model.point.y, + width: this.model.width, + height: this.model.height + } + }); + this.add(this.appendageBox); + } + + setDraggable() { + this.appendageBox.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; + } + mousemove() { + } + mouseup(e) { + this.event.enable(); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } + + } +} diff --git a/src/ibp/shape/arrow.js b/src/ibp/shape/arrow.js index 166bc364b..c04e7e050 100644 --- a/src/ibp/shape/arrow.js +++ b/src/ibp/shape/arrow.js @@ -2,12 +2,16 @@ import Polygon from 'zrender/src/graphic/shape/Polygon'; import Group from 'zrender/src/container/Group'; import {arrow} from '@/jmap/shape/utils/ShapePoints'; // import { updateIbpData } from '@/ibp/utils/parser'; +import store from '@/store'; class Arrow extends Group { constructor(device) { super(); this.event = device.event; this.model = device.model; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; this.create(); } @@ -16,13 +20,12 @@ class Arrow extends Group { this.arrow = new Polygon({ zlevel: model.zlevel, z: model.z, - draggable: model.draggable || false, + draggable: false, shape: { - points: arrow(this.model.point.x, this.model.point.y, this.model.length, 10) + points: arrow(this.model.point.x, this.model.point.y, this.model.length, this.model.width) }, style: { stroke: model.stroke, - lineWidth: model.lineWidth, fill: model.fill } }); @@ -36,6 +39,14 @@ class Arrow extends Group { this.transformRotation(0); break; } + case 'top': { + this.transformRotation(90); + break; + } + case 'bottom': { + this.transformRotation(270); + break; + } case 'right': { this.transformRotation(180); break; @@ -63,18 +74,25 @@ class Arrow extends Group { this.on('mousemove', this.mousemove, this); this.on('mouseup', this.mouseup, this); } - mousedown() { + mousedown(e) { this.event.disable(); - console.log('鼠标按下'); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; } mousemove() { - console.log('鼠标移动'); } mouseup(e) { this.event.enable(); - this.model.point.x = this.model.point.x + e.offsetX; - this.model.point.y = this.model.point.y + e.offsetY; - console.log('鼠标抬起', this.model); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } } } diff --git a/src/ibp/shape/background.js b/src/ibp/shape/background.js index 3e2708ad3..14968727b 100644 --- a/src/ibp/shape/background.js +++ b/src/ibp/shape/background.js @@ -9,20 +9,30 @@ export default class background extends Group { this.model = device.model; this.zlevel = device.model.zlevel; this.z = 1; + this.imageBgArray = []; + // this.model.width = 4100; + // this.model.height = 900; this.create(); } create() { - this.imageBg = new Image({ - zlevel: this.zlevel, - z: this.z, - style: { - x: 0, - y: 0, - image: ibpBg, - width: 2048, - height: 1024 + const widthNum = Math.ceil(parseInt(this.model.width)/2048); + const heightNum = Math.ceil(parseInt(this.model.height)/1024); + for (let i = 0; i { + _this.handleClock(_this); + }, 1000); + } + handleClock(_this) { + _this.initTime += 1000; + const newDate = new Date(); + newDate.setTime(_this.initTime); + let seconds = newDate.getSeconds() +''; + let minutes = newDate.getMinutes() + ''; + let hours = newDate.getHours() + ''; + if (seconds.length<2) { + seconds = '0' + seconds; + } + if (minutes.length<2) { + minutes = '0' + minutes; + } + if (hours.length<2) { + hours = '0'+ hours; + } + _this.setNumPic(6, seconds.charAt(1)); + _this.setNumPic(5, seconds.charAt(0)); + _this.setNumPic(4, minutes.charAt(1)); + _this.setNumPic(3, minutes.charAt(0)); + _this.setNumPic(2, hours.charAt(1)); + _this.setNumPic(1, hours.charAt(0)); + } + setNumPic(num, context) { + switch (num) { + case 1: + this.num1.setStyle('image', this.getImagePic(context)); + break; + case 2: + this.num2.setStyle('image', this.getImagePic(context)); + break; + case 3: + this.num3.setStyle('image', this.getImagePic(context)); + break; + case 4: + this.num4.setStyle('image', this.getImagePic(context)); + break; + case 5: + this.num5.setStyle('image', this.getImagePic(context)); + break; + case 6: + this.num6.setStyle('image', this.getImagePic(context)); + } + } + setClockTime(initTime) { + this.initTime = initTime; + const newDate = new Date(); + newDate.setTime(initTime); + let seconds = newDate.getSeconds() +''; + let minutes = newDate.getMinutes() + ''; + let hours = newDate.getHours() + ''; + if (seconds.length<2) { + seconds = '0' + seconds; + } + if (minutes.length<2) { + minutes = '0' + minutes; + } + if (hours.length<2) { + hours = '0'+ hours; + } + this.setNumPic(6, seconds.charAt(1)); + this.setNumPic(5, seconds.charAt(0)); + this.setNumPic(4, minutes.charAt(1)); + this.setNumPic(3, minutes.charAt(0)); + this.setNumPic(2, hours.charAt(1)); + this.setNumPic(1, hours.charAt(0)); + } + setDraggable() { + } +} diff --git a/src/ibp/shape/elevator.js b/src/ibp/shape/elevator.js new file mode 100644 index 000000000..9e04ad52d --- /dev/null +++ b/src/ibp/shape/elevator.js @@ -0,0 +1,129 @@ +import Group from 'zrender/src/container/Group'; +import ElevatorBack from './elevatorBack'; +import ElevatorArrow from './elevatorArrow'; +import store from '@/store'; + +export default class elevator extends Group { + + constructor(device) { + super(); + this.event = device.event; + this.model = device.model; + this.create(); + } + + create() { + const model = this.model; + + this.grouper=new Group({ + id: '111', + // width: model.width, + // height: model.height, + position: [model.point.x, model.point.y], + draggable: false + }); + + this.elevatorBack = new ElevatorBack({model: { + zlevel: model.zlevel, + z: model.z, + // model.draggable || + draggable: false, + point: { + x: model.point.x, + y: model.point.y + }, + width: model.width, + height: model.height, + fillColor: model.fillColor ||'#313131', + stroke: model.fillColor ||'#313131', + lineWidth: 0 + } + }); + + this.elevatorArrowTop=new ElevatorArrow({model: { + zlevel: model.zlevel, + z: model.z, + draggable: false, + point: { + x: model.width/6*4.7, + y: model.height/8*0.1 + }, + width: model.width/6*0.8, + status: this.getStatus('top'), + orientation: 'top' + }}); + + this.elevatorArrowBottom=new ElevatorArrow({model: { + zlevel: model.zlevel, + z: model.z, + draggable: false, + point: { + x: model.width/6*1.3, + y: model.height/8*7.9 + }, + width: model.width/6*0.8, + status: this.getStatus('bottom'), + orientation: 'bottom' + }}); + + this.grouper.add(this.elevatorBack); + this.grouper.add(this.elevatorArrowTop); + this.grouper.add(this.elevatorArrowBottom); + this.add(this.grouper); + } + + getStatus(status) { + if (this.model.direction=='none') { + return 'off'; + } else { + return status==this.model.direction? 'on':'off'; + } + } + + setStatus(model) { + if (model.direction=='none') { + this.elevatorArrowBottom.setStatus('off'); + this.elevatorArrowTop.setStatus('off'); + } else if (model.direction=='top') { + this.elevatorArrowBottom.setStatus('off'); + this.elevatorArrowTop.setStatus('on'); + } else if (model.direction=='bottom') { + this.elevatorArrowBottom.setStatus('on'); + this.elevatorArrowTop.setStatus('off'); + } + } + + setDraggable() { + this.grouper.attr('draggable', true); + this.createMouseEvent(); + } + + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.draggroup =this.grouper; + this.deltPostion =[e.event.zrX-this.draggroup.position[0], e.event.zrY-this.draggroup.position[1]]; + } + + mousemove(e) { + if (this.draggroup !=null) { + var new_pos =[e.event.zrX, e.event.zrY]; + this.draggroup.position=[new_pos[0]-this.deltPostion[0], new_pos[1]-this.deltPostion[1]]; + this.draggroup.dirty(); + } + } + + mouseup(e) { + this.event.enable(); + this.draggroup=null; + } +} diff --git a/src/ibp/shape/elevatorArrow.js b/src/ibp/shape/elevatorArrow.js new file mode 100644 index 000000000..acdcedb69 --- /dev/null +++ b/src/ibp/shape/elevatorArrow.js @@ -0,0 +1,114 @@ +import Group from 'zrender/src/container/Group'; +import Image from 'zrender/src/graphic/Image'; +import elevatorArrowPic from '@/assets/ibp_images/elevatorArrow.png'; +import elevatorArrowPicOn from '@/assets/ibp_images/elevatorArrow_on.png'; + +export default class elevatorArrow extends Group { + + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.create(); + } + + create() { + const model = this.model; + this.imageBg = new Image({ + zlevel: this.zlevel, + z: model.z, + draggable: false, + style: { + image: this.getStatus(), + x: model.point.x, + y: model.point.y, + width: 31, + height: 60 + } + }); + // debugger; + this.add(this.imageBg); + this.getOrientate(); + this.transformScale(); + } + + getOrientate() { + switch (this.model.orientation) { + case 'top': { + this.transformRotation(0); + break; + } + case 'bottom': { + this.transformRotation(180); + break; + } + } + } + + // 整体旋转箭头 + transformRotation(rotate) { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.rotation = Math.PI / 180 * Number(rotate); + this.imageBg.dirty(); + } + + /** 缩放按钮 */ + transformScale() { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.scale =[this.model.width/31, this.model.width/31]; + this.imageBg.dirty(); + } + + getStatus() { + if (this.model.status) { + switch (this.model.status) { + case 'on': { + return elevatorArrowPicOn; + } + case 'off': { + return elevatorArrowPic; + } + } + } else { + return elevatorArrowPic; + } + } + + setStatus(data) { + let imageBack; + switch (data) { + case 'on': { + imageBack=elevatorArrowPicOn; + break; + } + case 'off': { + imageBack=elevatorArrowPic; + break; + } + } + this.imageBg.setStyle({image: imageBack}); + } + + // setDraggable() { + // this.arrow.attr('draggable', true); + // this.createMouseEvent(); + // } + // createMouseEvent() { + // this.on('mousedown', this.mousedown, this); + // this.on('mousemove', this.mousemove, this); + // this.on('mouseup', this.mouseup, this); + // } + + // mousedown(e) { + // this.event.disable(); + // } + + // mousemove(e) { + // } + + // mouseup(e) { + // this.event.enable(); + // this.model.point.x = this.model.point.x + e.offsetX; + // this.model.point.y = this.model.point.y + e.offsetY; + // } +} diff --git a/src/ibp/shape/elevatorBack.js b/src/ibp/shape/elevatorBack.js new file mode 100644 index 000000000..3b7bd3bd0 --- /dev/null +++ b/src/ibp/shape/elevatorBack.js @@ -0,0 +1,34 @@ +import * as toolpath from 'zrender/src/tool/path'; +import Group from 'zrender/src/container/Group'; + +export default class elevatorBack extends Group { + + constructor(device) { + super(); + this.event = device.event; + this.model = device.model; + this.create(); + } + + create() { + // debugger; + const model = this.model; + const tempString='M'+model.width/6+' '+model.height/8*6+' L'+model.width/6*4+ + ' 0 L'+model.width/6*5+' 0 A '+model.width/6+' '+model.width/6+' 0 0 1 '+ + model.width/6*5+' '+model.height/4+'L '+model.width/3+' '+model.height+' L'+model.width/6+ + ' '+model.height+' '+'A'+model.width/6+' '+model.width/6+' 0 0 1 '+model.width/6+' '+model.height/8*6; + this.elevatorBack = toolpath.createFromString(tempString, { + zlevel: model.zlevel, + z: model.z, + draggable: false, + style: { + x: model.point.x, + y: model.point.y, + brushType: 'fill', + fill: this.model.fillColor || '#313131', + lineWidth: 0 + } + }); + this.add(this.elevatorBack); + } +} diff --git a/src/ibp/shape/factory.js b/src/ibp/shape/factory.js index ad469c01f..0bf72c649 100644 --- a/src/ibp/shape/factory.js +++ b/src/ibp/shape/factory.js @@ -3,12 +3,34 @@ import deviceType from '../constant/deviceType'; import Background from './background'; import CircularLamp from './circularLamp'; import IbpText from './ibpText'; +import Alarm from './alarm'; +import IbpLine from './ibpLine'; +import Button from './button'; +import TipBox from './ibpTipBox'; +import AppendageBox from './appendageBox'; +import RotatingButton from './rotatingButton'; +import Elevator from './elevator'; +import Key from './key'; +import TeleTerminal from './teleTerminal'; +import Clock from './clock'; +import RotateTip from './rotateTip'; const ibpShape = {}; ibpShape[deviceType.Arrow] = Arrow; ibpShape[deviceType.Background] = Background; ibpShape[deviceType.CircularLamp] = CircularLamp; ibpShape[deviceType.IbpText] = IbpText; +ibpShape[deviceType.Alarm] = Alarm; +ibpShape[deviceType.IbpLine] = IbpLine; +ibpShape[deviceType.SquareButton] = Button; +ibpShape[deviceType.TipBox] = TipBox; +ibpShape[deviceType.AppendageBox] = AppendageBox; +ibpShape[deviceType.RotatingButton] = RotatingButton; +ibpShape[deviceType.Elevator] = Elevator; +ibpShape[deviceType.Key] = Key; +ibpShape[deviceType.TeleTerminal] = TeleTerminal; +ibpShape[deviceType.Clock] = Clock; +ibpShape[deviceType.RotateTip] = RotateTip; function shapefactory(device, ibp) { const type = device.model._type; diff --git a/src/ibp/shape/ibpLine.js b/src/ibp/shape/ibpLine.js new file mode 100644 index 000000000..dbddbb867 --- /dev/null +++ b/src/ibp/shape/ibpLine.js @@ -0,0 +1,67 @@ +import Group from 'zrender/src/container/Group'; +import Line from 'zrender/src/graphic/shape/Line'; +import store from '@/store'; + +export default class ibpLine extends Group { + constructor(device) { + super(); + this.model = device.model; + this.event = device.event; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; + this.create(); + } + create() { + const model = this.model; + this.ibpLine = new Line({ + zlevel: model.zlevel, + z: model.z, + draggable: false, + shape: { + x1: this.model.point1.x, + y1: this.model.point1.y, + x2: this.model.point2.x, + y2: this.model.point2.y + }, + style: { + lineWidth: this.model.lineWidth, + stroke: this.model.fillColor + } + }); + this.add(this.ibpLine); + } + setDraggable() { + this.ibpLine.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; + } + mousemove() { + } + mouseup(e) { + this.event.enable(); + if (this.dragging) { + this.model.point1.x = this.model.point1.x - this.offsetX + e.offsetX; + this.model.point1.y = this.model.point1.y - this.offsetY + e.offsetY; + this.model.point2.x = this.model.point2.x - this.offsetX + e.offsetX; + this.model.point2.y = this.model.point2.y - this.offsetY + e.offsetY; + this.dragging = false; + } + } +} diff --git a/src/ibp/shape/ibpText.js b/src/ibp/shape/ibpText.js index 3322bce34..96b197931 100644 --- a/src/ibp/shape/ibpText.js +++ b/src/ibp/shape/ibpText.js @@ -1,14 +1,17 @@ import Group from 'zrender/src/container/Group'; import Text from 'zrender/src/graphic/Text'; -import { updateIbpData } from '@/ibp/utils/parser'; +import store from '@/store'; -export default class button extends Group { +export default class ibpText extends Group { constructor(device) { super(); this.model = device.model; this.event = device.event; this.zlevel = device.model.zlevel; this.z = device.model.z; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; this.create(); } create() { @@ -17,10 +20,10 @@ export default class button extends Group { zlevel: model.zlevel, z: model.z, silent: model.silent || false, - draggable: model.draggable || false, + draggable: false, style: { - x: model.x, - y: model.y, + x: model.point.x, + y: model.point.y, fontWeight: model.fontWeight, fontSize: model.fontSize, fontFamily: model.fontFamily, @@ -29,7 +32,8 @@ export default class button extends Group { textFill: model.textFill, textAlign: model.textAlign, textPosition: model.textPosition || 'inside', - textVerticalAlign: model.textVerticalAlign || null + textVerticalAlign: model.textVerticalAlign || null, + textLineHeight: model.fontSize } }); this.add(this.textName); @@ -43,18 +47,24 @@ export default class button extends Group { this.on('mousemove', this.mousemove, this); this.on('mouseup', this.mouseup, this); } - mousedown() { + mousedown(e) { this.event.disable(); - console.log('鼠标按下'); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; } mousemove() { - console.log('鼠标移动'); } mouseup(e) { this.event.enable(); - this.model.x = this.model.x + e.offsetX; - this.model.y = this.model.y + e.offsetY; - console.log('鼠标抬起', this.model); - updateIbpData(this.model, 'update'); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } } } diff --git a/src/ibp/shape/ibpTipBox.js b/src/ibp/shape/ibpTipBox.js new file mode 100644 index 000000000..276112a76 --- /dev/null +++ b/src/ibp/shape/ibpTipBox.js @@ -0,0 +1,64 @@ +import Group from 'zrender/src/container/Group'; +import Rect from 'zrender/src/graphic/shape/Rect'; +import store from '@/store'; + +export default class ibpTipBox extends Group { + constructor(device) { + super(); + this.model = device.model; + this.event = device.event; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; + this.create(); + } + create() { + const model = this.model; + this.tipBox = new Rect({ + zlevel: model.zlevel, + z: model.z, + draggable: false, + shape: { + x: this.model.point.x, + y: this.model.point.y, + width: this.model.width, + height: this.model.height + }, + style: { + fill: this.model.fillColor + } + }); + this.add(this.tipBox); + } + setDraggable() { + this.tipBox.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; + } + mousemove() { + } + mouseup(e) { + this.event.enable(); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } + } +} diff --git a/src/ibp/shape/key.js b/src/ibp/shape/key.js new file mode 100644 index 000000000..34116f32d --- /dev/null +++ b/src/ibp/shape/key.js @@ -0,0 +1,104 @@ +import Group from 'zrender/src/container/Group'; +import Image from 'zrender/src/graphic/Image'; +import keyPic from '@/assets/ibp_images/key.png'; +import keyPicOn from '@/assets/ibp_images/key_on.png'; +import store from '@/store'; + +export default class key extends Group { + + constructor(device) { + super(); + this.model = device.model; + this.zlevel = device.model.zlevel; + this.event = device.event; + this.offsetX = 0; + this.offsetY = 0; + this.create(); + } + + create() { + const model = this.model; + this.imageBg = new Image({ + zlevel: this.zlevel, + z: model.z, + draggable: false, + style: { + image: this.getRotateColor(), + x: model.point.x, + y: model.point.y, + width: 314, + height: 932 + } + }); + this.add(this.imageBg); + this.transformScale(); + } + + /** 缩放按钮 */ + transformScale() { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.scale =[this.model.width/314, this.model.width/314]; + this.imageBg.dirty(); + } + + getRotateColor() { + if (this.model.status) { + switch (this.model.status) { + case 'on': { + return keyPicOn; + } + case 'off': { + return keyPic; + } + } + } else { + return keyPic; + } + } + + setStatus(model) { + switch (model.status) { + case 'on': { + // 开放 + this.imageBg.setStyle({image: keyPicOn}); + this.model.status='on'; + break; + } + case 'off': { + // 关闭 + this.imageBg.setStyle({image: keyPic}); + this.model.status='off'; + break; + } + } + } + + setDraggable() { + this.imageBg.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + } + + mousemove(e) { + } + + mouseup(e) { + this.event.enable(); + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + } +} diff --git a/src/ibp/shape/rotateTip.js b/src/ibp/shape/rotateTip.js index 5c1540487..b69710dd7 100644 --- a/src/ibp/shape/rotateTip.js +++ b/src/ibp/shape/rotateTip.js @@ -2,6 +2,7 @@ import Group from 'zrender/src/container/Group'; import Image from 'zrender/src/graphic/Image'; import rotateBlack from '@/assets/ibp_images/rotate_black.png'; import rotateRed from '@/assets/ibp_images/rotate_red.png'; +import store from '@/store'; export default class rotateTip extends Group { @@ -9,6 +10,10 @@ export default class rotateTip extends Group { super(); this.model = device.model; this.zlevel = device.model.zlevel; + this.event = device.event; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; this.create(); } @@ -16,18 +21,26 @@ export default class rotateTip extends Group { const model = this.model; this.imageBg = new Image({ zlevel: this.zlevel, - draggable: model.draggable || false, + draggable: false, style: { image: this.getRotateColor(), x: model.point.x, y: model.point.y, - width: 70, - height: 74 + width: 68, + height: 60 } }); this.add(this.imageBg); + this.transformScale(); } - + + /** 缩放按钮 */ + transformScale() { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.scale =[this.model.width/68, this.model.width/68]; + this.imageBg.dirty(); + } + getRotateColor() { if (this.model.color) { switch (this.model.color) { @@ -44,7 +57,7 @@ export default class rotateTip extends Group { } setDraggable() { - this.arrow.attr('draggable', true); + this.imageBg.attr('draggable', true); this.createMouseEvent(); } createMouseEvent() { @@ -55,6 +68,13 @@ export default class rotateTip extends Group { mousedown(e) { this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; } mousemove(e) { @@ -62,7 +82,10 @@ export default class rotateTip extends Group { mouseup(e) { this.event.enable(); - this.model.point.x = this.model.point.x + e.offsetX; - this.model.point.y = this.model.point.y + e.offsetY; + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } } } diff --git a/src/ibp/shape/rotatingButton.js b/src/ibp/shape/rotatingButton.js new file mode 100644 index 000000000..b8dd4d5a4 --- /dev/null +++ b/src/ibp/shape/rotatingButton.js @@ -0,0 +1,64 @@ +import Group from 'zrender/src/container/Group'; +import Image from 'zrender/src/graphic/Image'; +import Keyhole from '@/assets/ibp_images/keyhole.png'; +import store from '@/store'; + +export default class RotatingButton extends Group { + constructor(device) { + super(); + this.model = device.model; + this.event = device.event; + this.zlevel = device.model.zlevel; + this.z = device.model.z; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; + this.create(); + } + + create() { + this.rotatingButton = new Image({ + zlevel: this.zlevel, + z: this.z, + draggable: false, + style: { + image: Keyhole, + x: this.model.point.x, + y: this.model.point.y, + width: this.model.width, + height: this.model.width/434*381 + } + }); + this.add(this.rotatingButton); + } + + setDraggable() { + this.rotatingButton.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; + } + mousemove() { + } + mouseup(e) { + this.event.enable(); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } + } +} diff --git a/src/ibp/shape/teleTerminal.js b/src/ibp/shape/teleTerminal.js new file mode 100644 index 000000000..a59823b20 --- /dev/null +++ b/src/ibp/shape/teleTerminal.js @@ -0,0 +1,75 @@ +import Group from 'zrender/src/container/Group'; +import Image from 'zrender/src/graphic/Image'; +import teleTerminalPic from '@/assets/ibp_images/telephone_terminal.png'; +import store from '@/store'; + +export default class alarm extends Group { + + constructor(device) { + super(); + this.event = device.event; + this.model = device.model; + this.zlevel = device.model.zlevel; + this.offsetX = 0; + this.offsetY = 0; + this.dragging = false; + this.create(); + } + + create() { + const model = this.model; + this.imageBg = new Image({ + zlevel: this.zlevel, + draggable: false, + style: { + image: teleTerminalPic, + x: model.point.x, + y: model.point.y, + width: 150, + height: 150 + } + }); + this.add(this.imageBg); + this.transformScale(); + } + + /** 缩放按钮 */ + transformScale() { + this.imageBg.origin = [this.model.point.x, this.model.point.y]; + this.imageBg.scale =[this.model.width/150, this.model.width/150]; + this.imageBg.dirty(); + } + + setDraggable() { + this.imageBg.attr('draggable', true); + this.createMouseEvent(); + } + createMouseEvent() { + this.on('mousedown', this.mousedown, this); + this.on('mousemove', this.mousemove, this); + this.on('mouseup', this.mouseup, this); + } + + mousedown(e) { + this.event.disable(); + if (e.which == 3) { + store.dispatch('ibp/setUpdateDeviceData', this.model); + return; + } + this.offsetX = e.offsetX; + this.offsetY = e.offsetY; + this.dragging = true; + } + + mousemove(e) { + } + + mouseup(e) { + this.event.enable(); + if (this.dragging) { + this.model.point.x = this.model.point.x + (e.offsetX - this.offsetX); + this.model.point.y = this.model.point.y + (e.offsetY - this.offsetY); + this.dragging = false; + } + } +} diff --git a/src/ibp/transformHandle.js b/src/ibp/transformHandle.js index 055aed10c..3f59e4eae 100644 --- a/src/ibp/transformHandle.js +++ b/src/ibp/transformHandle.js @@ -33,7 +33,6 @@ class TransformHandle { view.decomposeTransform(); this.revisibleView(view); } - // return view; } // 处理所有视图缩放/平移 @@ -47,7 +46,26 @@ class TransformHandle { } // 更新偏移量 - updateTransform(opts) { + updateTransform(opts, canvasSize) { + if (canvasSize) { + const elRect = this.parentLevel.getBoundingRect(); + const zrRect = this.rect; + if (canvasSize.x - opts.offsetX > 0) { + opts.offsetX = -elRect.x; + } + + if (canvasSize.y - opts.offsetY > 0) { + opts.offsetY = -elRect.y; + } + + if (elRect.x + canvasSize.width < zrRect.width) { + opts.offsetX -= zrRect.width - (elRect.x + canvasSize.width); + } + + if (elRect.y + canvasSize.height < zrRect.height) { + opts.offsetY -= zrRect.height - (elRect.y + canvasSize.height); + } + } this.transform = createTransform(opts); this.transformAll(); } diff --git a/src/ibp/utils/parser.js b/src/ibp/utils/parser.js index 7f3aa3ee4..d81d83cf8 100644 --- a/src/ibp/utils/parser.js +++ b/src/ibp/utils/parser.js @@ -2,6 +2,7 @@ import * as zrUtil from 'zrender/src/core/util'; import * as matrix from 'zrender/src/core/matrix'; import deviceType from '../constant/deviceType'; import deviceRender from '../constant/deviceRender'; +import store from '@/store'; export function createTransform(opts) { let transform = matrix.create(); @@ -37,13 +38,12 @@ export function createModel(type, model, propConvert) { return { instance: null, event: null, model: propConvert ? propConvert.initPrivateProps(tempModel) : tempModel }; } -export function parser(data, config) { +export function parser(data) { var ibpDevice = {}; const propConvert = null; // var propConvert = skinCode ? Vue.prototype.$theme.loadPropConvert(skinCode): null; if (data) { - - Object.assign(data.background, config); + Object.assign(data.background); ibpDevice[data.background.code] = createModel(deviceType.Background, data.background, propConvert); zrUtil.each(data.textList || [], elem => { ibpDevice[elem.code] = createModel(deviceType.IbpText, elem, propConvert); @@ -57,8 +57,8 @@ export function parser(data, config) { ibpDevice[elem.code] = createModel(deviceType.CircularLamp, elem, propConvert); }, this); - zrUtil.each(data.warnButtonList || [], elem => { - ibpDevice[elem.code] = createModel(deviceType.WarnButton, elem, propConvert); + zrUtil.each(data.alarmList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.Alarm, elem, propConvert); }, this); zrUtil.each(data.arrowList || [], elem => { @@ -69,10 +69,284 @@ export function parser(data, config) { ibpDevice[elem.code] = createModel(deviceType.RotatingButton, elem, propConvert); }, this); - zrUtil.each(data.tipList || [], elem => { - ibpDevice[elem.code] = createModel(deviceType.Tip, elem, propConvert); + zrUtil.each(data.tipBoxList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.TipBox, elem, propConvert); }, this); + + zrUtil.each(data.ibpLineList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.IbpLine, elem, propConvert); + }, this); + + zrUtil.each(data.appendageBoxList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.AppendageBox, elem, propConvert); + }, this); + + zrUtil.each(data.elevatorList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.Elevator, elem, propConvert); + }, this); + + zrUtil.each(data.keyList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.Key, elem, propConvert); + }, this); + + zrUtil.each(data.teleTerminalList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.TeleTerminal, elem, propConvert); + }, this); + + zrUtil.each(data.clockList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.Clock, elem, propConvert); + }); + + zrUtil.each(data.rotateTipList || [], elem => { + ibpDevice[elem.code] = createModel(deviceType.RotateTip, elem, propConvert); + }); } return ibpDevice; } +export function updateIbpData(device) { + const ibpData = store.getters['ibp/ibp']; + switch (device._type) { + case deviceType.Background : { + ibpData.background = device; + break; + } + case deviceType.IbpText : { + if (ibpData.textList && ibpData.textList.length > 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i 0) { + let newDevice = true; + for (let i=0; i0.9){ + parameters.side = THREE.DoubleSide; + parameters.transparent = true; + parameters.alphaTest = 0.7; + parameters.opacity = 1; + }else{ + parameters.opacity = parseFloat( materialNode.Opacity.value ); + } } if ( parameters.opacity < 1.0 ) { diff --git a/src/jlmap3d/main/model/TrainList.js b/src/jlmap3d/main/model/TrainList.js index d0ee65f91..a6b452ff3 100644 --- a/src/jlmap3d/main/model/TrainList.js +++ b/src/jlmap3d/main/model/TrainList.js @@ -14,14 +14,13 @@ export function TrainList() { this.initpromise = function(data,scene,assetloader,mixers,actionss){ return new Promise(function(resolve, reject){ - //遍历列车数据 for(let i=0;i=0;n--){ if(assetloader.modellist[n].deviceType == "train"){ + newmesh = assetloader.modellist[n].mesh.clone(true); ntracks1 = assetloader.modellist[n].animations.slice(24,52); @@ -152,6 +151,7 @@ export function TrainList() { newmesh.speed = 0; newmesh.speeds = 0; newmesh.progress = null; + newmesh.startmark = 0; scope.list[data[i].code] = newmesh; diff --git a/src/jmap/config/skinCode/bejing_01.js b/src/jmap/config/skinCode/bejing_01.js index 2777d73a8..bf0e09d05 100644 --- a/src/jmap/config/skinCode/bejing_01.js +++ b/src/jmap/config/skinCode/bejing_01.js @@ -304,9 +304,9 @@ class SkinCode extends defaultStyle { }; this[deviceType.Station] = { - text: { - show: true // 公里标名称显示 - }, + // text: { + // show: true // 公里标名称显示 + // }, kmPostShow: true, // 公里标显示 kilometerPosition: 'down', // 公里标位置 fontWeight: 'bold' // 文字错细 diff --git a/src/jmap/config/skinCode/chengdu_03.js b/src/jmap/config/skinCode/chengdu_03.js index 3c1474c90..caecf92b4 100644 --- a/src/jmap/config/skinCode/chengdu_03.js +++ b/src/jmap/config/skinCode/chengdu_03.js @@ -300,9 +300,9 @@ class SkinCode extends defaultStyle { }; this[deviceType.Station] = { - text: { - show: true // 公里标名称显示 - }, + // text: { + // show: true // 公里标名称显示 + // }, kmPostShow: false, // 公里标显示 kilometerPosition: 'up' // 公里标朝向 }; diff --git a/src/jmap/config/skinCode/chengdu_04.js b/src/jmap/config/skinCode/chengdu_04.js index 4705e4417..7fad28b82 100644 --- a/src/jmap/config/skinCode/chengdu_04.js +++ b/src/jmap/config/skinCode/chengdu_04.js @@ -297,9 +297,9 @@ class SkinCode extends defaultStyle { }; this[deviceType.Station] = { - text: { - show: true // 公里标名称显示 - }, + // text: { + // show: true // 公里标名称显示 + // }, kmPostShow: false, // 公里标显示 kilometerPosition: 'up' // 公里标朝向 }; diff --git a/src/jmap/config/skinCode/fuzhou_01.js b/src/jmap/config/skinCode/fuzhou_01.js index acae1a23b..e96d5cc30 100644 --- a/src/jmap/config/skinCode/fuzhou_01.js +++ b/src/jmap/config/skinCode/fuzhou_01.js @@ -279,9 +279,9 @@ class SkinCode extends defaultStyle { }; this[deviceType.Station] = { - text: { - show: true // 公里标名称显示 - }, + // text: { + // show: true // 公里标名称显示 + // }, kmPostShow: true, // 公里标显示 kilometerPosition: 'up' // 公里标朝向 }; diff --git a/src/jmap/map.js b/src/jmap/map.js index 966b7771a..47d7e3833 100644 --- a/src/jmap/map.js +++ b/src/jmap/map.js @@ -20,9 +20,6 @@ class Jlmap { // 鼠标事件 this.events = { __Pan: 'pan', __Zoom: 'zoom', Selected: 'selected', Contextmenu: 'contextmenu', DataZoom: 'dataZoom'}; - // 原始数据 - this.data = {}; - // 皮肤参数 this.skinCode = ''; @@ -83,12 +80,10 @@ class Jlmap { this.$options.scaleRate = map.skinVO.scaling || 1; this.$options.offsetX = map.skinVO.origin ? map.skinVO.origin.x : 0; this.$options.offsetY = map.skinVO.origin ? map.skinVO.origin.y : 0; + // 更新视图大小 this.$painter.updateTransform({ scaleRate: this.$options.scaleRate, offsetX: this.$options.offsetX, offsetY: this.$options.offsetY }); } - // 保存原始数据 - this.data = map; - // 解析地图数据 this.mapDevice = mapDevice; @@ -103,7 +98,6 @@ class Jlmap { // 视图加载完成 回调 if (this.methods.viewLoaded instanceof Function) { this.methods.viewLoaded(this.mapDevice); } - } setDefaultState() { @@ -158,7 +152,6 @@ class Jlmap { const type = elem._type; const oDevice = this.mapDevice[code] || deviceFactory(type, elem); const nDevice = Object.assign(oDevice || {}, elem); - this.dataSync(nDevice); this.$painter.delete(oDevice); if (!elem._dispose) { this.mapDevice[code] = nDevice; @@ -275,52 +268,6 @@ class Jlmap { return payload || {}; } - dataSync(model) { - var prop = null; - var type = model._type; - var code = model.code; - - switch (type) { - case deviceType.Link: prop = 'linkList'; break; - case deviceType.Section: prop = 'sectionList'; break; - case deviceType.Switch: prop = 'switchList'; break; - case deviceType.Signal: prop = 'signalList'; break; - case deviceType.Station: prop = 'stationList'; break; - case deviceType.StationStand: prop = 'stationStandList'; break; - case deviceType.StationControl: prop = 'stationControlList'; break; - case deviceType.StationCounter: prop = 'stationCounterList'; break; - case deviceType.ZcControl: prop = 'zcControlList'; break; - case deviceType.StationDelayUnlock: prop = 'stationDelayUnlockList'; break; - case deviceType.LcControl: prop = 'lcControlList'; break; - case deviceType.ButtonControl: prop = 'buttonList'; break; - case deviceType.LimitControl: prop = 'tempSpeedLimitList'; break; - case deviceType.ImageControl: prop = 'imageControl'; break; - case deviceType.Train: prop = 'trainList'; break; - case deviceType.TrainWindow: prop = 'trainWindowList'; break; - case deviceType.Line: prop = 'lineList'; break; - case deviceType.Text: prop = 'textList'; break; - } - - const list = this.data[prop] || []; - const idex = list.findIndex(elem => { return elem.code == code; }); - if (list) { - if (model._dispose) { - idex >= 0 && list.splice(idex, 1); - } else { - const elem = list[idex]; - if (elem) { - Object.keys(model).forEach(key => { - if (key != 'instance') { - elem[key] = model[key]; - } - }); - } else { - list.push(Object.assign({}, model)); - } - } - } - } - getZr() { return this.$zr; } diff --git a/src/jmap/shape/Section/EMouse.js b/src/jmap/shape/Section/EMouse.js index d97f5eb11..40e2166ec 100644 --- a/src/jmap/shape/Section/EMouse.js +++ b/src/jmap/shape/Section/EMouse.js @@ -99,8 +99,8 @@ class EMouse extends Group { this.sectionTextBorder && this.sectionTextBorder.show(); this.lineBorder && this.lineBorder.show(); const instance = this.getInstanceByCode(this.device.model.trainWindowCode); - if (instance && instance.mouseEnter) { - instance.mouseEnter(e); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseEnter) { + instance.mouseEvent.mouseEnter(e); } } } @@ -118,8 +118,8 @@ class EMouse extends Group { this.sectionTextBorder && this.sectionTextBorder.hide(); this.lineBorder && this.lineBorder.hide(); const instance = this.getInstanceByCode(this.device.model.trainWindowCode); - if (instance && instance.mouseLeave) { - instance.mouseLeave(e); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseLeave) { + instance.mouseEvent.mouseLeave(e); } } } diff --git a/src/jmap/shape/Station/index.js b/src/jmap/shape/Station/index.js index 642962ef8..152d34e4d 100644 --- a/src/jmap/shape/Station/index.js +++ b/src/jmap/shape/Station/index.js @@ -21,7 +21,7 @@ export default class Station extends Group { const model = this.model; const style = this.style; - if (style.Station.text.show) { + if (model.visible) { // 公里标名称是否显示 this.stationText = new ETextName({ zlevel: this.zlevel, @@ -38,29 +38,29 @@ export default class Station extends Group { textFill: model.nameFontColor }); this.add(this.stationText); - } - - if (style.Station.kmPostShow) { + const path = window.location.href; + if (style.Station.kmPostShow || path.includes('/map/draw')) { // 公里标是否显示 - let direction = 1; - if (this.style.Station.kilometerPosition == 'up') { - direction = -1; + let direction = 1; + if (this.style.Station.kilometerPosition == 'up') { + direction = -1; + } + this.mileageText = new ETextName({ + zlevel: this.zlevel, + z: this.z, + position: [0, 0], + x: model.position.x, + y: model.position.y + ((parseInt(model.nameFont) + 2) * direction), + fontWeight: model.fontWeight, + fontSize: model.kmPostFont || 18, + fontFamily: style.fontFamily, + text: model.kmPost, + textAlign: 'middle', + textVerticalAlign: 'top', + textFill: model.kmPostFontColor + }); + this.add(this.mileageText); } - this.mileageText = new ETextName({ - zlevel: this.zlevel, - z: this.z, - position: [0, 0], - x: model.position.x, - y: model.position.y + ((parseInt(model.nameFont) + 2) * direction), - fontWeight: model.fontWeight, - fontSize: model.kmPostFont || 18, - fontFamily: style.fontFamily, - text: model.kmPost, - textAlign: 'middle', - textVerticalAlign: 'top', - textFill: model.kmPostFontColor - }); - this.add(this.mileageText); } } diff --git a/src/jmap/shape/Switch/EMouse.js b/src/jmap/shape/Switch/EMouse.js index 89b6e57fa..5ae837984 100644 --- a/src/jmap/shape/Switch/EMouse.js +++ b/src/jmap/shape/Switch/EMouse.js @@ -42,9 +42,9 @@ class EMouse extends Group { // 创建道岔边框 craeteSwitchBorder() { - const sectionA = this.device.model.sectionAInstance.instance; - const sectionB = this.device.model.sectionBInstance.instance; - const sectionC = this.device.model.sectionCInstance.instance; + const sectionA = this.getInstanceByCode(this.device.model.sectionACode); + const sectionB = this.getInstanceByCode(this.device.model.sectionBCode); + const sectionC = this.getInstanceByCode(this.device.model.sectionCCode); const rect = this.device.getBoundingRect(); sectionA && rect.union(sectionA.getBoundingRect()); @@ -83,8 +83,8 @@ class EMouse extends Group { const section = store.getters['map/getDeviceByCode'](this.device.model.sectionACode) || {}; const parentSection = store.getters['map/getDeviceByCode'](section.parentCode) || {}; const instance = this.getInstanceByCode(parentSection.trainWindowCode); - if (instance && instance.mouseLeave) { - instance.mouseLeave(e); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseLeave) { + instance.mouseEvent.mouseLeave(e); } } } @@ -101,8 +101,8 @@ class EMouse extends Group { const section = store.getters['map/getDeviceByCode'](this.device.model.sectionACode) || {}; const parentSection = store.getters['map/getDeviceByCode'](section.parentCode) || {}; const instance = this.getInstanceByCode(parentSection.trainWindowCode); - if (instance && instance.mouseEnter) { - instance.mouseEnter(e); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseEnter) { + instance.mouseEvent.mouseEnter(e); } } diff --git a/src/jmap/shape/TrainWindow/EMouse.js b/src/jmap/shape/TrainWindow/EMouse.js new file mode 100644 index 000000000..d059089c0 --- /dev/null +++ b/src/jmap/shape/TrainWindow/EMouse.js @@ -0,0 +1,37 @@ +export default class EMouse { + constructor(device) { + this.device = device; + } + + mouseover(e) { + if (this.device.prdType) { + this.device.setVisible(true); + const instance = this.device.getInstanceByCode(this.device.model.sectionCode); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseover) { + instance.mouseEvent.mouseEnter(e); + } + } + } + + mouseout(e) { + if (this.device.prdType) { + this.device.setVisible(false || this.device.model.trainWindowShow); + const instance = this.device.getInstanceByCode(this.device.model.sectionCode); + if (instance && instance.mouseEvent && instance.mouseEvent.mouseout) { + instance.mouseEvent.mouseLeave(e); + } + } + } + + mouseEnter(e) { + if (this.device.prdType) { + this.device.setVisible(true); + } + } + + mouseLeave(e) { + if (this.device.prdType ) { + this.device.setVisible(false); + } + } +} diff --git a/src/jmap/shape/TrainWindow/index.js b/src/jmap/shape/TrainWindow/index.js index 1315f9c9a..e0ec9d383 100644 --- a/src/jmap/shape/TrainWindow/index.js +++ b/src/jmap/shape/TrainWindow/index.js @@ -1,6 +1,7 @@ /* 车次窗*/ import Polygon from 'zrender/src/graphic/shape/Polygon'; import Group from 'zrender/src/container/Group'; +import EMouse from './EMouse'; import store from '@/store'; class TrainWindow extends Group { @@ -14,6 +15,7 @@ class TrainWindow extends Group { this.z = 9; this.prdType = store.state.training.prdType; this.create(model); + this.createMouseEvent(); this.setState(model); } create(model) { @@ -22,6 +24,12 @@ class TrainWindow extends Group { } } + createMouseEvent() { + this.mouseEvent = new EMouse(this); + this.on('mouseout', (e) => { this.mouseEvent.mouseout(e); }); + this.on('mouseover', (e) => { this.mouseEvent.mouseover(e); }); + } + /** 创建车次窗*/ createTrainWindow() { const model = this.model; @@ -44,9 +52,7 @@ class TrainWindow extends Group { lineWidth: this.style.TrainWindow.lineWidth, stroke: this.style.TrainWindow.lineColor, fill: this.style.transparentColor - }, - onmouseover: (e) => { this.mouseover(e); }, - onmouseout: (e) => { this.mouseout(e); } + } }); this.add(this.trainRect); } @@ -72,38 +78,6 @@ class TrainWindow extends Group { getInstanceByCode(code) { return (store.getters['map/getDeviceByCode'](code) || {}).instance; } - - mouseout(e) { - if (this.prdType) { - this.setVisible(false); - const instance = this.getInstanceByCode(this.model.sectionCode); - if (instance && instance.mouseEvent && instance.mouseEvent.mouseout) { - instance.mouseEvent.mouseLeave(e); - } - } - } - - mouseover(e) { - if (this.prdType) { - this.setVisible(true); - const instance = this.getInstanceByCode(this.model.sectionCode); - if (instance && instance.mouseEvent && instance.mouseEvent.mouseover) { - instance.mouseEvent.mouseEnter(e); - } - } - } - - mouseEnter(e) { - if (this.prdType) { - this.setVisible(true); - } - } - - mouseLeave(e) { - if (this.prdType ) { - this.setVisible(false); - } - } } export default TrainWindow; diff --git a/src/jmap/theme/batong_01/menus/dialog/trainControl.vue b/src/jmap/theme/batong_01/menus/dialog/trainControl.vue index ab8584424..14842059e 100644 --- a/src/jmap/theme/batong_01/menus/dialog/trainControl.vue +++ b/src/jmap/theme/batong_01/menus/dialog/trainControl.vue @@ -1,423 +1,464 @@ \ No newline at end of file + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.doClose(); + } + }).catch(() => { + this.doClose(); + }); + } + } +}; + diff --git a/src/jmap/theme/batong_01/menus/dialog/trainDelete.vue b/src/jmap/theme/batong_01/menus/dialog/trainDelete.vue index 003ce2e1f..643df3baa 100644 --- a/src/jmap/theme/batong_01/menus/dialog/trainDelete.vue +++ b/src/jmap/theme/batong_01/menus/dialog/trainDelete.vue @@ -1,156 +1,165 @@ \ No newline at end of file + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.doClose(); + } + }).catch(() => { this.doClose(); }); + } + } +}; + diff --git a/src/jmap/theme/batong_01/menus/menuTrain.vue b/src/jmap/theme/batong_01/menus/menuTrain.vue index eadcd4d12..05a582a36 100644 --- a/src/jmap/theme/batong_01/menus/menuTrain.vue +++ b/src/jmap/theme/batong_01/menus/menuTrain.vue @@ -1,318 +1,321 @@  \ No newline at end of file + if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) { + this.$refs.popMenu.resetShowPosition(point); + } + }, + doClose() { + if (this.$refs && this.$refs.popMenu) { + this.$refs.popMenu.close(); + // this.$store.dispatch('map/setTrainWindowShow', false); + } + }, + // 设置故障 + setStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.stoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 取消故障 + cancelStoppage() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.cancelStoppage.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 限速行驶 + limitSpeed() { + const operate = { + start: true, + send: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.limitSpeed.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } else { + this.$refs.noticeInfo.doShow(operate); + } + }).catch(() => { + this.$refs.noticeInfo.doShow(operate); + }); + }, + // 添加列车识别号 + addTrainId() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.addTrainId.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainControl.doShow(operate, this.selected); + } + }); + }, + // 删除列车识别号 + delTrainId() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.delTrainId.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainDelete.doShow(operate, this.selected); + } + }); + }, + // 修改列车识别号 + editTrainId() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.editTrainId.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainControl.doShow(operate, this.selected); + } + }); + }, + // 修改车组号 + editTrainNo() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.editTrainNo.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainEditNumber.doShow(operate, this.selected); + } + }); + }, + // 移动列车识别号 + moveTrainId() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.moveTrainId.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainMove.doShow(operate, this.selected); + } + }); + }, + // 交换列车识别号 + switchTrainId() { + const operate = { + start: true, + code: this.selected.code, + type: MapDeviceType.Train.type, + label: MapDeviceType.Train.label, + operation: OperationEvent.Train.switchTrainId.menu.operation + }; + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + this.$refs.trainSwitch.doShow(operate, this.selected); + } + }); + } + } +}; + diff --git a/src/jmap/theme/beijing_01/menus/dialog/trainDelete.vue b/src/jmap/theme/beijing_01/menus/dialog/trainDelete.vue index 70225067f..155e29ee3 100644 --- a/src/jmap/theme/beijing_01/menus/dialog/trainDelete.vue +++ b/src/jmap/theme/beijing_01/menus/dialog/trainDelete.vue @@ -1,160 +1,169 @@ \ No newline at end of file + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.doClose(); + } + }).catch(() => { this.doClose(); }); + } + } +}; + diff --git a/src/jmap/theme/beijing_01/menus/menuTrain.vue b/src/jmap/theme/beijing_01/menus/menuTrain.vue index 03cd655b6..a37eb1d68 100644 --- a/src/jmap/theme/beijing_01/menus/menuTrain.vue +++ b/src/jmap/theme/beijing_01/menus/menuTrain.vue @@ -279,15 +279,6 @@ export default { ] }; }, - watch: { - '$store.state.menuOperation.menuCount': function () { - if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Train) && !this.buttonOperation) { - this.doShow(this.$store.state.menuOperation.menuPosition); - } else { - this.doClose(); - } - } - }, computed: { ...mapGetters('training', [ 'mode', @@ -297,6 +288,15 @@ export default { 'buttonOperation' ]) }, + watch: { + '$store.state.menuOperation.menuCount': function () { + if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Train) && !this.buttonOperation) { + this.doShow(this.$store.state.menuOperation.menuPosition); + } else { + this.doClose(); + } + } + }, methods: { clickEvent() { const self = this; diff --git a/src/jmap/theme/beijing_01/menusPlan/addTask.vue b/src/jmap/theme/beijing_01/menusPlan/addTask.vue index 10a8fd228..009c19f02 100644 --- a/src/jmap/theme/beijing_01/menusPlan/addTask.vue +++ b/src/jmap/theme/beijing_01/menusPlan/addTask.vue @@ -1,150 +1,162 @@ \ No newline at end of file + diff --git a/src/jmap/theme/beijing_01/menusPlan/createTodayPlan.vue b/src/jmap/theme/beijing_01/menusPlan/createTodayPlan.vue index af08e8157..f9b4ff067 100644 --- a/src/jmap/theme/beijing_01/menusPlan/createTodayPlan.vue +++ b/src/jmap/theme/beijing_01/menusPlan/createTodayPlan.vue @@ -18,9 +18,9 @@ \ No newline at end of file + diff --git a/src/jmap/theme/beijing_01/menusPlan/deleteTask.vue b/src/jmap/theme/beijing_01/menusPlan/deleteTask.vue index b661ed20e..cd79c305f 100644 --- a/src/jmap/theme/beijing_01/menusPlan/deleteTask.vue +++ b/src/jmap/theme/beijing_01/menusPlan/deleteTask.vue @@ -1,57 +1,66 @@ \ No newline at end of file + diff --git a/src/jmap/theme/beijing_01/menusPlan/deleteTodayPlan.vue b/src/jmap/theme/beijing_01/menusPlan/deleteTodayPlan.vue index 284028f97..2e22a7c64 100644 --- a/src/jmap/theme/beijing_01/menusPlan/deleteTodayPlan.vue +++ b/src/jmap/theme/beijing_01/menusPlan/deleteTodayPlan.vue @@ -1,46 +1,55 @@ \ No newline at end of file + diff --git a/src/jmap/theme/beijing_01/menusPlan/managePlanList.vue b/src/jmap/theme/beijing_01/menusPlan/managePlanList.vue index b4ae47a4b..288ad3381 100644 --- a/src/jmap/theme/beijing_01/menusPlan/managePlanList.vue +++ b/src/jmap/theme/beijing_01/menusPlan/managePlanList.vue @@ -1,122 +1,143 @@ \ No newline at end of file + diff --git a/src/jmap/theme/beijing_01/planSchedule/index.vue b/src/jmap/theme/beijing_01/planSchedule/index.vue index 15dc56293..d5935f906 100644 --- a/src/jmap/theme/beijing_01/planSchedule/index.vue +++ b/src/jmap/theme/beijing_01/planSchedule/index.vue @@ -27,7 +27,6 @@ import ModifyingPlan from '../menusPlan/modifyingPlan'; import AddTask from '../menusPlan/addTask'; import DeleteTask from '../menusPlan/deleteTask'; import ModifyingTask from '../menusPlan/modifyingTask'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; export default { name: 'Menus', @@ -44,9 +43,6 @@ export default { DeleteTask, ModifyingTask }, - mixins: [ - WindowResizeHandler - ], props: { group: { type: String, @@ -55,20 +51,20 @@ export default { }, data() { return { - width: 0, - height: 0 }; }, computed: { skinCode() { return this.$route.query.skinCode || '02'; + }, + width() { + return this.$store.state.app.width; + }, + height() { + return this.$store.state.app.height; } }, methods: { - resizeHandler() { - this.width = this._clientWidth; - this.height = this._clientHeight; - }, setPosition() { this.$nextTick(() => { this.$refs.schedule.setPosition(); diff --git a/src/jmap/theme/chengdu_03/menus/dialog/trainDelete.vue b/src/jmap/theme/chengdu_03/menus/dialog/trainDelete.vue index ca1df1743..109e1c918 100644 --- a/src/jmap/theme/chengdu_03/menus/dialog/trainDelete.vue +++ b/src/jmap/theme/chengdu_03/menus/dialog/trainDelete.vue @@ -1,143 +1,152 @@ \ No newline at end of file + this.$store.dispatch('training/next', operate).then(({ valid }) => { + if (valid) { + this.doClose(); + } + }).catch(() => { this.doClose(); }); + } + } +}; + diff --git a/src/jmap/theme/chengdu_03/menus/menuBar.vue b/src/jmap/theme/chengdu_03/menus/menuBar.vue index eb025a093..c6631e746 100644 --- a/src/jmap/theme/chengdu_03/menus/menuBar.vue +++ b/src/jmap/theme/chengdu_03/menus/menuBar.vue @@ -755,9 +755,11 @@ export default { }, initMenu(menu) { this.menu = menuBarConvert(this.menuNormal[SystemType[this.$store.state.training.prdType]], this.$store.state.training.operatemode); - this.menu[2].children = this.initStationList(); - this.clickEvent(); - this.closeMenu(true); + if (this.menu.length) { + this.menu[2].children = this.initStationList(); + this.clickEvent(); + this.closeMenu(true); + } }, clickEvent() { const self = this; diff --git a/src/jmap/theme/chengdu_03/menus/menuTrain.vue b/src/jmap/theme/chengdu_03/menus/menuTrain.vue index 4f5e7d38b..29d2509ce 100644 --- a/src/jmap/theme/chengdu_03/menus/menuTrain.vue +++ b/src/jmap/theme/chengdu_03/menus/menuTrain.vue @@ -1,488 +1,491 @@  diff --git a/src/jmap/theme/chengdu_03/menusPlan/addTask.vue b/src/jmap/theme/chengdu_03/menusPlan/addTask.vue index 10a8fd228..009c19f02 100644 --- a/src/jmap/theme/chengdu_03/menusPlan/addTask.vue +++ b/src/jmap/theme/chengdu_03/menusPlan/addTask.vue @@ -1,150 +1,162 @@ \ No newline at end of file + diff --git a/src/jmap/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue b/src/jmap/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue index 747a38d6b..591ed34cc 100644 --- a/src/jmap/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue +++ b/src/jmap/theme/chengdu_03/menusPlan/chooseTemplatePlan.vue @@ -1,10 +1,10 @@ \ No newline at end of file + diff --git a/src/jmap/theme/chengdu_04/menusPlan/chooseTemplatePlan.vue b/src/jmap/theme/chengdu_04/menusPlan/chooseTemplatePlan.vue index 5f95a8e18..591ed34cc 100644 --- a/src/jmap/theme/chengdu_04/menusPlan/chooseTemplatePlan.vue +++ b/src/jmap/theme/chengdu_04/menusPlan/chooseTemplatePlan.vue @@ -1,13 +1,13 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menusPlan/deleteTask.vue b/src/jmap/theme/fuzhou_01/menusPlan/deleteTask.vue index a6b886196..4d6f216da 100644 --- a/src/jmap/theme/fuzhou_01/menusPlan/deleteTask.vue +++ b/src/jmap/theme/fuzhou_01/menusPlan/deleteTask.vue @@ -1,57 +1,66 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue b/src/jmap/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue index 543f171e5..295030d42 100644 --- a/src/jmap/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue +++ b/src/jmap/theme/fuzhou_01/menusPlan/deleteTodayPlan.vue @@ -1,46 +1,55 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menusPlan/managePlanList.vue b/src/jmap/theme/fuzhou_01/menusPlan/managePlanList.vue index 11b2df481..0c93359ff 100644 --- a/src/jmap/theme/fuzhou_01/menusPlan/managePlanList.vue +++ b/src/jmap/theme/fuzhou_01/menusPlan/managePlanList.vue @@ -1,122 +1,143 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menusPlan/modifyingPlan.vue b/src/jmap/theme/fuzhou_01/menusPlan/modifyingPlan.vue index ff0299381..90bba4e44 100644 --- a/src/jmap/theme/fuzhou_01/menusPlan/modifyingPlan.vue +++ b/src/jmap/theme/fuzhou_01/menusPlan/modifyingPlan.vue @@ -1,152 +1,152 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/menusPlan/modifyingTask.vue b/src/jmap/theme/fuzhou_01/menusPlan/modifyingTask.vue index 2b153891a..691db5458 100644 --- a/src/jmap/theme/fuzhou_01/menusPlan/modifyingTask.vue +++ b/src/jmap/theme/fuzhou_01/menusPlan/modifyingTask.vue @@ -1,298 +1,309 @@ \ No newline at end of file + diff --git a/src/jmap/theme/fuzhou_01/planSchedule/index.vue b/src/jmap/theme/fuzhou_01/planSchedule/index.vue index 05c69868f..e9194a6e5 100644 --- a/src/jmap/theme/fuzhou_01/planSchedule/index.vue +++ b/src/jmap/theme/fuzhou_01/planSchedule/index.vue @@ -27,7 +27,6 @@ import ModifyingPlan from '../menusPlan/modifyingPlan'; import AddTask from '../menusPlan/addTask'; import DeleteTask from '../menusPlan/deleteTask'; import ModifyingTask from '../menusPlan/modifyingTask'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; export default { name: 'Menus', @@ -44,9 +43,6 @@ export default { DeleteTask, ModifyingTask }, - mixins: [ - WindowResizeHandler - ], props: { group: { type: String, @@ -55,20 +51,20 @@ export default { }, data() { return { - width: 0, - height: 0 }; }, computed: { skinCode() { return this.$route.query.skinCode || '02'; + }, + width() { + return this.$store.state.app.width; + }, + height() { + return this.$store.state.app.height; } }, methods: { - resizeHandler() { - this.width = this._clientWidth; - this.height = this._clientHeight; - }, setPosition() { this.$nextTick(() => { this.$refs.schedule.setPosition(); diff --git a/src/jmap/utils/parser.js b/src/jmap/utils/parser.js index 4ecbb8788..02701778b 100644 --- a/src/jmap/utils/parser.js +++ b/src/jmap/utils/parser.js @@ -160,9 +160,6 @@ export function parser(data, skinCode) { section['relSwitchCode'] = elem.code; } - mapDevice[elem.code]['sectionAInstance'] = cnodeSection; - mapDevice[elem.code]['sectionBInstance'] = lnodeSection; - mapDevice[elem.code]['sectionCInstance'] = rnodeSection; rnodeSection['layer'] = -1; } }, this); diff --git a/src/layout/index.vue b/src/layout/index.vue index 0fe7b0698..edf1684bd 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -2,31 +2,22 @@
- +
+ diff --git a/src/views/components/filterCity/index.vue b/src/views/components/filterCity/index.vue index 28abc0fc8..7272b10f5 100644 --- a/src/views/components/filterCity/index.vue +++ b/src/views/components/filterCity/index.vue @@ -175,7 +175,6 @@ export default { } }, filterSelectChange(filterSelect) { - this.$emit('changeFilter', filterSelect); if (this.isCascader) { // 设置二级联动组件 localStore.set('cityCode', filterSelect[0]); diff --git a/src/views/components/limits/distribute.vue b/src/views/components/limits/distribute.vue deleted file mode 100644 index 57679145c..000000000 --- a/src/views/components/limits/distribute.vue +++ /dev/null @@ -1,203 +0,0 @@ - - - diff --git a/src/views/components/limits/index.vue b/src/views/components/limits/index.vue index 195a155c7..dee3b4d6a 100644 --- a/src/views/components/limits/index.vue +++ b/src/views/components/limits/index.vue @@ -12,8 +12,7 @@ @@ -102,12 +101,12 @@ export default { }); return sums; }, - transfer(courseModel) { + transfer(courseModel) { // 转增 if (this.$refs) { this.$refs.transfer.doShow(courseModel); } }, - distribute(courseModel) { + distribute(courseModel) { // 分发 if (this.$refs) { this.$refs.distribute.doShow(courseModel); } diff --git a/src/views/components/limits/transfer.vue b/src/views/components/limits/transfer.vue deleted file mode 100644 index 238fa0a61..000000000 --- a/src/views/components/limits/transfer.vue +++ /dev/null @@ -1,209 +0,0 @@ - - - diff --git a/src/views/components/pay/commit.vue b/src/views/components/pay/commit.vue index 5ecb4e1b6..7cd51ac9e 100644 --- a/src/views/components/pay/commit.vue +++ b/src/views/components/pay/commit.vue @@ -149,14 +149,15 @@ export default { if (val) { this.saleModel.price = val.price; this.saleModel.goodsId = val.id; - if (this.$route.query.permissionType == PermissionType.LESSON || - this.$route.query.permissionType == PermissionType.EXAM) { - this.saleModel.name = val.lessonName; - } else if (this.$route.query.permissionType == PermissionType.SCREEN) { - this.saleModel.name = val.name; - } else { - this.saleModel.name = val.prdName; - } + this.saleModel.name = val.name; + // if (this.$route.query.permissionType == PermissionType.LESSON || + // this.$route.query.permissionType == PermissionType.EXAM) { + // this.saleModel.name = val.name; + // } else if (this.$route.query.permissionType == PermissionType.SCREEN) { + // this.saleModel.name = val.name; + // } else { + // this.saleModel.name = val.prdName; + // } } } }, diff --git a/src/views/components/pay/index.vue b/src/views/components/pay/index.vue index 3124f12b0..cb725cb63 100644 --- a/src/views/components/pay/index.vue +++ b/src/views/components/pay/index.vue @@ -44,7 +44,6 @@ import { UrlConfig } from '@/router/index'; import CommitDraft from './commit'; import ConfirmDraft from './confirm'; import FinishDraft from './finish'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; export default { name: 'LessonDetail', @@ -53,10 +52,8 @@ export default { ConfirmDraft, FinishDraft }, - mixins: [WindowResizeHandler], data() { return { - height: '', active: -1, order: {}, title: '', @@ -78,6 +75,14 @@ export default { case PermissionType.SCREEN: return this.$t('global.timeUnitPrice'); } return ''; + }, + height() { + if (/\/dp\//.test(this.$route.path) || + /\/plan\//.test(this.$route.path)) { + return this.$store.state.app.height; + } + + return this.$store.state.app.height - 61; } }, watch: { @@ -89,17 +94,16 @@ export default { this.initLoadPage(); }, methods: { - resizeHandler: function () { - this.height = this._clientHeight - 61; - }, // 加载课程信息 initLoadPage() { const data = { - mapId: this.$route.query.mapId, - lessonId: this.$route.params.lessonId, - productType: this.$route.query.permissionType, - mapProductCode: this.$route.query.prdCode + permissionType: this.$route.query.permissionType }; + if (this.$route.query.permissionType != '04') { + data['mapId'] = this.$route.query.mapId; + data['prdCode'] = this.$route.query.prdCode; + data['lessonId'] = this.$route.query.lessonId; + } getCommodityDetailByParams(data).then(response => { this.active = 0; diff --git a/src/views/dashboard/echarts/permission.vue b/src/views/dashboard/echarts/permission.vue index 4880ff445..9bc1e78c2 100644 --- a/src/views/dashboard/echarts/permission.vue +++ b/src/views/dashboard/echarts/permission.vue @@ -27,14 +27,14 @@ export default { data() { return { option: { - backgroundColor: '#f0f0f0', + backgroundColor: '#fefefe', title: { text: '', subtext: '', subtextStyle: { color: '#909399' }, - y: 10, + y: 20, left: 'center' }, tooltip: { @@ -43,7 +43,7 @@ export default { top: '17%', width: '45%', bottom: '5%', - left: 30, + left: 50, containLabel: true }], xAxis: { @@ -159,10 +159,10 @@ export default { }; (this.permissionList.filter(elem => { return elem.mapName == mapName; })|| []).forEach(elem => { - if (elem.mapProductName == Object.keys(permissionMap)[Object.keys(permissionMap).length -1]) { - permissionMap[`${elem.mapProductName}`] = elem.remains; + if (elem.prdName == Object.keys(permissionMap)[Object.keys(permissionMap).length -1]) { + permissionMap[`${elem.prdName}`] = elem.remains; } else { - permissionMap[`${elem.mapProductName}-${permissionDict[elem.type]}`] = elem.remains; + permissionMap[`${elem.prdName}-${permissionDict[elem.permissionType]}`] = elem.remains; } }); @@ -170,7 +170,7 @@ export default { const values = Object.values(permissionMap); const sum = values.reduce((total, num) => { return total + num; }); - this.option.title.text = `剩余权限分布图(${mapName})`; + this.option.title.text = `剩余权限分布图 —— ${mapName}`; this.option.title.subtext = `权限总计${sum}个`; this.option.xAxis.show = true; @@ -179,7 +179,7 @@ export default { this.option.xAxis.data = keys; this.option.series[0].data = values; - this.option.series[1].data = keys.map(name => { return {name, value: permissionMap[name]}; }); + this.option.series[1].data = keys.filter(name => { return permissionMap[name]; } ).map(name => { return {name, value: permissionMap[name]}; }); } else { this.option.title.text = `剩余权限分布图(暂无地图线路数据)`; this.option.title.subtext = `权限总计0个`; @@ -199,7 +199,7 @@ export default { .lesson-select { position: absolute; display: flex; - top: 30px; - right: 30px; + top: 20px; + right: 20px; } diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 9cb824874..578ac8cce 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -16,7 +16,6 @@ @@ -84,6 +91,5 @@ export default { .perssmin-card { display: flex; justify-content: center; - margin-top: 20px; } diff --git a/src/views/demonstration/deomonList/index.vue b/src/views/demonstration/deomonList/index.vue index b8b5fd3b7..a3b6d72ed 100644 --- a/src/views/demonstration/deomonList/index.vue +++ b/src/views/demonstration/deomonList/index.vue @@ -71,8 +71,6 @@ export default { return true; } }, - watch: { - }, methods: { filterNode(value, data) { if (!value) return true; @@ -99,9 +97,6 @@ export default { doClose() { this.loading = false; this.dialogShow = false; - }, - handleWatch() { - }, async handleJoin() { if (this.group) { diff --git a/src/views/demonstration/detail/index.vue b/src/views/demonstration/detail/index.vue index 10b24ee54..86e54fa16 100644 --- a/src/views/demonstration/detail/index.vue +++ b/src/views/demonstration/detail/index.vue @@ -30,9 +30,9 @@
- {{ $t('global.buy') }} - {{ $t('global.distributePermission') }} - {{ $t('global.transferQRCode') }} + {{ $t('global.buy') }} + {{ $t('global.distributePermission') }} + {{ $t('global.transferQRCode') }} {{ $t('demonstration.startSimulation') }} {{ $t('demonstration.createRoom') }} {{ $t('demonstration.enterRoom') }} @@ -49,22 +49,17 @@ import { launchFullscreen } from '@/utils/screen'; import { queryPermissionSimulation } from '@/api/management/author'; import { postCreateRoom, getjointTraining, checkRoomExist } from '@/api/chat'; import { UrlConfig } from '@/router/index'; -import { simulationNotify } from '@/api/simulation'; +import { simulationNotify, schedulingNotify } from '@/api/simulation'; import localStore from 'storejs'; import LimitList from '@/views/components/limits/index'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; export default { name: 'ExamDetailList', components: { LimitList }, - mixins: [ - WindowResizeHandler - ], data() { return { - height: '', tryTime: 0, goodsId: '', tryUser: 0, @@ -94,7 +89,7 @@ export default { }, hasPermssion() { let isShow = false; - if (this.courseModel.pmsList.length) { + if (this.courseModel.pmsList && this.courseModel.pmsList.length) { isShow = true; } return isShow; @@ -110,6 +105,9 @@ export default { }, mapId() { return this.$route.params.mapId; + }, + height() { + return this.$store.state.app.height - 50; } }, watch: { @@ -151,9 +149,6 @@ export default { this.$messageBox(this.$t('error.getProductListFailed')); } }, - resizeHandler: function () { - this.height = this._clientHeight - 50; - }, async getJointTrainingList() { try { if (this.mapId) { @@ -190,15 +185,14 @@ export default { pmsList: resp.data.pmsList || [], PermissionType: PermissionType.SIMULATION }; - const rest = await queryPermissionSimulation({ mapId: this.courseModel.mapId, prdCode: this.courseModel.prdCode }); this.courseModel.pmsList = rest.data; - if (!this.courseModel.pmsList.length) { + if (!this.courseModel.pmsList) { this.tryUser = 1; const paras = { mapId: data.id, - mapProductCode: data.code, - productType: PermissionType.SIMULATION + prdCode: data.code, + permissionType: PermissionType.SIMULATION }; try { @@ -226,34 +220,39 @@ export default { const query = { skinCode: this.courseModel.skinCode, group: this.jointGroup }; this.$router.push({ path: `/trainroom`, query: query }); }, - async start() { - if (this.courseModel.prdType == '03') { - try { - this.buttonLoading = true; - const param = { - mapId: Number(this.mapId), - prdCode: this.courseModel.prdCode - }; - const res = await postCreateRoom(param); - if (res && res.code == 200) { - const query = { skinCode: this.courseModel.skinCode, group: res.data }; - this.$router.push({ path: `/trainroom`, query: query }); - } - } catch (error) { - this.buttonLoading = false; - if (error.code == 20001) { - this.$confirm(this.$t('tip.createRoomFailedHint'), this.$t('global.tips'), { - confirmButtonText: this.$t('global.confirm'), - cancelButtonText: this.$t('global.cancel'), - type: 'warning' - }).then(() => {}).catch(() => {}); - } - if (error.code == 500009) { - this.$messageBox(error.message); - } + async createRoom() { + try { + this.buttonLoading = true; + const param = { + mapId: Number(this.mapId), + prdCode: this.courseModel.prdCode + }; + const res = await postCreateRoom(param); + if (res && res.code == 200) { + const query = { skinCode: this.courseModel.skinCode, group: res.data }; + this.$router.push({ path: `/trainroom`, query: query }); } + } catch (error) { + this.buttonLoading = false; + if (error.code == 20001) { + this.$confirm(this.$t('tip.createRoomFailedHint'), this.$t('global.tips'), { + confirmButtonText: this.$t('global.confirm'), + cancelButtonText: this.$t('global.cancel'), + type: 'warning' + }).then(() => {}).catch(() => {}); + } + if (error.code == 500009) { + this.$messageBox(error.message); + } + } + }, + async start() { + if (this.courseModel.prdType == '05') { + this.jumpScheduling(); + } else if (this.courseModel.prdType == '03') { + this.createRoom(); } else { - if (this.courseModel.pmsList.length) { + if (this.courseModel.pmsList && this.courseModel.pmsList.length) { this.jump(); } else { if (this.tryTime <= 1) { @@ -270,6 +269,18 @@ export default { } } }, + jumpScheduling() { + this.buttonLoading = true; + const data = { mapId: this.courseModel.mapId, code: this.currentPrdCode }; + schedulingNotify(data).then(resp => { + const query = { skinCode: this.courseModel.skinCode, group: resp.data, prdType: this.courseModel.prdType, mapId: this.courseModel.mapId, code: this.currentPrdCode, goodsId: this.goodsId, try: this.tryUser }; + this.$router.push({ path: `${UrlConfig.display}/demon`, query: query }); + launchFullscreen(); + }).catch(error => { + this.$messageBox(this.$t('error.createSimulationFailed') + error.message); + this.buttonLoading = false; + }); + }, jump() { const data = { mapId: this.courseModel.mapId, code: this.currentPrdCode }; this.buttonLoading = true; diff --git a/src/views/demonstration/home.vue b/src/views/demonstration/home.vue index 2c8cd4793..0b346aee1 100644 --- a/src/views/demonstration/home.vue +++ b/src/views/demonstration/home.vue @@ -3,7 +3,7 @@

- {{$t('demonstration.simulationSystem')}} + {{ $t('demonstration.simulationSystem') }}

@@ -13,14 +13,13 @@
-
{{$t('demonstration.simulationSystemDescription')}}
+
{{ $t('demonstration.simulationSystemDescription') }}
diff --git a/src/views/display/demon/runPlanView.vue b/src/views/display/demon/runPlanView.vue index 86241e2ed..3ac98a114 100644 --- a/src/views/display/demon/runPlanView.vue +++ b/src/views/display/demon/runPlanView.vue @@ -16,11 +16,9 @@ import { mapGetters } from 'vuex'; import { runDiagramGetTime } from '@/api/simulation'; import { timeFormat } from '@/utils/date'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; export default { name: 'RunPlanView', - mixins: [WindowResizeHandler], props: { group: { type: String, @@ -166,6 +164,9 @@ export default { }, '$store.state.runPlan.planUpdateCount': function () { this.updateRunPlanData(this.$store.state.runPlan.updateData); + }, + '$store.state.app.windowSizeCount': function() { + this.reSize({ width: this.$store.state.app.width, height: this.$store.state.app.height - 55 }); } }, mounted() { @@ -186,9 +187,6 @@ export default { doClose() { this.dialogShow = false; }, - resizeHandler() { - this.reSize({ width: this._clientWidth, height: this._clientHeight - 55 }); - }, loadChartPage() { const stations = this.$store.state.runPlan.stations; const planData = this.$store.state.runPlan.planData; diff --git a/src/views/display/demon/scheduling.vue b/src/views/display/demon/scheduling.vue new file mode 100644 index 000000000..abebcbc44 --- /dev/null +++ b/src/views/display/demon/scheduling.vue @@ -0,0 +1,328 @@ + + + + diff --git a/src/views/display/demon/setTime.vue b/src/views/display/demon/setTime.vue index 334a938ac..08753052f 100644 --- a/src/views/display/demon/setTime.vue +++ b/src/views/display/demon/setTime.vue @@ -1,113 +1,117 @@ \ No newline at end of file + this.$emit('ConfirmSelectBeginTime', model); + this.doClose(); + } + }); + } + } +}; + diff --git a/src/views/display/index.vue b/src/views/display/index.vue index bb02ae19a..4d1a99754 100644 --- a/src/views/display/index.vue +++ b/src/views/display/index.vue @@ -18,7 +18,7 @@ @tryTime="tryTime" @hidepanel="hidepanel" @quitQuest="quitQuest" - @showIbp="showIbp" + @showScheduling="showScheduling" /> @@ -46,12 +46,12 @@ - +
@@ -69,8 +69,8 @@ import MenuSchema from '@/views/display/menuSchema'; import MenuSystemTime from '@/views/display/menuSystemTime'; import MenuPlan from '@/views/display/menuPlan'; import MenuScript from '@/views/display/menuScript'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; import AddQuest from './demon/addQuest'; +import Scheduling from './demon/scheduling'; import { mapGetters } from 'vuex'; import { getTrainingDetail, getTrainingStepsDetail } from '@/api/jmap/training'; import { setGoodsTryUse } from '@/api/management/goods'; @@ -78,16 +78,13 @@ import { getProductDetail } from '@/api/management/mapprd'; import { runDiagramQuit, loadScript, getSimulationInfo } from '@/api/simulation'; import { OperateMode, TrainingMode } from '@/scripts/ConstDic'; import { checkLoginLine } from '@/api/login'; -// import { isFullscreen } from '@/utils/screen'; import { loadMapData, loadMapDataById } from '@/utils/loaddata'; -// import { handleToken } from '@/utils/auth'; import { EventBus } from '@/scripts/event-bus'; import Vue from 'vue'; // 三维 import Jl3dSimulation from '@/views/jlmap3d/simulation/jl3dsimulation'; import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive'; -import IbpPlate from '@/views/ibp/index' export default { name: 'DisplayDraft', @@ -108,9 +105,8 @@ export default { MenuSystemTime, Jl3dSimulation, Jl3dDrive, - IbpPlate + Scheduling }, - mixins: [WindowResizeHandler], props: { size: { type: Object, @@ -126,7 +122,6 @@ export default { timeDemonNum: 0, checkLine: null, offset: 15, - right: 0, mouseNum: 1, ierval: null, mouseNumTime: 0, @@ -135,14 +130,14 @@ export default { panelShow: true, simulationShow: false, drivingShow: false, - questId: 0, // 加载任务的Id + questId: 0, // 加载任务的Id group: '', prdTypeMap: { - '01': '01', // 现地 => 现地 - '02': '02', // 行调 => 行调 - '04': '02' // 司机加实 => 行调 - }, - ibpShow: false + '01': '01', // 现地 => 现地 + '02': '02', // 行调 => 行调 + '04': '02', // 司机 => 行调 + '05': '' // 派班 => null + } }; }, computed: { @@ -160,6 +155,15 @@ export default { ...mapGetters('config', [ 'canvasId' ]), + width() { + return this.$store.state.app.width; + }, + height() { + return this.$store.state.app.height; + }, + right() { + return this.$store.state.config.width / 2 - 55; + }, trainingId() { return this.$route.query.trainingId; }, @@ -195,6 +199,9 @@ export default { }, isDrive() { return this.prdType == '04'; + }, + isShowScheduling() { + return this.$route.query.prdType == '05'; } }, watch: { @@ -221,6 +228,9 @@ export default { } }); }, + '$store.state.app.windowSizeCount': function() { + this.setWindowSize(); + }, $route() { this.$nextTick(() => { this.initLoadData(); @@ -228,14 +238,15 @@ export default { } }, async created() { + this.mode = this.$route.params.mode; this.group = this.$route.query.group || ''; }, async mounted() { - this.mode = this.$route.params.mode; EventBus.$on('clearCheckLogin', () => { this.clearCheckLogin(); }); + await this.setWindowSize(); await this.initLoadData(); }, async beforeDestroy() { @@ -248,17 +259,6 @@ export default { EventBus.$off('clearCheckLogin'); }, methods: { - resizeHandler() { - const width = this.size ? this.size.width : this._clientWidth; - const height = this.size ? this.size.height : this._clientHeight; - - this.right = width /2 - 55; - this.$store.dispatch('config/resize', { width, height }); - - this.$nextTick(() => { - this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: this.offsetStationCode }); - }); - }, // 清除检查在线定时器 clearAllTimer() { if (this.ierval) { @@ -558,11 +558,9 @@ export default { this.$refs.Jl3dSimulation.show(this.skinCode); } }, - showIbp() { - this.panelShow = false; - this.ibpShow = true; - this.$refs.ibpPlate.show(); - }, + showScheduling() { + this.$refs.scheduling.doShow(); + }, showpanel() { this.panelShow = true; this.simulationShow = false; @@ -571,10 +569,6 @@ export default { this.panelShow = true; this.drivingShow = false; }, - hideIbp() { - this.panelShow = true; - this.ibpShow = false; - }, runPlanViewShow() { this.$refs.runPlanView.doShow(); }, @@ -583,6 +577,16 @@ export default { }, faultChooseShow() { this.$refs.faultChoose.doShow(); + }, + setWindowSize() { + this.$nextTick(() => { + const width = this.size ? this.size.width : this.width; + const height = this.size ? this.size.height : this.height; + + this.$store.dispatch('config/resize', { width, height }); + + this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: this.offsetStationCode }); + }); } } }; diff --git a/src/views/display/menuDemon.vue b/src/views/display/menuDemon.vue index 5c1e3d1d6..456031baf 100644 --- a/src/views/display/menuDemon.vue +++ b/src/views/display/menuDemon.vue @@ -7,9 +7,9 @@
- + 排班计划 {{ jl3dname }} - @@ -52,7 +52,6 @@ import { getPublishLessonDetail } from '@/api/jmap/lesson'; import { PermissionType } from '@/scripts/ConstDic'; import { UrlConfig } from '@/router/index'; -import WindowResizeHandler from '@/mixin/WindowResizeHandler'; import LimitList from '@/views/components/limits/index'; export default { @@ -60,11 +59,9 @@ export default { components: { LimitList }, - mixins: [WindowResizeHandler], data() { return { num: 5, - height: '', loading: false, WhetherTypeList: [], EffectiveTypeList: [], @@ -83,6 +80,9 @@ export default { computed: { hasPermssion() { return this.courseModel.pmsList.length > 0; + }, + height() { + return this.$store.state.app.height - 50; } }, watch: { @@ -97,9 +97,6 @@ export default { this.initLoadPage(); }, methods: { - resizeHandler: function () { - this.height = this._clientHeight - 50; - }, initLoadPage() { const data = { id: this.$route.params.lessonId }; if (parseInt(data.id)) { @@ -110,7 +107,7 @@ export default { price: response.data.price, remarks: response.data.remarks, detail: response.data.chapters, - pmsList: response.data.pmsList, + pmsList: response.data.pmsList || [], prdCode: response.data.prdCode, mapId: response.data.mapId, skinCode: response.data.skinCode, @@ -125,7 +122,7 @@ export default { this.loading = true; this.$router.push({ path: `${UrlConfig.teach.pay}/${this.$route.params.lessonId}`, - query: { permissionType: PermissionType.LESSON, prdCode: this.courseModel.prdCode, mapId: this.courseModel.mapId } + query: { permissionType: PermissionType.LESSON, lessonId: this.$route.params.lessonId, prdCode: this.courseModel.prdCode, mapId: this.courseModel.mapId } }); }, transfer() { diff --git a/src/views/teach/home.vue b/src/views/teach/home.vue index 2adefc704..b6f32ee8d 100644 --- a/src/views/teach/home.vue +++ b/src/views/teach/home.vue @@ -21,7 +21,6 @@