diff --git a/src/jmapNew/config/skinCode/foshan_01.js b/src/jmapNew/config/skinCode/foshan_01.js
index f1d5674e3..94cf12772 100644
--- a/src/jmapNew/config/skinCode/foshan_01.js
+++ b/src/jmapNew/config/skinCode/foshan_01.js
@@ -80,7 +80,7 @@ class SkinCode extends defaultStyle {
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#EF0C08', // 区段侵入颜色
spareColor: '#3F3F3F', // 区段空闲颜色
- communicationOccupiedColor: '#FF329A', // 区段通信车占用颜色
+ communicationOccupiedColor: '#FE0000', // 区段通信车占用颜色
unCommunicationOccupiedColor: '#FE0000', // 区段非通讯车占用颜色
routeLockColor: '#FFFFFF', // 区段路由锁定颜色
faultLockColor: '#00FF00', // 区段故障锁闭颜色
diff --git a/src/jmapNew/config/skinCode/fuzhou_01.js b/src/jmapNew/config/skinCode/fuzhou_01.js
index 12ca7de6a..a123cedc9 100644
--- a/src/jmapNew/config/skinCode/fuzhou_01.js
+++ b/src/jmapNew/config/skinCode/fuzhou_01.js
@@ -80,7 +80,7 @@ class SkinCode extends defaultStyle {
beyondWidth: 1, // 区段宽超出宽度
invadeColor: '#EF0C08', // 区段侵入颜色
spareColor: '#3F3F3F', // 区段空闲颜色
- communicationOccupiedColor: '#FE0000', // 区段通信车占用颜色
+ communicationOccupiedColor: '#FF329A', // 区段通信车占用颜色
unCommunicationOccupiedColor: '#FE0000', // 区段非通讯车占用颜色
routeLockColor: '#FFFFFF', // 区段路由锁定颜色
faultLockColor: '#9B4A0A', // 区段故障锁定颜色
diff --git a/src/jmapNew/config/skinCode/xian_01.js b/src/jmapNew/config/skinCode/xian_01.js
index a123cedc9..a5adad4c4 100644
--- a/src/jmapNew/config/skinCode/xian_01.js
+++ b/src/jmapNew/config/skinCode/xian_01.js
@@ -439,7 +439,21 @@ class SkinCode extends defaultStyle {
textColor: '#000000'
}
};
-
+ this[deviceType.SwitchFault] = {
+ displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ controlColor: '#000000', // 控制灯颜色
+ offColor: '#ff0000',
+ lineWidth: 2,
+ strokeColor: '#FFFFFF' // 控制灯描边样式
+ }
+ };
this[deviceType.ZcControl] = {
text: {
fontSize: 10, // 字体大小
diff --git a/src/jmapNew/constant/deviceRender.js b/src/jmapNew/constant/deviceRender.js
index f3af7ac4e..eda9a8c90 100644
--- a/src/jmapNew/constant/deviceRender.js
+++ b/src/jmapNew/constant/deviceRender.js
@@ -235,4 +235,9 @@ deviceRender[deviceType.SplitStation] = {
_type: deviceType.SplitStation,
zlevel: 1
};
+/** SwitchFault 道岔故障 */
+deviceRender[deviceType.SwitchFault] = {
+ _type: deviceType.SwitchFault,
+ zlevel: 1
+};
export default deviceRender;
diff --git a/src/jmapNew/constant/deviceType.js b/src/jmapNew/constant/deviceType.js
index 5f21e6396..3e2551a7b 100644
--- a/src/jmapNew/constant/deviceType.js
+++ b/src/jmapNew/constant/deviceType.js
@@ -40,7 +40,8 @@ const deviceType = {
ReturnModeGroup: 'ReturnModeGroup',
ControlSwitch: 'ControlSwitch',
Axle: 'Axle',
- SplitStation:'SplitStation'
+ SplitStation:'SplitStation',
+ SwitchFault: 'SwitchFault'
};
export default deviceType;
diff --git a/src/jmapNew/shape/SaidLamp/index.js b/src/jmapNew/shape/SaidLamp/index.js
index 92a775e6d..86b39fe52 100644
--- a/src/jmapNew/shape/SaidLamp/index.js
+++ b/src/jmapNew/shape/SaidLamp/index.js
@@ -21,21 +21,22 @@ export default class SaidLamp extends Group {
this.model = model;
this.style = style;
this.deviceStyle = style[model._type];
- if (!this.deviceStyle) { return; }
- this.isShowShape = true;
- if (isShowThePrdType(model.prdType, this.deviceStyle.displayCondition) || model.previewOrMapDraw) {
- this.create();
- this.createMouseEvent();
- this.setState(model);
- }
- if (model.previewOrMapDraw) {
- this.setShowMode();
+ if (this.deviceStyle) {
+ this.isShowShape = true;
+ if (isShowThePrdType(model.prdType, this.deviceStyle.displayCondition) || model.previewOrMapDraw) {
+ this.create();
+ this.createMouseEvent();
+ this.setState(model);
+ }
+ if (model.previewOrMapDraw) {
+ this.setShowMode();
+ }
}
}
create() {
const model = this.model;
- const lampDevice = ['LeuControl', 'IntersiteControl', 'CenterCommunication', 'AtsControl', 'LocalControl', 'ChainControl', 'Maintain', 'PowerSupply', 'MaintenanceLamps', 'ZcCommunication'];
+ const lampDevice = ['LeuControl', 'IntersiteControl', 'CenterCommunication', 'AtsControl', 'LocalControl', 'ChainControl', 'Maintain', 'PowerSupply', 'MaintenanceLamps', 'ZcCommunication', 'SwitchFault'];
if (lampDevice.includes(this._type)) {
this.control = new EControl({
zlevel: this.zlevel,
@@ -47,8 +48,9 @@ export default class SaidLamp extends Group {
r: this.deviceStyle.lamp.radiusR
},
subType: 'Control',
- lineWidth: 0,
- fill: this.deviceStyle.lamp.controlColor
+ lineWidth: this.deviceStyle.lamp.lineWidth || 0,
+ fill: this.deviceStyle.lamp.controlColor,
+ stroke: this.deviceStyle.lamp.strokeColor
},
text: {
position: [0, 0],
@@ -203,11 +205,13 @@ export default class SaidLamp extends Group {
}
setShowMode() {
const showMode = this.model.showMode;
- const showConditions = this.deviceStyle.displayCondition;
- if (showConditions === '01' || showMode === showConditions) {
- this.control && this.control.show();
- } else {
- this.control && this.control.hide();
+ if (this.deviceStyle) {
+ const showConditions = this.deviceStyle.displayCondition;
+ if (showConditions === '01' || showMode === showConditions) {
+ this.control && this.control.show();
+ } else {
+ this.control && this.control.hide();
+ }
}
}
setShowStation(stationCode) {
diff --git a/src/jmapNew/shape/element/EControl.js b/src/jmapNew/shape/element/EControl.js
index daab1517c..423588802 100644
--- a/src/jmapNew/shape/element/EControl.js
+++ b/src/jmapNew/shape/element/EControl.js
@@ -25,7 +25,8 @@ export default class EControl extends Group {
shape: this.arcStyle.shape,
style: {
lineWidth: this.arcStyle.lineWidth,
- fill: this.arcStyle.fill
+ fill: this.arcStyle.fill,
+ stroke: this.arcStyle.stroke
},
onmouseover: this.arcStyle.mouseover,
onmouseout: this.arcStyle.mouseout
diff --git a/src/jmapNew/shape/factory.js b/src/jmapNew/shape/factory.js
index c300aa1e9..e8d551734 100644
--- a/src/jmapNew/shape/factory.js
+++ b/src/jmapNew/shape/factory.js
@@ -65,6 +65,7 @@ mapShape[deviceType.ModeStatusGroup] = SaidLamp;
mapShape[deviceType.FaultStatusGroup] = SaidLamp;
mapShape[deviceType.ReturnModeGroup] = SaidLamp;
mapShape[deviceType.Axle] = SaidLamp;
+mapShape[deviceType.SwitchFault] = SaidLamp;
mapShape[deviceType.SplitStation] = SplitStation;
function shapefactory(device, jmap) {
diff --git a/src/jmapNew/utils/parser.js b/src/jmapNew/utils/parser.js
index 171085d1e..6c6484ffd 100644
--- a/src/jmapNew/utils/parser.js
+++ b/src/jmapNew/utils/parser.js
@@ -191,6 +191,9 @@ export function parser(data, skinCode, showConfig) {
case 'ControlSwitch':
mapDevice[elem.code] = createDevice(deviceType.ControlSwitch, elem, propConvert, showConfig);
break;
+ case 'SwitchFault':
+ mapDevice[elem.code] = createDevice(deviceType.SwitchFault, elem, propConvert, showConfig);
+ break;
}
}, this);
@@ -310,6 +313,7 @@ export function updateMapData(state, model) {
case deviceType.ControlSwitch: updateForList(model, state, 'indicatorLightList'); break;
case deviceType.Axle: updateForList(model, state, 'indicatorLightList'); break;
case deviceType.SplitStation: updateForList(model, state, 'splitStationList'); break;
+ case deviceType.SwitchFault: updateForList(model, state, 'indicatorLightList'); break;
}
}
}
diff --git a/src/utils/request.js b/src/utils/request.js
index 951a48452..cbe2c8ea3 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -62,14 +62,16 @@ service.interceptors.response.use(
});
});
});
- } else {
- Vue.prototype.$alert('服务异常: ' + res.message + '', '请求结果', {
- confirmButtonText: '确定',
- dangerouslyUseHTMLString: true,
- closeOnClickModal: false
- }).then(() => {
- return Promise.reject(res);
- });
+ // } else if (res.code == 500) {
+ // Vue.prototype.$alert('服务异常: ' + res.message + '', '请求结果', {
+ // confirmButtonText: '确定',
+ // dangerouslyUseHTMLString: true,
+ // closeOnClickModal: false
+ // }).then(() => {
+ // return Promise.reject(res);
+ // });
+ // } else {
+ return Promise.reject(res);
}
} else {
return response.data;
diff --git a/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue b/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
index 855736902..2e715d7d4 100644
--- a/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
@@ -84,7 +84,8 @@ export default {
'LampFilament',
'ReturnModeGroup',
'ControlSwitch',
- 'Axle'
+ 'Axle',
+ 'SwitchFault'
],
noNameTypeList: ['FaultStatusGroup', 'ModeStatusGroup', 'LampFilament', 'ReturnModeGroup', 'ControlSwitch', 'Axle'],
typeList: [
@@ -104,7 +105,8 @@ export default {
{ name: '信号灯丝告警', value: 'LampFilament'},
{ name: '折返模式组', value: 'ReturnModeGroup'},
{ name: 'LCW/ATS控制开关', value: 'ControlSwitch'},
- { name: '计轴预复位', value: 'Axle'}
+ { name: '计轴预复位', value: 'Axle'},
+ { name: '道岔故障', value: 'SwitchFault'}
],
editModel: {
code: '',
@@ -116,7 +118,8 @@ export default {
y: 0
},
mfNum: 0,
- pfNum: 0
+ pfNum: 0,
+ switchCode: ''
},
addModel: {
code: '',
@@ -128,7 +131,8 @@ export default {
y: 0
},
mfNum: 0,
- pfNum: 0
+ pfNum: 0,
+ switchCode: ''
},
rules: {
code: [
@@ -146,12 +150,14 @@ export default {
stationCode: [
{ required: true, message: this.$t('rules.pleaseSelectStationCode'), trigger: 'change'}
]
- }
+ },
+ field: ''
};
},
computed: {
...mapGetters('map', [
'stationList',
+ 'switchList',
'indicatorLightList'
]),
form() {
@@ -174,7 +180,8 @@ export default {
] },
{ prop: 'mfNum', label: '报警指示故障数量:', type: 'number', min: 0, isHidden: this.editModel.type !== 'FaultStatusGroup' },
{ prop: 'pfNum', label: '电源故障数量:', type: 'number', min: 0, isHidden: this.editModel.type !== 'FaultStatusGroup'},
- { prop:'stationCode', label: '所属车站', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList}
+ { prop: 'switchCode', label: '所属道岔:', type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: this.editModel.type !== 'SwitchFault', hover: this.hover, buttonType: 'switchSelectCode', buttonShowType: this.isButtonType },
+ { prop:'stationCode', label: '所属车站:', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList}
]
}
}
@@ -187,13 +194,14 @@ export default {
items: [
{ prop:'type', label: this.$t('map.saidLampType'), type: 'select', optionLabel: 'name', optionValue: 'value', options: this.typeList, change: true, deviceChange: this.typeChange},
{ prop: 'name', label: this.$t('map.saidLampName'), type: 'input', isHidden: this.noNameTypeList.includes(this.addModel.type) },
- { prop:'stationCode', label: '所属车站', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, change: true, deviceChange: this.changeBelongStation},
+ { prop:'stationCode', label: '所属车站:', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, change: true, deviceChange: this.changeBelongStation},
{ prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
] },
{ prop: 'mfNum', label: '报警指示故障数量:', type: 'number', min: 0, isHidden: this.addModel.type !== 'FaultStatusGroup' },
- { prop: 'pfNum', label: '电源故障数量:', type: 'number', min: 0, isHidden: this.addModel.type !== 'FaultStatusGroup'}
+ { prop: 'pfNum', label: '电源故障数量:', type: 'number', min: 0, isHidden: this.addModel.type !== 'FaultStatusGroup'},
+ { prop: 'switchCode', label: '所属道岔:', type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: this.addModel.type !== 'SwitchFault', hover: this.hover, buttonType: 'switchSelectCode', buttonShowType: this.isButtonType }
]
};
return form;
@@ -211,6 +219,9 @@ export default {
],
stationCode: [
{ required: true, message: this.$t('rules.pleaseSelectStationCode'), trigger: 'change'}
+ ],
+ switchCode: [
+ { required: true, message: '请选择所属道岔!', trigger: 'change'}
]
};
},
@@ -224,8 +235,14 @@ export default {
],
stationCode: [
{ required: true, message: this.$t('rules.pleaseSelectStationCode'), trigger: 'change'}
+ ],
+ switchCode: [
+ { required: true, message: '请选择所属道岔!', trigger: 'change'}
]
};
+ },
+ isButtonType() {
+ return this.field == 'switchSelectCode';
}
},
watch: {
@@ -250,6 +267,10 @@ export default {
this.addModel.type = type;
this.editModel.type = type;
},
+ hover(field) {
+ this.field = field === this.field ? '' : field;
+ this.$emit('saidLampHover', this.field);
+ },
handleIndicatorLightList(indicatorLightList) {
this.atsControlList = [];
this.centerCommunicationList = [];
@@ -385,9 +406,15 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.dataform.resetFields();
- this.$refs.make.resetFields();
- if (selected && this.controlLampTypeList.includes(selected._type)) {
+ if (this.field.toUpperCase() === 'switchSelectCode'.toUpperCase() && selected._type.toUpperCase() === 'Switch'.toUpperCase()) {
+ if (this.activeName === 'first') {
+ this.editModel.switchCode = selected.code;
+ } else {
+ this.addModel.switchCode = selected.code;
+ }
+ } else if (selected && this.controlLampTypeList.includes(selected._type)) {
+ this.$refs.dataform.resetFields();
+ this.$refs.make.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
this.editModel.type = selected._type;
diff --git a/src/views/newMap/newMapdraft/mapoperate/index.vue b/src/views/newMap/newMapdraft/mapoperate/index.vue
index 4a63705b3..89a563479 100644
--- a/src/views/newMap/newMapdraft/mapoperate/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/index.vue
@@ -106,6 +106,7 @@
:selected="selected"
@updateMapModel="updateMapModel"
@setCenter="setCenter"
+ @saidLampHover="saidLampTab"
/>
@@ -281,7 +282,7 @@ export default {
this.$emit('showMap');
},
handleSelectControlPage(device) {
- const controlLampTypeList = ['AtsControl', 'CenterCommunication', 'ChainControl', 'IntersiteControl', 'LeuControl', 'LocalControl', 'Maintain',
+ const controlLampTypeList = ['AtsControl', 'CenterCommunication', 'ChainControl', 'IntersiteControl', 'LeuControl', 'LocalControl', 'Maintain', 'SwitchFault',
'PowerSupply', 'NoOneReturn', 'MaintenanceLamps', 'ZcCommunication', 'FaultStatusGroup', 'ModeStatusGroup', 'LampFilament', 'ReturnModeGroup', 'ControlSwitch', 'Axle'];
const type = device._type;
if (this.stationType) {
@@ -300,7 +301,7 @@ export default {
this.enabledTab = 'Section';
} else if (type == 'AutomaticRoute' || type == 'AutoTurnBack' || type == 'AxleReset' || type == 'LimitControl' || type == 'GuideLock') {
this.enabledTab = 'ControlDraft';
- } else if (controlLampTypeList.includes(type)) {
+ } else if (controlLampTypeList.includes(type) || this.saidLampType) {
this.enabledTab = 'ControlLamp';
} else {
this.enabledTab = type;
@@ -312,6 +313,9 @@ export default {
psdTab(type) {
this.psdType = type;
},
+ saidLampTab(type) {
+ this.saidLampType = type;
+ },
standStationTab(type) {
this.stationStandType = type;
},
diff --git a/src/views/planSchedule/menuBar.vue b/src/views/planSchedule/menuBar.vue
index 483ab0f10..5e3b63b01 100644
--- a/src/views/planSchedule/menuBar.vue
+++ b/src/views/planSchedule/menuBar.vue
@@ -142,7 +142,7 @@ export default {
click: this.handleViewPlanSchedule
},
{
- title: '仿真运行计划',
+ title: '运行图管理',
click: this.handleReloadTodayPlan
}
// {
diff --git a/src/views/planSchedule/menusPlan/createTodayPlan.vue b/src/views/planSchedule/menusPlan/createTodayPlan.vue
index bbe7050e2..28003b402 100644
--- a/src/views/planSchedule/menusPlan/createTodayPlan.vue
+++ b/src/views/planSchedule/menusPlan/createTodayPlan.vue
@@ -23,10 +23,10 @@
- {{ scope.row.$loading? '是': '否' }}
+ {{ scope.row.$loading? '已加载': '未加载' }}