This commit is contained in:
zyy 2020-02-17 17:51:03 +08:00
commit 3976925669
11 changed files with 98 additions and 219 deletions

View File

@ -174,6 +174,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: true, // 自动通过方向
offset: { x: 4, y: 0 }, // 自动通过偏移量
width: 5, // 自动宽度
@ -530,27 +531,20 @@ class SkinCode extends defaultStyle {
destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色
directionType: [
{
type: '01',
lineLShow: true,
lineRShow: true,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{ type: '01', lineLShow: false, lineRShow: false },
{ type: '02', lineLShow: false, lineRShow: true },

View File

@ -174,6 +174,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
width: 5, // 自动宽度
@ -489,27 +490,20 @@ class SkinCode extends defaultStyle {
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
directionType: [
{
type: '01',
lineLShow: true,
lineRShow: true,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{
type: '01',

View File

@ -177,6 +177,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: true, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
width: 5, // 自动宽度
@ -504,27 +505,20 @@ class SkinCode extends defaultStyle {
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
directionType: [
{
type: '01',
lineLShow: true,
lineRShow: true,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{
type: '01',

View File

@ -167,6 +167,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
width: 5, // 自动宽度
@ -507,27 +508,20 @@ class SkinCode extends defaultStyle {
destinationStatusSetText: 'trainServer', // 目的地状态设置的对应哪个text的颜色
directionType: [
{
type: '01',
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: false,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{type: '01', lineLShow: false, lineRShow: false},
{type: '02', lineLShow: false, lineRShow: true},

View File

@ -169,6 +169,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0 }, // 自动通过偏移量
width: 5, // 自动宽度
@ -514,27 +515,20 @@ class SkinCode extends defaultStyle {
destinationStatusSetText: 'trainServer', // 目的地状态设置的对应哪个text的颜色
directionType: [
{
type: '01',
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: false,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{ type: '01', lineLShow: false, lineRShow: false },
{ type: '02', lineLShow: false, lineRShow: true },

View File

@ -174,6 +174,7 @@ class SkinCode extends defaultStyle {
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
width: 5, // 自动宽度
@ -490,27 +491,20 @@ class SkinCode extends defaultStyle {
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
directionType: [
{
type: '01',
lineLShow: true,
lineRShow: true,
arrowLShow: false,
arrowRShow: false
},
{
type: '02',
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: '03',
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{
type: '01',

View File

@ -81,7 +81,10 @@ class Status {
fault: device.fault /** 非故障*/
};
}
handleZcControl(device) {
this.statusObj = {
};
}
getStatus() {
return this.statusObj;
}

View File

@ -11,6 +11,7 @@ import ELimitName from './ELimitName'; // 成都三号线 限速名称
import JTriangle from '../../utils/JTriangle';
import router from '@/router';
import {drawSectionStyle} from '../../config/defaultStyle';
import store from '@/store';
/** 区段*/
export default class Section extends Group {
@ -783,6 +784,11 @@ export default class Section extends Group {
if (model.speedUpLimit > 0) {
this.setSpeedUpperLimit();
}
/** 道岔区段更新岔心颜色 */
if (model.type === '03' && model.switch) {
const sectionSwitch = store.getters['map/getDeviceByCode'](model.switch.code);
sectionSwitch && sectionSwitch.instance && sectionSwitch.instance.setState(sectionSwitch);
}
}
/** 计算提示位置*/

View File

@ -507,9 +507,11 @@ class Signal extends Group {
if (model.atsControl) {
this.sigRoute.hide();
} else {
if (this.style.Signal.auto.signalFrontTriangle){
this.sigRoute.show();
this.sigRoute.setStyle({fill: this.style.Signal.auto.manualControl});
}
}
/** 设置灯的颜色 */
if (model.greenOpen) {
if (this.lamps[0]) {

View File

@ -12,6 +12,7 @@ import ELockRect from './ELockRect';
import EMouse from './EMouse';
import EHighlight from '../element/EHighlight';
import ERhomboid from './ERhomboid';
import store from '@/store';
export default class Switch extends Group {
constructor(model, style) {
@ -263,22 +264,6 @@ export default class Switch extends Group {
}
this.locShelter.hide(); // 定位
this.rhomboid.show();
/** 初始化颜色 */
this.rhomboid.setStyle({
fill: this.style.Section.line.spareColor
});
/** 道岔保护区段锁闭 */
if (model.overlapLock) {
this.rhomboid.setStyle({
fill: this.style.Section.line.protectiveLockColor
});
}
/** 空闲锁闭或者叫进路锁闭 */
if (model.routeLock) {
this.rhomboid.setStyle({
fill: this.style.Section.line.routeLockColor
});
}
this.setSectionState(this.relocShelter.getSection(), 'fill', this.model);
this.setSectionState(this.rhomboid.getSection(), 'fill', this.model);
}
@ -315,13 +300,10 @@ export default class Switch extends Group {
if (this.style.Switch.monolock.rectShow) { // 判断单锁矩形是否显示
this.lockRect.show();
}
switch (this.model.locateType) {
case '01': // 定位
this.setTextColor(this.style.Switch.monolock.locationColor); // 设置道岔名称颜色
break;
case '02': // 反位
this.setTextColor(this.style.Switch.monolock.inversionColor); // 设置道岔名称颜色
break;
if (this.model.normalPosition) {
this.setTextColor(this.style.Switch.monolock.locationColor); // 定位 设置道岔名称颜色
} else if (this.model.reversePosition) {
this.setTextColor(this.style.Switch.monolock.inversionColor); // 反位 设置道岔名称颜色
}
}
@ -344,18 +326,15 @@ export default class Switch extends Group {
/** 设置道岔切除*/
setSwitchCutOff() {
this.setSwitchCoreInvisible(true);
switch (this.model.locateType) {
case '01':
this.releaseBackground.hide();
break;
case '02':
if (this.model.normalPosition) {
this.releaseBackground.hide(); /** 定位*/
} else if (this.model.reversePosition) {
this.relocShelter.getSection().animateStyle(true)
.when(1000, { fill: this.style.backgroundColor })
.start();
this.rhomboid.getSection().animateStyle(true)
.when(1000, { fill: this.style.backgroundColor })
.start();
break;
.start(); /** 反位*/
}
}
@ -372,41 +351,25 @@ export default class Switch extends Group {
setSectionState(section, style, state) {
if (section && !section.animators.length) {
switch (state.sectionAstatus) {
case '00': break;
case '01': /** 空闲*/
const sectionA = store.getters['map/getDeviceByCode'](state.sectionACode);
/** 空闲 */
section.setStyle(style, this.style.Section.line.spareColor);
break;
case '02': /** 通信车占用*/
section.setStyle(style, this.style.Section.line.communicationOccupiedColor);
break;
case '03': /** 非通信车占用*/
section.setStyle(style, this.style.Section.line.unCommunicationOccupiedColor);
break;
case '04': /** 进路锁闭*/
section.setStyle(style, this.style.Section.line.routeLockColor);
break;
case '05': /** 故障锁闭*/
section.setStyle(style, this.style.Section.line.faultLockColor);
break;
case '06': /** 封锁*/
section.setStyle(style, this.style.Section.line.blockColor);
break;
case '07': /** ATC切除*/
section.setStyle(style, this.style.Section.line.atcExcisionColor);
break;
case '08': /** ATS切除*/
section.setStyle(style, this.style.Section.line.atsExcisionColor);
section.animateStyle(true)
.when(1000, { fill: this.style.backgroundColor })
.when(2000, { fill: this.style.Section.line.atsExcisionColor })
.start();
break;
case '09': /** 进路延续保护 */
/** 道岔保护区段锁闭 */
if (sectionA.overlapLock) {
section.setStyle(style, this.style.Section.line.protectiveLockColor);
break;
}
/** 空闲锁闭或者叫进路锁闭 */
if (sectionA.routeLock) {
section.setStyle(style, this.style.Section.line.routeLockColor);
}
/** 非CBTC车占用 */
if (sectionA.nctOccupied) {
section.setStyle(style, this.style.Section.line.unCommunicationOccupiedColor);
}
/** CBTC车占用 */
if (sectionA.ctOccupied) {
section.setStyle(style, this.style.Section.line.communicationOccupiedColor);
}
if (state.cutOff) {
this.sectionCutOff(section);
}
@ -414,25 +377,6 @@ export default class Switch extends Group {
}
setLocateType(model) {
switch (model.locateType) {
case '01':
this.setLocationAction(); /** 定位*/
break;
case '02':
this.setInversionAction(); /** 反位*/
break;
case '03':
this.setLossAction(true); /** 失去*/
break;
case '04':
this.setForkAction(); /** 挤岔*/
break;
default:
this.setLocationAction();
}
}
setState(model) {
if (model.normalPosition) {
this.setLocationAction(model); /** 定位*/
@ -447,25 +391,10 @@ export default class Switch extends Group {
if (model.blockade) {
this.block();
}
// switch (model.status) {
// case '01':
// this.spare(); /** 空闲*/
// break;
// case '10':
// this.setMonolock(); /** 单锁*/
// break;
// case '13':
// this.timeRelease(); /** 延时释放*/
// break;
// case '14':
// this.block(); /** 封锁*/
// break;
// }
// /** 区段切除*/
// if (model.cutOff) {
// this.setSwitchCutOff();
// }
/** 区段切除*/
if (model.cutOff) {
this.setSwitchCutOff();
}
}
getBoundingRect() {

View File

@ -36,12 +36,13 @@
<el-table-column label="选择" width="55" style="margin-left:50px; text-align: right;">
<template slot-scope="scope">
<el-checkbox
v-model="scope.row.check"
:prop="'tempData.' + scope.$index + '.check'"
v-model="changeList[scope.$index]"
style="text-align: center; display: block;"
:disabled="scope.row.disabled"
@change="changeCheck(scope.row.check,scope.row.code)"
@change="changeCheck(changeList[scope.$index],scope.row.code)"
/>
<!-- -->
<!-- :prop="'tempData.' + scope.$index + '.check'" -->
</template>
</el-table-column>
<el-table-column :id="domIdChoose" prop="name" label="进路" style="margin-left:30px">
@ -100,7 +101,9 @@ export default {
selection: [],
stationName: '',
signalName: '',
allSelect: false
allSelect: false,
changeList:[],
commitDisabled: true
};
},
computed: {
@ -136,22 +139,8 @@ export default {
return '';
}
},
commitDisabled() {
let disabled = true;
if (this.selection && this.selection.length) {
disabled = false;
}
return disabled;
}
},
watch: {
//
// tempData: {
// handler(val, oldVal) {
// this.checkTableDataSelction(val);
// },
// deep: true
// }
},
mounted() {
this.$nextTick(() => {
@ -162,6 +151,7 @@ export default {
doShow(operate, selected, tempData) {
this.selected = selected;
this.allSelect = false;
this.changeList = [];
//
if (!this.dialogShow) {
this.signalName = '';
@ -215,47 +205,32 @@ export default {
} else {
this.allSelect = false;
}
},
// checkTableDataSelction(data) {
// const selection = [];
// if (data && data.length > 0) {
// data.forEach(row => {
// if (row.check && !row.disabled) {
// selection.push(row);
// }
// });
// }
// if (JSON.stringify(selection) !== JSON.stringify(this.selection)) {
// this.handleChooseChange(selection);
// this.selection = selection;
// }
// let num = 0;
// this.allSelect = false;
// this.tempData.forEach(item => {
// if (item.check) {
// num++;
// if (num == this.tempData.length) {
// this.allSelect = true;
// }
// }
// });
// },
allSelectChange() {
if (this.allSelect) {
this.tempData.forEach(item => {
if (!item.disabled) {
item.check = true;
this.changeCheck(true,item.code);
}
});
if (this.selection.length > 0) {
this.commitDisabled = false;
} else {
this.tempData.forEach(item => {
this.commitDisabled = true;
}
},
allSelectChange() {
this.changeList = [];
if (this.allSelect) {
this.tempData.forEach((item, index)=> {
if (!item.disabled) {
item.check = false;
this.changeCheck(false,item.code);
this.changeList.push(true);
this.selection.push(item.code);
}
});
this.allSelect = true;
this.commitDisabled = false;
} else {
this.tempData.forEach((item, index) => {
if (!item.disabled) {
this.changeList.push(false);
this.selection.splice(this.selection.indexOf(item.code), 1);
}
});
this.allSelect = false;
this.commitDisabled = true;
}
},
serializeCodeListWithSeparator(sep) {