76 lines
2.6 KiB
JavaScript
76 lines
2.6 KiB
JavaScript
import deviceType from '../../constant/deviceType';
|
|
|
|
class Model {
|
|
constructor() {
|
|
// 公共字段部分默认初始值
|
|
this['public'] = {};
|
|
this['public'][deviceType.Signal] = {
|
|
lampPositionType: '02',
|
|
lampPostType: '02'
|
|
};
|
|
|
|
// 私有字段部分默认初始值
|
|
this['private'] = {};
|
|
this['private'][deviceType.StationControl] = {
|
|
indicatorShow: true // 标识灯名称显示
|
|
};
|
|
this['private'][deviceType.Station] = {
|
|
kmPostShow: true // 公里标显示
|
|
};
|
|
this['private'][deviceType.Switch] = {
|
|
nameShow: true
|
|
};
|
|
this['private'][deviceType.Section] = {
|
|
nameShow: true,
|
|
borderBorderShow: true, // 区段边界显示
|
|
destinationNameShow: true, // 目的地码名称显示
|
|
standTrackNameShow: true, // 站台轨名称显示
|
|
reentryTrackNameShow: true, // 折返轨名称显示
|
|
transferTrackNameShow: true // 转换轨名称显示
|
|
};
|
|
this['private'][deviceType.Signal] = {
|
|
nameShow: true, // 信号机名称显示
|
|
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
|
|
atsAutoTriggerShow: true, // ATS自动触发表示灯显示
|
|
isStartSignal: 0, // 是否进路排列选中始端信号机
|
|
isTerminalSignal: 0, // 是否进路排列待选终端信号机
|
|
isCiConfirm: 0 // 是否联锁确认(并未进行联锁确认,前端根据流程给的值)
|
|
};
|
|
this['private'][deviceType.Train] = {
|
|
nameFormat: 'targetCode:serviceNumber:tripNumber', // 字体格式
|
|
nameFontSize: 10 // 字体大小
|
|
};
|
|
this['private'][deviceType.TrainWindow] = {
|
|
trainWindowShow: true
|
|
};
|
|
}
|
|
|
|
initPublicProps(model) {
|
|
if (model) {
|
|
var modelInitial = this.public[model._type];
|
|
if (modelInitial) {
|
|
for (var prop in modelInitial) {
|
|
model[prop] = modelInitial[prop];
|
|
}
|
|
}
|
|
}
|
|
|
|
return model;
|
|
}
|
|
|
|
initPrivateProps(model) {
|
|
if (model) {
|
|
var modelInitial = this.private[model._type];
|
|
if (modelInitial) {
|
|
for (var prop in modelInitial) {
|
|
model[prop] = modelInitial[prop];
|
|
}
|
|
}
|
|
}
|
|
|
|
return model;
|
|
}
|
|
}
|
|
|
|
export default new Model();
|