Merge remote-tracking branch 'origin/dev' into test

This commit is contained in:
fan 2020-01-13 13:57:01 +08:00
commit f9930a084d
21 changed files with 722 additions and 748 deletions

View File

@ -4,351 +4,342 @@ const deviceState = {};
deviceState[deviceType.Section] = { deviceState[deviceType.Section] = {
/** 区段状态*/ /** 区段状态*/
status: { // status: {
Default: '01', /** 空闲(缺省值)*/ // Default: '01', /** 空闲(缺省值)*/
State00: '00', /** 未定义状态 */ // State00: '00', /** 未定义状态 */
State01: '01', /** 空闲 */ // State01: '01', /** 空闲 */
State02: '02', /** 通信车占用 */ // State02: '02', /** 通信车占用 */
State03: '03', /** 非通信车占用 */ // State03: '03', /** 非通信车占用 */
State04: '04', /** 进路锁闭 */ // State04: '04', /** 进路锁闭 */
State05: '05', /** 故障锁闭 */ // State05: '05', /** 故障锁闭 */
State06: '06', /** 封锁 */ // State06: '06', /** 封锁 */
State07: '07', /** ATC切除 */ // State07: '07', /** ATC切除 */
State08: '08', /** ATS切除 */ // State08: '08', /** ATS切除 */
State09: '09', /** 进路延续保护 */ // State09: '09', /** 进路延续保护 */
State10: '10', /** 延时释放 */ // State10: '10', /** 延时释放 */
State11: '11', /** 保护区段锁闭 */ // State11: '11', /** 保护区段锁闭 */
State12: '12', /** 保护区段延时解锁 */ // State12: '12', /** 保护区段延时解锁 */
State13: '13', /** ARB出清检测错误状态 */ // State13: '13', /** ARB出清检测错误状态 */
State14: '14' /** 计轴失效 */ // State14: '14' /** 计轴失效 */
}, // },
blockade: false, // 是否封锁 blockade: false, // 是否封锁
routeLock: false, // 是否进路锁闭 routeLock: false, // 是否进路锁闭
overlapLock: false, // 进路延续保护锁闭 overlapLock: false, // 进路延续保护锁闭
ctOccupied: false, // 通信车占用 ctOccupied: false, // 通信车占用
nctOccupied: false, // 非通信车占用 nctOccupied: false, // 非通信车占用
/** 限速*/ // /** 限速*/
speedUpperLimit: { // speedUpperLimit: {
Default: -1 /** 不限速*/ // Default: -1 /** 不限速*/
}, // },
/** 是否切除*/ // /** 是否切除*/
cutOff: { // cutOff: {
Default: false /** 是否切除*/ // Default: false /** 是否切除*/
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/ // fault: {
} // Default: false /** 非故障*/
// }
}; };
deviceState[deviceType.Switch] = { deviceState[deviceType.Switch] = {
/** 定位状态*/ /** 定位状态*/
locateType: { // locateType: {
Default: '01', /** 道岔位置类型 - 定位(缺省值)*/ // Default: '01', /** 道岔位置类型 - 定位(缺省值)*/
State01: '01', /** 道岔位置类型 - 定位 */ // State01: '01', /** 道岔位置类型 - 定位 */
State02: '02', /** 道岔位置类型 - 反位 */ // State02: '02', /** 道岔位置类型 - 反位 */
State03: '03', /** 道岔位置类型 - 失去表示 */ // State03: '03', /** 道岔位置类型 - 失去表示 */
State04: '04' /** 道岔位置类型 - 挤岔 */ // State04: '04' /** 道岔位置类型 - 挤岔 */
}, // },
/** 道岔状态*/ // /** 道岔状态*/
status: { // status: {
Default: '01', /** 道岔状态类型 - 空闲(缺省值)*/ // Default: '01', /** 道岔状态类型 - 空闲(缺省值)*/
State01: '01', /** 道岔状态类型 - 空闲 */ // State01: '01', /** 道岔状态类型 - 空闲 */
State02: '02', /** 道岔状态类型 - 通信车占用 */ // State02: '02', /** 道岔状态类型 - 通信车占用 */
State03: '03', /** 道岔状态类型 - 非通信车占用 */ // State03: '03', /** 道岔状态类型 - 非通信车占用 */
State04: '04', /** 道岔状态类型 - 进路锁闭 */ // State04: '04', /** 道岔状态类型 - 进路锁闭 */
State05: '05', /** 道岔状态类型 - 故障锁闭 */ // State05: '05', /** 道岔状态类型 - 故障锁闭 */
State06: '06', /** 道岔状态类型 - 进路延续保护 */ // State06: '06', /** 道岔状态类型 - 进路延续保护 */
State07: '07', /** 道岔状态类型 - 进路延续保护解锁 */ // State07: '07', /** 道岔状态类型 - 进路延续保护解锁 */
State08: '08', /** 道岔状态类型 - ATC切除 */ // State08: '08', /** 道岔状态类型 - ATC切除 */
State09: '09', /** 道岔状态类型 - ATS切除 */ // State09: '09', /** 道岔状态类型 - ATS切除 */
State10: '10', /** 道岔状态类型 - 人工单锁 */ // State10: '10', /** 道岔状态类型 - 人工单锁 */
State11: '11', /** 道岔状态类型 - 逻辑锁 */ // State11: '11', /** 道岔状态类型 - 逻辑锁 */
State12: '12', /** 道岔状态类型 - 人工锁+逻辑锁 */ // State12: '12', /** 道岔状态类型 - 人工锁+逻辑锁 */
State13: '13', /** 道岔状态类型 - 延时释放*/ // State13: '13', /** 道岔状态类型 - 延时释放*/
State14: '14' /** 道岔状态类型 - 封锁*/ // State14: '14' /** 道岔状态类型 - 封锁*/
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/ // /** 是否切除*/
}, // cutOff: {
/** 是否切除*/ // Default: false /** 是否切除*/
cutOff: { // }
Default: false /** 是否切除*/
}
}; };
deviceState[deviceType.Signal] = { deviceState[deviceType.Signal] = {
/** 进路性质类型 */ /** 进路性质类型 */
natureType: { // natureType: {
Default: '00', /** 无状态(缺省值)*/ // Default: '00', /** 无状态(缺省值)*/
State01: '01', /** 列车进路 */ // State01: '01', /** 列车进路 */
State02: '02', /** 调车进路 */ // State02: '02', /** 调车进路 */
State03: '03' /** 折返进路 */ // State03: '03' /** 折返进路 */
}, // },
blockade: false, // 是否封锁 // blockade: false, // 是否封锁
/** 信号机状态类型 */ // /** 信号机状态类型 */
status: { // status: {
Default: '01', /** 关闭(缺省值)*/ // Default: '01', /** 关闭(缺省值)*/
State01: '01', /** 关闭 */ // State01: '01', /** 关闭 */
State02: '02', /** 开放正向 */ // State02: '02', /** 开放正向 */
State03: '03', /** 开放侧向 */ // State03: '03', /** 开放侧向 */
State04: '04', /** 引导 */ // State04: '04', /** 引导 */
State05: '05', /** 封锁 */ // State05: '05', /** 封锁 */
State06: '06', /** 故障 */ // State06: '06', /** 故障 */
State07: '07', /** 功能封锁 */ // State07: '07', /** 功能封锁 */
State08: '08' /** 信号保护区段监视 */ // State08: '08' /** 信号保护区段监视 */
}, // },
logicLight: false, // 逻辑点灯 true物理点灯 false // logicLight: false, // 逻辑点灯 true物理点灯 false
/** 信号机状态类型 */ // /** 信号机状态类型 */
lightType: { // lightType: {
Default: '01', /** 物理点灯(缺省值)*/ // Default: '01', /** 物理点灯(缺省值)*/
State01: '01', /** 物理点灯 */ // State01: '01', /** 物理点灯 */
State02: '02' /** 逻辑点灯 */ // State02: '02' /** 逻辑点灯 */
}, // },
/** 信号机延时状态类型 */ // /** 信号机延时状态类型 */
delayType: { // delayType: {
Default: '01', /** 未延时解锁(缺省值)*/ // Default: '01', /** 未延时解锁(缺省值)*/
State01: '01', /** 未延时解锁 */ // State01: '01', /** 未延时解锁 */
State02: '02', /** 人工闭塞延时解锁 */ // State02: '02', /** 人工闭塞延时解锁 */
State03: '03' /** 自动闭塞延时解锁 */ // State03: '03' /** 自动闭塞延时解锁 */
}, // },
/** 信号机自动信号状态类型 */ // /** 信号机自动信号状态类型 */
autoType: { // autoType: {
Default: '01', /** 隐藏(缺省值)*/ // Default: '01', /** 隐藏(缺省值)*/
State01: '01', /** 隐藏 */ // State01: '01', /** 隐藏 */
State02: '02', /** 设置自动信号模式状态类型 */ // State02: '02', /** 设置自动信号模式状态类型 */
State03: '03', /** 设置自动进路模式状态类型 */ // State03: '03', /** 设置自动进路模式状态类型 */
State04: '04' /** 信号机进路自动触发模式状态类型 */ // State04: '04' /** 信号机进路自动触发模式状态类型 */
}, // },
/** 信号机自动通过信号状态类型 */ // /** 信号机自动通过信号状态类型 */
autoRouteType: { // autoRouteType: {
Default: '01', /** 不自动通过(缺省值)*/ // Default: '01', /** 不自动通过(缺省值)*/
State01: '01', /** 不自动通过 */ // State01: '01', /** 不自动通过 */
State02: '02' /** 自动通过 */ // State02: '02' /** 自动通过 */
}, // },
/** 信号机按钮状态类型 */ // /** 信号机按钮状态类型 */
buttonState: { // buttonState: {
Default: '01', /** 空闲(缺省值)*/ // Default: '01', /** 空闲(缺省值)*/
State01: '01', /** 空闲 */ // State01: '01', /** 空闲 */
State02: '02', /** 选择基本进路始端 */ // State02: '02', /** 选择基本进路始端 */
State03: '03', /** 选择折返进路始端 */ // State03: '03', /** 选择折返进路始端 */
State04: '04', /** 基本进路终端待选 */ // State04: '04', /** 基本进路终端待选 */
State05: '05' /** 折返进路终端待选 */ // State05: '05' /** 折返进路终端待选 */
}, // },
/** 引导信号按钮状态类型 */ // /** 引导信号按钮状态类型 */
guideStatus: { // guideStatus: {
Default: '01', /** 空闲(缺省值)*/ // Default: '01', /** 空闲(缺省值)*/
State01: '01', /** 空闲 */ // State01: '01', /** 空闲 */
State02: '02' /** 引导 */ // State02: '02' /** 引导 */
}, // },
/** 道岔定位状态*/ // /** 道岔定位状态*/
switchLocateType: { // switchLocateType: {
Default: '01', /** 定位(缺省值)*/ // Default: '01', /** 定位(缺省值)*/
State01: '01', /** 定位*/ // State01: '01', /** 定位*/
State02: '02' /** 反位*/ // State02: '02' /** 反位*/
}, // },
/** 信号机进路办理*/ // /** 信号机进路办理*/
routeSetting: { // routeSetting: {
Default: false /** 信号机进路办理*/ // Default: false /** 信号机进路办理*/
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/
}
}; };
deviceState[deviceType.Station] = { deviceState[deviceType.Station] = {
/** 是否故障*/ /** 是否故障*/
fault: { fault: false, /** 非故障*/
Default: false /** 非故障*/ // status: {
}, // Default: '01', /** 中控(缺省值)*/
status: { // State01: '01', /** 中控 */
Default: '01', /** 中控(缺省值)*/ // State02: '02', /** 站控 */
State01: '01', /** 中控 */ // State03: '03' /** 紧急站控 */
State02: '02', /** 站控 */ // },
State03: '03' /** 紧急站控 */ controlMode: 'Center' // Center 中控 Local 站控 Emergency 紧急站控 Interlock 联锁控
}, // controlMode: {
controlMode: { // Default: 'Center'
Default: 'Center' // // Center 中控
// Center 中控 // // Local 站控
// Local 站控 // // Emergency 紧急站控
// Emergency 紧急站控 // // Interlock 联锁控
// Interlock 联锁控 // }
}
}; };
deviceState[deviceType.Psd] = { deviceState[deviceType.Psd] = {
/** 屏蔽门状态*/
// screenDoorStatus: {
// Default: '01', /** 关门(缺省值)*/
// State01: '01', /** 正常 */
// State02: '02', /** 故障 */
// State03: '03' /** 切除 */
// },
// /** 屏蔽门开门状态*/
// screenDoorOpenStatus: {
// Default: '01', /** 关门(缺省值)*/
// State01: '01', /** 关门 */
// State02: '02' /** 开门 */
// },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/
}
}; };
deviceState[deviceType.StationDelayUnlock] = { deviceState[deviceType.StationDelayUnlock] = {
/** 延迟解锁状态*/ /** 延迟解锁状态*/
status: { // status: {
Default: '01', /** 关闭(默认值)*/ // Default: '01', /** 关闭(默认值)*/
State01: '01', /** 关闭 */ // State01: '01', /** 关闭 */
State02: '02' /** 显示 */ // State02: '02' /** 显示 */
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/
}
}; };
deviceState[deviceType.StationStand] = { deviceState[deviceType.StationStand] = {
/** 车站状态*/ // /** 车站状态*/
status: { // status: {
Default: '01', /** 空闲(缺省值)*/ // Default: '01', /** 空闲(缺省值)*/
State01: '01', /** 空闲 */ // State01: '01', /** 空闲 */
State02: '02', /** 列车停站 */ // State02: '02', /** 列车停站 */
State05: '03' /** 站台紧急关闭 */ // State05: '03' /** 站台紧急关闭 */
}, // },
/** 屏蔽门状态*/ // /** 扣车状态*/
screenDoorStatus: { // holdStatus: {
Default: '01', /** 关门(缺省值)*/ // Default: '01', /** 未设置扣车(缺省值)*/
State01: '01', /** 正常 */ // State01: '01', /** 未设置扣车*/
State02: '02', /** 故障 */ // State02: '02', /** 车站扣车*/
State03: '03' /** 切除 */ // State03: '03', /** 中心扣车*/
}, // State04: '04' /** 中心+车站扣车*/
/** 屏蔽门开门状态*/ // },
screenDoorOpenStatus: { // /** 跳停*/
Default: '01', /** 关门(缺省值)*/ // jumpStopStatus: {
State01: '01', /** 关门 */ // Default: '01', /** 未设置跳停(缺省值)*/
State02: '02' /** 开门 */ // State01: '01', /** 未设置跳停 */
}, // State02: '02', /** 指定列车跳停 */
/** 扣车状态*/ // State03: '03' /** 全部跳停 */
holdStatus: { // },
Default: '01', /** 未设置扣车(缺省值)*/ free: 1, // 空闲
State01: '01', /** 未设置扣车*/ trainParking: 0, // 列车停站
State02: '02', /** 车站扣车*/ emergencyClosed: 0, // 站台紧急关闭
State03: '03', /** 中心扣车*/ stationHoldTrain: 0, // 车站是否扣车
State04: '04' /** 中心+车站扣车*/ centerHoldTrain: 0, // 中心是否扣车 true 扣车 false 非扣车状态
}, allSkip: 0, // 是否全部跳停
/** 跳停*/ assignSkip: 0, // 是否指定跳停
jumpStopStatus: {
Default: '01', /** 未设置跳停(缺省值)*/
State01: '01', /** 未设置跳停 */
State02: '02', /** 指定列车跳停 */
State03: '03' /** 全部跳停 */
},
stationHoldTrain: false, // 车站是否扣车
centerHoldTrain: false, // 中心是否扣车
allSkip: false, // 是否全部跳停
assignSkip: false, // 是否指定跳停
runLevelTime: 0, // 区间运行时间(自动为 0 runLevelTime: 0, // 区间运行时间(自动为 0
// parkingTime: 0, // 停站时间 (自动为-1 parkingTime: 0,
/** 停站时间*/ // /** 停站时间*/
parkingTime: { // parkingTime: {
Default: -1 /** 无停站时间*/ // Default: -1 /** 无停站时间*/
}, // },
/** 运行等级*/ // /** 运行等级*/
intervalRunTime: { // intervalRunTime: {
Default: -1 /** 无运行等级*/ // Default: -1 /** 无运行等级*/
}, // },
/** 折返策略*/ // /** 折返策略*/
reentryStrategy: { // reentryStrategy: {
Default: '01', /** 默认(缺省值)*/ // Default: '01', /** 默认(缺省值)*/
State01: '01', /** 无折返策略 */ // State01: '01', /** 无折返策略 */
State02: '02', /** 无人折返 */ // State02: '02', /** 无人折返 */
State03: '03', /** 自动换端 */ // State03: '03', /** 自动换端 */
State04: '04' /** 默认 */ // State04: '04' /** 默认 */
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/
}
}; };
deviceState[deviceType.Train] = { deviceState[deviceType.Train] = {
/** 列车类型*/ // /** 列车类型*/
type: { // type: {
Default: '01', /** 计划车-指运行图编制出的有车组号、表号、车次号的列车(缺省值)*/ // Default: '01', /** 计划车-指运行图编制出的有车组号、表号、车次号的列车(缺省值)*/
State01: '01', /** 计划车-指运行图编制出的有车组号、表号、车次号的列车*/ // State01: '01', /** 计划车-指运行图编制出的有车组号、表号、车次号的列车*/
State02: '02', /** 头码车-指赋予了车组号和运行目的地的非计划列车*/ // State02: '02', /** 头码车-指赋予了车组号和运行目的地的非计划列车*/
State03: '03' /** 人工车-指由调度员手工添加的并人工组织运行的只赋予车组号的非计划列车*/ // State03: '03' /** 人工车-指由调度员手工添加的并人工组织运行的只赋予车组号的非计划列车*/
}, // },
/** 服务号状态类型*/ // /** 服务号状态类型*/
serverNoType: { // serverNoType: {
Default: '01', /** 显示服务号,白色(缺省值)*/ // Default: '01', /** 显示服务号,白色(缺省值)*/
State01: '01', /** 显示服务号,白色 */ // State01: '01', /** 显示服务号,白色 */
State02: '02', /** 显示车组号(计划车、头码车),黄色 */ // State02: '02', /** 显示车组号(计划车、头码车),黄色 */
State03: '03' /** 显示车组号(人工车),粉色 */ // State03: '03' /** 显示车组号(人工车),粉色 */
}, // },
/** 目的地状态类型*/ // /** 目的地状态类型*/
destinationStatus: { // destinationStatus: {
Default: '01', /** 准点(缺省值)*/ // Default: '01', /** 准点(缺省值)*/
State01: '01', /** 准点*/ // State01: '01', /** 准点*/
State02: '02', /** 早点*/ // State02: '02', /** 早点*/
State03: '03', /** 严重早点*/ // State03: '03', /** 严重早点*/
State04: '04', /** 晚点*/ // State04: '04', /** 晚点*/
State05: '05', /** 严重晚点*/ // State05: '05', /** 严重晚点*/
State06: '06', /** 头码车*/ // State06: '06', /** 头码车*/
State07: '07' /** ATP切除*/ // State07: '07' /** ATP切除*/
}, // },
/** 运行方向状态类型*/ // /** 运行方向状态类型*/
directionType: { // directionType: {
Default: '01', /** 未知方向(缺省值)*/ // Default: '01', /** 未知方向(缺省值)*/
State01: '01', /** 未知方向 */ // State01: '01', /** 未知方向 */
State02: '02', /** 从左向右 */ // State02: '02', /** 从左向右 */
State03: '03' /** 从右向左 */ // State03: '03' /** 从右向左 */
}, // },
/** 运行状态*/ // /** 运行状态*/
runStatus: { // runStatus: {
Default: '01', /** 停止(缺省值)*/ // Default: '01', /** 停止(缺省值)*/
State01: '01', /** 停止 */ // State01: '01', /** 停止 */
State02: '02' /** 运行 */ // State02: '02' /** 运行 */
}, // },
/** 运行模式*/ // /** 运行模式*/
runMode: { // runMode: {
Default: '01', /** 未知模式(缺省值)*/ // Default: '01', /** 未知模式(缺省值)*/
State01: '01', /** 未知模式 */ // State01: '01', /** 未知模式 */
State02: '02', /** ATO自动驾驶模式 AM */ // State02: '02', /** ATO自动驾驶模式 AM */
State03: '03', /** ATP监控下的人工驾驶模式 CM */ // State03: '03', /** ATP监控下的人工驾驶模式 CM */
State04: '04', /** 限制人工驾驶模式 RM */ // State04: '04', /** 限制人工驾驶模式 RM */
State05: '05' /** 非限制人工驾驶模式 RM */ // State05: '05' /** 非限制人工驾驶模式 RM */
}, // },
/** 运行控制状态类型*/ // /** 运行控制状态类型*/
runControlStatus: { // runControlStatus: {
Default: '01', /** 正常(缺省值)*/ // Default: '01', /** 正常(缺省值)*/
State01: '01', /** 正常 */ // State01: '01', /** 正常 */
State02: '02', /** 扣车 */ // State02: '02', /** 扣车 */
State03: '03' /** 跳停 */ // State03: '03' /** 跳停 */
}, // },
/** 车门状态 */ // /** 车门状态 */
doorStatus: { // doorStatus: {
Default: '01', /** 关门(缺省值)*/ // Default: '01', /** 关门(缺省值)*/
State01: '01', /** 关门 */ // State01: '01', /** 关门 */
State02: '02', /** 开门 */ // State02: '02', /** 开门 */
State03: '03' /** 故障 */ // State03: '03' /** 故障 */
}, // },
/** 通信状态类型*/ // /** 通信状态类型*/
communicationStatus: { // communicationStatus: {
Default: '01', /** 正常(缺省值)*/ // Default: '01', /** 正常(缺省值)*/
State01: '01', /** 正常 */ // State01: '01', /** 正常 */
State02: '02' /** 故障 */ // State02: '02' /** 故障 */
}, // },
/** 计划冲突状态*/ // /** 计划冲突状态*/
planConflictStatus: { // planConflictStatus: {
Default: '01', /** 无冲突(缺省值)*/ // Default: '01', /** 无冲突(缺省值)*/
State01: '01', /** 无冲突 */ // State01: '01', /** 无冲突 */
State02: '02' /** 有冲突 */ // State02: '02' /** 有冲突 */
}, // },
/** 报警状态*/ // /** 报警状态*/
alarmStatus: { // alarmStatus: {
Default: '01', /** 无报警(缺省值)*/ // Default: '01', /** 无报警(缺省值)*/
State01: '01', /** 无报警 */ // State01: '01', /** 无报警 */
State02: '02' /** 有报警 */ // State02: '02' /** 有报警 */
}, // },
/** 是否故障*/ /** 是否故障*/
fault: { fault: false /** 非故障*/
Default: false /** 非故障*/
}
}; };
export default deviceState; export default deviceState;

