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 = 'http://192.168.3.4: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,
|
||||
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
|
||||
|
@ -4,4 +4,4 @@ VUE_APP_PRO = 'local'
|
||||
|
||||
# base api
|
||||
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
|
||||
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
|
||||
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/'
|
||||
|
@ -713,7 +713,7 @@ class SkinCode extends defaultStyle {
|
||||
this[deviceType.Train] = {
|
||||
trainBody: {
|
||||
fontFamily: 'consolas',
|
||||
trainBodyLineWidth: 2, // 车身line宽
|
||||
trainBodyLineWidth: 0, // 车身line宽
|
||||
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
||||
specialTrainType: [], // 特殊列车类型需设置显示格式
|
||||
lrPadding: 4, // 两边间隔
|
||||
@ -728,7 +728,7 @@ class SkinCode extends defaultStyle {
|
||||
lrPaddingHSDA: 3, // HSDA两边间隔
|
||||
upPaddingHSDA: 4, // HSDA上边距离
|
||||
trainHSDATextFontSize: 8, // 列车HDSA字号
|
||||
textHContent: '扣', // textH文本
|
||||
textHContent: '', // textH文本
|
||||
textSContent: '跳', // textS文本
|
||||
textDContent: '门', // textD文本
|
||||
textAContent: '警' // textA文本
|
||||
@ -769,11 +769,12 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
common: {
|
||||
trainHeight: 20, // 列车高度
|
||||
trainHeadDistance: 2, // 列车和车头之间的间距
|
||||
trainHeadDistance: 0.3, // 列车和车头之间的间距
|
||||
trainWidth: 55, // 列车长度
|
||||
trainTextFontSize: 16, // 列车字号
|
||||
fontFamily: 'consolas', // 默认字体 族类
|
||||
haveTextHSDA: true, // 是否需创建textHSDA对象
|
||||
haveTextHSDA: false, // 是否需创建textHSDA对象
|
||||
HSDASpliceShow: true, // 列车扣车特殊显示
|
||||
haveArrowText: true, // 是否需创建arrowText对象
|
||||
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
|
||||
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
|
||||
|
@ -6,6 +6,7 @@ import EMouse from './EMouse';
|
||||
import store from '@/store/index_APP_TARGET';
|
||||
import Circle from 'zrender/src/graphic/shape/Circle';
|
||||
import BoundingRect from 'zrender/src/core/BoundingRect';
|
||||
import Vue from 'vue';
|
||||
|
||||
/** 车身*/
|
||||
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
|
||||
? (model.directionCode || style.Train.trainTarget.defaultDirectionCode) + (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); // 车组号
|
||||
if (Vue.prototype.$jlmap.lineCode == '09') { // 暂时先写死 后面有了删掉就好
|
||||
targetCode = '01';
|
||||
}
|
||||
// 服务号
|
||||
this.textTrainServer = new ETextName({
|
||||
zlevel: model.zlevel,
|
||||
@ -120,6 +124,7 @@ export default class TrainBody extends Group {
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
point: model.point,
|
||||
speed: model.speed,
|
||||
style: style
|
||||
});
|
||||
const beginX = (model.point.x + style.Train.trainBody.lrPadding);
|
||||
@ -280,6 +285,9 @@ export default class TrainBody extends Group {
|
||||
if (this.textH) {
|
||||
isShow ? this.textH.show() : this.textH.hide();
|
||||
}
|
||||
if (this.style.Train.common.HSDASpliceShow) {
|
||||
isShow ? this.trainBodyBox.buckleTrain() : this.trainBodyBox.release();
|
||||
}
|
||||
}
|
||||
setSShow(isShow) {
|
||||
if (this.textS) {
|
||||
|
@ -37,4 +37,24 @@ export default class TrainBodyBox extends Group {
|
||||
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 = '';
|
||||
if (selected) {
|
||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||
if (selected.isSwitchSection) {
|
||||
if (selected.type == '03') {
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||
if (section) {
|
||||
this.model.sectionName = section.name;
|
||||
}
|
||||
} else {
|
||||
const hasParentCode = (this.selected.type == '02');
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||
if (section) {
|
||||
if (section && hasParentCode) {
|
||||
this.model.sectionName = section.name;
|
||||
this.model.sectionName = `${section.name}-${selected.name}`;
|
||||
} else {
|
||||
|
@ -218,7 +218,8 @@ export default {
|
||||
},
|
||||
// 切除
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
@ -234,7 +235,8 @@ export default {
|
||||
},
|
||||
// 激活
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
@ -257,7 +259,8 @@ export default {
|
||||
// },
|
||||
// 设置速度
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
||||
|
@ -80,7 +80,8 @@ export default {
|
||||
// 如果不是因为断点激活则需要,初始化菜单初始值
|
||||
if (!this.dialogShow) {
|
||||
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;
|
||||
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
||||
if (station) {
|
||||
|
@ -947,7 +947,7 @@ export default {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
max-height: 550px;
|
||||
overflow-y: scroll;
|
||||
/*overflow-y: scroll;*/
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
@ -972,10 +972,13 @@ export default {
|
||||
line-height: $menuItemHeight;
|
||||
width: $menuItemWidth;
|
||||
bottom: $menuItemHeight;
|
||||
position: relative;
|
||||
left: 180px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.active {
|
||||
position: absolute;
|
||||
/*position: absolute;*/
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
|
@ -189,7 +189,7 @@ export default {
|
||||
if (controlTransfer.applicantId) {
|
||||
const member = this.$store.state.training.memberData[controlTransfer.applicantId];
|
||||
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=>{
|
||||
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: 5, operateCode: '2043', 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: 5, operateCode: '2023', 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: 6, operateCode: '2033', 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: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
{ // 实训未生成
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Stand_Force_Cancel_Hold_Train',
|
||||
|
@ -230,7 +230,8 @@ export default {
|
||||
this.model.sectionCode = selected.code;
|
||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||
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})`;
|
||||
} else {
|
||||
this.model.sectionName = `${selected.name}(${selected.code})`;
|
||||
|
@ -195,7 +195,8 @@ export default {
|
||||
},
|
||||
// 切除
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
@ -212,7 +213,8 @@ export default {
|
||||
},
|
||||
// 区段激活
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
|
@ -221,7 +221,6 @@ export default {
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -766,8 +765,8 @@ export default {
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Set_Auto_Turn_Back',
|
||||
skinCode: '06',
|
||||
trainingName: '设置自动折返进路({3})',
|
||||
trainingRemark: '设置自动折返进路',
|
||||
trainingName: '设置自动折返({3})',
|
||||
trainingRemark: '设置自动折返',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
@ -780,14 +779,32 @@ export default {
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Cancel_Auto_Turn_Back',
|
||||
skinCode: '06',
|
||||
trainingName: ' 取消自动折返进路({3})',
|
||||
trainingRemark: ' 取消自动折返进路',
|
||||
trainingName: ' 取消自动折返({3})',
|
||||
trainingRemark: ' 取消自动折返',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '05', orderNum: 1, 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;
|
||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||
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})`;
|
||||
} else {
|
||||
this.model.sectionName = `${selected.name}(${selected.code})`;
|
||||
|
@ -195,7 +195,8 @@ export default {
|
||||
},
|
||||
// 切除
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
@ -212,7 +213,8 @@ export default {
|
||||
},
|
||||
// 区段激活
|
||||
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})=>{
|
||||
if (valid) {
|
||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
|
@ -66,6 +66,7 @@
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { mapGetters } from 'vuex';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
|
||||
export default {
|
||||
name: 'ChangeTID',
|
||||
@ -116,13 +117,48 @@ export default {
|
||||
this.dialogShow = true;
|
||||
this.selected = selected;
|
||||
this.groupNumber = selected.code;
|
||||
this.tid = selected.tripNumber;
|
||||
this.tid = selected.serviceNumber;
|
||||
this.operate = step;
|
||||
},
|
||||
cancel() {
|
||||
this.doClose();
|
||||
},
|
||||
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:[
|
||||
{
|
||||
label: '扣车',
|
||||
handler: this.undeveloped,
|
||||
handler: this.setDetainTrain,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '发车 ',
|
||||
handler: this.undeveloped,
|
||||
handler: this.setTrainDeparture,
|
||||
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() {
|
||||
const operate = {
|
||||
start: true,
|
||||
|
@ -149,7 +149,8 @@ export default {
|
||||
{ label: '控制模式', value: 'ControlConvertMenu' },
|
||||
{ label: '车次窗', value: 'TrainWindow' },
|
||||
{ label: '全线限速', value: 'LimitControl' },
|
||||
{ label: '司机', value: 'Driver' }
|
||||
{ label: '司机', value: 'Driver' },
|
||||
{ label: '列车', value: 'Train' }
|
||||
],
|
||||
|
||||
simulationDeviceList:[
|
||||
|
@ -220,7 +220,10 @@ export default {
|
||||
/** 越信号机红灯 */
|
||||
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: {
|
||||
/** 修改列车识别号 */
|
||||
|
@ -2262,6 +2262,27 @@ export const OperationEvent = {
|
||||
operation: '70j2',
|
||||
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'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -34,7 +34,8 @@ export default {
|
||||
{ label: this.$t('lesson.platform'), value: '06' },
|
||||
{ label: this.$t('lesson.train'), value: '07' },
|
||||
{ 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: {
|
||||
pageSize: 'pageSize',
|
||||
@ -119,6 +120,7 @@ export default {
|
||||
}
|
||||
return fieldValue;
|
||||
}
|
||||
return fieldValue;
|
||||
},
|
||||
queryFunction(params) {
|
||||
return getOperateStepDataList(this.dicId, params);
|
||||
|
@ -167,7 +167,8 @@ export default {
|
||||
this.memberIdList = [];
|
||||
if (memberList && memberList.length) {
|
||||
memberList.forEach(member => {
|
||||
if (member && !(member.children) && (member.userId == '' || member.userId)) {
|
||||
// (!member.userId)
|
||||
if (member && !(member.children)) {
|
||||
this.userString += member.label + ',';
|
||||
this.memberIdList.push(member.id);
|
||||
}
|
||||
|
@ -51,6 +51,7 @@
|
||||
@switchMode="switchMode" -->
|
||||
|
||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||
<scene-list ref="sceneList" @selectQuest="selectQuest" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
@ -60,6 +61,7 @@
|
||||
import SetTime from '../demon/setTime';
|
||||
import DemonMenu from '../demonMenu';
|
||||
import DemonChat from '../demonChat';
|
||||
import SceneList from './sceneList';
|
||||
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
||||
import { getGoodsTryUse } from '@/api/management/goods';
|
||||
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||
@ -80,7 +82,8 @@ export default {
|
||||
SetTime,
|
||||
DemonChat,
|
||||
MenuSchema,
|
||||
DemonMenu
|
||||
DemonMenu,
|
||||
SceneList
|
||||
},
|
||||
props: {
|
||||
offset: {
|
||||
@ -436,7 +439,7 @@ export default {
|
||||
}
|
||||
},
|
||||
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;
|
||||
textStatus.style.top = this.offset - 15 + 'px';
|
||||
}
|
||||
console.log(this.offset, '*************');
|
||||
});
|
||||
},
|
||||
// 缩放设置
|
||||
|
@ -155,7 +155,7 @@ function covertOperation(deviceType, operationParamMap, operationType) {
|
||||
deviceName += '【车站-' + station.name + '】/';
|
||||
}
|
||||
if (device._type == 'Section') {
|
||||
if (device.parentCode) {
|
||||
if (device.parentCode && device.type == '02') {
|
||||
const parentSection = store.getters['map/getDeviceByCode'](device.parentCode);
|
||||
deviceName += '【' + operateEnum[deviceType].type + ' ' + parentSection.name + '-' + device.name + '】';
|
||||
}
|
||||
|
@ -3,6 +3,8 @@
|
||||
</template>
|
||||
<script>
|
||||
import {covertOperate} from './covertOperation.js';
|
||||
import LangStorage from '@/utils/lang';
|
||||
|
||||
export default {
|
||||
name:'ScriptTip',
|
||||
props: {
|
||||
@ -61,11 +63,22 @@ export default {
|
||||
'$store.state.socket.simulationScriptTipFinish':function(val, old) {
|
||||
// 剧本某一步骤完成消息推送
|
||||
this.scriptTipMessage = '';
|
||||
this.tipInfo({ message: LangStorage.getLang() == 'en' ? "Correct operation! That's great!" : '操作正确!真棒!', color: 'green' });
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
resetScriptTip() {
|
||||
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 () {
|
||||
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;
|
||||
if (cycleButtonList && cycleButtonList.length > 0) {
|
||||
cycleButtonList.forEach(element => {
|
||||
|
@ -106,7 +106,7 @@ export default {
|
||||
var position = null;
|
||||
// 单独处理 自动折返
|
||||
const newStep = Object.assign({}, step);
|
||||
if (newStep.code.includes('TurnedAround')) {
|
||||
if (newStep.code.includes('Cycle')) {
|
||||
const buttonList = this.$store.state.map.map.cycleButtonList;
|
||||
if (buttonList && buttonList.length > 0) {
|
||||
buttonList.forEach(element => {
|
||||
|
@ -11,7 +11,7 @@
|
||||
<el-table-column prop="label" label="描述" />
|
||||
<el-table-column label="配置默认" width="100px">
|
||||
<template slot-scope="scope">
|
||||
<el-checkbox @click.native.prevent="checkOverlab(editModel.optionList, scope.$index)" v-model="scope.row.checked"></el-checkbox>
|
||||
<el-checkbox v-model="scope.row.checked" @click.native.prevent="checkOverlab(editModel.optionList, scope.$index)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="100px">
|
||||
@ -388,12 +388,14 @@ export default {
|
||||
this.$refs.dataform && this.$refs.dataform.resetFields();
|
||||
this.$refs.make && this.$refs.make.resetFields();
|
||||
this.activeName = 'first';
|
||||
if (selected.optionList) {
|
||||
selected.optionList.forEach(item => {
|
||||
item.checked = false;
|
||||
if (item.id == selected.initId) {
|
||||
item.checked = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
this.editModel = deepAssign(this.editModel, selected);
|
||||
this.editModel.type = selected._type;
|
||||
this.$nextTick(() => {
|
||||
@ -489,7 +491,7 @@ export default {
|
||||
if (i != index) {
|
||||
item.checked = false;
|
||||
}
|
||||
})
|
||||
});
|
||||
list[index].checked = !list[index].checked;
|
||||
if (list[index].checked) {
|
||||
this.editModel.initId = list[index].id;
|
||||
|
@ -136,7 +136,7 @@ export default {
|
||||
{ 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: '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: '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 }, // 右关联区段
|
||||
|
Loading…
Reference in New Issue
Block a user