线路:宁波1号线

问题:调试 全线取消限速、设置电灯实训过程
This commit is contained in:
ival 2021-03-01 18:36:33 +08:00
parent eac7f13784
commit 5278c2308a
19 changed files with 114 additions and 65 deletions

View File

@ -270,7 +270,7 @@ export default class Station extends Group {
_subType: 'button',
style: this.style,
zlevel: this.zlevel,
z: this.z,
z: this.z+1,
point: {
x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 3 / 2 + this.style.Station.StationControl.lamp.offset.x,
y: model.controlModePoint.y + this.style.Station.StationControl.lamp.offset.y
@ -298,7 +298,7 @@ export default class Station extends Group {
_subType: 'light',
style: this.style,
zlevel: this.zlevel,
z: this.z,
z: this.z+1,
point: {
x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 9 / 2 + this.style.Station.StationControl.lamp.offset.x,
y: model.controlModePoint.y + this.style.Station.StationControl.lamp.offset.y
@ -326,7 +326,7 @@ export default class Station extends Group {
_subType: 'preReset',
style: this.style,
zlevel: this.zlevel,
z: this.z,
z: this.z+1,
point: {
x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 3 + this.style.Station.StationControl.lamp.offset.x,
y: model.controlModePoint.y + this.style.Station.StationControl.lamp.offset.y
@ -640,13 +640,19 @@ export default class Station extends Group {
case 'interconnected':
rect = this.interconnectedControl.getArcBoundingRect();
break;
case 'light':
rect = this.controlLight.getBoundingRect();
break;
case 'preReset':
rect = this.controlPreReset.getBoundingRect();
break;
default:
rect = this.stationText.getBoundingRect();
break;
}
return {
x: rect.x + rect.width,
x: rect.x + rect.width/2,
y: rect.y
};
}

View File

@ -330,7 +330,7 @@ export default {
this.$refs.noticeInfo.doShow();
});
} else {
commitOperate(menuOperate.Signal.humanControl, {routeCodeList:this.selection}, 2, val).then(({valid})=>{
commitOperate(menuOperate.Signal.humanControl, {routeCodeList:this.selection}, 2, { val }).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();

View File

@ -479,18 +479,19 @@ export const menuOperate = {
* @param {*} over 0为首次操作1为中间操作2为最后操作3为直接一次性操作
* @param {*} val 教学模式val 校验模式判断
*/
export function commitOperate(operate, paramList, over, val) {
export function commitOperate(operate, paramList, over, fillStep={}) {
const step = {
start: true,
operation: operate.operation,
param:{}
};
if (val) { step.val = val; }
step.param = paramList;
step.param = paramList;
if (over == 0 || over == 3) {
const codeList = Object.values(paramList);
step.code = codeList[0];
}
if (over != 0 && over != 3) {
delete step.start;
}
@ -503,6 +504,7 @@ export function commitOperate(operate, paramList, over, val) {
step.code = codeList[0];
}
Object.assign(step, fillStep)
return new Promise(function(resolve, reject) {
store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {

View File

@ -252,7 +252,7 @@ export default {
//
humanControl() {
this.loading = true;
commitOperate(menuOperate.Signal.humanControl, {routeCodeList:this.selection}, 2, `${this.selection[0]}`).then(({valid})=>{
commitOperate(menuOperate.Signal.humanControl, {routeCodeList:this.selection}, 2, {val: `${this.selection[0]}`}).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
@ -266,7 +266,7 @@ export default {
//
atsAutoControl() {
this.loading = true;
commitOperate(menuOperate.Signal.atsAutoControl, {routeCodeList:this.selection}, 2, `${this.selection[0]}`).then(({valid})=>{
commitOperate(menuOperate.Signal.atsAutoControl, {routeCodeList:this.selection}, 2, {val: `${this.selection[0]}`}).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();

View File

@ -222,7 +222,7 @@ export default {
commit() {
if (this.row && this.row.canSetting) {
this.loading = true;
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode: this.row.code}, 1, `${this.row.code}`).then(({valid, operate})=>{
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode: this.row.code}, 1, {val: `${this.row.code}`}).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });

View File

@ -144,7 +144,7 @@ export default {
},
sendCommand(operate, val) { //
this.loading = true;
commitOperate(operate, {}, 2, val).then(({valid})=>{
commitOperate(operate, {}, 2, { val }).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();

View File

@ -26,7 +26,7 @@
</el-select>
</el-col>
<el-col :span="8">
<el-button :disabled="confirmIndex" @click="confirm1">确认</el-button>
<el-button :disabled="confirmIndex" :id="configmId1" @click="confirm1">确认</el-button>
</el-col>
</el-row>
</div>
@ -35,7 +35,7 @@
<div>按钮</div>
<el-row>
<el-col :span="16">
<el-select v-model="value2" size="mini">
<el-select :id="selectedId" v-model="value2" size="mini" @change="onChange">
<el-option
v-for="item in options"
:key="item.value"
@ -45,7 +45,7 @@
</el-select>
</el-col>
<el-col :span="8">
<el-button :disabled="!confirmIndex" @click="confirm2">确认</el-button>
<el-button :disabled="!confirmIndex" :id="confirmId2" @click="confirm2">确认</el-button>
</el-col>
</el-row>
</div>
@ -92,9 +92,15 @@ export default {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
confirmId() {
return this.operation.domId;
}
configmId1() {
return OperationEvent.Command.common.confirm1.domId;
},
confirmId2() {
return OperationEvent.Command.common.confirm2.domId;
},
selectedId(){
return OperationEvent.Command.common.select.domId;
}
},
mounted() {
@ -105,6 +111,7 @@ export default {
this.dialogShow = true;
this.confirmIndex = false;
this.operation = operate.operation;
this.value = '';
if (this.operation === OperationEvent.StationLight.SetOrCancelForceLight.confirm1.operation) {
this.value1 = '5';
}
@ -113,25 +120,37 @@ export default {
this.dialogShow = false;
if (this.timer) { clearInterval(this.timer); }
},
onChange(val) {
commitOperate({operation: OperationEvent.Command.common.select.operation}, {}, 1, {val}).then(({valid, operate})=>{
if (valid) {
}
});
},
confirm1() {
this.status = '发送First request消息成功请等待服务器';
setTimeout(() => {
this.confirmIndex = true;
this.time = 30;
this.status = '收到First request消息';
this.timer = setInterval(() => {
this.time = this.time - 1;
if (this.time < 0) { this.doClose(); }
}, 1000);
}, 1000);
commitOperate({operation: OperationEvent.Command.common.confirm1.operation}, {}, 1).then(({valid, operate})=>{
if (valid) {
setTimeout(() => {
this.confirmIndex = true;
this.time = 30;
this.status = '收到First request消息';
this.timer = setInterval(() => {
this.time = this.time - 1;
if (this.time < 0) { this.doClose(); }
}, 1000);
}, 1000);
}
});
},
confirm2() {
if (this.value1 !== this.value2) {
this.status = '确认操作失败!';
return;
}
if (this.operation === OperationEvent.StationLight.SetOrCancelForceLight.confirm1.operation) {
commitOperate({operate: this.operation, cmdType: CMD.Station.CMD_STATION_SET_OR_CANCEL_FORCE_PHYSICAL_SIGNAL}, {}, 2).then(({valid, operate})=>{
commitOperate({operation: OperationEvent.Command.common.confirm2.operation,
cmdType: CMD.Station.CMD_STATION_SET_OR_CANCEL_FORCE_PHYSICAL_SIGNAL}, {}, 2).then(({valid, operate})=>{
if (valid) {
this.status = '发送 Second Confirm消息成功请等待服务器';
setTimeout(() => {

View File

@ -73,8 +73,10 @@ export default {
const title = this.$store.state.map.mapName;
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
if (station) {
this.title = title + '-' + station.name;
}
this.title = title + '-' + station.name;
this.$nextTick(function () {
setTimeout(e => {
this.$store.dispatch('training/emitTipFresh');

View File

@ -67,7 +67,7 @@ export default {
if ( this.password !== 'root' ) {
this.messageShow = true;
} else {
commitOperate({operation: OperationEvent.Command.close.password.operation}, {}, 1, this.password).then(({valid, operate}) => {
commitOperate({operation: OperationEvent.Command.close.password.operation}, {}, 1, {val: this.password}).then(({valid, operate}) => {
if (valid && this.operation === OperationEvent.StationLight.SetOrCancelForceLight.password.operation) {
this.show = false;
this.$emit('confirm');

View File

@ -93,7 +93,7 @@ export default {
},
//
cancelSpeed() {
commitOperate(menuOperate.LimitControl.cancelSpeed, {}, 0).then(({valid, operate})=>{
commitOperate(menuOperate.LimitControl.cancelSpeed, {}, 0, {code: this.selected.code}).then(({valid, operate})=>{
if (valid) {
this.$refs.cancelAllLimit.doShow(operate, this.selected);
}

View File

@ -20,14 +20,14 @@ export default {
PopMenu,
StationControl
},
// props: {
// selected: {
// type: Object,
// default() {
// return null;
// }
// }
// },
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
menu: [],
@ -103,7 +103,6 @@ export default {
if (this.operatemode === OperateMode.FAULT) {
this.menu = this.menuForce;
}
this.getCurrentStateObject();
},
doShow(point) {
this.clickEvent();
@ -117,9 +116,6 @@ export default {
this.$refs.popMenu.close();
}
},
getCurrentStateObject() {
this.selected = this.$store.getters['menuOperation/selected'];
},
setCenterControl() {
//
commitOperate(menuOperate.StationControl.requestCentralControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{

View File

@ -27,6 +27,14 @@ export default {
OperateConfirm,
ButtonConfirm
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
menu: [],
@ -81,7 +89,6 @@ export default {
if (this.$store.state.training.mode === TrainingMode.NORMAL) {
const memberData = this.$store.state.training.memberData;
const userId = this.$store.state.user.id;
this.getCurrentStateObject();
if (!this.selected.controller || !memberData[this.selected.controller] || memberData[this.selected.controller].userId != userId) {
this.menu.forEach(item => {
item.disabled = true;
@ -105,12 +112,9 @@ export default {
this.$refs.popMenu.close();
}
},
getCurrentStateObject() {
this.selected = this.$store.getters['menuOperation/selected'];
},
setOrCancelForceLight() {
//
commitOperate(menuOperate.StationLight.setOrCancelForceLight, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
commitOperate(menuOperate.StationLight.setOrCancelForceLight.operation, {stationCode:this.selected.code}, 0, {code: this.selected.code, subType: 'light'}).then(({valid, operate})=>{
if (valid) {
const nextOperate = {
operation: OperationEvent.StationLight.SetOrCancelForceLight.password.operation

View File

@ -20,6 +20,14 @@ export default {
components: {
PopMenu,
ButtonDown
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
@ -82,7 +90,6 @@ export default {
initMenu() {
//
this.menu = MenuContextHandler.covert(this.menuNormal);
this.getCurrentStateObject();
if (this.$store.state.training.mode === TrainingMode.NORMAL) {
const memberData = this.$store.state.training.memberData;
const userId = this.$store.state.user.id;
@ -109,9 +116,6 @@ export default {
this.$refs.popMenu.close();
}
},
getCurrentStateObject() {
this.selected = this.$store.getters['menuOperation/selected'];
},
setPreReset() {
//
commitOperate(menuOperate.Station.setPreReset, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
@ -125,7 +129,7 @@ export default {
},
cancelPreReset() {
//
commitOperate(menuOperate.Station.cancelPreReset, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
commitOperate(menuOperate.Station.cancelPreReset.operation, {stationCode:this.selected.code}, 0, {code: this.selected.code, subType: 'light'}).then(({valid, operate})=>{
if (valid) {
const nextOperate = {
operation: OperationEvent.Station.cancelPreReset.confirm.operation

View File

@ -303,7 +303,7 @@ export default {
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮', val: '5' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' },
]
},
{
@ -322,7 +322,7 @@ export default {
{ deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮', val: '0' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' },
]
},
{
@ -913,12 +913,12 @@ export default {
trainingType: 'Station',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '05', orderNum: 1, operateCode: '1100', tip: '鼠标右键菜单选择【设置/取消强制点灯】', codeType: 'BUTTON'},
{ deviceType: '05', orderNum: 2, operateCode: '11001', tip: '请输入密码"root",点击【确认】按钮', val: 'root' },
{ deviceType: '05', orderNum: 3, operateCode: '11004', tip: '鼠标左键点击【是】按钮' },
{ deviceType: '05', orderNum: 4, operateCode: '11002', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '05', orderNum: 5, operateCode: '11006', tip: '鼠标左键选择({8}{9})区段', val: '{19}' },
{ deviceType: '05', orderNum: 6, operateCode: '11003', tip: '鼠标左键点击【确定】按钮' }
{ deviceType: '05', orderNum: 1, operateCode: '1100', tip: '鼠标右键菜单选择【设置/取消强制点灯】', subType: 'light'},
{ deviceType: '05', orderNum: 2, operateCode: '0011', tip: '请输入密码"root",点击【确认】按钮', val: 'root' },
{ deviceType: '05', orderNum: 3, operateCode: '11002', tip: '鼠标左键点击【是】按钮' },
{ deviceType: '05', orderNum: 4, operateCode: 'com08', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '05', orderNum: 5, operateCode: 'com02', tip: '请选择【强制点灯】选项', val: '5' },
{ deviceType: '05', orderNum: 6, operateCode: 'com13', tip: '鼠标左键点击【确定】按钮' },
],
config:{tbStrategyBT:true}
},
@ -997,6 +997,7 @@ export default {
{ deviceType: '05', orderNum: 3, operateCode: '8003', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '05', orderNum: 4, operateCode: '8004', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '05', orderNum: 5, operateCode: '8005', tip: '鼠标左键点击【关闭】按钮' },
{ deviceType: '05', orderNum: 6, operateCode: '8006', tip: '鼠标左键点击【确定】按钮' },
]
},
{

View File

@ -225,7 +225,7 @@ export default {
commit() {
if (this.row && this.row.canSetting) {
this.loading = true;
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode: this.row.code}, 2, `${this.row.code}`).then(({valid})=>{
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode: this.row.code}, 2, {val: `${this.row.code}`}).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();

View File

@ -143,7 +143,7 @@ export default {
},
sendCommand(operate, val) { //
this.loading = true;
commitOperate(operate, {}, 2, val).then(({valid})=>{
commitOperate(operate, {}, 2, { val }).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();

View File

@ -88,6 +88,7 @@ const ExamCourseDetail = () => import('@/views/exam/detail/courseDetail');
const DemonstrationDetail = () => import('@/views/demonstration/detail/index');
const PlanMonitorEditTool = () => import('@/views/planMonitor/editTool/index');
const PlanMonitorEditToolTJ = () => import('@/views/planMonitor/editToolTJ/index');
const PlanMonitorNewEditTool = () => import('@/views/planMonitor/newEditTool/index');
const PlanMonitorEditAUSTool = () => import('@/views/planMonitor/editToolAUS/tool/index');
const PlanMonitorEditAUSLine = () => import('@/views/planMonitor/editToolAUS/line/index');
@ -371,6 +372,12 @@ export const publicAsyncRoute = [
component: PlanMonitorEditTool,
hidden: true
},
// 同济大学运行图编辑
{
path: '/plan/toolTJ',
component: PlanMonitorEditToolTJ,
hidden: true
},
{ // 哈尔滨运行图编辑
path: '/plan/newTool',
component: PlanMonitorNewEditTool,

View File

@ -2,11 +2,11 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://api.joylink.club/jlcloud';
BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
// BASE_API = 'http://192.168.8.129:9000'; // 旭强
// BASE_API = 'http://192.168.8.119:9000'; // 张赛
// BASE_API = 'http://192.168.8.140:9000'; // 杜康
BASE_API = 'http://192.168.8.140:9000'; // 杜康
// BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛

View File

@ -135,6 +135,8 @@ export default {
menu = getDeviceMenuByDeviceType('StationControl');
this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
this.$store.dispatch('training/emitTipFresh');
device = this.getDeviceByEm(em);
this.selected = { ...device, _event: MouseEvent.Right};
return;
} else if (em.subType == 'light' && em.deviceType == 'Station') { // 线
const equipment = this.getDeviceByEm(em);
@ -142,6 +144,8 @@ export default {
menu = getDeviceMenuByDeviceType('StationLight');
this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
this.$store.dispatch('training/emitTipFresh');
device = this.getDeviceByEm(em);
this.selected = { ...device, _event: MouseEvent.Right};
return;
} else if (em.subType == 'preReset' && em.deviceType == 'Station') { // 线
const equipment = this.getDeviceByEm(em);
@ -149,6 +153,8 @@ export default {
menu = getDeviceMenuByDeviceType('StationPreReset');
this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
this.$store.dispatch('training/emitTipFresh');
device = this.getDeviceByEm(em);
this.selected = { ...device, _event: MouseEvent.Right};
return;
} else if (em.subType == 'enabled' && em.deviceType == 'Switch') {
menu = getDeviceMenuByDeviceType('Enabled');
@ -164,7 +170,9 @@ export default {
return;
} else if (em.deviceCode && !this.isScreen) {
device = this.getDeviceByEm(em);
this.selected = { ...device, _event: MouseEvent.Right};
}
if (device) {
device = this.getSelectedByLineCode(device);
this.selected = { ...device, _event: MouseEvent.Right};