View File

@ -72,7 +72,7 @@ class Jlmap {
zrUtil.each(Object.keys(deviceState), (type) => { zrUtil.each(Object.keys(deviceState), (type) => {
defaultStateDict[type] = {}; defaultStateDict[type] = {};
zrUtil.each(Object.keys(deviceState[type] || {}), (state) => { zrUtil.each(Object.keys(deviceState[type] || {}), (state) => {
defaultStateDict[type][state] = deviceState[type][state].Default; defaultStateDict[type][state] = deviceState[type][state]; // 新版地图直接使用判断结果
}, this); }, this);
}, this); }, this);

View File

@ -33,8 +33,58 @@ export default class Line2 extends Group {
this.add(this.safeDoor); this.add(this.safeDoor);
} }
setState(model) { /** 恢复初始状态*/
recover() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.defaultColor);
}
/** 开门*/
openDoor() {
this.safeDoor && this.safeDoor.hasDoor(true);
}
/** 关门*/
closeDoor() {
this.safeDoor && this.safeDoor.hasDoor(false);
}
/** 屏蔽门正常*/
doorNormal() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.defaultColor);
}
/** 屏蔽门故障*/
doorFault() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.splitDoorColor);
}
/** 屏蔽门切除*/
doorSplit() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.splitDoorColor);
}
setState(model) {
/** 设置屏蔽门开关*/
// switch (model.screenDoorOpenStatus) {
// case '01':
// this.closeDoor(); /** 关门*/
// break;
// case '02':
// this.openDoor(); /** 开门*/
// break;
// }
// /** 设置屏蔽门状态*/
// switch (model.screenDoorStatus) {
// case '01':
// this.doorNormal(); /** 正常*/
// break;
// case '02':
// this.doorFault(); /** 故障*/
// break;
// case '03':
// this.doorSplit(); /** 切除*/
// }
} }
drawSelected(selected) { drawSelected(selected) {
this.highlight && this.highlight.drawSelected(selected); this.highlight && this.highlight.drawSelected(selected);

View File

@ -759,70 +759,70 @@ export default class Section extends Group {
/** 设置状态*/ /** 设置状态*/
setState(model) { setState(model) {
this.recover(); this.recover();
if (model.status == '01' || model.status == '00' || model.status == undefined) { // if (model.status == '01' || model.status == '00' || model.status == undefined) {
if (this.name && this.style.Section.active.routeColor) { // if (this.name && this.style.Section.active.routeColor) {
this.name.setStyle({textFill: this.style.Section.text.fontColor}); // this.name.setStyle({textFill: this.style.Section.text.fontColor});
} // }
} else { // } else {
if (this.name && this.style.Section.active.routeColor) { // if (this.name && this.style.Section.active.routeColor) {
this.name.setStyle({textFill: 'green'}); // this.name.setStyle({textFill: 'green'});
} // }
} // }
switch (model.status) { // switch (model.status) {
case '00': /** 未定义*/ // case '00': /** 未定义*/
this.undefine(); // this.undefine();
break; // break;
case '01': /** 空闲*/ // case '01': /** 空闲*/
this.spare(); // 空闲状态下 名称白色 其他条件为绿色 // this.spare(); // 空闲状态下 名称白色 其他条件为绿色
break; // break;
case '02': /** 通信车占用*/ // case '02': /** 通信车占用*/
this.communicationOccupied(); // this.communicationOccupied();
break; // break;
case '03': /** 非通信车占用*/ // case '03': /** 非通信车占用*/
this.unCommunicationOccupied(); // this.unCommunicationOccupied();
break; // break;
case '04': /** 进路锁闭*/ // case '04': /** 进路锁闭*/
this.routeLock(); // this.routeLock();
break; // break;
case '05': /** 故障锁闭*/ // case '05': /** 故障锁闭*/
this.faultLock(); // this.faultLock();
break; // break;
case '06': /** 封锁*/ // case '06': /** 封锁*/
this.block(); // this.block();
break; // break;
case '07': /** ATC切除*/ // case '07': /** ATC切除*/
this.atcExcision(); // this.atcExcision();
break; // break;
case '08': /** ATS切除*/ // case '08': /** ATS切除*/
this.atsExcision(); // this.atsExcision();
break; // break;
case '09': /** 保护区段锁闭 */ // case '09': /** 保护区段锁闭 */
this.protectiveLock(); // this.protectiveLock();
break; // break;
case '10': /** 延时释放 */ // case '10': /** 延时释放 */
this.timeRelease(); // this.timeRelease();
break; // break;
case '11': /** 保护区段延时解锁*/ // case '11': /** 保护区段延时解锁*/
this.protectiveTimeRelease(); // this.protectiveTimeRelease();
break; // break;
case '12': /** 计轴预复位*/ // case '12': /** 计轴预复位*/
this.axleReset(); // this.axleReset();
break; // break;
case '13': /** ARB出清检测错误状态*/ // case '13': /** ARB出清检测错误状态*/
break; // break;
case '14': /** 计轴失效*/ // case '14': /** 计轴失效*/
this.alxeFailure(); // this.alxeFailure();
break; // break;
} // }
/** 区段切除*/ // /** 区段切除*/
if (model.cutOff) { // if (model.cutOff) {
this.sectionCutOff(); // this.sectionCutOff();
} // }
/** 是否限速*/ // /** 是否限速*/
if (model.speedUpperLimit >= 0) { // if (model.speedUpperLimit >= 0) {
this.setSpeedUpperLimit(); // this.setSpeedUpperLimit();
} // }
} }
/** 计算提示位置*/ /** 计算提示位置*/

View File

@ -446,52 +446,52 @@ class Signal extends Group {
setState(model) { setState(model) {
this.recover(); this.recover();
/** 设置状态 (点灯类型)*/ // /** 设置状态 (点灯类型)*/
switch (model.status) { // switch (model.status) {
case '01': this.close(); break; // 关闭 // case '01': this.close(); break; // 关闭
case '02': this.openPositive(); break; // 开放正向 // case '02': this.openPositive(); break; // 开放正向
case '03': this.openLateral(); break; // 开放侧向 // case '03': this.openLateral(); break; // 开放侧向
case '04': this.guid(); break; // 引导 // case '04': this.guid(); break; // 引导
case '06': this.fault(); break; // 故障 // case '06': this.fault(); break; // 故障
case '07': this.block(); break; // 功能封锁 // case '07': this.block(); break; // 功能封锁
case '08': this.signalCheck(); break; // 信号保护区段检测 // case '08': this.signalCheck(); break; // 信号保护区段检测
} // }
if (model.blockade) { // if (model.blockade) {
this.block(); // 封锁 // this.block(); // 封锁
} // }
/** 进路性质类型*/ // /** 进路性质类型*/
switch (model.natureType) { // switch (model.natureType) {
case '01': this.trainRoute(); break; // 列车进路 // case '01': this.trainRoute(); break; // 列车进路
case '02': this.shuntRoute(); break; // 调车进路 // case '02': this.shuntRoute(); break; // 调车进路
} // }
/** 设置点灯类型*/ // /** 设置点灯类型*/
if (model.lightType) { // if (model.lightType) {
this.logicalLight(); // 设置逻辑点灯 // this.logicalLight(); // 设置逻辑点灯
} else { // } else {
this.physicsLight(); // 设置物理点灯 // this.physicsLight(); // 设置物理点灯
} // }
/** 设置自动类型*/ // /** 设置自动类型*/
switch (model.autoType) { // switch (model.autoType) {
case '01': this.setAutoClose(); break; // 隐藏 隐藏自动信号和自动进路 // case '01': this.setAutoClose(); break; // 隐藏 隐藏自动信号和自动进路
case '02': this.setAutoSignalOpen(); break; // 显示 设置自动信号模式状态类型 // case '02': this.setAutoSignalOpen(); break; // 显示 设置自动信号模式状态类型
case '03': this.setAutoRouteOpen(); break; // 显示 设置自动进路模式状态类型 // case '03': this.setAutoRouteOpen(); break; // 显示 设置自动进路模式状态类型
case '04': this.setAutoTriggerOpen(); break; // 显示 信号机进路自动触发模式状态类型 // case '04': this.setAutoTriggerOpen(); break; // 显示 信号机进路自动触发模式状态类型
} // }
/** 延时解锁*/ // /** 延时解锁*/
switch (model.delayType) { // switch (model.delayType) {
case '01': break; // 未延时解锁 // case '01': break; // 未延时解锁
case '02': this.setDelayUnlock(); break; // 人工闭塞延时解锁 // case '02': this.setDelayUnlock(); break; // 人工闭塞延时解锁
case '03': this.setDelayUnlock(); break; // 自动闭塞延时解锁 // case '03': this.setDelayUnlock(); break; // 自动闭塞延时解锁
} // }
/** 信号机进路办理,先停止动画,再判断当前颜色是否闪烁*/ // /** 信号机进路办理,先停止动画,再判断当前颜色是否闪烁*/
if (model.routeSetting && (model.autoType == '03' || model.autoType == '04')) { // if (model.routeSetting && (model.autoType == '03' || model.autoType == '04')) {
this.setAutoFlicker(); // this.setAutoFlicker();
} // }
} }
getBoundingRect() { getBoundingRect() {

View File

@ -114,28 +114,28 @@ export default class StationControl extends Group {
// 设置状态 // 设置状态
setState(model) { setState(model) {
switch (model.status) { // switch (model.status) {
case '00': // 无状态 // case '00': // 无状态
this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor); // this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor);
this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor); // this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor);
this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor); // this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor);
break; // break;
case '01': // 中控 // case '01': // 中控
this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor); // this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor);
this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor); // this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor);
this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.greenColor); // this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.greenColor);
break; // break;
case '02': // 站控 // case '02': // 站控
this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor); // this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.grayColor);
this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.yellowColor); // this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.yellowColor);
this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor); // this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor);
break; // break;
case '03': // 紧急站控 // case '03': // 紧急站控
this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.redColor); // this.emergencyControl && this.emergencyControl.setColor(this.style.StationControl.lamp.redColor);
this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor); // this.substationControl && this.substationControl.setColor(this.style.StationControl.lamp.grayColor);
this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor); // this.centerControl && this.centerControl.setColor(this.style.StationControl.lamp.grayColor);
break; // break;
} // }
} }
/** 按钮是否按下*/ /** 按钮是否按下*/

