Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
4668783e72
@ -6,7 +6,7 @@ NODE_ENV = 'development'
|
|||||||
# VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
# VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.3.4:9000'
|
# VUE_APP_BASE_API = 'http://192.168.3.4:9000'
|
||||||
VUE_APP_BASE_API = 'http://192.168.3.6:9000'
|
VUE_APP_BASE_API = 'http://192.168.3.6:9000'
|
||||||
VUE_APP_VOICE_API = 'https://test.joylink.club/jlcloud'
|
VUE_APP_VOICE_API = 'https://test.joylink.club/jlcloud/'
|
||||||
|
|
||||||
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
|
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
|
||||||
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
|
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
|
||||||
|
@ -4,4 +4,4 @@ VUE_APP_PRO = 'local'
|
|||||||
|
|
||||||
# base api
|
# base api
|
||||||
VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
||||||
VUE_APP_VOICE_API = 'https://joylink.club/jlcloud'
|
VUE_APP_VOICE_API = 'https://joylink.club/jlcloud/'
|
||||||
|
@ -3,4 +3,4 @@ NODE_ENV = 'production'
|
|||||||
|
|
||||||
# base api
|
# base api
|
||||||
VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
VUE_APP_BASE_API = 'https://joylink.club/jlcloud'
|
||||||
VUE_APP_VOICE_API = 'https://joylink.club/jlcloud'
|
VUE_APP_VOICE_API = 'https://joylink.club/jlcloud/'
|
||||||
|
@ -3,4 +3,4 @@ NODE_ENV = 'production'
|
|||||||
|
|
||||||
# base api
|
# base api
|
||||||
VUE_APP_BASE_API = 'https://test.joylink.club/jlcloud'
|
VUE_APP_BASE_API = 'https://test.joylink.club/jlcloud'
|
||||||
VUE_APP_VOICE_API = 'https://test.joylink.club/jlcloud'
|
VUE_APP_VOICE_API = 'https://test.joylink.club/jlcloud/'
|
||||||
|
@ -436,11 +436,11 @@ class SkinCode extends defaultStyle {
|
|||||||
grayColor: '#7F7F7F'
|
grayColor: '#7F7F7F'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this[deviceType.StationTurnBack] = { // 站后折返
|
this[deviceType.StationTurnBack] = { // 站后折返
|
||||||
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
spliceShow: true, // 西安二号线特殊显示
|
spliceShow: true, // 西安二号线特殊显示
|
||||||
lamp: {
|
lamp: {
|
||||||
fill: '#FFFF00', // 填充色
|
fill: '#FFFF00', // 填充色
|
||||||
radiusR: 6 // 控制灯大小
|
radiusR: 6 // 控制灯大小
|
||||||
@ -646,14 +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' // 高亮颜色
|
highlightColor: '#fff' // 高亮颜色
|
||||||
};
|
};
|
||||||
this[deviceType.ModeStatusGroup] = { // 车站状态模式
|
this[deviceType.ModeStatusGroup] = { // 车站状态模式
|
||||||
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
@ -713,7 +713,7 @@ class SkinCode extends defaultStyle {
|
|||||||
this[deviceType.Train] = {
|
this[deviceType.Train] = {
|
||||||
trainBody: {
|
trainBody: {
|
||||||
fontFamily: 'consolas',
|
fontFamily: 'consolas',
|
||||||
trainBodyLineWidth: 2, // 车身line宽
|
trainBodyLineWidth: 0, // 车身line宽
|
||||||
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
||||||
specialTrainType: [], // 特殊列车类型需设置显示格式
|
specialTrainType: [], // 特殊列车类型需设置显示格式
|
||||||
lrPadding: 4, // 两边间隔
|
lrPadding: 4, // 两边间隔
|
||||||
@ -728,7 +728,7 @@ class SkinCode extends defaultStyle {
|
|||||||
lrPaddingHSDA: 3, // HSDA两边间隔
|
lrPaddingHSDA: 3, // HSDA两边间隔
|
||||||
upPaddingHSDA: 4, // HSDA上边距离
|
upPaddingHSDA: 4, // HSDA上边距离
|
||||||
trainHSDATextFontSize: 8, // 列车HDSA字号
|
trainHSDATextFontSize: 8, // 列车HDSA字号
|
||||||
textHContent: '扣', // textH文本
|
textHContent: '', // textH文本
|
||||||
textSContent: '跳', // textS文本
|
textSContent: '跳', // textS文本
|
||||||
textDContent: '门', // textD文本
|
textDContent: '门', // textD文本
|
||||||
textAContent: '警' // textA文本
|
textAContent: '警' // textA文本
|
||||||
@ -769,11 +769,12 @@ class SkinCode extends defaultStyle {
|
|||||||
},
|
},
|
||||||
common: {
|
common: {
|
||||||
trainHeight: 20, // 列车高度
|
trainHeight: 20, // 列车高度
|
||||||
trainHeadDistance: 2, // 列车和车头之间的间距
|
trainHeadDistance: 0.3, // 列车和车头之间的间距
|
||||||
trainWidth: 55, // 列车长度
|
trainWidth: 55, // 列车长度
|
||||||
trainTextFontSize: 16, // 列车字号
|
trainTextFontSize: 16, // 列车字号
|
||||||
fontFamily: 'consolas', // 默认字体 族类
|
fontFamily: 'consolas', // 默认字体 族类
|
||||||
haveTextHSDA: true, // 是否需创建textHSDA对象
|
haveTextHSDA: false, // 是否需创建textHSDA对象
|
||||||
|
HSDASpliceShow: true, // 列车扣车特殊显示
|
||||||
haveArrowText: true, // 是否需创建arrowText对象
|
haveArrowText: true, // 是否需创建arrowText对象
|
||||||
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
|
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
|
||||||
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
|
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
|
||||||
|
@ -6,6 +6,7 @@ import EMouse from './EMouse';
|
|||||||
import store from '@/store/index_APP_TARGET';
|
import store from '@/store/index_APP_TARGET';
|
||||||
import Circle from 'zrender/src/graphic/shape/Circle';
|
import Circle from 'zrender/src/graphic/shape/Circle';
|
||||||
import BoundingRect from 'zrender/src/core/BoundingRect';
|
import BoundingRect from 'zrender/src/core/BoundingRect';
|
||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
/** 车身*/
|
/** 车身*/
|
||||||
export default class TrainBody extends Group {
|
export default class TrainBody extends Group {
|
||||||
@ -43,8 +44,11 @@ export default class TrainBody extends Group {
|
|||||||
const tripNumber = style.Train.trainTarget.tripNumberPrefix + (style.Train.trainTarget.defaultDirectionCode
|
const tripNumber = style.Train.trainTarget.tripNumberPrefix + (style.Train.trainTarget.defaultDirectionCode
|
||||||
? (model.directionCode || style.Train.trainTarget.defaultDirectionCode) + (model.tripNumber || style.Train.trainTarget.defaultTripNumber)
|
? (model.directionCode || style.Train.trainTarget.defaultDirectionCode) + (model.tripNumber || style.Train.trainTarget.defaultTripNumber)
|
||||||
: model.tripNumber || style.Train.trainTarget.defaultTripNumber); // 车次号
|
: model.tripNumber || style.Train.trainTarget.defaultTripNumber); // 车次号
|
||||||
const targetCode = style.Train.trainNumber.targetCodePrefix + (model.destinationCode || style.Train.trainNumber.defaultTargetCode); // 目的地码
|
let targetCode = style.Train.trainNumber.targetCodePrefix + (model.destinationCode || style.Train.trainNumber.defaultTargetCode); // 目的地码
|
||||||
const groupNumber = style.Train.trainTargetNumber.groupNumberPrefix + (style.Train.trainTargetNumber.lineNumber || '') + (model.groupNumber || style.Train.trainTargetNumber.defaultGroupNumber); // 车组号
|
const groupNumber = style.Train.trainTargetNumber.groupNumberPrefix + (style.Train.trainTargetNumber.lineNumber || '') + (model.groupNumber || style.Train.trainTargetNumber.defaultGroupNumber); // 车组号
|
||||||
|
if (Vue.prototype.$jlmap.lineCode == '09') { // 暂时先写死 后面有了删掉就好
|
||||||
|
targetCode = '01';
|
||||||
|
}
|
||||||
// 服务号
|
// 服务号
|
||||||
this.textTrainServer = new ETextName({
|
this.textTrainServer = new ETextName({
|
||||||
zlevel: model.zlevel,
|
zlevel: model.zlevel,
|
||||||
@ -120,6 +124,7 @@ export default class TrainBody extends Group {
|
|||||||
zlevel: model.zlevel,
|
zlevel: model.zlevel,
|
||||||
z: model.z,
|
z: model.z,
|
||||||
point: model.point,
|
point: model.point,
|
||||||
|
speed: model.speed,
|
||||||
style: style
|
style: style
|
||||||
});
|
});
|
||||||
const beginX = (model.point.x + style.Train.trainBody.lrPadding);
|
const beginX = (model.point.x + style.Train.trainBody.lrPadding);
|
||||||
@ -280,6 +285,9 @@ export default class TrainBody extends Group {
|
|||||||
if (this.textH) {
|
if (this.textH) {
|
||||||
isShow ? this.textH.show() : this.textH.hide();
|
isShow ? this.textH.show() : this.textH.hide();
|
||||||
}
|
}
|
||||||
|
if (this.style.Train.common.HSDASpliceShow) {
|
||||||
|
isShow ? this.trainBodyBox.buckleTrain() : this.trainBodyBox.release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setSShow(isShow) {
|
setSShow(isShow) {
|
||||||
if (this.textS) {
|
if (this.textS) {
|
||||||
|
@ -37,4 +37,24 @@ export default class TrainBodyBox extends Group {
|
|||||||
return tempRect;
|
return tempRect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 列车扣车
|
||||||
|
buckleTrain() {
|
||||||
|
if (this.trainBodyBox) {
|
||||||
|
this.trainBodyBox.setStyle('fill', 'yellow');
|
||||||
|
if (this.model.speed) { // 列车停稳状态下开始闪烁
|
||||||
|
this.trainBodyBox.animateStyle(true)
|
||||||
|
.when(0, { fill: this.model.style.backgroundColor })
|
||||||
|
.when(1000, { fill: 'yellow' })
|
||||||
|
.when(2000, { fill: this.model.style.backgroundColor })
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 列车放行
|
||||||
|
release() {
|
||||||
|
if (this.trainBodyBox) {
|
||||||
|
this.trainBodyBox.setStyle('fill', this.model.style.Train.trainBody.trainBodyFillColor);
|
||||||
|
this.trainBodyBox.stopAnimation(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -260,14 +260,15 @@ export default {
|
|||||||
this.model.confirmSectionName = '';
|
this.model.confirmSectionName = '';
|
||||||
if (selected) {
|
if (selected) {
|
||||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||||
if (selected.isSwitchSection) {
|
if (selected.type == '03') {
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||||
if (section) {
|
if (section) {
|
||||||
this.model.sectionName = section.name;
|
this.model.sectionName = section.name;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
const hasParentCode = (this.selected.type == '02');
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||||
if (section) {
|
if (section && hasParentCode) {
|
||||||
this.model.sectionName = section.name;
|
this.model.sectionName = section.name;
|
||||||
this.model.sectionName = `${section.name}-${selected.name}`;
|
this.model.sectionName = `${section.name}-${selected.name}`;
|
||||||
} else {
|
} else {
|
||||||
|
@ -218,7 +218,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 切除
|
// 切除
|
||||||
split() {
|
split() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
@ -234,7 +235,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 激活
|
// 激活
|
||||||
active() {
|
active() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
@ -257,7 +259,8 @@ export default {
|
|||||||
// },
|
// },
|
||||||
// 设置速度
|
// 设置速度
|
||||||
setSpeed() {
|
setSpeed() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.setSpeed, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.setSpeed, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
||||||
|
@ -80,7 +80,8 @@ export default {
|
|||||||
// 如果不是因为断点激活则需要,初始化菜单初始值
|
// 如果不是因为断点激活则需要,初始化菜单初始值
|
||||||
if (!this.dialogShow) {
|
if (!this.dialogShow) {
|
||||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||||
this.formModel.sectionName = selected.parentCode ? selected.parentName + '-' + selected.name : selected.name;
|
const hasParentCode = (this.selected.type == '02');
|
||||||
|
this.formModel.sectionName = hasParentCode ? selected.parentName + '-' + selected.name : selected.name;
|
||||||
this.formModel.lengthFact = selected.lengthFact;
|
this.formModel.lengthFact = selected.lengthFact;
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
||||||
if (station) {
|
if (station) {
|
||||||
|
@ -947,7 +947,7 @@ export default {
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
max-height: 550px;
|
max-height: 550px;
|
||||||
overflow-y: scroll;
|
/*overflow-y: scroll;*/
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
width: 4px;
|
width: 4px;
|
||||||
@ -972,10 +972,13 @@ export default {
|
|||||||
line-height: $menuItemHeight;
|
line-height: $menuItemHeight;
|
||||||
width: $menuItemWidth;
|
width: $menuItemWidth;
|
||||||
bottom: $menuItemHeight;
|
bottom: $menuItemHeight;
|
||||||
|
position: relative;
|
||||||
|
left: 180px;
|
||||||
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
position: absolute;
|
/*position: absolute;*/
|
||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ export default {
|
|||||||
if (controlTransfer.applicantId) {
|
if (controlTransfer.applicantId) {
|
||||||
const member = this.$store.state.training.memberData[controlTransfer.applicantId];
|
const member = this.$store.state.training.memberData[controlTransfer.applicantId];
|
||||||
const simulationUserList = this.$store.state.training.simulationUserList;
|
const simulationUserList = this.$store.state.training.simulationUserList;
|
||||||
if (member.type == 'DISPATCHER' && controlTransferList.length > 1) {
|
if (member && member.type == 'DISPATCHER' && controlTransferList.length > 1) {
|
||||||
controlTransferList.forEach(each=>{
|
controlTransferList.forEach(each=>{
|
||||||
this.showDialog(this.$store.state.training.memberData[each.applicantId], each, simulationUserList, [each]);
|
this.showDialog(this.$store.state.training.memberData[each.applicantId], each, simulationUserList, [each]);
|
||||||
});
|
});
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
{ deviceType: '05', orderNum: 4, operateCode: '204', tip: '鼠标左键点击【请求中控】', val: '{2}' },
|
{ deviceType: '05', orderNum: 4, operateCode: '204', tip: '鼠标左键点击【请求中控】', val: '{2}' },
|
||||||
{ deviceType: '05', orderNum: 5, operateCode: '2043', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '05', orderNum: 5, operateCode: '2043', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
{ deviceType: '05', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -68,7 +68,7 @@ export default {
|
|||||||
{ deviceType: '05', orderNum: 4, operateCode: '202', tip: '鼠标左键点击【请求站控】', val: '{2}' },
|
{ deviceType: '05', orderNum: 4, operateCode: '202', tip: '鼠标左键点击【请求站控】', val: '{2}' },
|
||||||
{ deviceType: '05', orderNum: 5, operateCode: '2023', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '05', orderNum: 5, operateCode: '2023', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
{ deviceType: '05', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -88,7 +88,7 @@ export default {
|
|||||||
{ deviceType: '05', orderNum: 5, operateCode: '203', tip: '鼠标左键点击【强制站控】', val: '{2}' },
|
{ deviceType: '05', orderNum: 5, operateCode: '203', tip: '鼠标左键点击【强制站控】', val: '{2}' },
|
||||||
{ deviceType: '05', orderNum: 6, operateCode: '2033', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '05', orderNum: 6, operateCode: '2033', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: 'bar', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
{ deviceType: '05', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -119,7 +119,7 @@ export default {
|
|||||||
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{ // 实训未生成
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Stand_Force_Cancel_Hold_Train',
|
operateType: 'Stand_Force_Cancel_Hold_Train',
|
||||||
|
@ -230,7 +230,8 @@ export default {
|
|||||||
this.model.sectionCode = selected.code;
|
this.model.sectionCode = selected.code;
|
||||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||||
if (section) {
|
const hasParentCode = (this.selected.type == '02');
|
||||||
|
if (section && hasParentCode) {
|
||||||
this.model.sectionName = `${section.name}-${selected.name}(${selected.code})`;
|
this.model.sectionName = `${section.name}-${selected.name}(${selected.code})`;
|
||||||
} else {
|
} else {
|
||||||
this.model.sectionName = `${selected.name}(${selected.code})`;
|
this.model.sectionName = `${selected.name}(${selected.code})`;
|
||||||
|
@ -195,7 +195,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 切除
|
// 切除
|
||||||
split() {
|
split() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
@ -212,7 +213,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 区段激活
|
// 区段激活
|
||||||
active() {
|
active() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
|
@ -221,7 +221,6 @@ export default {
|
|||||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
@ -766,8 +765,8 @@ export default {
|
|||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Signal_Set_Auto_Turn_Back',
|
operateType: 'Signal_Set_Auto_Turn_Back',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '设置自动折返进路({3})',
|
trainingName: '设置自动折返({3})',
|
||||||
trainingRemark: '设置自动折返进路',
|
trainingRemark: '设置自动折返',
|
||||||
trainingType: 'Signal',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
@ -780,14 +779,32 @@ export default {
|
|||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Signal_Cancel_Auto_Turn_Back',
|
operateType: 'Signal_Cancel_Auto_Turn_Back',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: ' 取消自动折返进路({3})',
|
trainingName: ' 取消自动折返({3})',
|
||||||
trainingRemark: ' 取消自动折返进路',
|
trainingRemark: ' 取消自动折返',
|
||||||
trainingType: 'Signal',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '05', orderNum: 1, operateCode: '901', tip: '鼠标右键菜单选择【取消自动折返】'},
|
{ deviceType: '05', orderNum: 1, operateCode: '901', tip: '鼠标右键菜单选择【取消自动折返】'},
|
||||||
{ deviceType: '05', orderNum: 2, operateCode: '901', tip: '鼠标左键点击【应用】' }
|
{ deviceType: '05', orderNum: 2, operateCode: '901', tip: '鼠标左键点击【应用】' }
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
maxDuration: 20,
|
||||||
|
minDuration: 15,
|
||||||
|
operateType: 'Cancel_All_Limit_Speed',
|
||||||
|
skinCode: '06',
|
||||||
|
trainingName: ' 取消全线临时限速',
|
||||||
|
trainingRemark: ' 取消全线临时限速',
|
||||||
|
trainingType: 'LimitControl',
|
||||||
|
productTypes: ['02'],
|
||||||
|
stepVOList: [
|
||||||
|
{ deviceType: '10', orderNum: 1, operateCode: '800', tip: '鼠标右键菜单选择【取消全线临时限速】'},
|
||||||
|
{ deviceType: '10', orderNum: 2, operateCode: '8001', tip: '鼠标左键点击【打开会话】'},
|
||||||
|
{ deviceType: '10', orderNum: 3, operateCode: '8003', tip: '鼠标左键点击【确认】'},
|
||||||
|
{ deviceType: '10', orderNum: 4, operateCode: '8004', tip: '鼠标左键点击【确认】'},
|
||||||
|
{ deviceType: '10', orderNum: 5, operateCode: '8005', tip: '鼠标左键点击【关闭】'},
|
||||||
|
{ deviceType: '10', orderNum: 6, operateCode: '8006', tip: '鼠标左键点击【确认】' }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -230,7 +230,8 @@ export default {
|
|||||||
this.model.sectionCode = selected.code;
|
this.model.sectionCode = selected.code;
|
||||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||||
if (section) {
|
const hasParentCode = (this.selected.type == '02');
|
||||||
|
if (section && hasParentCode) {
|
||||||
this.model.sectionName = `${section.name}-${selected.name}(${selected.code})`;
|
this.model.sectionName = `${section.name}-${selected.name}(${selected.code})`;
|
||||||
} else {
|
} else {
|
||||||
this.model.sectionName = `${selected.name}(${selected.code})`;
|
this.model.sectionName = `${selected.name}(${selected.code})`;
|
||||||
|
@ -195,7 +195,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 切除
|
// 切除
|
||||||
split() {
|
split() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.split, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
@ -212,7 +213,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 区段激活
|
// 区段激活
|
||||||
active() {
|
active() {
|
||||||
const sectionCode = this.selected.parentCode ? this.selected.parentCode : this.selected.code;
|
const hasParentCode = (this.selected.type == '02' || this.selected.type == '03');
|
||||||
|
const sectionCode = hasParentCode ? this.selected.parentCode : this.selected.code;
|
||||||
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.active, {sectionCode:sectionCode}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||||
|
@ -66,6 +66,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ChangeTID',
|
name: 'ChangeTID',
|
||||||
@ -116,13 +117,48 @@ export default {
|
|||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
this.groupNumber = selected.code;
|
this.groupNumber = selected.code;
|
||||||
this.tid = selected.tripNumber;
|
this.tid = selected.serviceNumber;
|
||||||
this.operate = step;
|
this.operate = step;
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
|
if (this.isUpdate) {
|
||||||
|
this.setTrainNumber();
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 更改列车车次
|
||||||
|
setTrainNumber() {
|
||||||
|
const step = {
|
||||||
|
over: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
|
operation: OperationEvent.Train.setTrainNumber.menu.operation,
|
||||||
|
cmdType: CMD.Train.CMD_TRAIN_CHANGE_TRIP_NUMBER,
|
||||||
|
param: {
|
||||||
|
groupNumber: this.selected.groupNumber,
|
||||||
|
serviceNumber: this.newTid
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
// this.$store.dispatch('menuOperation/pushRequestList', {
|
||||||
|
// device: this.selected,
|
||||||
|
// operation: { code: OperationEvent.Train.setTrainNumber.menu.operation, name: '更改列车车次'},
|
||||||
|
// cmdType: CMD.Train.CMD_TRAIN_CHANGE_TRIP_NUMBER,
|
||||||
|
// param: step.param
|
||||||
|
// });
|
||||||
|
this.doClose();
|
||||||
|
} else {
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.doClose();
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -126,12 +126,12 @@ export default {
|
|||||||
children:[
|
children:[
|
||||||
{
|
{
|
||||||
label: '扣车',
|
label: '扣车',
|
||||||
handler: this.undeveloped,
|
handler: this.setDetainTrain,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '发车 ',
|
label: '发车 ',
|
||||||
handler: this.undeveloped,
|
handler: this.setTrainDeparture,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -445,6 +445,40 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 设置扣车
|
||||||
|
setDetainTrain() {
|
||||||
|
const step = {
|
||||||
|
over: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
|
operation: OperationEvent.Train.setDetainTrain.menu.operation,
|
||||||
|
cmdType: CMD.Train.CMD_TRAIN_HOLD,
|
||||||
|
param: {
|
||||||
|
groupNumber: this.selected.groupNumber
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
|
|
||||||
|
}).catch(() => {
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 列车发车
|
||||||
|
setTrainDeparture() {
|
||||||
|
const step = {
|
||||||
|
over: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
|
operation: OperationEvent.Train.setTrainDeparture.menu.operation,
|
||||||
|
cmdType: CMD.Train.CMD_TRAIN_CANCEL_HOLD,
|
||||||
|
param: {
|
||||||
|
groupNumber: this.selected.groupNumber
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
|
|
||||||
|
}).catch(() => {
|
||||||
|
this.$refs.noticeInfo.doShow(step);
|
||||||
|
});
|
||||||
|
},
|
||||||
deletDestionation() {
|
deletDestionation() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
@ -149,7 +149,8 @@ export default {
|
|||||||
{ label: '控制模式', value: 'ControlConvertMenu' },
|
{ label: '控制模式', value: 'ControlConvertMenu' },
|
||||||
{ label: '车次窗', value: 'TrainWindow' },
|
{ label: '车次窗', value: 'TrainWindow' },
|
||||||
{ label: '全线限速', value: 'LimitControl' },
|
{ label: '全线限速', value: 'LimitControl' },
|
||||||
{ label: '司机', value: 'Driver' }
|
{ label: '司机', value: 'Driver' },
|
||||||
|
{ label: '列车', value: 'Train' }
|
||||||
],
|
],
|
||||||
|
|
||||||
simulationDeviceList:[
|
simulationDeviceList:[
|
||||||
|
@ -220,7 +220,10 @@ export default {
|
|||||||
/** 越信号机红灯 */
|
/** 越信号机红灯 */
|
||||||
CMD_TRAIN_PASS_RED_SIGNAL: {value:'Train_Pass_Red_Signal', label: '越信号机红灯'},
|
CMD_TRAIN_PASS_RED_SIGNAL: {value:'Train_Pass_Red_Signal', label: '越信号机红灯'},
|
||||||
/** 引导信号行车 */
|
/** 引导信号行车 */
|
||||||
CMD_TRAIN_DRIVE_BY_GUIDE_SIGNAL: {value:'Train_Drive_By_Guide_Signal', label: '引导信号行车'}
|
CMD_TRAIN_DRIVE_BY_GUIDE_SIGNAL: {value:'Train_Drive_By_Guide_Signal', label: '引导信号行车'},
|
||||||
|
CMD_TRAIN_HOLD: {value:'Train_Hold', label: '列车扣车'},
|
||||||
|
CMD_TRAIN_CANCEL_HOLD: {value:'Train_Cancel_Hold', label: '列车发车'},
|
||||||
|
CMD_TRAIN_CHANGE_TRIP_NUMBER: {value:'Train_Change_Trip_Number', label: '更改列车车次'}
|
||||||
},
|
},
|
||||||
TrainWindow: {
|
TrainWindow: {
|
||||||
/** 修改列车识别号 */
|
/** 修改列车识别号 */
|
||||||
|
@ -2262,6 +2262,27 @@ export const OperationEvent = {
|
|||||||
operation: '70j2',
|
operation: '70j2',
|
||||||
domId: '_Tips-Train-updateIdleRunningMode-Choose'
|
domId: '_Tips-Train-updateIdleRunningMode-Choose'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 设置扣车
|
||||||
|
setDetainTrain: {
|
||||||
|
menu: {
|
||||||
|
operation: '70k',
|
||||||
|
domId: '_Tips-Train-setDetainTrain-Menu'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 列车发车
|
||||||
|
setTrainDeparture: {
|
||||||
|
menu: {
|
||||||
|
operation: '70l',
|
||||||
|
domId: '_Tips-Train-setTrainDeparture-Menu'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 更改列车车次
|
||||||
|
setTrainNumber: {
|
||||||
|
menu: {
|
||||||
|
operation: '70m',
|
||||||
|
domId: '_Tips-Train-setTrainNumber-Menu'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -490,7 +490,7 @@ const training = {
|
|||||||
// 处理operation
|
// 处理operation
|
||||||
Handler.handle(operate).then(rtn => {
|
Handler.handle(operate).then(rtn => {
|
||||||
if (state.started) {
|
if (state.started) {
|
||||||
// 教学和联系模式需要给出过程步骤提示
|
// 教学和联系模式需要给出过程步骤提示
|
||||||
if (TrainingMode.TEACH === state.mode || TrainingMode.PRACTICE === state.mode) {
|
if (TrainingMode.TEACH === state.mode || TrainingMode.PRACTICE === state.mode) {
|
||||||
if (rtn && rtn.valid) {
|
if (rtn && rtn.valid) {
|
||||||
commit('next');
|
commit('next');
|
||||||
|
@ -34,7 +34,8 @@ export default {
|
|||||||
{ label: this.$t('lesson.platform'), value: '06' },
|
{ label: this.$t('lesson.platform'), value: '06' },
|
||||||
{ label: this.$t('lesson.train'), value: '07' },
|
{ label: this.$t('lesson.train'), value: '07' },
|
||||||
{ label: this.$t('lesson.station'), value: '08' },
|
{ label: this.$t('lesson.station'), value: '08' },
|
||||||
{ label: this.$t('lesson.trainWindow'), value: '09' }
|
{ label: this.$t('lesson.trainWindow'), value: '09' },
|
||||||
|
{ label: '全线限速', value: '10' }
|
||||||
],
|
],
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
pageSize: 'pageSize',
|
pageSize: 'pageSize',
|
||||||
@ -119,6 +120,7 @@ export default {
|
|||||||
}
|
}
|
||||||
return fieldValue;
|
return fieldValue;
|
||||||
}
|
}
|
||||||
|
return fieldValue;
|
||||||
},
|
},
|
||||||
queryFunction(params) {
|
queryFunction(params) {
|
||||||
return getOperateStepDataList(this.dicId, params);
|
return getOperateStepDataList(this.dicId, params);
|
||||||
|
@ -167,7 +167,8 @@ export default {
|
|||||||
this.memberIdList = [];
|
this.memberIdList = [];
|
||||||
if (memberList && memberList.length) {
|
if (memberList && memberList.length) {
|
||||||
memberList.forEach(member => {
|
memberList.forEach(member => {
|
||||||
if (member && !(member.children) && (member.userId == '' || member.userId)) {
|
// (!member.userId)
|
||||||
|
if (member && !(member.children)) {
|
||||||
this.userString += member.label + ',';
|
this.userString += member.label + ',';
|
||||||
this.memberIdList.push(member.id);
|
this.memberIdList.push(member.id);
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
@switchMode="switchMode" -->
|
@switchMode="switchMode" -->
|
||||||
|
|
||||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||||
|
<scene-list ref="sceneList" @selectQuest="selectQuest" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -60,6 +61,7 @@
|
|||||||
import SetTime from '../demon/setTime';
|
import SetTime from '../demon/setTime';
|
||||||
import DemonMenu from '../demonMenu';
|
import DemonMenu from '../demonMenu';
|
||||||
import DemonChat from '../demonChat';
|
import DemonChat from '../demonChat';
|
||||||
|
import SceneList from './sceneList';
|
||||||
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
||||||
import { getGoodsTryUse } from '@/api/management/goods';
|
import { getGoodsTryUse } from '@/api/management/goods';
|
||||||
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||||
@ -80,7 +82,8 @@ export default {
|
|||||||
SetTime,
|
SetTime,
|
||||||
DemonChat,
|
DemonChat,
|
||||||
MenuSchema,
|
MenuSchema,
|
||||||
DemonMenu
|
DemonMenu,
|
||||||
|
SceneList
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
offset: {
|
offset: {
|
||||||
@ -436,7 +439,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
fieldPractice() {
|
fieldPractice() {
|
||||||
this.$refs.menuSchema.viewRunQuest();
|
this.$refs.sceneList.doShow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
149
src/views/newMap/displayNew/dispatherContest/sceneList.vue
Normal file
149
src/views/newMap/displayNew/dispatherContest/sceneList.vue
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog v-dialogDrag title="场景列表" :visible.sync="dialogVisible" width="800px" center>
|
||||||
|
<el-tabs v-model="activeName" type="card" style="height: 450px;">
|
||||||
|
<el-tab-pane label="主场景列表" name="first">
|
||||||
|
<el-table :data="mainSceneData" border :span-method="objectSpanMethod" stripe :cell-style="{padding: '8px 0'}">
|
||||||
|
<el-table-column type="index" width="50" label="序号" />
|
||||||
|
<el-table-column prop="type" width="200" label="类别" />
|
||||||
|
<el-table-column prop="scene" width="350" label="场景" />
|
||||||
|
<el-table-column label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button v-if="scope.row.id" type="primary" size="small" @click="handleLoad(scope.row)">加载</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="副场景列表" name="second">
|
||||||
|
<el-table :data="deputySceneData" border stripe>
|
||||||
|
<el-table-column type="index" width="50" label="序号" />
|
||||||
|
<el-table-column prop="scene" width="550" label="场景" />
|
||||||
|
<el-table-column label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button v-if="scope.row.id" type="text" size="small" @click="handleLoad(scope.row)">加载</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {getScriptByIdNew } from '@/api/script';
|
||||||
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
import Cookies from 'js-cookie';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name:'ChangeMap',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
projectMapList:[],
|
||||||
|
dialogVisible: false,
|
||||||
|
selectMapId:'',
|
||||||
|
form: {
|
||||||
|
type: ''
|
||||||
|
},
|
||||||
|
row: '',
|
||||||
|
activeName: 'first',
|
||||||
|
memberList: [],
|
||||||
|
memberId:'',
|
||||||
|
selectMapLineCode:'',
|
||||||
|
mainSceneData: [
|
||||||
|
{type: '车辆故障', scene: '列车救援'},
|
||||||
|
{type: '信号系统故障', scene: '道岔故障', id: '11'},
|
||||||
|
{type: '信号系统故障', scene: '区域控制器故障'},
|
||||||
|
{type: '信号系统故障', scene: '联锁故障'},
|
||||||
|
{type: '供电系统故障', scene: '接触轨(网)断电'},
|
||||||
|
{type: '供电系统故障', scene: '车站照明熄灭影响乘降'},
|
||||||
|
{type: '车站机电设备故障', scene: '站台门故障'},
|
||||||
|
{type: '轨道故障', scene: '线路故障影响列车运行'}
|
||||||
|
],
|
||||||
|
deputySceneData: [
|
||||||
|
{ scene: '列车在站停车超时' },
|
||||||
|
{ scene: '列车无移动授权(站间区间或车站)' },
|
||||||
|
{ scene: '信号机故障(防护、分界点、出站等)' },
|
||||||
|
{ scene: '站台门关不上(单个或多个)' },
|
||||||
|
{ scene: '客流激增行车处置' },
|
||||||
|
{ scene: '路网协调请求(限流、换乘站通过)' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
doShow(row) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.dialogVisible = false;
|
||||||
|
},
|
||||||
|
async handleLoad(row) {
|
||||||
|
this.row = row;
|
||||||
|
const res = await getScriptByIdNew(row.id);
|
||||||
|
this.memberId = '';
|
||||||
|
if (res.code == 200) {
|
||||||
|
EventBus.$emit('clearRunSeries');
|
||||||
|
if (res.data.memberList && res.data.memberList.length > 0) {
|
||||||
|
this.form.type = '';
|
||||||
|
this.$store.dispatch('training/setMemberList', {memberList:res.data.memberList, userId:this.$store.state.user.id});
|
||||||
|
const activeMemberList = [];
|
||||||
|
res.data.actionList.forEach((activeMember)=>{
|
||||||
|
if (!(activeMemberList.length > 0 && activeMemberList.includes(activeMember.memberId))) {
|
||||||
|
activeMemberList.push(activeMember.memberId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const playerList = res.data.memberList.filter(member=>{
|
||||||
|
return activeMemberList.includes(member.id);
|
||||||
|
});
|
||||||
|
playerList.map(member=>{
|
||||||
|
if (!member.deviceName && member.deviceCode) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||||
|
if (device.name) {
|
||||||
|
member.deviceName = device.name;
|
||||||
|
} else {
|
||||||
|
member.deviceName = member.deviceCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (member.type === 'DISPATCHER') {
|
||||||
|
this.memberId = member.id;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (res.data.mapLocation) {
|
||||||
|
this.mapLocation = res.data.mapLocation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.confirm();
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$emit('selectQuest', {row:this.row, id:this.memberId, mapLocation:this.mapLocation});
|
||||||
|
this.doClose();
|
||||||
|
},
|
||||||
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||||
|
if (rowIndex === 1 && columnIndex === 1) {
|
||||||
|
return {
|
||||||
|
rowspan: 3,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
} else if (rowIndex === 4 && columnIndex === 1) {
|
||||||
|
return {
|
||||||
|
rowspan: 2,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
} else if ((rowIndex === 2 || rowIndex === 3 || rowIndex === 5) && columnIndex === 1) {
|
||||||
|
return {
|
||||||
|
rowspan: 0,
|
||||||
|
colspan: 0
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
rowspan: 1,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -209,7 +209,6 @@ export default {
|
|||||||
this.textStatusHeight = textStatus.offsetHeight || 0;
|
this.textStatusHeight = textStatus.offsetHeight || 0;
|
||||||
textStatus.style.top = this.offset - 15 + 'px';
|
textStatus.style.top = this.offset - 15 + 'px';
|
||||||
}
|
}
|
||||||
console.log(this.offset, '*************');
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 缩放设置
|
// 缩放设置
|
||||||
|
@ -155,7 +155,7 @@ function covertOperation(deviceType, operationParamMap, operationType) {
|
|||||||
deviceName += '【车站-' + station.name + '】/';
|
deviceName += '【车站-' + station.name + '】/';
|
||||||
}
|
}
|
||||||
if (device._type == 'Section') {
|
if (device._type == 'Section') {
|
||||||
if (device.parentCode) {
|
if (device.parentCode && device.type == '02') {
|
||||||
const parentSection = store.getters['map/getDeviceByCode'](device.parentCode);
|
const parentSection = store.getters['map/getDeviceByCode'](device.parentCode);
|
||||||
deviceName += '【' + operateEnum[deviceType].type + ' ' + parentSection.name + '-' + device.name + '】';
|
deviceName += '【' + operateEnum[deviceType].type + ' ' + parentSection.name + '-' + device.name + '】';
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {covertOperate} from './covertOperation.js';
|
import {covertOperate} from './covertOperation.js';
|
||||||
|
import LangStorage from '@/utils/lang';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:'ScriptTip',
|
name:'ScriptTip',
|
||||||
props: {
|
props: {
|
||||||
@ -61,11 +63,22 @@ export default {
|
|||||||
'$store.state.socket.simulationScriptTipFinish':function(val, old) {
|
'$store.state.socket.simulationScriptTipFinish':function(val, old) {
|
||||||
// 剧本某一步骤完成消息推送
|
// 剧本某一步骤完成消息推送
|
||||||
this.scriptTipMessage = '';
|
this.scriptTipMessage = '';
|
||||||
|
this.tipInfo({ message: LangStorage.getLang() == 'en' ? "Correct operation! That's great!" : '操作正确!真棒!', color: 'green' });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
resetScriptTip() {
|
resetScriptTip() {
|
||||||
this.scriptTipMessage = '';
|
this.scriptTipMessage = '';
|
||||||
|
},
|
||||||
|
tipInfo(opt) {
|
||||||
|
if (opt && opt.hasOwnProperty('color') && opt.hasOwnProperty('message')) {
|
||||||
|
const h = this.$createElement;
|
||||||
|
this.$notify({
|
||||||
|
title: this.$t('global.tips'),
|
||||||
|
|
||||||
|
message: h('i', { style: 'color:' + opt.color }, opt.message)
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -129,7 +129,7 @@ export default {
|
|||||||
},
|
},
|
||||||
'$store.state.training.rezoomCount': function () {
|
'$store.state.training.rezoomCount': function () {
|
||||||
let code = this.$store.state.training.offsetStationCode; // 偏移集中站坐标
|
let code = this.$store.state.training.offsetStationCode; // 偏移集中站坐标
|
||||||
if (code && code.includes('TurnedAround')) { // 单独处理 自动折返
|
if (code && code.includes('Cycle')) { // 单独处理 自动折返
|
||||||
const cycleButtonList = this.$store.state.map.map.cycleButtonList;
|
const cycleButtonList = this.$store.state.map.map.cycleButtonList;
|
||||||
if (cycleButtonList && cycleButtonList.length > 0) {
|
if (cycleButtonList && cycleButtonList.length > 0) {
|
||||||
cycleButtonList.forEach(element => {
|
cycleButtonList.forEach(element => {
|
||||||
|
@ -106,7 +106,7 @@ export default {
|
|||||||
var position = null;
|
var position = null;
|
||||||
// 单独处理 自动折返
|
// 单独处理 自动折返
|
||||||
const newStep = Object.assign({}, step);
|
const newStep = Object.assign({}, step);
|
||||||
if (newStep.code.includes('TurnedAround')) {
|
if (newStep.code.includes('Cycle')) {
|
||||||
const buttonList = this.$store.state.map.map.cycleButtonList;
|
const buttonList = this.$store.state.map.map.cycleButtonList;
|
||||||
if (buttonList && buttonList.length > 0) {
|
if (buttonList && buttonList.length > 0) {
|
||||||
buttonList.forEach(element => {
|
buttonList.forEach(element => {
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
<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">
|
||||||
<fieldset v-if="editModel.type == 'StationTurnBack'" class="card-box">
|
<fieldset v-if="editModel.type == 'StationTurnBack'" class="card-box">
|
||||||
<legend class="card_title">站后折返数据</legend>
|
<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="50px" />
|
<el-table-column prop="id" label="编号" width="50px" />
|
||||||
<el-table-column prop="label" label="描述" />
|
<el-table-column prop="label" label="描述" />
|
||||||
<el-table-column label="配置默认" width="100px">
|
<el-table-column label="配置默认" width="100px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-checkbox @click.native.prevent="checkOverlab(editModel.optionList, scope.$index)" v-model="scope.row.checked"></el-checkbox>
|
<el-checkbox v-model="scope.row.checked" @click.native.prevent="checkOverlab(editModel.optionList, scope.$index)" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="100px">
|
<el-table-column label="操作" width="100px">
|
||||||
@ -127,8 +127,8 @@ export default {
|
|||||||
type: '',
|
type: '',
|
||||||
name: '',
|
name: '',
|
||||||
show: true, // 站后折返显示
|
show: true, // 站后折返显示
|
||||||
subtitleName: '',
|
subtitleName: '',
|
||||||
initId: '',
|
initId: '',
|
||||||
optionList: [], // 战后折返列表
|
optionList: [], // 战后折返列表
|
||||||
automaticRouteCode: '', // 关联自动进路code
|
automaticRouteCode: '', // 关联自动进路code
|
||||||
cycleCode: '', // 自动折返关联code
|
cycleCode: '', // 自动折返关联code
|
||||||
@ -316,8 +316,8 @@ export default {
|
|||||||
code: '',
|
code: '',
|
||||||
type: '',
|
type: '',
|
||||||
name: '',
|
name: '',
|
||||||
show: true, // 站后折返显示
|
show: true, // 站后折返显示
|
||||||
initId: '',
|
initId: '',
|
||||||
subtitleName: '',
|
subtitleName: '',
|
||||||
optionList: [], // 战后折返列表
|
optionList: [], // 战后折返列表
|
||||||
automaticRouteCode: '', // 关联自动进路code
|
automaticRouteCode: '', // 关联自动进路code
|
||||||
@ -387,13 +387,15 @@ 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 => {
|
if (selected.optionList) {
|
||||||
item.checked = false;
|
selected.optionList.forEach(item => {
|
||||||
if (item.id == selected.initId) {
|
item.checked = false;
|
||||||
item.checked = true;
|
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(() => {
|
||||||
@ -454,8 +456,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, '=====');
|
console.log(data, '=====');
|
||||||
this.$emit('updateMapModel', data);
|
this.$emit('updateMapModel', data);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -483,18 +485,18 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$emit('deviceSelect', '');
|
this.$emit('deviceSelect', '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkOverlab(list, index) {
|
checkOverlab(list, index) {
|
||||||
list.forEach((item, i) => {
|
list.forEach((item, i) => {
|
||||||
if (i != index) {
|
if (i != index) {
|
||||||
item.checked = false;
|
item.checked = false;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
list[index].checked = !list[index].checked;
|
list[index].checked = !list[index].checked;
|
||||||
if (list[index].checked) {
|
if (list[index].checked) {
|
||||||
this.editModel.initId = list[index].id;
|
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';
|
||||||
@ -510,8 +512,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,
|
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);
|
||||||
@ -528,8 +530,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,
|
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();
|
||||||
|
@ -136,7 +136,7 @@ export default {
|
|||||||
{ prop: 'namePosition.x', firstLevel: 'namePosition', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
|
{ prop: 'namePosition.x', firstLevel: 'namePosition', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
|
||||||
{ prop: 'namePosition.y', firstLevel: 'namePosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
|
{ prop: 'namePosition.y', firstLevel: 'namePosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
|
||||||
] },
|
] },
|
||||||
{ prop: 'type', label: this.$t('map.sectionType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionTypeList }, // 区段类型
|
{ prop: 'type', label: this.$t('map.sectionType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionTypeList, disabled: true }, // 区段类型
|
||||||
{ prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType, deviceChange: this.roadTypeChange },
|
{ prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType, deviceChange: this.roadTypeChange },
|
||||||
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, // 左关联区段
|
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, // 左关联区段
|
||||||
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, // 右关联区段
|
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, // 右关联区段
|
||||||
|
Loading…
Reference in New Issue
Block a user