Merge remote-tracking branch 'origin/test'
This commit is contained in:
commit
3e60f4b8e1
@ -15,7 +15,8 @@ const mapDeviceStyle = {
|
||||
'14':'nanjing_02', // 南京二号线
|
||||
'15': 'datie_01', // 大铁线路一
|
||||
'16': 'datie_02', // 大铁线路二
|
||||
'17':'datie_tky' // 铁科院大铁线路
|
||||
'17':'datie_tky', // 铁科院大铁线路
|
||||
'18':'datie_jd1a'
|
||||
};
|
||||
|
||||
export function selectLineCode(code) {
|
||||
|
1143
src/jmapNew/config/skinCode/datie_jd1a.js
Normal file
1143
src/jmapNew/config/skinCode/datie_jd1a.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -34,13 +34,13 @@ class SkinCode extends defaultStyle {
|
||||
width: 3, // 区段宽度
|
||||
beyondWidth: 0, // 区段宽超出宽度
|
||||
invadeColor: '#FF0000', // 区段侵入颜色 (红色)
|
||||
spareColor: 'rgb(85,120,182)', // 区段空闲颜色 (浅蓝)
|
||||
spareColor: '#808080', // 区段空闲颜色 (灰色) ok
|
||||
|
||||
communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 (红色)
|
||||
unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色 (红色)
|
||||
communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 (红色) ok
|
||||
unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色 (红色) ok
|
||||
|
||||
routeLockColor: '#FFFFFF', // 区段进路锁定颜色 (白色)
|
||||
faultLockColor: '#006400', // 区段故障锁定颜色
|
||||
routeLockColor: '#FFFFFF', // 区段进路锁定颜色 (白色) ok
|
||||
faultLockColor: '#006400', // 区段故障锁定颜色 ok 空闲锁闭状态
|
||||
|
||||
undefinedColor: '#0071C1', // 区段未定义颜色
|
||||
blockColor: '#00FF00', // 区段封锁颜色
|
||||
@ -49,7 +49,6 @@ class SkinCode extends defaultStyle {
|
||||
timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
|
||||
|
||||
protectiveLockColor: '#FFFF00', // 区段保护锁闭
|
||||
|
||||
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
|
||||
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
|
||||
logicalTextColor: '#C0C0C0', // 逻辑区段名称颜色 (未用)
|
||||
@ -131,8 +130,10 @@ class SkinCode extends defaultStyle {
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
borderColor: '#FE0000', // 道岔边框颜色
|
||||
lossColor: '#C00808', // 道岔失去颜色
|
||||
locateColor: '#00FF00', // 道岔定位颜色
|
||||
inversionColor: '#FFFF00', // 道岔反位颜色
|
||||
|
||||
locateColor: '#00FF00', // 道岔定位颜色 ok
|
||||
inversionColor: '#FFFF00', // 道岔反位颜色 ok
|
||||
|
||||
monolockLocationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色)
|
||||
monolockInversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色)
|
||||
faultFlashing: false // 故障闪烁
|
||||
|
@ -126,6 +126,7 @@
|
||||
v-model="tableData[scope.$index].arriveRunPlan.sectionCode"
|
||||
placeholder=""
|
||||
size="mini"
|
||||
popper-class="stationSelect"
|
||||
@focus="focusArriveRunPlan($event,scope.row)"
|
||||
@change="changeArriveRunPlan($event,scope.row,scope.$index)"
|
||||
>
|
||||
|
37
src/jmapNew/theme/datie_jd1a/menus/index.vue
Normal file
37
src/jmapNew/theme/datie_jd1a/menus/index.vue
Normal file
@ -0,0 +1,37 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
|
||||
export default {
|
||||
name: 'Menus',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
131
src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue
Normal file
131
src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue
Normal file
@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
// OperateMode
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
export default {
|
||||
name: 'SignalMenu',
|
||||
components: {
|
||||
PopMenu,
|
||||
NoticeInfo
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
{
|
||||
label: '总取消',
|
||||
handler: this.signalTotalCancle
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
label: '总人解',
|
||||
handler: this.humanTrainRoute
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '开放引导信号',
|
||||
handler: this.signalRouteGuide
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
label: '建立引导总锁闭',
|
||||
handler: this.guideTotalLock
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '加封',
|
||||
handler: this.seal
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('training', [
|
||||
'mode',
|
||||
'operatemode'
|
||||
]),
|
||||
...mapGetters('menuOperation', [
|
||||
'buttonOperation'
|
||||
]),
|
||||
group() {
|
||||
return this.$route.query.group;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||
this.menu = this.menuNormal.Local;
|
||||
// // 故障模式菜单列表
|
||||
// if (this.operatemode === OperateMode.FAULT) {
|
||||
// this.menu = this.menuForce;
|
||||
// }
|
||||
},
|
||||
doShow(point) {
|
||||
this.initMenu();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
// 总取消
|
||||
signalTotalCancle() {
|
||||
|
||||
},
|
||||
// 总人解
|
||||
humanTrainRoute() {
|
||||
|
||||
},
|
||||
// 开放引导信号
|
||||
signalRouteGuide() {
|
||||
|
||||
},
|
||||
// 建立引导总锁闭
|
||||
guideTotalLock() {
|
||||
|
||||
},
|
||||
// 加封
|
||||
seal() {
|
||||
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
170
src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue
Normal file
170
src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue
Normal file
@ -0,0 +1,170 @@
|
||||
<template>
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<switch-control ref="switchControl" pop-class="chengdou-03__systerm" />
|
||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
// OperateMode
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import SwitchControl from '@/jmapNew/theme/components/menus/dialog/switchControl';
|
||||
|
||||
export default {
|
||||
name: 'SwitchMenu',
|
||||
components: {
|
||||
PopMenu,
|
||||
SwitchControl,
|
||||
NoticeInfo
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
{
|
||||
label: '总定',
|
||||
handler: this.locate,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
},
|
||||
{
|
||||
label: '总反',
|
||||
handler: this.reverse,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '单锁',
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||
},
|
||||
{
|
||||
label: '单解',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '封闭',
|
||||
handler: this.block,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_BLOCK
|
||||
},
|
||||
{
|
||||
label: '解封',
|
||||
handler: this.unblock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||
}
|
||||
|
||||
],
|
||||
Center: [
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 道岔总定
|
||||
locate() {
|
||||
commitOperate(menuOperate.Switch.locate, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
// 道岔总反
|
||||
reverse() {
|
||||
commitOperate(menuOperate.Switch.reverse, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔单锁
|
||||
lock() {
|
||||
commitOperate(menuOperate.Switch.lock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔解锁
|
||||
unlock() {
|
||||
commitOperate(menuOperate.Switch.unlock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔封锁
|
||||
block() {
|
||||
commitOperate(menuOperate.Switch.block, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔解封
|
||||
unblock() {
|
||||
commitOperate(menuOperate.Switch.unblock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
doShow(point) {
|
||||
this.initMenu();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
},
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||
this.menu = this.menuNormal.Local;
|
||||
// 故障模式菜单列表
|
||||
// if (this.operatemode === OperateMode.FAULT) {
|
||||
// if (!this.$store.state.scriptRecord.bgSet) {
|
||||
// const menuHook = [{
|
||||
// label: '道岔钩锁',
|
||||
// handler: this.hookLock
|
||||
// }];
|
||||
// this.menu = [...this.menuForce, ...menuHook];
|
||||
// } else {
|
||||
// this.menu = this.menuForce;
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
71
src/jmapNew/theme/datie_jd1a/model.js
Normal file
71
src/jmapNew/theme/datie_jd1a/model.js
Normal file
@ -0,0 +1,71 @@
|
||||
import deviceType from '../../constant/deviceType';
|
||||
|
||||
class Model {
|
||||
constructor() {
|
||||
this.screenLine = 3;
|
||||
// 公共字段部分默认初始值
|
||||
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自动触发表示灯显示
|
||||
};
|
||||
this['private'][deviceType.Train] = {
|
||||
};
|
||||
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();
|
5
src/jmapNew/theme/datie_jd1a/operationConfig.js
Normal file
5
src/jmapNew/theme/datie_jd1a/operationConfig.js
Normal file
@ -0,0 +1,5 @@
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
export default {
|
||||
list: [
|
||||
]
|
||||
};
|
37
src/jmapNew/theme/datie_tky/menus/index.vue
Normal file
37
src/jmapNew/theme/datie_tky/menus/index.vue
Normal file
@ -0,0 +1,37 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
|
||||
export default {
|
||||
name: 'Menus',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
131
src/jmapNew/theme/datie_tky/menus/menuSignal.vue
Normal file
131
src/jmapNew/theme/datie_tky/menus/menuSignal.vue
Normal file
@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
// OperateMode
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
export default {
|
||||
name: 'SignalMenu',
|
||||
components: {
|
||||
PopMenu,
|
||||
NoticeInfo
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
{
|
||||
label: '总取消',
|
||||
handler: this.signalTotalCancle
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
label: '总人解',
|
||||
handler: this.humanTrainRoute
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '开放引导信号',
|
||||
handler: this.signalRouteGuide
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
label: '建立引导总锁闭',
|
||||
handler: this.guideTotalLock
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '加封',
|
||||
handler: this.seal
|
||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('training', [
|
||||
'mode',
|
||||
'operatemode'
|
||||
]),
|
||||
...mapGetters('menuOperation', [
|
||||
'buttonOperation'
|
||||
]),
|
||||
group() {
|
||||
return this.$route.query.group;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||
this.menu = this.menuNormal.Local;
|
||||
// // 故障模式菜单列表
|
||||
// if (this.operatemode === OperateMode.FAULT) {
|
||||
// this.menu = this.menuForce;
|
||||
// }
|
||||
},
|
||||
doShow(point) {
|
||||
this.initMenu();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
// 总取消
|
||||
signalTotalCancle() {
|
||||
|
||||
},
|
||||
// 总人解
|
||||
humanTrainRoute() {
|
||||
|
||||
},
|
||||
// 开放引导信号
|
||||
signalRouteGuide() {
|
||||
|
||||
},
|
||||
// 建立引导总锁闭
|
||||
guideTotalLock() {
|
||||
|
||||
},
|
||||
// 加封
|
||||
seal() {
|
||||
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
170
src/jmapNew/theme/datie_tky/menus/menuSwitch.vue
Normal file
170
src/jmapNew/theme/datie_tky/menus/menuSwitch.vue
Normal file
@ -0,0 +1,170 @@
|
||||
<template>
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<switch-control ref="switchControl" pop-class="chengdou-03__systerm" />
|
||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
// OperateMode
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import SwitchControl from '@/jmapNew/theme/components/menus/dialog/switchControl';
|
||||
|
||||
export default {
|
||||
name: 'SwitchMenu',
|
||||
components: {
|
||||
PopMenu,
|
||||
SwitchControl,
|
||||
NoticeInfo
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
{
|
||||
label: '总定',
|
||||
handler: this.locate,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
},
|
||||
{
|
||||
label: '总反',
|
||||
handler: this.reverse,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '单锁',
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||
},
|
||||
{
|
||||
label: '单解',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: '封闭',
|
||||
handler: this.block,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_BLOCK
|
||||
},
|
||||
{
|
||||
label: '解封',
|
||||
handler: this.unblock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||
}
|
||||
|
||||
],
|
||||
Center: [
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 道岔总定
|
||||
locate() {
|
||||
commitOperate(menuOperate.Switch.locate, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
// 道岔总反
|
||||
reverse() {
|
||||
commitOperate(menuOperate.Switch.reverse, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔单锁
|
||||
lock() {
|
||||
commitOperate(menuOperate.Switch.lock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔解锁
|
||||
unlock() {
|
||||
commitOperate(menuOperate.Switch.unlock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔封锁
|
||||
block() {
|
||||
commitOperate(menuOperate.Switch.block, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 道岔解封
|
||||
unblock() {
|
||||
commitOperate(menuOperate.Switch.unblock, { switchCode: this.selected.code}, 0).then(({valid, operate}) => {
|
||||
if (valid) {
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
doShow(point) {
|
||||
this.initMenu();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
},
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||
this.menu = this.menuNormal.Local;
|
||||
// 故障模式菜单列表
|
||||
// if (this.operatemode === OperateMode.FAULT) {
|
||||
// if (!this.$store.state.scriptRecord.bgSet) {
|
||||
// const menuHook = [{
|
||||
// label: '道岔钩锁',
|
||||
// handler: this.hookLock
|
||||
// }];
|
||||
// this.menu = [...this.menuForce, ...menuHook];
|
||||
// } else {
|
||||
// this.menu = this.menuForce;
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -52,7 +52,8 @@ class Theme {
|
||||
'14': 'nanjing_02', // 南京二号线
|
||||
'15': 'datie_01',
|
||||
'16': 'datie_02',
|
||||
'17': 'datie_tky'
|
||||
'17': 'datie_tky',
|
||||
'18': 'datie_jd1a'
|
||||
};
|
||||
|
||||
this._runplan = {
|
||||
@ -73,7 +74,8 @@ class Theme {
|
||||
'14': 'nanjing_02', // 南京二号线
|
||||
'15': 'datie_01',
|
||||
'16': 'datie_02',
|
||||
'17': 'datie_tky'
|
||||
'17': 'datie_tky',
|
||||
'18': 'datie_jd1a'
|
||||
};
|
||||
|
||||
this._localShowMode = { // 现地显示模式
|
||||
@ -93,7 +95,8 @@ class Theme {
|
||||
'14':'ecStation',
|
||||
'15':'all',
|
||||
'16':'ecStation',
|
||||
'17': 'all'
|
||||
'17': 'all',
|
||||
'18': 'all'
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -243,6 +243,7 @@ export const projectRichorJoint = '023'; // 中航锐创(实训室)
|
||||
export const projectSrsandbox = '024'; // 上饶沙盘
|
||||
export const projectJxgm = '025'; // 江西工贸
|
||||
export const projectSay = '026'; // 江苏安全
|
||||
export const projectRichorhhcj = '027'; //红河财经
|
||||
|
||||
export const userTrainingPlatform = '016'; // 实训系统
|
||||
// export const refereePlatform = '017'; // 裁判系统
|
||||
@ -687,7 +688,7 @@ export const publicAsyncRoute = [
|
||||
path: '/bigTrainRunplanManage',
|
||||
component: BigTrainRunplanManage,
|
||||
hidden: true
|
||||
},
|
||||
}
|
||||
|
||||
];
|
||||
// 城市轨道项目
|
||||
@ -1636,6 +1637,27 @@ export const projectRoute = {
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
designrichorhhcj: [
|
||||
{ // 系统管理
|
||||
path: '/system',
|
||||
component: Layout,
|
||||
merge: true,
|
||||
mergeIndex: 4,
|
||||
meta: {
|
||||
i18n: 'router.systemManage',
|
||||
roles: [admin]
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'deviceManage',
|
||||
component: DeviceManage,
|
||||
meta: {
|
||||
i18n: 'router.deviceManage'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
const createRouter = () => new Router({
|
||||
|
@ -581,7 +581,7 @@ export const loginInfo = {
|
||||
titleDistance: '-150px',
|
||||
navigationLogoWidth: '40px',
|
||||
navigationMarginLeft: '60px',
|
||||
systemType: '011'
|
||||
systemType: '027'
|
||||
},
|
||||
richorhhcj: {
|
||||
title: '红河财经学校城市轨道交通实训平台',
|
||||
@ -593,7 +593,7 @@ export const loginInfo = {
|
||||
titleDistance: '-150px',
|
||||
navigationLogoWidth: '40px',
|
||||
navigationMarginLeft: '60px',
|
||||
systemType: '011'
|
||||
systemType: '027'
|
||||
},
|
||||
designjxgm: {
|
||||
title: '江西工业贸易职业技术学院城市轨道交通设计平台',
|
||||
|
@ -1,4 +1,6 @@
|
||||
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectRichorJoint, projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy, projectSrsandbox, projectJxgm, projectSay } from '@/router/index';
|
||||
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectRichorJoint,
|
||||
projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy,
|
||||
projectSrsandbox, projectJxgm, projectSay, projectRichorhhcj } from '@/router/index';
|
||||
import { loginInfo } from '@/scripts/ProjectConfig';
|
||||
import { getSessionStorage } from '@/utils/auth';
|
||||
|
||||
@ -36,9 +38,10 @@ function hasPermission(roles, route, parentsRoles) {
|
||||
function resetAsyncRouter({ systemType }) {
|
||||
let list = publicAsyncRoute;
|
||||
const projectList = [projectTrain, projectXian, projectJyd, projectTky, projectDrts, projectRichor];
|
||||
const specialProjects = [projectXty, projectGzzb, projectHeb, projectSdy, projectRichorJoint, projectSrsandbox, projectJxgm, projectSay];
|
||||
const specialProjects = [projectXty, projectGzzb, projectHeb, projectSdy, projectRichorJoint, projectSrsandbox, projectJxgm, projectSay, projectRichorhhcj];
|
||||
const specialProjectEnum = {[projectXty]:'designxty', [projectGzzb]:'designgzb', [projectHeb]:'designheb',
|
||||
[projectSdy]:'designsdy', [projectRichorJoint]:'designrichorjoint', [projectSrsandbox]: 'designsrsandbox', [projectJxgm]: 'designjxgm', [projectSay]: 'designsay' };
|
||||
[projectSdy]:'designsdy', [projectRichorJoint]:'designrichorjoint', [projectSrsandbox]: 'designsrsandbox', [projectJxgm]: 'designjxgm',
|
||||
[projectSay]: 'designsay', [projectRichorhhcj]: 'designrichorhhcj' };
|
||||
if (projectList.includes(systemType)) {
|
||||
list = [...list, ...asyncRouter];
|
||||
} else if (specialProjects.includes(systemType) ) {
|
||||
|
@ -24,7 +24,7 @@ export function handlerUrl(data) {
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// const data = null;
|
||||
// BASE_API = 'https://joylink.club/jlcloud';
|
||||
// BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'http://114.116.51.125/jlcloud';
|
||||
// BASE_API = 'http://192.168.8.152:9000'; // 袁琪
|
||||
// BASE_API = 'http://192.168.8.172:9200'; // 旭强
|
||||
@ -33,7 +33,7 @@ export function handlerUrl(data) {
|
||||
// BASE_API = 'http://192.168.3.37:9000'; // 卫志宏
|
||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
||||
BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
|
||||
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
|
||||
// BASE_API = data && data.domainName ? 'https://' + data.domainName : BASE_API;
|
||||
BASE_API = data && data.domainName ? 'http://' + data.domainName : BASE_API;
|
||||
VOICE_API = data && data.resourcesDomainName ? 'https://' + data.resourcesDomainName : 'https://joylink.club/oss/joylink';
|
||||
|
@ -116,7 +116,8 @@ export default {
|
||||
callback('字母+数字,最后一位数字');
|
||||
}
|
||||
} else {
|
||||
callback('请输入车次');
|
||||
// callback('请输入车次');
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
@ -137,42 +138,42 @@ export default {
|
||||
departStationCode:'' // 出发车站
|
||||
},
|
||||
rules: {
|
||||
trackSectionCode: [
|
||||
{ required: true, message: '请选择股道', trigger: 'blur' },
|
||||
{ required: true, message: '请选择股道', trigger: 'change' }
|
||||
],
|
||||
// trackSectionCode: [
|
||||
// { required: true, message: '请选择股道', trigger: 'blur' },
|
||||
// { required: true, message: '请选择股道', trigger: 'change' }
|
||||
// ],
|
||||
arriveTripNumber:[
|
||||
{ required: true, validator: validateTripNumber, trigger: 'blur' }
|
||||
// message: '请输入到达车次'
|
||||
],
|
||||
departTripNumber:[
|
||||
{ required: true, validator: validateTripNumber, trigger: 'blur' }
|
||||
],
|
||||
// message: '请输入出发车次'
|
||||
arriveTime: [
|
||||
{ required: true, message: '请选择到达时间', trigger: 'blur' },
|
||||
{ required: true, message: '请选择到达时间', trigger: 'change' }
|
||||
],
|
||||
departTime: [
|
||||
{ required: true, message: '请选择出发时间', trigger: 'blur' },
|
||||
{ required: true, message: '请选择出发时间', trigger: 'change' }
|
||||
],
|
||||
arriveDirectionCode: [
|
||||
{ required: true, message: '请选择入口', trigger: 'blur' },
|
||||
{ required: true, message: '请选择入口', trigger: 'change' }
|
||||
],
|
||||
departDirectionCode: [
|
||||
{ required: true, message: '请选择出口', trigger: 'blur' },
|
||||
{ required: true, message: '请选择出口', trigger: 'change' }
|
||||
],
|
||||
arriveStationCode: [
|
||||
{ required: true, message: '请选择后方车站', trigger: 'blur' },
|
||||
{ required: true, message: '请选择后方车站', trigger: 'change' }
|
||||
],
|
||||
departStationCode: [
|
||||
{ required: true, message: '请选择前方车站', trigger: 'blur' },
|
||||
{ required: true, message: '请选择前方车站', trigger: 'change' }
|
||||
]
|
||||
// message: '请输入出发车次'
|
||||
// arriveTime: [
|
||||
// { required: true, message: '请选择到达时间', trigger: 'blur' },
|
||||
// { required: true, message: '请选择到达时间', trigger: 'change' }
|
||||
// ],
|
||||
// departTime: [
|
||||
// { required: true, message: '请选择出发时间', trigger: 'blur' },
|
||||
// { required: true, message: '请选择出发时间', trigger: 'change' }
|
||||
// ],
|
||||
// arriveDirectionCode: [
|
||||
// { required: true, message: '请选择入口', trigger: 'blur' },
|
||||
// { required: true, message: '请选择入口', trigger: 'change' }
|
||||
// ],
|
||||
// departDirectionCode: [
|
||||
// { required: true, message: '请选择出口', trigger: 'blur' },
|
||||
// { required: true, message: '请选择出口', trigger: 'change' }
|
||||
// ],
|
||||
// arriveStationCode: [
|
||||
// { required: true, message: '请选择后方车站', trigger: 'blur' },
|
||||
// { required: true, message: '请选择后方车站', trigger: 'change' }
|
||||
// ],
|
||||
// departStationCode: [
|
||||
// { required: true, message: '请选择前方车站', trigger: 'blur' },
|
||||
// { required: true, message: '请选择前方车站', trigger: 'change' }
|
||||
// ]
|
||||
}
|
||||
};
|
||||
},
|
||||
|
@ -138,7 +138,7 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.BTRp{height:100%;width:100%;padding-top:30px}
|
||||
.BTRp{height:100%;width:100%;padding-top:30px;overflow: hidden;}
|
||||
.BTRpMenuBarOut{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
@ -46,47 +46,83 @@
|
||||
prop="lineType"
|
||||
label="线路性质"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ lineTypeMap[scope.row.lineType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="RVdirection"
|
||||
prop="direction"
|
||||
label="接发车方向"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ directionMap[scope.row.direction] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="RVType"
|
||||
prop="type"
|
||||
label="接发车类型"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ typeMap[scope.row.type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="transType"
|
||||
prop="transfiniteType"
|
||||
label="超限类型"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ transfiniteTypeMap[scope.row.transfiniteType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="stationStand"
|
||||
prop="standType"
|
||||
label="站台"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ standTypeMap[scope.row.standType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="allowEMU"
|
||||
prop="allowEmu"
|
||||
label="允许动车组"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ allowEmuMap[scope.row.allowEmu] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="waterEquip"
|
||||
prop="addWaterEqu"
|
||||
label="上水设备"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ addWaterEquMap[scope.row.addWaterEqu] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="sewageEquip"
|
||||
prop="sewageEqu"
|
||||
label="排污设备"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ sewageEquMap[scope.row.sewageEqu] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="military"
|
||||
label="军用"
|
||||
width="100"
|
||||
/>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ militaryMap[scope.row.military] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
@ -109,11 +145,53 @@ export default {
|
||||
height: this.$store.state.app.height - 61,
|
||||
currentStationCode:'',
|
||||
filterSectionMap:{},
|
||||
currentRow:null,
|
||||
lineTypeMap:{
|
||||
1:'正线',
|
||||
2:'到发线'
|
||||
},
|
||||
directionMap:{
|
||||
1:'上行',
|
||||
2:'下行',
|
||||
3:'上下行'
|
||||
},
|
||||
typeMap:{
|
||||
1:'客车',
|
||||
2:'货车',
|
||||
3:'客货车'
|
||||
},
|
||||
transfiniteTypeMap:{
|
||||
1:'不能接发超限列车',
|
||||
2:'一级超限',
|
||||
3:'二级超限',
|
||||
4:'超级超限'
|
||||
},
|
||||
standTypeMap:{
|
||||
1:'无',
|
||||
2:'高站台',
|
||||
3:'低站台'
|
||||
},
|
||||
allowEmuMap:{
|
||||
1:'是',
|
||||
2:'否'
|
||||
},
|
||||
addWaterEquMap:{
|
||||
1:'有',
|
||||
2:'无'
|
||||
},
|
||||
sewageEquMap:{
|
||||
1:'有',
|
||||
2:'无'
|
||||
},
|
||||
militaryMap:{
|
||||
1:'是',
|
||||
2:'否'
|
||||
},
|
||||
tableData:[
|
||||
{trackName:'IG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'无', allowEMU:'否', waterEquip:'无',
|
||||
sewageEquip:'无', military:'否'},
|
||||
{trackName:'IIG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'低', allowEMU:'否', waterEquip:'无',
|
||||
sewageEquip:'无', military:'否' }
|
||||
{trackName:'IG', lineType:'1', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
|
||||
sewageEqu:'1', military:'1'},
|
||||
{trackName:'IIG', lineType:'2', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
|
||||
sewageEqu:'1', military:'1' }
|
||||
]
|
||||
};
|
||||
},
|
||||
@ -138,10 +216,10 @@ export default {
|
||||
},
|
||||
handleData() {
|
||||
this.tableData = [
|
||||
{trackName:'IG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'无', allowEMU:'否', waterEquip:'无',
|
||||
sewageEquip:'无', military:'否'},
|
||||
{trackName:'IIG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'低', allowEMU:'否', waterEquip:'无',
|
||||
sewageEquip:'无', military:'否' }
|
||||
{trackName:'IG', lineType:'1', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
|
||||
sewageEqu:'1', military:'1'},
|
||||
{trackName:'IIG', lineType:'2', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
|
||||
sewageEqu:'1', military:'1' }
|
||||
];
|
||||
},
|
||||
rowDbClick(row, column, event) {
|
||||
|
@ -4,17 +4,113 @@
|
||||
class="datie-02__systerm"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="560px"
|
||||
width="660px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div class="TrackInformation">
|
||||
<!-- 111 -->
|
||||
<!-- form -->
|
||||
<el-form ref="form" :model="model" label-width="85px" :rules="rules">
|
||||
<el-form-item label="线路性质:" prop="lineType">
|
||||
<el-select v-model="model.lineType" placeholder="" style="width:145px">
|
||||
<el-option
|
||||
v-for="item in lineTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="接发车方向:" prop="direction">
|
||||
<el-select v-model="model.direction" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in directionList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="接发车类型:" prop="type">
|
||||
<el-select v-model="model.type" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="超限类型:" prop="transfiniteType">
|
||||
<el-select v-model="model.transfiniteType" placeholder="" style="width:145px">
|
||||
<el-option
|
||||
v-for="item in transfiniteTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="站台:" prop="standType">
|
||||
<el-select v-model="model.standType" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in standTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="允许动车组:" prop="allowEmu">
|
||||
<el-select v-model="model.allowEmu" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in allowEmuList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="上水设备:" prop="addWaterEqu">
|
||||
<el-select v-model="model.addWaterEqu" placeholder="" style="width:145px">
|
||||
<el-option
|
||||
v-for="item in addWaterEquList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排污设备:" prop="sewageEqu">
|
||||
<el-select v-model="model.sewageEqu" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in sewageEquList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="军用:" prop="military">
|
||||
<el-select v-model="model.military" placeholder="" style="width:90px">
|
||||
<el-option
|
||||
v-for="item in militaryList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div style="text-align:right;display:inline-block;width:100%;">
|
||||
<div style="display:inline-block">
|
||||
<div class="trackBtn">
|
||||
<el-button :id="domIdCancel" @click="cancel">取消</el-button>
|
||||
</div>
|
||||
<div style="display:inline-block">
|
||||
<div class="trackBtn">
|
||||
<el-button :id="domIdConfirm " type="primary" :loading="loading" @click="commit">确定 </el-button>
|
||||
</div>
|
||||
</div>
|
||||
@ -24,11 +120,67 @@
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
export default {
|
||||
name: 'AddRunPlan',
|
||||
name: 'TrackInformation',
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
loading: false,
|
||||
trackSectionCode:'',
|
||||
lineTypeList:[
|
||||
{label:'正线', value:'1'},
|
||||
{label:'到发线', value:'2'}
|
||||
],
|
||||
directionList:[
|
||||
{label:'上行', value:'1'},
|
||||
{label:'下行', value:'2'},
|
||||
{label:'上下行', value:'3'}
|
||||
],
|
||||
typeList:[
|
||||
{label:'客车', value:'1'},
|
||||
{label:'货车', value:'2'},
|
||||
{label:'客货车', value:'3'}
|
||||
],
|
||||
transfiniteTypeList:[
|
||||
{label:'不能接发超限列车', value:'1'},
|
||||
{label:'一级超限', value:'2'},
|
||||
{label:'二级超限', value:'3'},
|
||||
{label:'超级超限', value:'4'}
|
||||
],
|
||||
standTypeList:[
|
||||
{label:'无', value:'1'},
|
||||
{label:'高站台', value:'2'},
|
||||
{label:'低站台', value:'3'}
|
||||
],
|
||||
allowEmuList:[
|
||||
{label:'是', value:'1'},
|
||||
{label:'否', value:'2'}
|
||||
],
|
||||
addWaterEquList:[
|
||||
{label:'有', value:'1'},
|
||||
{label:'无', value:'2'}
|
||||
],
|
||||
sewageEquList:[
|
||||
{label:'有', value:'1'},
|
||||
{label:'无', value:'2'}
|
||||
],
|
||||
militaryList:[
|
||||
{label:'是', value:'1'},
|
||||
{label:'否', value:'2'}
|
||||
],
|
||||
model:{
|
||||
lineType:'', // 线路性质 正线/到发线
|
||||
direction:'', // 接发车方向 上行、下行、 上下行
|
||||
type:'', // 接发车类型 客车/货车/客货车
|
||||
transfiniteType:'', // 超限类型 选择“不能接发超限列车/一级超限/二级超限/超级超限”
|
||||
standType:'', // 站台 选择“无/高站台/低站台”
|
||||
allowEmu:'', // 允许动车组 选择“是/否”。
|
||||
addWaterEqu:'', // 上水设备 选择“有/无”
|
||||
sewageEqu:'', // 排污设备 选择“有/无”
|
||||
military:'' // 军用 是/否
|
||||
},
|
||||
rules:{
|
||||
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -52,26 +204,27 @@ export default {
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
this.model = Object.assign({}, row);
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
},
|
||||
commit() {
|
||||
// this.$refs.form.validate((valid) => {
|
||||
// if (valid) {
|
||||
// this.loading = true;
|
||||
// const param = {stationCode:this.addModel.stationCode, runPlanParamList:[this.addModel]};
|
||||
// commitOperate(menuOperate.CTC.addTrainFixedPath, param, 3).then(({valid})=>{
|
||||
// if (valid) {
|
||||
// this.doClose();
|
||||
// }
|
||||
// }).catch(() => {
|
||||
// this.doClose();
|
||||
// this.$emit('noticeInfo');
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
// this.loading = true;
|
||||
// const param = {stationCode:this.addModel.stationCode, runPlanParamList:[this.addModel]};
|
||||
// commitOperate(menuOperate.CTC.addTrainFixedPath, param, 3).then(({valid})=>{
|
||||
// if (valid) {
|
||||
// this.doClose();
|
||||
// }
|
||||
// }).catch(() => {
|
||||
// this.doClose();
|
||||
// this.$emit('noticeInfo');
|
||||
// });
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
@ -86,3 +239,16 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.trackBtn{display:inline-block;margin-right: 10px;}
|
||||
.TrackInformation .el-form-item{
|
||||
display:inline-block;
|
||||
margin-bottom:20px;
|
||||
}
|
||||
.TrackInformation{margin-bottom: 15px;}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.TrackInformation .el-form-item__content {
|
||||
line-height: 30px;
|
||||
}
|
||||
</style>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<el-button class="trainFixedPathButton" size="small">基本图导入</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">基本图申请</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">其他站导入</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">删除</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small" @click="deleteRunplan">删除</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">全部清空</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">修改</el-button>
|
||||
<el-button class="trainFixedPathButton" size="small">查找</el-button>
|
||||
@ -36,10 +36,12 @@
|
||||
ref="trainFixedPathTableIn"
|
||||
:data="tableData"
|
||||
border
|
||||
height="600px"
|
||||
:height="(height-100)+'px'"
|
||||
highlight-current-row
|
||||
style="border:1px #ccc solid;"
|
||||
@row-click="selectedSection"
|
||||
>
|
||||
<!-- :height="(height-100)+'px'" -->
|
||||
<!-- @cell-click="selectedTripNumber" -->
|
||||
<!-- @current-change="handleCurrentChange" -->
|
||||
<el-table-column
|
||||
@ -86,7 +88,9 @@
|
||||
width="75"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ filterSectionMap[scope.row.trackSectionCode].name }}
|
||||
<div v-if="scope.row.trackSectionCode">
|
||||
{{ filterSectionMap[scope.row.trackSectionCode].name }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -95,7 +99,9 @@
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ stationMap[scope.row.departStationCode].name }}
|
||||
<div v-if="scope.row.departStationCode">
|
||||
{{ stationMap[scope.row.departStationCode].name }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -104,7 +110,9 @@
|
||||
width="155"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
|
||||
<div v-if="scope.row.arriveDirectionCode">
|
||||
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -113,7 +121,9 @@
|
||||
width="155"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
|
||||
<div v-if="scope.row.departDirectionCode">
|
||||
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -122,7 +132,9 @@
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ stationMap[scope.row.arriveStationCode].name }}
|
||||
<div v-if="scope.row.arriveStationCode">
|
||||
{{ stationMap[scope.row.arriveStationCode].name }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@ -279,6 +291,7 @@ export default {
|
||||
return {
|
||||
height: this.$store.state.app.height - 61,
|
||||
currentStationCode:'',
|
||||
currentRow:null,
|
||||
tableData:[],
|
||||
filterSectionMap:{}
|
||||
};
|
||||
@ -305,6 +318,9 @@ export default {
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
selectedSection(row, column, event) {
|
||||
this.currentRow = row;
|
||||
},
|
||||
loadStation() {
|
||||
this.$refs.terminalStationList.loadStation();
|
||||
},
|
||||
@ -325,6 +341,26 @@ export default {
|
||||
mapStationDirectionMap:this.mapStationDirectionData
|
||||
});
|
||||
},
|
||||
deleteRunplan() {
|
||||
if (this.currentRow) {
|
||||
const that = this;
|
||||
this.$confirm('确定删除该条列车路径数据?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
// stationCode 车站编码
|
||||
const param = {stationCode:this.currentRow.stationCode, runPlanCode:this.currentRow.runPlanCode};
|
||||
commitOperate(menuOperate.CTC.deleteTrainFixedPath, param, 3).then(({valid})=>{
|
||||
if (valid) {
|
||||
that.$message.success('删除成功!');
|
||||
}
|
||||
}).catch(() => {
|
||||
that.$message.error('删除失败');
|
||||
});
|
||||
}).catch(e => {});
|
||||
}
|
||||
},
|
||||
noticeInfo() {
|
||||
this.$emit('noticeInfo');
|
||||
},
|
||||
@ -398,10 +434,11 @@ export default {
|
||||
});
|
||||
},
|
||||
coverTime(time) {
|
||||
return time.split(':').splice(0, 2).join(':');
|
||||
return time ? time.split(':').splice(0, 2).join(':') : '';
|
||||
},
|
||||
handleData() {
|
||||
this.tableData = [];
|
||||
this.currentRow = null;
|
||||
const railCtcStationManageRpMsg = copyAssign({}, this.$store.state.socket.railCtcStationManageRpMsg);
|
||||
this.tableData = Object.values(railCtcStationManageRpMsg).filter(data=>{
|
||||
data.arriveTime = this.coverTime(data.arriveTime);
|
||||
@ -464,7 +501,7 @@ export default {
|
||||
.trainFixedPathButton:hover{
|
||||
background-image: linear-gradient(#efffff,#a8daf3);
|
||||
}
|
||||
.trainFixedPathRTable{background:#a9a9a9;border-left: 1px #707070 solid;}
|
||||
.trainFixedPathRTable{background:#a9a9a9;border-left: 1px #707070 solid;overflow: hidden;}
|
||||
.trainFixedPathUpload {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@ -488,5 +525,9 @@ export default {
|
||||
border-color: #a5a5a5;
|
||||
}
|
||||
#trainFixedPathTableIn.el-table .cell{ padding-left: 5px;padding-right: 5px; text-align: center;font-size: 13px;}
|
||||
#trainFixedPathTableIn .el-table__body tr.current-row>td{
|
||||
background-color: #6aa8ec;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -1,130 +1,131 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px">
|
||||
<el-form-item :label="this.$t('ibp.buttonCode')" prop="code">
|
||||
<el-input v-model="form.code" :disabled="true">
|
||||
<el-button slot="append" :disabled="isUpdate" type="primary" @click="generateCode">{{
|
||||
$t("ibp.generateCode")
|
||||
}}</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonColor')" prop="buttonColor">
|
||||
<el-select v-model="form.buttonColor" :placeholder="this.$t('ibp.selectTheButtonColor')">
|
||||
<el-option
|
||||
v-for="item in colors"
|
||||
:key="`btn${item}`"
|
||||
:label="`${$t(`ibp.${item}`)}${$t('ibp.button')}`"
|
||||
:value="item"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonLightColor')" prop="buttonLightColor">
|
||||
<el-select v-model="form.buttonLightColor">
|
||||
<el-option label="默认" value=""></el-option>
|
||||
<el-option
|
||||
v-for="item in colors"
|
||||
:key="`light${item}`"
|
||||
:label="`${$t(`ibp.${item}`)}`"
|
||||
:value="item"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonWidth')" prop="buttonWidth">
|
||||
<el-input-number v-model="form.buttonWidth" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.xCoordinate')">
|
||||
<el-input-number v-model="form.x" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.yCoordinate')">
|
||||
<el-input-number v-model="form.y" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="操作">
|
||||
<el-select v-model="form.mean" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in operateMeanList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="'AXLE_PRE_RESET' === form.mean" label="关联区段" prop="sectionCode">
|
||||
<el-select v-model="form.sectionCode" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in sectionList"
|
||||
:key="item.code"
|
||||
:label="item.name + '(' + item.code + ')'"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="needDirectionItem" label="方向">
|
||||
<el-select v-model="form.direction" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="(item, i) in directions"
|
||||
:key="i"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
|
||||
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{
|
||||
$t("global.delete")
|
||||
}}</el-button>
|
||||
<el-button v-show="showDeleteButton" @click="initPage">{{ $t("global.cancel") }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div>
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px">
|
||||
<el-form-item :label="this.$t('ibp.buttonCode')" prop="code">
|
||||
<el-input v-model="form.code" :disabled="true">
|
||||
<el-button slot="append" :disabled="isUpdate" type="primary" @click="generateCode">{{
|
||||
$t("ibp.generateCode")
|
||||
}}</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonColor')" prop="buttonColor">
|
||||
<el-select v-model="form.buttonColor" :placeholder="this.$t('ibp.selectTheButtonColor')">
|
||||
<el-option
|
||||
v-for="item in colors"
|
||||
:key="`btn${item}`"
|
||||
:label="`${$t(`ibp.${item}`)}${$t('ibp.button')}`"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonLightColor')" prop="buttonLightColor">
|
||||
<el-select v-model="form.buttonLightColor">
|
||||
<el-option label="默认" value="" />
|
||||
<el-option
|
||||
v-for="item in colors"
|
||||
:key="`light${item}`"
|
||||
:label="`${$t(`ibp.${item}`)}`"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.buttonWidth')" prop="buttonWidth">
|
||||
<el-input-number v-model="form.buttonWidth" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.xCoordinate')">
|
||||
<el-input-number v-model="form.x" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="this.$t('ibp.yCoordinate')">
|
||||
<el-input-number v-model="form.y" controls-position="right" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="操作">
|
||||
<el-select v-model="form.mean" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in operateMeanList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="'AXLE_PRE_RESET' === form.mean" label="关联区段" prop="sectionCode">
|
||||
<el-select v-model="form.sectionCode" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in sectionList"
|
||||
:key="item.code"
|
||||
:label="item.name + '(' + item.code + ')'"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="needDirectionItem" label="方向">
|
||||
<el-select v-model="form.direction" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="(item, i) in directions"
|
||||
:key="i"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
|
||||
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{
|
||||
$t("global.delete")
|
||||
}}</el-button>
|
||||
<el-button v-show="showDeleteButton" @click="initPage">{{ $t("global.cancel") }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getSectionListByCenStationCode, getSectionListByMapId } from "@/api/jmap/map";
|
||||
import { getSectionListByCenStationCode, getSectionListByMapId } from '@/api/jmap/map';
|
||||
export default {
|
||||
name: "ButtonDraft",
|
||||
name: 'ButtonDraft',
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
isUpdate: false,
|
||||
buttonText: this.$t("ibp.createNow"),
|
||||
buttonText: this.$t('ibp.createNow'),
|
||||
showDeleteButton: false,
|
||||
operateMeanList: [
|
||||
{ label: "扣车", value: "KC" },
|
||||
{ label: "终止扣车", value: "ZZKC" },
|
||||
{ label: "紧急停车", value: "JJTC" },
|
||||
{ label: "取消紧急停车", value: "QXJJTC" },
|
||||
{ label: "报警切除", value: "BJQC" },
|
||||
{ label: "屏蔽门开门", value: "KM" },
|
||||
{ label: "屏蔽门关门", value: "GM" },
|
||||
{ label: "计轴复位", value: "AXLE_RESET" },
|
||||
{ label: "计轴区段复位", value: "AXLE_PRE_RESET" },
|
||||
{ label: "计轴预复位", value: "PRERESET_Z" },
|
||||
{ label: "试灯", value: "SD" },
|
||||
{ label: "首末开门", value: 'PSD_SMKM' },
|
||||
{ label: "屏蔽门试灯", value: 'PSD_SD' }
|
||||
{ label: '扣车', value: 'KC' },
|
||||
{ label: '终止扣车', value: 'ZZKC' },
|
||||
{ label: '紧急停车', value: 'JJTC' },
|
||||
{ label: '取消紧急停车', value: 'QXJJTC' },
|
||||
{ label: '报警切除', value: 'BJQC' },
|
||||
{ label: '屏蔽门报警切除', value: 'PSD_BJQC'},
|
||||
{ label: '屏蔽门开门', value: 'KM' },
|
||||
{ label: '屏蔽门关门', value: 'GM' },
|
||||
{ label: '计轴复位', value: 'AXLE_RESET' },
|
||||
{ label: '计轴区段复位', value: 'AXLE_PRE_RESET' },
|
||||
{ label: '计轴预复位', value: 'PRERESET_Z' },
|
||||
{ label: '试灯', value: 'SD' },
|
||||
{ label: '首末开门', value: 'PSD_SMKM' },
|
||||
{ label: '屏蔽门试灯', value: 'PSD_SD' }
|
||||
],
|
||||
colors: ["red", "yellow", "blue", "green", "gray"],
|
||||
operateWithoutDirections: ["AXLE_RESET", "AXLE_PRE_RESET", "PRERESET_Z", "SD"],
|
||||
colors: ['red', 'yellow', 'blue', 'green', 'gray'],
|
||||
operateWithoutDirections: ['AXLE_RESET', 'AXLE_PRE_RESET', 'PRERESET_Z', 'SD'],
|
||||
form: {
|
||||
code: "",
|
||||
buttonColor: "red",
|
||||
buttonLightColor: "",
|
||||
code: '',
|
||||
buttonColor: 'red',
|
||||
buttonLightColor: '',
|
||||
buttonWidth: 25,
|
||||
x: 10,
|
||||
y: 10,
|
||||
sectionCode: "",
|
||||
mean: "",
|
||||
sectionCode: '',
|
||||
mean: '',
|
||||
direction: null
|
||||
},
|
||||
rules: {
|
||||
code: [{ required: true, message: this.$t("ibp.enterTheButtonCode"), trigger: "blur" }],
|
||||
buttonColor: [{ required: true, message: this.$t("ibp.selectTheButtonColor"), trigger: "change" }],
|
||||
buttonWidth: [{ required: true, message: this.$t("ibp.enterTheButtonWidth"), trigger: "blur" }],
|
||||
sectionCode: [{ required: true, message: "请选择关联区段", trigger: "blur" }]
|
||||
code: [{ required: true, message: this.$t('ibp.enterTheButtonCode'), trigger: 'blur' }],
|
||||
buttonColor: [{ required: true, message: this.$t('ibp.selectTheButtonColor'), trigger: 'change' }],
|
||||
buttonWidth: [{ required: true, message: this.$t('ibp.enterTheButtonWidth'), trigger: 'blur' }],
|
||||
sectionCode: [{ required: true, message: '请选择关联区段', trigger: 'blur' }]
|
||||
},
|
||||
sectionList: [],
|
||||
directions: [{ name: "全部", value: null }, { name: "上行", value: true }, { name: "下行", value: false }]
|
||||
directions: [{ name: '全部', value: null }, { name: '上行', value: true }, { name: '下行', value: false }]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -133,10 +134,10 @@ export default {
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
"$store.state.ibp.rightClickCount": function(val) {
|
||||
const model = this.$store.getters["ibp/updateDeviceData"];
|
||||
if (model._type === "SquareButton") {
|
||||
this.buttonText = this.$t("global.modify");
|
||||
'$store.state.ibp.rightClickCount': function(val) {
|
||||
const model = this.$store.getters['ibp/updateDeviceData'];
|
||||
if (model._type === 'SquareButton') {
|
||||
this.buttonText = this.$t('global.modify');
|
||||
this.showDeleteButton = true;
|
||||
this.isUpdate = true;
|
||||
this.form.code = model.code;
|
||||
@ -159,7 +160,7 @@ export default {
|
||||
// console.log(resp.data);
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message.error("获取区段列表失败!");
|
||||
this.$message.error('获取区段列表失败!');
|
||||
});
|
||||
} else {
|
||||
getSectionListByMapId(this.$route.query.mapId)
|
||||
@ -168,7 +169,7 @@ export default {
|
||||
console.log(resp.data);
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message.error("获取区段列表失败!");
|
||||
this.$message.error('获取区段列表失败!');
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -181,17 +182,17 @@ export default {
|
||||
x: this.form.x,
|
||||
y: this.form.y
|
||||
},
|
||||
_type: "SquareButton",
|
||||
_type: 'SquareButton',
|
||||
code: this.form.code,
|
||||
color: this.form.buttonColor,
|
||||
lightColor: this.form.buttonLightColor,
|
||||
status: "off",
|
||||
status: 'off',
|
||||
width: this.form.buttonWidth,
|
||||
mean: this.form.mean,
|
||||
sectionCode: this.form.sectionCode,
|
||||
direction: this.form.direction
|
||||
};
|
||||
this.$emit("createData", buttonModel);
|
||||
this.$emit('createData', buttonModel);
|
||||
this.initPage();
|
||||
} else {
|
||||
return false;
|
||||
@ -204,39 +205,39 @@ export default {
|
||||
x: this.form.x,
|
||||
y: this.form.y
|
||||
},
|
||||
_type: "SquareButton",
|
||||
_type: 'SquareButton',
|
||||
code: this.form.code,
|
||||
color: this.form.buttonColor,
|
||||
lightColor: this.form.buttonLightColor,
|
||||
status: "off",
|
||||
status: 'off',
|
||||
width: this.form.buttonWidth,
|
||||
mean: this.form.mean,
|
||||
sectionCode: this.form.sectionCode,
|
||||
direction: this.form.direction
|
||||
};
|
||||
this.$emit("deleteDataModel", buttonModel);
|
||||
this.$emit('deleteDataModel', buttonModel);
|
||||
this.initPage();
|
||||
},
|
||||
initPage() {
|
||||
this.isUpdate = false;
|
||||
this.buttonText = this.$t("ibp.createNow");
|
||||
this.buttonText = this.$t('ibp.createNow');
|
||||
this.showDeleteButton = false;
|
||||
this.form = {
|
||||
code: "",
|
||||
buttonColor: "red",
|
||||
buttonLightColor: "",
|
||||
code: '',
|
||||
buttonColor: 'red',
|
||||
buttonLightColor: '',
|
||||
buttonWidth: 25,
|
||||
x: 10,
|
||||
y: 10,
|
||||
mean: "",
|
||||
sectionCode: "",
|
||||
mean: '',
|
||||
sectionCode: '',
|
||||
direction: null
|
||||
};
|
||||
},
|
||||
generateCode() {
|
||||
const mydate = new Date();
|
||||
this.form.code =
|
||||
"sButton_" +
|
||||
'sButton_' +
|
||||
mydate.getDay() +
|
||||
mydate.getHours() +
|
||||
mydate.getMinutes() +
|
||||
|
@ -40,6 +40,16 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="方向">
|
||||
<el-select v-model="form.direction" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="(item, i) in directions"
|
||||
:key="i"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
|
||||
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{ $t('global.delete') }}</el-button>
|
||||
@ -67,13 +77,16 @@ export default {
|
||||
y: 10,
|
||||
topText:'',
|
||||
bottomText:'',
|
||||
textFontSize: 10
|
||||
textFontSize: 10,
|
||||
mean: '',
|
||||
direction: ''
|
||||
},
|
||||
operateMeanList: [
|
||||
{ label: '上行钥匙', value: 'SXYS' },
|
||||
{ label: '下行钥匙', value: 'XXYS' },
|
||||
{ label: '互锁解除', value: 'PSD_HSJC' }
|
||||
{ label: '互锁解除', value: 'PSD_HSJC' }
|
||||
],
|
||||
directions: [{ name: '全部', value: null }, { name: '上行', value: true }, { name: '下行', value: false }],
|
||||
rules: {
|
||||
code: [
|
||||
{ required: true, message: this.$t('rules.enterTheKeyCode'), trigger: 'blur' }
|
||||
@ -112,6 +125,7 @@ export default {
|
||||
this.form.bottomText = model.bottomText;
|
||||
this.form.mean = model.mean;
|
||||
this.form.textFontSize = model.textFontSize;
|
||||
this.form.direction = model.direction;
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -134,6 +148,7 @@ export default {
|
||||
topText:this.form.topText,
|
||||
bottomText:this.form.bottomText,
|
||||
mean:this.form.mean,
|
||||
direction: this.form.direction,
|
||||
textFontSize: this.form.textFontSize
|
||||
};
|
||||
this.$emit('createData', keyModel);
|
||||
@ -158,6 +173,7 @@ export default {
|
||||
topText:this.form.topText,
|
||||
bottomText:this.form.bottomText,
|
||||
mean:this.form.mean,
|
||||
direction: this.form.direction,
|
||||
textFontSize: this.form.textFontSize
|
||||
};
|
||||
this.$emit('deleteDataModel', keyModel);
|
||||
@ -176,6 +192,7 @@ export default {
|
||||
topText:'',
|
||||
bottomText:'',
|
||||
mean:'',
|
||||
direction: '',
|
||||
textFontSize: 10
|
||||
};
|
||||
},
|
||||
|
@ -41,6 +41,8 @@
|
||||
|
||||
<script>
|
||||
import { registerUser } from '@/api/management/user';
|
||||
import { ProjectCode } from '@/scripts/ProjectConfig';
|
||||
import { getSessionStorage } from '@/utils/auth';
|
||||
import md5 from 'js-md5';
|
||||
export default {
|
||||
name: 'Register',
|
||||
@ -129,7 +131,8 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs.ruleForm.validate((valid) => {
|
||||
if (valid) {
|
||||
const data = { email: this.form.email, nickname: this.form.nickname, password: md5(this.form.password) };
|
||||
const project = getSessionStorage('project');
|
||||
const data = { email: this.form.email, nickname: this.form.nickname, password: md5(this.form.password), source: ProjectCode[project] || '' };
|
||||
registerUser(data).then(resp => {
|
||||
this.$message.success('账号注册成功!' );
|
||||
this.doClose();
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="车站股道图"
|
||||
:visible.sync="dialogVisible"
|
||||
:visible="dialogVisible"
|
||||
width="99%"
|
||||
z-index="3000"
|
||||
top="5vh"
|
||||
@ -299,7 +299,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
menu: [{label: '设置自触', handler: this.setTrigger, disabled: false}, {label: '取消自触', handler: this.cancelTrigger, disabled: false}],
|
||||
dialogVisible: true,
|
||||
dialogVisible: false,
|
||||
triggerParam: {},
|
||||
selectCode: '',
|
||||
selectCode1: '',
|
||||
@ -406,7 +406,6 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.dialogVisible = false;
|
||||
},
|
||||
methods: {
|
||||
handleClose() {
|
||||
|
@ -98,8 +98,10 @@ export default {
|
||||
} else {
|
||||
item.buttonShowType = false;
|
||||
item.typeName = this.typeList.find(el => el.value == item.type).label;
|
||||
if (item.vrDeviceCode) {
|
||||
if (item.vrDeviceCode && this.$store.getters['map/getDeviceByCode'](item.vrDeviceCode)) {
|
||||
item.vrDeviceName = this.$store.getters['map/getDeviceByCode'](item.vrDeviceCode).name;
|
||||
} else {
|
||||
item.vrDeviceName = item.vrDeviceCode;
|
||||
}
|
||||
if (this.project == 'heb' || this.project == 'designheb') {
|
||||
if (item.type == 'SWITCH') {
|
||||
|
@ -13,7 +13,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
<el-button-group>
|
||||
<el-button v-if="isCtc" size="small" @click="showLineBoard">占线板</el-button>
|
||||
<el-button v-if="isCtc" size="small" @click="showLineBoard">占线板</el-button>
|
||||
<el-button v-if="userRole=== 'STATION_SUPERVISOR' && !$route.query.projectDevice && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button>
|
||||
<el-button v-if="userRole=== 'DISPATCHER' && !$route.query.projectDevice && hasBigScreen" size="small" @click="goBigScreen">大屏</el-button>
|
||||
<el-button v-if="(userRole==='DISPATCHER' || userRole=== 'STATION_SUPERVISOR') && !$route.query.projectDevice && iscsShow" size="small" @click="goIscs">ISCS</el-button>
|
||||
@ -24,13 +24,13 @@
|
||||
</template>
|
||||
</el-button-group>
|
||||
<el-button v-if="(isAdmin || $route.query.type === 'ILW') && !dataError && !isScreen" size="small" :type="faultMode ? '' : 'primary' " @click="changeOperateMode()">{{ faultMode?' 切换到普通模式[Tab]':'切换到故障模式[Tab]' }}</el-button>
|
||||
<!-- isCenter && !dataError && !isAdmin 此判断用于以后(目前 暂时不用) -->
|
||||
<!-- isCenter && !dataError && !isAdmin 此判断用于以后(目前 暂时不用)786 -->
|
||||
<el-button v-if="isShowDirective" size="small" :type="directiveMode ? 'primary' : ''" @click="changeDirectiveMode()">{{ directiveMode? '切换到普通模式[Tab]':'切换到指令模式[Tab]' }}</el-button>
|
||||
</div>
|
||||
<!-- running && -->
|
||||
<join-run-plan-view v-if="!dataError" ref="runPlanView" :group="group" />
|
||||
<select-ibp ref="selectIbp" />
|
||||
<line-board ref="lineBoard" />
|
||||
<line-board ref="lineBoard" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
@ -52,7 +52,7 @@ export default {
|
||||
components:{
|
||||
JoinRunPlanView,
|
||||
SelectIbp,
|
||||
LineBoard
|
||||
LineBoard
|
||||
},
|
||||
props: {
|
||||
group: {
|
||||
@ -138,12 +138,12 @@ export default {
|
||||
running() {
|
||||
return this.$store.state.training.started;
|
||||
},
|
||||
datie(){
|
||||
return this.$route.query.lineCode == '16'
|
||||
},
|
||||
isCtc() {
|
||||
return !!this.$route.query.ctc
|
||||
},
|
||||
datie() {
|
||||
return this.$route.query.lineCode == '16';
|
||||
},
|
||||
isCtc() {
|
||||
return !!this.$route.query.ctc;
|
||||
},
|
||||
isScreen() {
|
||||
return this.$store.state.training.prdType === '07';
|
||||
},
|
||||
@ -313,9 +313,9 @@ export default {
|
||||
this.$message.error('设置倍速失败!');
|
||||
});
|
||||
},
|
||||
showLineBoard() {
|
||||
this.$refs.lineBoard.doShow();
|
||||
},
|
||||
showLineBoard() {
|
||||
this.$refs.lineBoard.doShow();
|
||||
},
|
||||
// 点击ibp预览
|
||||
goIbp() {
|
||||
// this.$refs.selectIbp.doShow();
|
||||
|
Loading…
Reference in New Issue
Block a user