View File

@ -6,85 +6,85 @@ import Group from 'zrender/src/container/Group';
import Text from 'zrender/src/graphic/Text'; import Text from 'zrender/src/graphic/Text';
export default class StationCounter extends Group { export default class StationCounter extends Group {
constructor(model, style) { constructor(model, style) {
super(); super();
this._code = model.code; this._code = model.code;
this._type = model._type; this._type = model._type;
this.model = model; this.model = model;
this.style = style; this.style = style;
this.zlevel = model.zlevel; this.zlevel = model.zlevel;
this.z = 30; this.z = 30;
this.create(); this.create();
this.setState(model); this.setState(model);
} }
create() { create() {
const model = this.model; const model = this.model;
const style = this.style; const style = this.style;
this.counter = new Text({ this.counter = new Text({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
position: [0, 0], position: [0, 0],
style: { style: {
x: model.position.x, x: model.position.x,
y: model.position.y, y: model.position.y,
fontWeight: 'normal', fontWeight: 'normal',
fontSize: style.textFontSize, fontSize: style.textFontSize,
fontFamily: style.fontFamily, fontFamily: style.fontFamily,
text: model.val, text: model.val,
textFill: style.StationCounter.text.fontColor, textFill: style.StationCounter.text.fontColor,
textAlign: 'middle', textAlign: 'middle',
textStrokeWidth: 1 textStrokeWidth: 1
} }
}); });
this.rect = this.counter.getBoundingRect(); this.rect = this.counter.getBoundingRect();
this.vPadding = 0; this.vPadding = 0;
this.lPadding = 2; this.lPadding = 2;
this.table = new Polyline({ this.table = new Polyline({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
shape: { shape: {
points: [ points: [
[this.rect.x - this.lPadding, this.rect.y - this.vPadding], [this.rect.x - this.lPadding, this.rect.y - this.vPadding],
[this.rect.x + this.lPadding + this.rect.width, this.rect.y - this.vPadding], [this.rect.x + this.lPadding + this.rect.width, this.rect.y - this.vPadding],
[this.rect.x + this.lPadding + this.rect.width, this.rect.y + this.vPadding + this.rect.height], [this.rect.x + this.lPadding + this.rect.width, this.rect.y + this.vPadding + this.rect.height],
[this.rect.x - this.lPadding, this.rect.y + this.vPadding + this.rect.height], [this.rect.x - this.lPadding, this.rect.y + this.vPadding + this.rect.height],
[this.rect.x - this.lPadding, this.rect.y - this.vPadding]] [this.rect.x - this.lPadding, this.rect.y - this.vPadding]]
}, },
style: { style: {
stroke: style.StationCounter.text.borderColor stroke: style.StationCounter.text.borderColor
} }
}); });
this.counterName = new Text({ this.counterName = new Text({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
position: [0, 0], position: [0, 0],
style: { style: {
x: model.position.x, x: model.position.x,
y: model.position.y + this.rect.width + this.vPadding + style.textFontSize + style.StationCounter.text.distance, y: model.position.y + this.rect.width + this.vPadding + style.textFontSize + style.StationCounter.text.distance,
fontWeight: 'bold', fontWeight: 'bold',
fontSize: style.textFontSize, fontSize: style.textFontSize,
fontFamily: style.fontFamily, fontFamily: style.fontFamily,
text: model.name, text: model.name,
textFill: style.StationCounter.text.fontColor, textFill: style.StationCounter.text.fontColor,
textAlign: 'middle', textAlign: 'middle',
textVerticalAlign: 'top', textVerticalAlign: 'top',
textStrokeWidth: 1 textStrokeWidth: 1
} }
}); });
this.add(this.counterName); this.add(this.counterName);
this.add(this.table); this.add(this.table);
this.add(this.counter); this.add(this.counter);
} }
setState(model) { setState(model) {
} }
getShapeTipPoint() { getShapeTipPoint() {
return null; return null;
} }
} }

