Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
e4a13de455
@ -144,7 +144,7 @@
|
|||||||
:disabled="isTableBtnDisabled(button, scope.$index, scope.row)"
|
:disabled="isTableBtnDisabled(button, scope.$index, scope.row)"
|
||||||
:loading="scope.row['loading'+idx]"
|
:loading="scope.row['loading'+idx]"
|
||||||
>
|
>
|
||||||
<input :id="button.id" type="file" class="file_box" accept=".json, application/json" @change="button.handleClick(scope.$index, scope.row, idx)">
|
<input :class="button.class" type="file" class="file_box" accept=".json, application/json" @change="button.handleClick(scope.$index, scope.row, idx)">
|
||||||
{{ getTableBtnName(button.name, scope.$index, scope.row) }}
|
{{ getTableBtnName(button.name, scope.$index, scope.row) }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -436,6 +436,27 @@ class SkinCode extends defaultStyle {
|
|||||||
grayColor: '#7F7F7F'
|
grayColor: '#7F7F7F'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this[deviceType.StationTurnBack] = { // 站后折返
|
||||||
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
|
spliceShow: true, // 西安二号线特殊显示
|
||||||
|
lamp: {
|
||||||
|
fill: '#FFFF00', // 填充色
|
||||||
|
radiusR: 6 // 控制灯大小
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
titleTextShow: false,
|
||||||
|
fontWeight: 580,
|
||||||
|
fontSize: 12,
|
||||||
|
distance: 10
|
||||||
|
},
|
||||||
|
rect: {
|
||||||
|
fill: 'rgba(0,0,0,0)',
|
||||||
|
stroke: '#fff',
|
||||||
|
lineWidth: 2,
|
||||||
|
padding: 6
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this[deviceType.Switch] = {
|
this[deviceType.Switch] = {
|
||||||
@ -625,13 +646,14 @@ class SkinCode extends defaultStyle {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
this[deviceType.ReturnModeGroup] = {
|
this[deviceType.ReturnModeGroup] = {
|
||||||
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
insideDistance: 2, // 折返模块边框内部距离
|
insideDistance: 2, // 折返模块边框内部距离
|
||||||
outsideDistance: 10, // 折返模块边框之间距离
|
outsideDistance: 10, // 折返模块边框之间距离
|
||||||
rectWidth: 20, // 折返模块宽度
|
rectWidth: 20, // 折返模块宽度
|
||||||
lineWidth: 3, // 折返模块线宽
|
lineWidth: 3, // 折返模块线宽
|
||||||
fillColor: 'rgba(0,0,0,0)', // 填充色
|
fillColor: 'rgba(0,0,0,0)', // 填充色
|
||||||
strokeColor: '#9F9C9C' // 线颜色
|
strokeColor: '#9F9C9C', // 线颜色
|
||||||
|
highlightColor: '#fff' // 高亮颜色
|
||||||
};
|
};
|
||||||
this[deviceType.ModeStatusGroup] = { // 车站状态模式
|
this[deviceType.ModeStatusGroup] = { // 车站状态模式
|
||||||
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
|
141
src/jmapNew/shape/StationTurnBack/EFoldbackMode.js
Normal file
141
src/jmapNew/shape/StationTurnBack/EFoldbackMode.js
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
import Group from 'zrender/src/container/Group';
|
||||||
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
import Line from 'zrender/src/graphic/shape/Line';
|
||||||
|
|
||||||
|
export default class EFoldbackMode extends Group {
|
||||||
|
constructor(model) {
|
||||||
|
super();
|
||||||
|
this.model = model;
|
||||||
|
this.zlevel = model.zlevel;
|
||||||
|
this._subType = model._subType;
|
||||||
|
this.z = model.z;
|
||||||
|
this.onmouseover = model.mouseover;
|
||||||
|
this.onmouseout = model.mouseout;
|
||||||
|
this.create(model);
|
||||||
|
}
|
||||||
|
create(model) {
|
||||||
|
const style = model.style;
|
||||||
|
this.lateralLinePriorityRect = new Rect({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
shape: {
|
||||||
|
x: model.x,
|
||||||
|
y: model.y,
|
||||||
|
width: model.width,
|
||||||
|
height:model.width
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor,
|
||||||
|
fill: style.ReturnModeGroup.fillColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.lateralLinePriority1 = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x1: model.x + model.style.ReturnModeGroup.insideDistance,
|
||||||
|
y1: model.y + model.style.ReturnModeGroup.insideDistance,
|
||||||
|
x2: model.x + model.width - style.ReturnModeGroup.insideDistance,
|
||||||
|
y2: model.y + model.width - style.ReturnModeGroup.insideDistance
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: model.style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: model.style.ReturnModeGroup.strokeColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.lateralLinePriority2 = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x1: model.x + model.width - style.ReturnModeGroup.insideDistance,
|
||||||
|
y1: model.y + style.ReturnModeGroup.insideDistance,
|
||||||
|
x2: model.x + style.ReturnModeGroup.insideDistance,
|
||||||
|
y2: model.y + model.width - style.ReturnModeGroup.insideDistance
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.lateralLinePriorityRect);
|
||||||
|
this.add(this.lateralLinePriority1);
|
||||||
|
this.add(this.lateralLinePriority2);
|
||||||
|
this.linearFoldbackRect = new Rect({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
shape: {
|
||||||
|
x: model.x + model.width + style.ReturnModeGroup.outsideDistance,
|
||||||
|
y: model.y,
|
||||||
|
width: model.width,
|
||||||
|
height:model.width
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor,
|
||||||
|
fill: style.ReturnModeGroup.fillColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.linearFoldback = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x1: model.x + model.width + style.ReturnModeGroup.outsideDistance + style.ReturnModeGroup.insideDistance,
|
||||||
|
y1: model.y + model.width / 2,
|
||||||
|
x2: model.x + model.width * 2 + style.ReturnModeGroup.outsideDistance - style.ReturnModeGroup.insideDistance,
|
||||||
|
y2: model.y + model.width / 2
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.linearFoldbackRect);
|
||||||
|
this.add(this.linearFoldback);
|
||||||
|
this.lateralLineRect = new Rect({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
shape: {
|
||||||
|
x: model.x + model.width * 2 + style.ReturnModeGroup.outsideDistance * 2,
|
||||||
|
y: model.y,
|
||||||
|
width: model.width,
|
||||||
|
height:model.width
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor,
|
||||||
|
fill: style.ReturnModeGroup.fillColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.lateralLine = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x1: model.x + model.width * 2 + style.ReturnModeGroup.outsideDistance * 2 + style.ReturnModeGroup.insideDistance,
|
||||||
|
y1: model.y + model.width - style.ReturnModeGroup.insideDistance,
|
||||||
|
x2: model.x + model.width * 3 + style.ReturnModeGroup.outsideDistance * 2 - style.ReturnModeGroup.insideDistance,
|
||||||
|
y2: model.y + style.ReturnModeGroup.insideDistance
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.ReturnModeGroup.lineWidth,
|
||||||
|
stroke: style.ReturnModeGroup.strokeColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.lateralLineRect);
|
||||||
|
this.add(this.lateralLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
highlightType1(color) {
|
||||||
|
this.lateralLinePriorityRect && this.lateralLinePriorityRect.setStyle('stroke', color);
|
||||||
|
this.lateralLinePriority1 && this.lateralLinePriority1.setStyle('stroke', color);
|
||||||
|
this.lateralLinePriority2 && this.lateralLinePriority2.setStyle('stroke', color);
|
||||||
|
}
|
||||||
|
highlightType2(color) {
|
||||||
|
this.linearFoldbackRect && this.linearFoldbackRect.setStyle('stroke', color);
|
||||||
|
this.linearFoldback && this.linearFoldback.setStyle('stroke', color);
|
||||||
|
}
|
||||||
|
highlightType3(color) {
|
||||||
|
this.lateralLineRect && this.lateralLineRect.setStyle('stroke', color);
|
||||||
|
this.lateralLine && this.lateralLine.setStyle('stroke', color);
|
||||||
|
}
|
||||||
|
}
|
@ -2,6 +2,7 @@ import Group from 'zrender/src/container/Group';
|
|||||||
import Circle from 'zrender/src/graphic/shape/Circle';
|
import Circle from 'zrender/src/graphic/shape/Circle';
|
||||||
import Text from 'zrender/src/graphic/Text';
|
import Text from 'zrender/src/graphic/Text';
|
||||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
import EFoldbackMode from './EFoldbackMode';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
export default class StationTurnBack extends Group {
|
export default class StationTurnBack extends Group {
|
||||||
@ -20,9 +21,9 @@ export default class StationTurnBack extends Group {
|
|||||||
}
|
}
|
||||||
create() {
|
create() {
|
||||||
const model = this.model;
|
const model = this.model;
|
||||||
const style = this.style;
|
const style = this.style;
|
||||||
|
|
||||||
if (model.show) {
|
if (model.show && !style.StationTurnBack.spliceShow) {
|
||||||
this.control = new Circle({
|
this.control = new Circle({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z,
|
z: this.z,
|
||||||
@ -94,23 +95,49 @@ export default class StationTurnBack extends Group {
|
|||||||
this.add(this.controlRect);
|
this.add(this.controlRect);
|
||||||
this.add(this.text);
|
this.add(this.text);
|
||||||
this.add(this.strategyText);
|
this.add(this.strategyText);
|
||||||
}
|
}
|
||||||
|
if (style.StationTurnBack.spliceShow) {
|
||||||
|
this.control = new EFoldbackMode({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
x: model.position.x,
|
||||||
|
y: model.position.y,
|
||||||
|
width: style.ReturnModeGroup.rectWidth,
|
||||||
|
style: style
|
||||||
|
});
|
||||||
|
this.add(this.control);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
recover() {
|
recover() {
|
||||||
const path = window.location.href;
|
const path = window.location.href;
|
||||||
if (!path.includes('/map/draw')) {
|
if (!path.includes('/map/draw')) {
|
||||||
this.strategyText.hide();
|
this.strategyText && this.strategyText.hide();
|
||||||
}
|
}
|
||||||
|
this.control && this.control.highlightType1(this.style.ReturnModeGroup.highlightColor);
|
||||||
|
|
||||||
|
// this.control && this.control.highlightType1(this.style.ReturnModeGroup.strokeColor);
|
||||||
|
this.control && this.control.highlightType2(this.style.ReturnModeGroup.strokeColor);
|
||||||
|
this.control && this.control.highlightType3(this.style.ReturnModeGroup.strokeColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleStatus(name) {
|
handleStatus(name) {
|
||||||
this.strategyText.show();
|
this.strategyText && this.strategyText.show();
|
||||||
this.strategyText.attr({
|
this.strategyText && this.strategyText.attr({
|
||||||
style: {
|
style: {
|
||||||
text: name
|
text: name
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.control && this.control.highlightType1(this.style.ReturnModeGroup.strokeColor);
|
||||||
|
this.control && this.control.highlightType2(this.style.ReturnModeGroup.strokeColor);
|
||||||
|
this.control && this.control.highlightType3(this.style.ReturnModeGroup.strokeColor);
|
||||||
|
if (name == '优先折返') {
|
||||||
|
this.control && this.control.highlightType1(this.style.ReturnModeGroup.highlightColor);
|
||||||
|
} else if (name == '直线折返') {
|
||||||
|
this.control && this.control.highlightType2(this.style.ReturnModeGroup.highlightColor);
|
||||||
|
} else if (name == '侧线折返') {
|
||||||
|
this.control && this.control.highlightType3(this.style.ReturnModeGroup.highlightColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置状态
|
// 设置状态
|
||||||
@ -125,7 +152,6 @@ export default class StationTurnBack extends Group {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// console.log(model, '站后折返model');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setShowMode() {
|
setShowMode() {
|
||||||
@ -142,8 +168,6 @@ export default class StationTurnBack extends Group {
|
|||||||
this.eachChild(item => {
|
this.eachChild(item => {
|
||||||
item.show();
|
item.show();
|
||||||
});
|
});
|
||||||
// this.isShowShape = true;
|
|
||||||
// this.setState(this.model);
|
|
||||||
} else {
|
} else {
|
||||||
this.eachChild(item => {
|
this.eachChild(item => {
|
||||||
item.hide();
|
item.hide();
|
||||||
|
@ -97,6 +97,7 @@
|
|||||||
<help-about ref="helpAbout" />
|
<help-about ref="helpAbout" />
|
||||||
<arrange-route ref="arrangeRoute" />
|
<arrange-route ref="arrangeRoute" />
|
||||||
<train-distribution ref="trainDistribution" />
|
<train-distribution ref="trainDistribution" />
|
||||||
|
<stand-control ref="standControl" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -116,6 +117,7 @@ import { EventBus } from '@/scripts/event-bus';
|
|||||||
import { State2SimulationMap } from '@/scripts/cmdPlugin/Config';
|
import { State2SimulationMap } from '@/scripts/cmdPlugin/Config';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import TrainDistribution from './menuDialog/trainDistribution';
|
import TrainDistribution from './menuDialog/trainDistribution';
|
||||||
|
import StandControl from './menuDialog/standControl';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuBar',
|
name: 'MenuBar',
|
||||||
@ -130,7 +132,8 @@ export default {
|
|||||||
ManageUser,
|
ManageUser,
|
||||||
HelpAbout,
|
HelpAbout,
|
||||||
ArrangeRoute,
|
ArrangeRoute,
|
||||||
TrainDistribution
|
TrainDistribution,
|
||||||
|
StandControl
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -271,7 +274,7 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: '开放/关闭',
|
title: '开放/关闭',
|
||||||
click: this.undeveloped
|
click: this.standOpenOrClose
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '设置/取消扣车',
|
title: '设置/取消扣车',
|
||||||
@ -685,7 +688,7 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: '开放/关闭',
|
title: '开放/关闭',
|
||||||
click: this.undeveloped
|
click: this.standOpenOrClose
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '设置/取消扣车',
|
title: '设置/取消扣车',
|
||||||
@ -1315,12 +1318,16 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleArrangeRoute() {
|
handleArrangeRoute() {
|
||||||
|
this.closeMenu(true);
|
||||||
this.$refs.arrangeRoute.doShow();
|
this.$refs.arrangeRoute.doShow();
|
||||||
this.doClose();
|
|
||||||
},
|
},
|
||||||
handleTrainDistribution() {
|
handleTrainDistribution() {
|
||||||
|
this.closeMenu(true);
|
||||||
this.$refs.trainDistribution.doShow();
|
this.$refs.trainDistribution.doShow();
|
||||||
this.doClose();
|
},
|
||||||
|
standOpenOrClose() {
|
||||||
|
this.closeMenu(true);
|
||||||
|
this.$refs.standControl.doShow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
206
src/jmapNew/theme/ningbo_03/menus/menuDialog/standControl.vue
Normal file
206
src/jmapNew/theme/ningbo_03/menus/menuDialog/standControl.vue
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-table :data="stationStandList" height="350px">
|
||||||
|
<el-table-column prop="name" label="站台" />
|
||||||
|
<el-table-column prop="groupNumber" label="状态">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div slot="reference" class="name-wrapper">
|
||||||
|
<span>打开</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="7" :offset="1">
|
||||||
|
<div class="set-status-box">
|
||||||
|
<div class="set-status-title">设置状态</div>
|
||||||
|
<el-radio v-model="status" :disabled="standStatus" :label="true">打开</el-radio>
|
||||||
|
<br>
|
||||||
|
<el-radio v-model="status" :disabled="!standStatus" :label="false">关闭</el-radio>
|
||||||
|
</div>
|
||||||
|
<el-checkbox v-model="allChecked" style="position: relative; top: 220px;">所有站台(F)</el-checkbox>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row justify="center" class="button-group">
|
||||||
|
<el-col :span="4" :offset="1">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button>应用(A)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button>帮助(H)</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'StandControl',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tempData: [],
|
||||||
|
tableData: [],
|
||||||
|
activeName: 'first',
|
||||||
|
status: false,
|
||||||
|
standStatus: true,
|
||||||
|
allChecked: false,
|
||||||
|
beforeSectionList: [],
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
selected: null,
|
||||||
|
row: null,
|
||||||
|
operation: '',
|
||||||
|
display: true,
|
||||||
|
stationName: '',
|
||||||
|
signalName: '',
|
||||||
|
selectStandCode: '',
|
||||||
|
displayCopyPath: false,
|
||||||
|
tableStyle: {
|
||||||
|
'border-bottom': 'none'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'stationStandList'
|
||||||
|
]),
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
|
},
|
||||||
|
domIdCancel() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
|
},
|
||||||
|
domIdChoose() {
|
||||||
|
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
|
||||||
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
return '站台开放/关闭';
|
||||||
|
},
|
||||||
|
commitDisabled() {
|
||||||
|
let disabled = true;
|
||||||
|
if (this.row) {
|
||||||
|
disabled = !this.row.canSetting;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.map.keyboardEnterCount': function (val) {
|
||||||
|
if (this.show && !this.commitDisabled) {
|
||||||
|
this.commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
expandPath() {
|
||||||
|
console.log('展开进路预览');
|
||||||
|
},
|
||||||
|
doShow(operate, selected, tempData) {
|
||||||
|
this.selected = selected;
|
||||||
|
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.loading = false;
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.restoreBeforeDevices();
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
// mouseCancelState(this.selected);
|
||||||
|
},
|
||||||
|
restoreBeforeDevices() {
|
||||||
|
// 恢复之前选中设备
|
||||||
|
if (this.beforeSectionList && this.beforeSectionList.length) {
|
||||||
|
this.beforeSectionList.forEach(elem => {
|
||||||
|
elem.cutOff = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
|
||||||
|
this.beforeSectionList = [];
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
if (this.row && this.row.canSetting) {
|
||||||
|
this.loading = true;
|
||||||
|
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
|
||||||
|
this.loading = false;
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.doClose();
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClick() {
|
||||||
|
|
||||||
|
},
|
||||||
|
selectStand(stationStand) {
|
||||||
|
this.selectStandCode = stationStand.code;
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.doClose();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
.menu-li {
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
text-align: left;
|
||||||
|
list-style:none;
|
||||||
|
padding-left: 5px;
|
||||||
|
border-right: 2px solid #696969;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.set-status-box {
|
||||||
|
position: relative;
|
||||||
|
top: 200px;
|
||||||
|
border: 1px solid #AFAFAF;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
.set-status-title{
|
||||||
|
position: relative;
|
||||||
|
top: -15px;
|
||||||
|
background: #F0F0F0;
|
||||||
|
width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
@ -14,8 +14,8 @@
|
|||||||
<el-col :span="13" :offset="1">
|
<el-col :span="13" :offset="1">
|
||||||
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
|
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
|
||||||
<el-tab-pane label="运行线" name="first">
|
<el-tab-pane label="运行线" name="first">
|
||||||
<div style="width: 100%;border: 2px solid #696969; border-bottom: 0;color: #000;padding-left: 5px;">站台</div>
|
<div class="menu-box-title">站台</div>
|
||||||
<div style="width: 100%;height: 350px;overflow: scroll; border: 2px solid #696969;">
|
<div class="menu-box">
|
||||||
<template v-for="(stationStand, index) in stationStandList">
|
<template v-for="(stationStand, index) in stationStandList">
|
||||||
<li :key="index" class="menu-li" :style="{background: selectStandCode === stationStand.code? '#BFCDDB': '#FFF'}" @click="selectStand(stationStand)">{{ stationStand.name }}</li>
|
<li :key="index" class="menu-li" :style="{background: selectStandCode === stationStand.code? '#BFCDDB': '#FFF'}" @click="selectStand(stationStand)">{{ stationStand.name }}</li>
|
||||||
</template>
|
</template>
|
||||||
@ -52,14 +52,14 @@ import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus'
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RouteSelection',
|
name: 'TrainDistribution',
|
||||||
components: {
|
components: {
|
||||||
NoticeInfo
|
NoticeInfo
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tempData: [],
|
tempData: [],
|
||||||
tableData: [{}],
|
tableData: [],
|
||||||
activeName: 'first',
|
activeName: 'first',
|
||||||
beforeSectionList: [],
|
beforeSectionList: [],
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
@ -191,4 +191,17 @@ export default {
|
|||||||
border-right: 2px solid #696969;
|
border-right: 2px solid #696969;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
.menu-box-title {
|
||||||
|
width: 100%;
|
||||||
|
border: 2px solid #696969;
|
||||||
|
border-bottom: 0;
|
||||||
|
color: #000;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
.menu-box {
|
||||||
|
width: 100%;
|
||||||
|
height: 350px;
|
||||||
|
overflow: scroll;
|
||||||
|
border: 2px solid #696969;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -11,35 +11,42 @@
|
|||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">车体号:</el-col>
|
<el-col :span="3" :offset="9">车体号:</el-col>
|
||||||
<el-col :span="12">追踪号:</el-col>
|
<el-col :span="10" :offset="2">追踪号:</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="3" :offset="9">
|
||||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 80px;" @change="inputGroupNumber" />
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="2">
|
||||||
|
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 80px;" @change="inputGroupNumber" />
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row style="border-top: 1px solid #3C6C68; border-bottom: 1px solid #3C6C68">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12" style="text-align: right;padding-right: 20px;">实际的DID</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12" style="text-align: right;padding-right: 20px;">被请求的DID</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12" style="text-align: right;padding-right: 20px;">DID浏览选项</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row class="option_box">
|
||||||
<el-col :span="12">实际的DID</el-col>
|
<div v-for="(item, index) in optionList" :key="index">{{ item.name }}</div>
|
||||||
<el-col :span="12">
|
</el-row>
|
||||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" @change="inputGroupNumber" />
|
<el-row class="option_result_box">
|
||||||
</el-col>
|
</el-row>
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">被请求的DID</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" @change="inputGroupNumber" />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">DID浏览选项</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" @change="inputGroupNumber" />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row justify="center" class="button-group">
|
<el-row justify="center" class="button-group">
|
||||||
<el-col :span="10">
|
<el-col :span="10">
|
||||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||||
@ -65,7 +72,15 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
trainNoList: [],
|
trainNoList: [],
|
||||||
selected: null,
|
selected: null,
|
||||||
|
optionList: [
|
||||||
|
{ name: '0001 北客站一韦曲南站 往返运营', id: 1 },
|
||||||
|
{ name: '0002 北客站一韦曲南站 北客站站前折返 往返运营', id: 2 },
|
||||||
|
{ name: '0003 北客站一韦曲南站 韦曲南站站前折返 往返运营', id: 3 },
|
||||||
|
{ name: '0004 北客站一韦曲南站 北客站和韦曲南站均站前折返 往返运营', id: 4 },
|
||||||
|
{ name: '0005 北客站一会展中心 往返运营', id: 5 },
|
||||||
|
{ name: '0006 北客站一会展中心 北客站站前折返 往返运营', id: 6 }
|
||||||
|
],
|
||||||
addModel: {
|
addModel: {
|
||||||
stationName: '',
|
stationName: '',
|
||||||
trainWindowCode: '',
|
trainWindowCode: '',
|
||||||
@ -174,9 +189,14 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
/deep/ .el-row {
|
/deep/ {
|
||||||
margin: 10px
|
.el-dialog .el-dialog__body{
|
||||||
}
|
padding: 0!important;
|
||||||
|
}
|
||||||
|
.el-row {
|
||||||
|
margin: 10px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.xian-02__system .el-dialog .base-label {
|
.xian-02__system .el-dialog .base-label {
|
||||||
background: rgba(0, 0, 0, 0.3);
|
background: rgba(0, 0, 0, 0.3);
|
||||||
@ -186,4 +206,19 @@ export default {
|
|||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
background-color: #F0F0F0;
|
background-color: #F0F0F0;
|
||||||
}
|
}
|
||||||
|
.option_box{
|
||||||
|
box-shadow: 1px 1px 3px #3a3a3a inset;
|
||||||
|
padding: 4px;
|
||||||
|
color: #191919;
|
||||||
|
height: 155px;
|
||||||
|
overflow: auto;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.option_result_box{
|
||||||
|
box-shadow: 1px 1px 3px #3a3a3a inset;
|
||||||
|
padding: 4px;
|
||||||
|
color: #191919;
|
||||||
|
height: 90px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -286,11 +286,11 @@ export default {
|
|||||||
// 排列进路
|
// 排列进路
|
||||||
arrangementRoute() {
|
arrangementRoute() {
|
||||||
let step = '';
|
let step = '';
|
||||||
let routeCode = '';
|
let routeCode = '';
|
||||||
if (this.selected.isTerminalSignal) {
|
if (this.selected.isTerminalSignal) {
|
||||||
const endSignalRouteList = this.$store.state.menuOperation.endSignalRouteList;
|
const endSignalRouteList = this.$store.state.menuOperation.endSignalRouteList;
|
||||||
endSignalRouteList.forEach(item => {
|
endSignalRouteList.forEach(item => {
|
||||||
if (item.endSignalCode === this.selected.code) {
|
if (item.endButtonSignalCode === this.selected.code) {
|
||||||
routeCode = item.routeCode;
|
routeCode = item.routeCode;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -313,14 +313,14 @@ export default {
|
|||||||
this.resetRouteSignal();
|
this.resetRouteSignal();
|
||||||
const updateDeviceList = [];
|
const updateDeviceList = [];
|
||||||
updateDeviceList.push({code: this.selected.code, _type: 'Signal', isStartSignal: 1});
|
updateDeviceList.push({code: this.selected.code, _type: 'Signal', isStartSignal: 1});
|
||||||
const endSignalRouteList = [];
|
const endSignalRouteList = [];
|
||||||
this.routeList.forEach(item => {
|
this.routeList.forEach(item => {
|
||||||
if (item.startSignalCode === this.selected.code) {
|
if (item.startSignalCode === this.selected.code) {
|
||||||
endSignalRouteList.push({endSignalCode: item.endSignalCode, routeCode: item.code});
|
endSignalRouteList.push({endButtonSignalCode: item.endButtonSignalCode, routeCode: item.code});
|
||||||
updateDeviceList.push({code: item.endSignalCode, _type: 'Signal', isTerminalSignal: 1});
|
updateDeviceList.push({code: item.endButtonSignalCode, _type: 'Signal', isTerminalSignal: 1});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.$store.dispatch('menuOperation/setRouteSelectStartSignal', {startSignalCode: this.selected.code, endSignalRouteList: endSignalRouteList});
|
this.$store.dispatch('menuOperation/setRouteSelectStartSignal', {startSignalCode: this.selected.code, endSignalRouteList: endSignalRouteList});
|
||||||
this.$store.dispatch('training/updateMapState', updateDeviceList);
|
this.$store.dispatch('training/updateMapState', updateDeviceList);
|
||||||
}
|
}
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
@ -525,9 +525,9 @@ export default {
|
|||||||
updateDeviceList.push({code: startSignalCode, _type: 'Signal', isStartSignal: 0});
|
updateDeviceList.push({code: startSignalCode, _type: 'Signal', isStartSignal: 0});
|
||||||
}
|
}
|
||||||
endSignalRouteList.forEach(item => {
|
endSignalRouteList.forEach(item => {
|
||||||
updateDeviceList.push({code: item.endSignalCode, _type: 'Signal', isTerminalSignal: 0});
|
updateDeviceList.push({code: item.endButtonSignalCode, _type: 'Signal', isTerminalSignal: 0});
|
||||||
});
|
});
|
||||||
this.$store.dispatch('menuOperation/setRouteSelectStartSignal', { startSignalCode: '', endSignalRouteList: [] });
|
this.$store.dispatch('menuOperation/setRouteSelectStartSignal', { startSignalCode: '', endSignalRouteList: [] });
|
||||||
this.$store.dispatch('training/updateMapState', updateDeviceList);
|
this.$store.dispatch('training/updateMapState', updateDeviceList);
|
||||||
},
|
},
|
||||||
enabledConfirm() {
|
enabledConfirm() {
|
||||||
|
@ -71,8 +71,8 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
label: '目的地ID',
|
label: '目的地ID',
|
||||||
// handler: this.updateDestination,
|
handler: this.updateDestination,
|
||||||
handler: this.undeveloped,
|
// handler: this.undeveloped,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -787,7 +787,7 @@ const map = {
|
|||||||
state.map.automaticRouteButtonList && state.map.automaticRouteButtonList.forEach(item => {
|
state.map.automaticRouteButtonList && state.map.automaticRouteButtonList.forEach(item => {
|
||||||
state.routeData[item.automaticRouteCode].automaticRouteCode = item.code;
|
state.routeData[item.automaticRouteCode].automaticRouteCode = item.code;
|
||||||
});
|
});
|
||||||
state.routeList = routeDataList;
|
state.routeList = routeDataList;
|
||||||
},
|
},
|
||||||
setOverlapData: (state, overlapList) => {
|
setOverlapData: (state, overlapList) => {
|
||||||
state.overlapData = {};
|
state.overlapData = {};
|
||||||
|
@ -66,7 +66,7 @@ export function covertData(resp, resolve) {
|
|||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const routeData = resp.data.logicDataNew.routeList; // 设置进路数据
|
const routeData = resp.data.logicDataNew.routeList; // 设置进路数据
|
||||||
const overlapData = resp.data.logicDataNew.overlapList;
|
const overlapData = resp.data.logicDataNew.overlapList;
|
||||||
const autoReentryData = resp.data.logicDataNew.autoReentryList; // 自动折返数据
|
const autoReentryData = resp.data.logicDataNew.autoReentryList; // 自动折返数据
|
||||||
const signalApproachSectionData = resp.data.logicDataNew.signalApproachSectionList; // 信号机接近区段数据
|
const signalApproachSectionData = resp.data.logicDataNew.signalApproachSectionList; // 信号机接近区段数据
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
:device-code="deviceCode"
|
:device-code="deviceCode"
|
||||||
:countdown-time="countdownTime"
|
:countdown-time="countdownTime"
|
||||||
@passflow="passflow"
|
@passflow="passflow"
|
||||||
@faultdevice = "faultdevice"
|
@faultdevice="faultdevice"
|
||||||
@getUserRole="getUserRole"
|
@getUserRole="getUserRole"
|
||||||
@hidepanel="hidepanel"
|
@hidepanel="hidepanel"
|
||||||
@devicemodel="devicemodel"
|
@devicemodel="devicemodel"
|
||||||
@ -487,16 +487,16 @@ export default {
|
|||||||
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
||||||
},
|
},
|
||||||
faultdevice() {
|
faultdevice() {
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/jlmap3d/maintainer',
|
path:'/jlmap3d/maintainer',
|
||||||
query:{
|
query:{
|
||||||
mapid:this.mapId,
|
mapid:this.mapId,
|
||||||
group:this.group,
|
group:this.group,
|
||||||
project: this.project,
|
project: this.project,
|
||||||
noPreLogout: true
|
noPreLogout: true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
||||||
},
|
},
|
||||||
showdriving() {
|
showdriving() {
|
||||||
this.panelShow = true;
|
this.panelShow = true;
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
<!-- 地图错误判断 -->
|
<!-- 地图错误判断 -->
|
||||||
<div v-if="!dataError&&hasOneButton" class="display_top_draft" :style="{top: offset+'px'}">
|
<div v-if="!dataError&&hasOneButton" class="display_top_draft" :style="{top: offset+'px'}">
|
||||||
<div class="btn_hover" @click="menuClick">菜单</div>
|
<div class="btn_hover" @click="menuClick">菜单</div>
|
||||||
<!-- transform: translateX(-${btnWidth}px) -->
|
|
||||||
<el-button-group ref="button_group_box" class="button_group_box" :style="`margin-left:-${btnWidth}px`">
|
<el-button-group ref="button_group_box" class="button_group_box" :style="`margin-left:-${btnWidth}px`">
|
||||||
<!-- 设备视图 -->
|
<!-- 设备视图 -->
|
||||||
<el-button v-if="isShow3dmodel && isShowScheduling" size="small" @click="jumpjlmap3dmodel">{{ $t('display.demon.deviceView') }}</el-button>
|
<el-button v-if="isShow3dmodel && isShowScheduling" size="small" @click="jumpjlmap3dmodel">{{ $t('display.demon.deviceView') }}</el-button>
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
<el-button v-if="faultMode && !dataError" size="small" type="danger" @click="setFault">{{ $t('joinTraining.faultSetting') }}</el-button>
|
<el-button v-if="faultMode && !dataError" size="small" type="danger" @click="setFault">{{ $t('joinTraining.faultSetting') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
<!-- <el-button v-if="isAdmin && !dataError && !isScreen" size="small" :type="faultMode ? 'danger' : ''" @click="changeOperateMode()">故障模式</el-button> -->
|
|
||||||
<el-button v-if="isAdmin && !dataError && !isScreen" size="small" :type="faultMode ? '' : 'primary' " @click="changeOperateMode()">{{ faultMode?' 切换到普通模式':'切换到故障模式' }}</el-button>
|
<el-button v-if="isAdmin && !dataError && !isScreen" size="small" :type="faultMode ? '' : 'primary' " @click="changeOperateMode()">{{ faultMode?' 切换到普通模式':'切换到故障模式' }}</el-button>
|
||||||
<!-- isCenter && !dataError && !isAdmin 此判断用于以后(目前 暂时不用) -->
|
<!-- isCenter && !dataError && !isAdmin 此判断用于以后(目前 暂时不用) -->
|
||||||
<el-button v-if="isShowDirective" size="small" :type="directiveMode ? 'primary' : ''" @click="changeDirectiveMode()">{{ directiveMode? '切换到普通模式':'切换到指令模式' }}</el-button>
|
<el-button v-if="isShowDirective" size="small" :type="directiveMode ? 'primary' : ''" @click="changeDirectiveMode()">{{ directiveMode? '切换到普通模式':'切换到指令模式' }}</el-button>
|
||||||
|
@ -85,7 +85,8 @@ export default {
|
|||||||
overlapOnlyOneSwitch: false,
|
overlapOnlyOneSwitch: false,
|
||||||
generateCycle: false,
|
generateCycle: false,
|
||||||
routeButton: false,
|
routeButton: false,
|
||||||
likeHa1: false,
|
likeHa1: false,
|
||||||
|
getNearlySignal: false,
|
||||||
overlapSettingByTrigger: false,
|
overlapSettingByTrigger: false,
|
||||||
overlapReleaseTime: 45,
|
overlapReleaseTime: 45,
|
||||||
routeReleaseTime: 60
|
routeReleaseTime: 60
|
||||||
@ -94,7 +95,7 @@ export default {
|
|||||||
focus: false,
|
focus: false,
|
||||||
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'signalApproachOnlyOne', 'signalApproachOnlyNpSwitch',
|
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'signalApproachOnlyOne', 'signalApproachOnlyNpSwitch',
|
||||||
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
|
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
|
||||||
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'overlapOnlyOneSwitch', 'generateCycle', 'routeButton', 'likeHa1', 'overlapSettingByTrigger', 'generateFls'],
|
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'overlapOnlyOneSwitch', 'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls'],
|
||||||
selectList: [],
|
selectList: [],
|
||||||
numberList: ['overlapReleaseTime', 'routeReleaseTime'],
|
numberList: ['overlapReleaseTime', 'routeReleaseTime'],
|
||||||
optionsMap: {
|
optionsMap: {
|
||||||
@ -119,7 +120,8 @@ export default {
|
|||||||
routeReleaseTime: '默认进路解锁时间',
|
routeReleaseTime: '默认进路解锁时间',
|
||||||
generateCycle: '是否生成自动折返',
|
generateCycle: '是否生成自动折返',
|
||||||
routeButton: '是否生成进路结束按钮',
|
routeButton: '是否生成进路结束按钮',
|
||||||
likeHa1: '是否类似哈尔滨一号线,联锁分为ATP信号、地面信号、引导信号',
|
likeHa1: '是否类似哈尔滨一号线,联锁分为ATP信号、地面信号、引导信号',
|
||||||
|
getNearlySignal: '生成进路信号按钮,进路信号按钮是否取最近的一个信号机',
|
||||||
overlapSettingByTrigger: '延续保护的建立方式:是-通过触发建立,否-随进路建立',
|
overlapSettingByTrigger: '延续保护的建立方式:是-通过触发建立,否-随进路建立',
|
||||||
generateFls: '是否生成侧防:是-生成侧防,不要联动道岔,否-不生成侧防,用联动道岔'
|
generateFls: '是否生成侧防:是-生成侧防,不要联动道岔,否-不生成侧防,用联动道岔'
|
||||||
}
|
}
|
||||||
|
@ -3,13 +3,18 @@
|
|||||||
<el-tab-pane class="view-control" :label="$t('map.property')" name="first" :lazy="lazy">
|
<el-tab-pane class="view-control" :label="$t('map.property')" name="first" :lazy="lazy">
|
||||||
<div class="view-control-content">
|
<div class="view-control-content">
|
||||||
<config-list ref="dataform" :form="form" :form-model="editModel" :rules="rules">
|
<config-list ref="dataform" :form="form" :form-model="editModel" :rules="rules">
|
||||||
<div v-if="editModel.type == 'StationTurnBack'" class="card-box">
|
<fieldset v-if="editModel.type == 'StationTurnBack'" class="card-box">
|
||||||
<div class="card_title">站后折返数据</div>
|
<legend class="card_title">站后折返数据</legend>
|
||||||
<div>
|
<div>
|
||||||
<el-table :data="editModel.optionList" border style="width: 100%">
|
<el-table :data="editModel.optionList" border style="width: 100%">
|
||||||
<el-table-column prop="id" label="编号" width="100px" />
|
<el-table-column prop="id" label="编号" width="50px" />
|
||||||
<el-table-column prop="label" label="描述" width="250px" />
|
<el-table-column prop="label" label="描述" />
|
||||||
<el-table-column fixed="right" label="操作">
|
<el-table-column label="配置默认" width="100px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-checkbox @click.native.prevent="checkOverlab(editModel.optionList, scope.$index)" v-model="scope.row.checked"></el-checkbox>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="100px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="small" @click.native.prevent="deleteOverlab(editModel.optionList, scope.$index)">移出</el-button>
|
<el-button type="text" size="small" @click.native.prevent="deleteOverlab(editModel.optionList, scope.$index)">移出</el-button>
|
||||||
<el-button type="text" size="small" @click.native.prevent="editOverlab(editModel.optionList, scope.$index)">编辑</el-button>
|
<el-button type="text" size="small" @click.native.prevent="editOverlab(editModel.optionList, scope.$index)">编辑</el-button>
|
||||||
@ -45,7 +50,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</fieldset>
|
||||||
</config-list>
|
</config-list>
|
||||||
</div>
|
</div>
|
||||||
<div class="button_box">
|
<div class="button_box">
|
||||||
@ -122,7 +127,8 @@ export default {
|
|||||||
type: '',
|
type: '',
|
||||||
name: '',
|
name: '',
|
||||||
show: true, // 站后折返显示
|
show: true, // 站后折返显示
|
||||||
subtitleName: '',
|
subtitleName: '',
|
||||||
|
initId: '',
|
||||||
optionList: [], // 战后折返列表
|
optionList: [], // 战后折返列表
|
||||||
automaticRouteCode: '', // 关联自动进路code
|
automaticRouteCode: '', // 关联自动进路code
|
||||||
cycleCode: '', // 自动折返关联code
|
cycleCode: '', // 自动折返关联code
|
||||||
@ -310,7 +316,8 @@ export default {
|
|||||||
code: '',
|
code: '',
|
||||||
type: '',
|
type: '',
|
||||||
name: '',
|
name: '',
|
||||||
show: true, // 站后折返显示
|
show: true, // 站后折返显示
|
||||||
|
initId: '',
|
||||||
subtitleName: '',
|
subtitleName: '',
|
||||||
optionList: [], // 战后折返列表
|
optionList: [], // 战后折返列表
|
||||||
automaticRouteCode: '', // 关联自动进路code
|
automaticRouteCode: '', // 关联自动进路code
|
||||||
@ -380,7 +387,13 @@ export default {
|
|||||||
this.handleTypes(selected._type);
|
this.handleTypes(selected._type);
|
||||||
this.$refs.dataform && this.$refs.dataform.resetFields();
|
this.$refs.dataform && this.$refs.dataform.resetFields();
|
||||||
this.$refs.make && this.$refs.make.resetFields();
|
this.$refs.make && this.$refs.make.resetFields();
|
||||||
this.activeName = 'first';
|
this.activeName = 'first';
|
||||||
|
selected.optionList.forEach(item => {
|
||||||
|
item.checked = false;
|
||||||
|
if (item.id == selected.initId) {
|
||||||
|
item.checked = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
this.editModel = deepAssign(this.editModel, selected);
|
this.editModel = deepAssign(this.editModel, selected);
|
||||||
this.editModel.type = selected._type;
|
this.editModel.type = selected._type;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
@ -441,7 +454,8 @@ export default {
|
|||||||
edit() {
|
edit() {
|
||||||
this.$refs['dataform'].validate((valid) => {
|
this.$refs['dataform'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const data = Object.assign({_type: this.editModel.type}, this.editModel);
|
const data = Object.assign({_type: this.editModel.type}, this.editModel);
|
||||||
|
console.log(data, '=====');
|
||||||
this.$emit('updateMapModel', data);
|
this.$emit('updateMapModel', data);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -469,7 +483,18 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$emit('deviceSelect', '');
|
this.$emit('deviceSelect', '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
checkOverlab(list, index) {
|
||||||
|
list.forEach((item, i) => {
|
||||||
|
if (i != index) {
|
||||||
|
item.checked = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
list[index].checked = !list[index].checked;
|
||||||
|
if (list[index].checked) {
|
||||||
|
this.editModel.initId = list[index].id;
|
||||||
|
}
|
||||||
|
},
|
||||||
deleteOverlab(list, index) {
|
deleteOverlab(list, index) {
|
||||||
list.splice(index, 1);
|
list.splice(index, 1);
|
||||||
this.cardMode = 'generate';
|
this.cardMode = 'generate';
|
||||||
@ -485,7 +510,8 @@ export default {
|
|||||||
const data = {
|
const data = {
|
||||||
id: this.addBackModel.id,
|
id: this.addBackModel.id,
|
||||||
type: this.addBackModel.type,
|
type: this.addBackModel.type,
|
||||||
label: this.addBackModel.label,
|
label: this.addBackModel.label,
|
||||||
|
checked: false,
|
||||||
sectionList: this.addBackModel.type == 'NONE' ? [] : this.addBackModel.sectionList
|
sectionList: this.addBackModel.type == 'NONE' ? [] : this.addBackModel.sectionList
|
||||||
};
|
};
|
||||||
this.editModel.optionList.splice(this.addBackModel.parentIndex, 1, data);
|
this.editModel.optionList.splice(this.addBackModel.parentIndex, 1, data);
|
||||||
@ -502,7 +528,8 @@ export default {
|
|||||||
this.editModel.optionList.push({
|
this.editModel.optionList.push({
|
||||||
id: id,
|
id: id,
|
||||||
type: this.addBackModel.type,
|
type: this.addBackModel.type,
|
||||||
label: this.addBackModel.label,
|
label: this.addBackModel.label,
|
||||||
|
checked: false,
|
||||||
sectionList: this.addBackModel.type == 'NONE' ? [] : this.addBackModel.sectionList
|
sectionList: this.addBackModel.type == 'NONE' ? [] : this.addBackModel.sectionList
|
||||||
});
|
});
|
||||||
this.$refs.hostileForm.resetFields();
|
this.$refs.hostileForm.resetFields();
|
||||||
@ -559,6 +586,7 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
|
margin-top: 15px;
|
||||||
|
|
||||||
&:last-child{
|
&:last-child{
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
@ -135,7 +135,7 @@ export default {
|
|||||||
name: '导入',
|
name: '导入',
|
||||||
handleClick: this.handleImportMap,
|
handleClick: this.handleImportMap,
|
||||||
type: 'file',
|
type: 'file',
|
||||||
id: 'queryPagesFilesInput'
|
class: 'queryPagesFilesInput'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '导出',
|
name: '导出',
|
||||||
@ -375,7 +375,11 @@ export default {
|
|||||||
handleImportMap(index, row, idx) {
|
handleImportMap(index, row, idx) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.$set(row, 'loading' + idx, true);
|
this.$set(row, 'loading' + idx, true);
|
||||||
const obj = document.getElementById('queryPagesFilesInput');
|
const objInput = document.getElementsByClassName('queryPagesFilesInput');
|
||||||
|
let obj = {files: null};
|
||||||
|
if (objInput.length) {
|
||||||
|
obj = objInput[index];
|
||||||
|
}
|
||||||
if (!obj.files) return;
|
if (!obj.files) return;
|
||||||
const f = obj.files[0];
|
const f = obj.files[0];
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
|
Loading…
Reference in New Issue
Block a user