View File

@ -6,102 +6,102 @@ import Text from 'zrender/src/graphic/Text';
import Group from 'zrender/src/container/Group'; import Group from 'zrender/src/container/Group';
export default class StationDelayUnlock extends Group { export default class StationDelayUnlock extends Group {
constructor(model, style) { constructor(model, style) {
super(); super();
this._code = model.code; this._code = model.code;
this._type = model._type; this._type = model._type;
this.model = model; this.model = model;
this.style = style; this.style = style;
this.zlevel = model.zlevel; this.zlevel = model.zlevel;
this.z = 1; this.z = 1;
this.create(); this.create();
this.setState(model); this.setState(model);
} }
create() { create() {
const model = this.model; const model = this.model;
const style = this.style; const style = this.style;
this.text = new Text({ this.text = new Text({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
position: [0, 0], position: [0, 0],
style: { style: {
x: model.position.x, x: model.position.x,
y: model.position.y, y: model.position.y,
fontWeight: 'normal', fontWeight: 'normal',
fontSize: model.textFont, fontSize: model.textFont,
fontFamily: style.fontFamily, fontFamily: style.fontFamily,
text: model.deviceName + ' ', text: model.deviceName + ' ',
textFill: style.StationDelayUnlock.text.fontColor, textFill: style.StationDelayUnlock.text.fontColor,
textStrokeWidth: 1, textStrokeWidth: 1,
textAlign: 'left' textAlign: 'left'
} }
}); });
const fontSize = parseInt(model.textFont.split(' ')[0]) || 30; const fontSize = parseInt(model.textFont.split(' ')[0]) || 30;
this.time = new Text({ this.time = new Text({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
position: [0, 0], position: [0, 0],
style: { style: {
x: model.position.x, x: model.position.x,
y: model.position.y + fontSize + style.StationDelayUnlock.text.distance, y: model.position.y + fontSize + style.StationDelayUnlock.text.distance,
fontWeight: 'normal', fontWeight: 'normal',
fontSize: model.textFont, fontSize: model.textFont,
fontFamily: style.fontFamily, fontFamily: style.fontFamily,
text: model.remainTime || '', text: model.remainTime || '',
textFill: style.StationDelayUnlock.text.fontColor, textFill: style.StationDelayUnlock.text.fontColor,
textStrokeWidth: 1, textStrokeWidth: 1,
textAlign: 'left' textAlign: 'left'
} }
}); });
this.add(this.text); this.add(this.text);
this.add(this.time); this.add(this.time);
this.lPadding = 3; this.lPadding = 3;
this.vPadding = 3; this.vPadding = 3;
this.rect = this.getBoundingRect(); this.rect = this.getBoundingRect();
if (this.rect.width < 35) this.rect.width = 35; if (this.rect.width < 35) this.rect.width = 35;
if (this.rect.height < 20) this.rect.height = 20; if (this.rect.height < 20) this.rect.height = 20;
this.table = new Rect({ this.table = new Rect({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z - 1, z: this.z - 1,
shape: { shape: {
x: model.position.x - this.lPadding, x: model.position.x - this.lPadding,
y: model.position.y - this.vPadding, y: model.position.y - this.vPadding,
width: this.rect.width + this.lPadding * 2, width: this.rect.width + this.lPadding * 2,
height: this.rect.height + this.vPadding * 2 height: this.rect.height + this.vPadding * 2
}, },
style: { style: {
stroke: style.StationDelayUnlock.text.borderColor, stroke: style.StationDelayUnlock.text.borderColor,
fill: style.backgroundColor fill: style.backgroundColor
} }
}); });
this.add(this.table); this.add(this.table);
} }
/** 延时解锁关闭*/ /** 延时解锁关闭*/
delayClose() { delayClose() {
this.time.setStyle('text', ''); this.time.setStyle('text', '');
this.text.setStyle('text', ''); this.text.setStyle('text', '');
this.table.setStyle('stroke', this.style.backgroundColor); this.table.setStyle('stroke', this.style.backgroundColor);
} }
/** 延时解锁计数*/ /** 延时解锁计数*/
delayUnlock() { delayUnlock() {
this.table.setStyle('stroke', this.style.sidelineColor); this.table.setStyle('stroke', this.style.sidelineColor);
this.time.setStyle('text', '' + this.model.remainTime); this.time.setStyle('text', '' + this.model.remainTime);
} }
setState(model) { setState(model) {
switch (model.status) { switch (model.status) {
case '01': this.delayClose(); break; // 关闭 case '01': this.delayClose(); break; // 关闭
case '02': this.delayUnlock(); break; // 延迟解锁 case '02': this.delayUnlock(); break; // 延迟解锁
} }
} }
getShapeTipPoint() { getShapeTipPoint() {
return null; return null;
} }
} }

View File

@ -47,19 +47,6 @@ class StationStand extends Group {
}); });
this.add(this.safeStand); this.add(this.safeStand);
// if (model.direction != '03') {
// /** 屏蔽门*/
// this.safeDoor = new ESafeDoor({
// zlevel: this.zlevel,
// z: this.z,
// style: style,
// x: model.position.x,
// y: model.position.y,
// width: model.width,
// height: style.StationStand.safetyDoor.height,
// show: model.hasDoor
// });
/** 站台紧急关闭*/ /** 站台紧急关闭*/
const emergentH = drict > 0 ? style.StationStand.standEmergent.mergentR + style.StationStand.safetyDoor.height : style.StationStand.standEmergent.mergentR; const emergentH = drict > 0 ? style.StationStand.standEmergent.mergentR + style.StationStand.safetyDoor.height : style.StationStand.standEmergent.mergentR;
const emergentX = model.position.x + drict * (style.StationStand.standEmergent.offset.x); const emergentX = model.position.x + drict * (style.StationStand.standEmergent.offset.x);
@ -159,13 +146,11 @@ class StationStand extends Group {
this.add(this.jump); this.add(this.jump);
} }
this.add(this.safeDoor);
this.add(this.emergent); this.add(this.emergent);
this.add(this.detain); this.add(this.detain);
this.add(this.reentry); this.add(this.reentry);
this.add(this.time); this.add(this.time);
this.add(this.level); this.add(this.level);
// }
} }
createMouseEvent() { createMouseEvent() {
@ -193,8 +178,6 @@ class StationStand extends Group {
this.reentry && this.reentry.hide(); this.reentry && this.reentry.hide();
this.emergent && this.emergent.hide(); this.emergent && this.emergent.hide();
this.jump && this.jump.hide(); this.jump && this.jump.hide();
if (this.model.visible) { this.safeDoor && this.safeDoor.hasDoor(false); }
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.defaultColor);
} }
/** 空闲*/ /** 空闲*/
@ -214,23 +197,23 @@ class StationStand extends Group {
} }
/** 指定列车跳站*/ /** 指定列车跳站*/
designatedJumpStop(allSkip, assignSkip) { designatedJumpStop() {
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.designatedJumpStopColor); this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.designatedJumpStopColor);
this.jump && this.jump.show(); this.jump && this.jump.show();
this.jump && this.jump.setStatus(allSkip, assignSkip); this.jump && this.jump.setStatus(0, 1);
} }
/** 未设置跳停*/ /** 未设置跳停*/
unJumpStop(allSkip, assignSkip) { unJumpStop() {
this.jump && this.jump.hide(); this.jump && this.jump.hide();
this.jump && this.jump.setStatus(allSkip, assignSkip); this.jump && this.jump.setStatus(0, 0);
} }
/** 站台跳停*/ /** 站台跳停*/
jumpStop(allSkip, assignSkip) { jumpStop() {
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.jumpStopColor); this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.jumpStopColor);
this.jump && this.jump.show(); this.jump && this.jump.show();
this.jump && this.jump.setStatus(allSkip, assignSkip); this.jump && this.jump.setStatus(1, 0);
} }
/** 未设置扣车*/ /** 未设置扣车*/
@ -268,31 +251,6 @@ class StationStand extends Group {
this.level && this.level.setName(val); this.level && this.level.setName(val);
} }
/** 开门*/
openDoor() {
this.safeDoor && this.safeDoor.hasDoor(true);
}
/** 关门*/
closeDoor() {
this.safeDoor && this.safeDoor.hasDoor(false);
}
/** 屏蔽门正常*/
doorNormal() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.defaultColor);
}
/** 屏蔽门故障*/
doorFault() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.splitDoorColor);
}
/** 屏蔽门切除*/
doorSplit() {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.splitDoorColor);
}
/** 无折返(默认)*/ /** 无折返(默认)*/
noReentry() { noReentry() {
this.reentry && this.reentry.hide(); this.reentry && this.reentry.hide();
@ -310,47 +268,25 @@ class StationStand extends Group {
} }
setState(model) { setState(model) {
// 新版地图使用新版状态变更方式
this.recover(); this.recover();
switch (model.status) { model.free && this.spare(); /** 空闲*/
case '01': /** 空闲*/ model.trainParking && this.stop(); /** 列车停站*/
this.spare(); model.emergencyClosed && this.emergentClose(); /** 站台紧急关闭*/
break;
case '02': /** 列车停站*/ if (Number(model.parkingTime) > 0) {
this.stop(); this.setManuallyArmisticeTime(model.parkingTime); // 设置站台停车时间
break;
case '03': /** 站台紧急关闭*/
this.emergentClose();
break;
} }
if (Number(model.parkingTime) >= 0) { if (Number(model.runLevelTime) > 0) {
this.setManuallyArmisticeTime(model.parkingTime); this.setManuallyOperationLevel(model.intervalRunTime); // 设置站台间运行等级
} }
if (Number(model.intervalRunTime) > 0) { /** 设置跳停*/
this.setManuallyOperationLevel(model.intervalRunTime); this.unJumpStop(); // 未设置跳停
} model.assignSkip && this.designatedJumpStop(); // 指定站台跳停
model.allSkip && this.jumpStop(); // 站台全部跳停
// /** 设置跳停*/
// if (model.status == '01') {
// switch (model.jumpStopStatus) {
// case '01': /** 未设置跳停*/
// this.unJumpStop();
// break;
// case '02': /** 指定站台跳停*/
// this.designatedJumpStop();
// break;
// case '03': /** 站台全部跳停*/
// this.jumpStop();
// break;
// }
// }
this.unJumpStop(model.allSkip, model.assignSkip); // 未设置跳停
if (model.assignSkip) {
this.designatedJumpStop(model.allSkip, model.assignSkip); // 指定站台跳停
} else if (model.allSkip) {
this.jumpStop(model.allSkip, model.assignSkip); // 站台全部跳停
}
/** 设置扣车*/ /** 设置扣车*/
this.unDetainTrain(); // 默认状态 this.unDetainTrain(); // 默认状态
if (model.stationHoldTrain && model.centerHoldTrain) { if (model.stationHoldTrain && model.centerHoldTrain) {
@ -361,28 +297,6 @@ class StationStand extends Group {
this.centerDetainTrain(); // 中心扣车 this.centerDetainTrain(); // 中心扣车
} }
/** 设置屏蔽门开关*/
switch (model.screenDoorOpenStatus) {
case '01':
this.closeDoor(); /** 关门*/
break;
case '02':
this.openDoor(); /** 开门*/
break;
}
/** 设置屏蔽门状态*/
switch (model.screenDoorStatus) {
case '01':
this.doorNormal(); /** 正常*/
break;
case '02':
this.doorFault(); /** 故障*/
break;
case '03':
this.doorSplit(); /** 切除*/
}
/** 设置折返策略*/ /** 设置折返策略*/
switch (model.reentryStrategy) { switch (model.reentryStrategy) {
case '04': /** 默认*/ case '04': /** 默认*/
@ -399,9 +313,7 @@ class StationStand extends Group {
} }
getBoundingRect() { getBoundingRect() {
const rect = this.safeStand.getBoundingRect(); const rect = this.safeStand.getBoundingRect().clone();
this.safeDoor && rect.union(this.safeDoor.getBoundingRect());
return rect; return rect;
} }

View File

@ -386,27 +386,27 @@ export default class Switch extends Group {
} }
setState(model) { setState(model) {
this.setLocateType(model); // this.setLocateType(model);
switch (model.status) { // switch (model.status) {
case '01': // case '01':
this.spare(); /** 空闲*/ // this.spare(); /** 空闲*/
break; // break;
case '10': // case '10':
this.setMonolock(); /** 单锁*/ // this.setMonolock(); /** 单锁*/
break; // break;
case '13': // case '13':
this.timeRelease(); /** 延时释放*/ // this.timeRelease(); /** 延时释放*/
break; // break;
case '14': // case '14':
this.block(); /** 封锁*/ // this.block(); /** 封锁*/
break; // break;
} // }
/** 区段切除*/ // /** 区段切除*/
if (model.cutOff) { // if (model.cutOff) {
this.setSwitchCutOff(); // this.setSwitchCutOff();
} // }
} }
getBoundingRect() { getBoundingRect() {

View File

@ -309,19 +309,19 @@ export default class Train extends Group {
setState(model) { setState(model) {
this.model = model; this.model = model;
// let points = []; // let points = [];
const flag = model.trainWindowModel.reversal; // const flag = model.trainWindowModel.reversal;
if (model) { // if (model) {
this.recover(); // this.recover();
this.setServerNoType(model.serverNoType); // 设置服务号状态类型 // this.setServerNoType(model.serverNoType); // 设置服务号状态类型
this.setDestinationStatus(model.destinationStatus); // 设置目的地状态 // this.setDestinationStatus(model.destinationStatus); // 设置目的地状态
this.setRunStatus(model.runStatus, flag); // 设置运行状态 // this.setRunStatus(model.runStatus, flag); // 设置运行状态
this.setRunMode(model.runMode); // 设置运行模式 // this.setRunMode(model.runMode); // 设置运行模式
this.setRunControlStatus(model.runControlStatus); // 设置运行控制状态类型 // this.setRunControlStatus(model.runControlStatus); // 设置运行控制状态类型
this.setDoorStatus(model.doorStatus); // 设置车门状态类型 // this.setDoorStatus(model.doorStatus); // 设置车门状态类型
this.setCommunicationStatus(model.communicationStatus); // 设置通信状态类型 // this.setCommunicationStatus(model.communicationStatus); // 设置通信状态类型
this.setAlarmStatus(model.alarmStatus); // 设置报警状态 // this.setAlarmStatus(model.alarmStatus); // 设置报警状态
this.setTrainTypeStatus(model.type); // 根据列车类型设置列车识别号样式 // this.setTrainTypeStatus(model.type); // 根据列车类型设置列车识别号样式
} // }
} }
// 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
isChangeTrainWidth(model, style) { isChangeTrainWidth(model, style) {

View File

@ -57,8 +57,8 @@ export default {
radio: '1', radio: '1',
upSelectList: [], upSelectList: [],
downSelectList: [], downSelectList: [],
upForward: true, // upForward: true, //
downForward: false // downForward: false //
}; };
}, },
computed: { computed: {

View File

@ -30,8 +30,8 @@ const loginXtyPage = whiteList[2];
const loginDesignXtyPage = whiteList[3]; const loginDesignXtyPage = whiteList[3];
const loginGzbPage = whiteList[4]; const loginGzbPage = whiteList[4];
const loginDesignGzbPage = whiteList[5]; const loginDesignGzbPage = whiteList[5];
const loginHydPage = whiteList[8]; const loginHydPage = whiteList[7];
const loginDesignHydPage = whiteList[9]; const loginDesignHydPage = whiteList[8];
const loginDesignPageMenu = { const loginDesignPageMenu = {
design: loginDesignPage, design: loginDesignPage,
designxty: loginDesignXtyPage, designxty: loginDesignXtyPage,
@ -76,6 +76,7 @@ function getRouteInfo(to) {
clientId = null; clientId = null;
} else { } else {
loginPath = loginPageMenu[current_session] || loginPath; loginPath = loginPageMenu[current_session] || loginPath;
console.log(loginPath, current_session);
clientId = null; clientId = null;
if (current_session && current_session.startsWith('design')) { if (current_session && current_session.startsWith('design')) {
removeToken(); removeToken();

View File

@ -5,7 +5,7 @@ export const State2SimulationMap = {
}; };
export const State2ControlMap = { export const State2ControlMap = {
'01': 'OperateCenterControl', // 中控 'Center': 'OperateCenterControl', // 中控
'02': 'LocalStationControl', // 站控 'Local': 'LocalStationControl', // 站控
'03': 'station' 'Emergency': 'station'
}; };

View File

@ -90,7 +90,7 @@ class MenuContextHandler {
if (control) { if (control) {
if ( this.getPrdType() != '') { if ( this.getPrdType() != '') {
const type = State2SimulationMap[this.getPrdType()]; const type = State2SimulationMap[this.getPrdType()];
const status = State2ControlMap[control.status]; const status = State2ControlMap[control.controlMode];
menu = [...menuList[type]]; menu = [...menuList[type]];
if (menu.constructor === Array) { if (menu.constructor === Array) {
menu.forEach(elem => { menu.forEach(elem => {

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="content_box"> <div class="content_box">
<span>平台基于北京玖琏科技有限公司</span><span>琏课堂产品设计开发完成</span> <span>产品基于长安玖琏</span><span v-if="!project.startsWith('design')">城市轨道交通实训云平台设计开发</span><span v-else>城市轨道交通设计云平台设计开发</span>
<br><span>实训平台网址</span><a target="_blank" href="https://joylink.club" style="color: #33F;text-decoration:underline;">https://joylink.club</a> <br><span>实训平台网址</span><a target="_blank" href="https://joylink.club" style="color: #33F;text-decoration:underline;">https://joylink.club</a>
<br><span>设计平台网址</span><a target="_blank" href="https://joylink.club" style="color: #33F;text-decoration:underline;">https://joylink.club/design</a> <br><span>设计平台网址</span><a target="_blank" href="https://joylink.club" style="color: #33F;text-decoration:underline;">https://joylink.club/design</a>
</div> </div>
@ -13,6 +13,11 @@ export default {
return { return {
}; };
}, },
computed: {
project() {
return this.$route.path.split('/')[1];
}
},
mounted() { mounted() {
} }
}; };

View File

@ -244,7 +244,9 @@ export default {
}, },
watch: { watch: {
'$store.state.map.deleteCount': function (val) { '$store.state.map.deleteCount': function (val) {
this.$refs[this.enabledTab].deleteObj(); if (this.selected) {
this.$refs[this.enabledTab].deleteObj();
}
}, },
'$store.state.map.updateCount': function (val) { '$store.state.map.updateCount': function (val) {
this.$refs[this.enabledTab].edit(); this.$refs[this.enabledTab].edit();

View File

@ -340,7 +340,7 @@ export default {
return this.editModel.type !== '04' && !this.editModel.switchSection; return this.editModel.type !== '04' && !this.editModel.switchSection;
}, },
isAssociatedSwitchSectionshow() { isAssociatedSwitchSectionshow() {
return this.editModel.type !== '04' && this.editModel.type !== '03'; return this.editModel.type !== '04' || this.editModel.type !== '03';
}, },
isStandTrackShow() { isStandTrackShow() {
return this.editModel.type !== '04' && this.editModel.type !== '03' && !this.editModel.switchSection; return this.editModel.type !== '04' && this.editModel.type !== '03' && !this.editModel.switchSection;

View File

@ -94,6 +94,9 @@ export default {
}, },
updateMapModel(data) { updateMapModel(data) {
this.$emit('updateMapModel', data); this.$emit('updateMapModel', data);
},
deleteObj() {
this.$refs.switchModel.deleteObj();
} }
} }
}; };

View File

@ -308,6 +308,7 @@ export default {
this.addList = []; // codelist this.addList = []; // codelist
if (this.sectionList && this.sectionList.length) { if (this.sectionList && this.sectionList.length) {
this.sectionList.forEach(elem => { this.sectionList.forEach(elem => {
// elem.type !== '03' // !elem.switchSection
if (elem.type !== '04' && !elem.switchSection && !elem.trainWindowCode && (elem.logicSectionNum.length == 0 || elem.logicSectionNum.length == 1 && elem.logicSectionNum[0] == 0)) { if (elem.type !== '04' && !elem.switchSection && !elem.trainWindowCode && (elem.logicSectionNum.length == 0 || elem.logicSectionNum.length == 1 && elem.logicSectionNum[0] == 0)) {
const triangle = new JTriangle(elem.points[0], elem.points[elem.points.length - 1]); const triangle = new JTriangle(elem.points[0], elem.points[elem.points.length - 1]);
const param = this.createModel({ const param = this.createModel({

View File

@ -2,7 +2,7 @@
<div class="dictionary_box"> <div class="dictionary_box">
<div class="joylink-card"> <div class="joylink-card">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<div style="overflow: hidden; margin-bottom: 20px;"> <div style="overflow: hidden; padding-bottom: 30px;position: relative;">
<div class="param-title">条件参数:</div> <div class="param-title">条件参数:</div>
<el-table :data="formModel.conditionList" border class="param-table"> <el-table :data="formModel.conditionList" border class="param-table">
<el-table-column prop="name" label="参数名" /> <el-table-column prop="name" label="参数名" />
@ -19,6 +19,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="tip_box">条件成立该按钮显示条件不成立按钮是禁选状态</div>
<div class="button-box"> <div class="button-box">
<el-button type="primary" size="small" round @click="addConditionData">添加</el-button> <el-button type="primary" size="small" round @click="addConditionData">添加</el-button>
</div> </div>
@ -225,6 +226,14 @@ export default {
.joylink-card{ .joylink-card{
padding: 24px; padding: 24px;
.tip_box{
position: absolute;
bottom: 8px;
left: 120px;
font-size: 14px;
color: #949494;
}
.param-title{ .param-title{
width: 120px; width: 120px;
text-align: right; text-align: right;