This commit is contained in:
zyy 2021-05-28 17:20:33 +08:00
commit 5678498fa6
9 changed files with 287 additions and 56 deletions

View File

@ -237,6 +237,10 @@ export default {
{
label: '开/关门',
handler: this.handleOpenCloseDoor
},
{
label: '换端',
handler: this.handlerTurnDirection
}
],
menuSpeed: [
@ -396,6 +400,20 @@ export default {
this.$refs.noticeInfo.doShow();
});
},
//
handlerTurnDirection() {
const group = this.$route.query.group;
const param = {
commandType: 'Turn_Direction',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate})=>{
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
//
limitSpeed() {
const operate = {

View File

@ -132,6 +132,10 @@ export default {
{
label: '越红灯行驶',
handler: this.handleOverEedLight
},
{
label: '换端',
handler: this.handlerTurnDirection
}
],
menuSpeed: [
@ -328,6 +332,20 @@ export default {
this.$refs.noticeInfo.doShow();
});
},
//
handlerTurnDirection() {
const group = this.$route.query.group;
const param = {
commandType: 'Turn_Direction',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate})=>{
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
routeBlockRun() {
//
// const list = [];

View File

@ -324,7 +324,9 @@ export default {
/** 列车在指定站台跳停 */
CMD_TRAIN_SKIP_STOP : { value: 'Train_Skip_Stop', label: '指定站台跳停' },
/** 列车取消指定站台的跳停 */
CMD_TRAIN_CANCEL_SKIP_STOP : { value: 'Train_Cancel_Skip_Stop', label: '取消指定站台跳停' }
CMD_TRAIN_CANCEL_SKIP_STOP : { value: 'Train_Cancel_Skip_Stop', label: '取消指定站台跳停' },
/** 换端 */
CMD_TRAIN_TURN_DIRECTION: { value: 'Turn_Direction', label: '换端' }
},
TrainWindow: {
/** 修改列车识别号 */

View File

@ -15,7 +15,7 @@ function handleSimulationStateMsg(state, type) {
store.dispatch('scriptRecord/updateSimulationPause', true);
break;
case 1:
store.dispatch('scriptRecord/updateSimulationPause', true);
store.dispatch('scriptRecord/updateSimulationPause', false);
state.simulationPause = false;
break;
case 4:

View File

@ -2,9 +2,9 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://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.3.83:9000'; // 旭强 有线
// BASE_API = 'http://192.168.3.83:9000'; // 旭强 有线
// BASE_API = 'http://192.168.8.114:9000'; // 旭强 无线
// BASE_API = 'http://192.168.3.120:9000'; // 张赛
// BASE_API = 'http://192.168.8.140:9000'; // 杜康

View File

@ -33,17 +33,17 @@
</el-row>
<div style="padding: 5px;height:20px;line-height: 20px;border-top: 2px solid #DDD9CA;display: flex;justify-content: space-between;">
<div>
<div class="div-simulate-button" style="width: 40px;" @click="rpsClick">背投</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleCarPark">车场</div>
<div class="div-simulate-button" style="width: 40px;" @click="troClick">轨道</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleDialogShow('rpsDialog')">背投</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleDialogShow('carPack')">车场</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleDialogShow('troDialog')">轨道</div>
<div class="div-simulate-button" style="width: 40px;">系统</div>
<div class="div-simulate-button" style="width: 40px;" @click="traClick">列车</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleDialogShow('traDialog')">列车</div>
</div>
<div>
<div class="div-simulate-button" style="width: 40px;">联锁</div>
<div class="div-simulate-button" style="width: 40px;">列监</div>
<div class="div-simulate-button" style="width: 40px;" @click="handleDialogShow('tmtDialog')">列监</div>
<div class="div-simulate-button" style="width: 40px;">运图</div>
<div class="div-simulate-button" style="width: 55px;" @click="ttlClick">时刻表</div>
<div class="div-simulate-button" style="width: 55px;" @click="handleDialogShow('ttlDialog')">时刻表</div>
<div class="div-simulate-button" style="width: 40px;">编表</div>
<div class="div-simulate-button" style="width: 40px;">调度</div>
<div class="div-simulate-button" style="width: 40px;">站控</div>
@ -199,16 +199,7 @@ export default {
},
'$store.state.socket.simulationTimeSync': function (time) { // 仿
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
// const date = new Date(+new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
// this.initDate(date);
},
// '$store.state.menuOperation.selectedCount':function(em) {
// const device = this.$store.state.menuOperation.selected;
// if (device && device._type === 'Station' && this.$store.state.menuOperation.subType === 'troButton') {
// this.$refs.troDialog.doClose();
// setTimeout(() => { this.goTroDetail(device.code); }, 5000);
// }
// },
'$store.state.socket.simulationAlarmInfo': function(val) {
(val || []).forEach(item => {
if (!item.confirmed) {
@ -281,21 +272,8 @@ export default {
}
}
},
rpsClick() {
this.$emit('rpsClick');
},
troClick() {
this.$emit('troClick');
},
traClick() {
this.$emit('traClick');
},
ttlClick() {
this.$emit('ttlClick');
},
//
handleCarPark() {
this.$emit('handleCarPark');
handleDialogShow(type) {
this.$emit('handleDialogShow', type);
},
selectBeginTime() {
this.$emit('selectBeginTime');

View File

@ -4,11 +4,7 @@
ref="baSiDi"
:is-disable="isDisable"
:data-error="dataError"
@rpsClick="rpsClick"
@troClick="troClick"
@traClick="traClick"
@ttlClick="ttlClick"
@handleCarPark="handleCarPark"
@handleDialogShow="handleDialogShow"
@end="end"
@back="back"
@selectBeginTime="selectBeginTime"
@ -19,6 +15,7 @@
<tro-detail ref="troDetail" :train-list="trainList" :station-list="stationList" @goTroDialog="troClick" />
<tra-dialog ref="traDialog" />
<ttl-dialog ref="ttlDialog" />
<tmt-dialog ref="tmtDialog" />
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
</div>
</template>
@ -42,6 +39,7 @@ import CarPack from './carPack';
import TroDetail from './troDetail';
import TraDialog from './tra';
import TtlDialog from './ttl';
import TmtDialog from './tmt';
import parseStatus from '@/utils/parseStatus';
export default {
@ -54,7 +52,8 @@ export default {
TroDialog,
TroDetail,
TraDialog,
TtlDialog
TtlDialog,
TmtDialog
},
data() {
return {
@ -162,9 +161,6 @@ export default {
this.clearSubscribeNew();
clearSimulation(this.group);
this.$store.dispatch('training/reset');
// this.$refs.rpsDialog.destroy();
// this.$refs.troDialog.destroy();
// this.$refs.troDetail.destroy();
},
async mounted() {
const _that = this;
@ -390,20 +386,11 @@ export default {
this.$messageBox(this.$t('display.demon.endSimulationFail'));
});
},
rpsClick() {
this.$refs.rpsDialog.doShow();
},
troClick() {
this.$refs.troDialog.doShow();
},
ttlClick() {
this.$refs.ttlDialog.doShow();
},
traClick() {
this.$refs.traDialog.doShow();
},
handleCarPark() {
this.$refs.carPack.doShow();
handleDialogShow(type) {
this.$refs[type].doShow();
}
}
};

View File

@ -0,0 +1,227 @@
<template>
<el-dialog
v-dialogDrag
class="route-setting"
:title="title"
:visible.sync="show"
width="900px"
label-position="top"
:before-close="doClose"
:z-index="2009"
:modal="false"
:close-on-click-modal="false"
>
<div style="padding: 5px;">
<el-row>
<el-col :span="12"><span>所选位置</span></el-col>
<el-col :span="12"><span>列车号</span></el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-input v-model="sectionName" size="mini" style="width: 400px;" :disabled="true" />
</el-col>
<el-col :span="12">
<el-input v-model="trainCode" :max-length="7" size="mini" style="width: 310px;" />
<el-button size="mini" icon="el-icon-search" @click="trainFind" />
<el-button size="mini" icon="el-icon-refresh-left" @click="resetTrainCode" />
</el-col>
</el-row>
<div style="display: flex;justify-content: space-around;margin-top: 20px;">
<el-button size="mini" style="width: 280px;" @click="changeOperationType('show')">显示列车信息</el-button>
<el-button size="mini" style="width: 280px;" @click="changeOperationType('update')">修改列车资料</el-button>
<el-button size="mini" style="width: 280px;" @click="changeOperationType('create')">创建列车号</el-button>
</div>
<div style="display: flex;justify-content: space-around;margin-top: 10px;">
<el-button size="mini" style="width: 280px;" @click="changeOperationType('delete')">删除列车号</el-button>
<el-button size="mini" style="width: 280px;" @click="changeOperationType('move')">步进列车号</el-button>
<el-button size="mini" style="width: 280px;" @click="changeOperationType('resort')">重排列车号</el-button>
</div>
<div v-if="operationType === 'show'">
<el-table :data="tableData" border style="width: 100%;margin-top: 20px;" height="200">
<el-table-column prop="date" label="方向" />
<el-table-column prop="name" label="列车号" />
<el-table-column prop="address" label="位置" />
<el-table-column prop="address" label="ARS" />
<el-table-column prop="address" label="晚点" />
</el-table>
</div>
<div v-else-if="operationType === 'create'" style="display: flex;justify-content: space-between;">
<div>
<el-table :data="tableData" border style="width: 280px;margin-top: 20px;" height="200">
<el-table-column prop="date" label="方向" width="60" />
<el-table-column prop="name" label="列车号" width="157" />
<el-table-column prop="address" label="位置" width="60" />
</el-table>
</div>
<div>
<div style="margin-top: 20px;display: flex;justify-content: space-between;padding: 5px;align-items: center;">
<span>位置</span>
<el-input size="mini" style="width: 150px;" />
</div>
<div style="display: flex;justify-content: space-between;padding: 5px;align-items: center;margin-top: 10px;">
<span>新列车号</span>
<el-input size="mini" style="width: 150px;" />
</div>
<div style="display: flex;justify-content: space-between;padding: 5px;margin-top: 10px;">
<span>设置该列车为自动排列</span>
<el-radio v-model="autoArrange" label="true">开启</el-radio>
<el-radio v-model="autoArrange" label="false">关闭</el-radio>
</div>
<div style="display: flex;justify-content: space-between;padding: 5px;align-items: center;margin-top: 10px;">
<span>车组号</span>
<el-input size="mini" style="width: 60px;" />
<div style="border: 1px solid #DCDFE6;padding: 4px 5px;border-radius: 3px;">&lt;&gt;</div>
<el-input size="mini" style="width: 60px;" />
</div>
</div>
<div>
<div style="margin-top: 20px;height: 20px;">插入位置之前</div>
<el-table :data="tableData" border style="width: 280px;" height="180">
<el-table-column prop="date" label="方向" width="60" />
<el-table-column prop="name" label="列车号" width="157" />
<el-table-column prop="address" label="位置" width="60" />
</el-table>
</div>
</div>
<div v-else-if="operationType === 'delete'" style="display: flex;">
<div>
<el-table :data="tableData" border style="width: 280px;margin-top: 20px;" height="200">
<el-table-column prop="date" label="方向" width="60" />
<el-table-column prop="name" label="列车号" width="157" />
<el-table-column prop="address" label="位置" width="60" />
</el-table>
</div>
<div style="width: 250px;display: flex;justify-content: space-between;margin-top: 20px;margin-left: 10px;align-items: center;height: 25px;">
<div>所选列车号</div>
<el-input style="width: 150px;" size="mini" />
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
// import { EventBus } from '@/scripts/event-bus';
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'RouteCreate',
data() {
return {
dialogShow: false,
loading: false,
selected: null,
tableData: [],
sectionName: '',
trainCode: '',
operationType: 'create',
autoArrange: false
};
},
computed: {
...mapGetters('map', [
'stationList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '列监';
}
},
methods: {
loadInitData(map) {
// console.log(map, 11111);
},
doShow(operate, selected) {
this.dialogShow = true;
this.selected = selected;
this.loadInitData();
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
handleSelect(tab) {
this.activeIndex = tab;
},
trainFind() {
const train = this.$store.getters['map/getDeviceByCode'](this.trainCode);
this.tableData = [train];
},
resetTrainCode() {
this.trainCode = '';
},
changeOperationType(type) {
this.operationType = type;
},
commit() {
// const operate = {
// send: true,
// operation: OperationEvent.Section.newtrain.menu.operation,
// cmdType: CMD.Section.CMD_NEW_TRAIN,
// val: '' + this.direction + '::' + this.trainCode
// };
// this.loading = true;
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
// this.loading = false;
// if (valid) {
// this.doClose();
// }
// }).catch(() => {
// this.loading = false;
// this.doClose();
// EventBus.$emit('sendMsg', {message: ''});
// });
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.route-setting {
.content_box {
margin-bottom: 10px;
.el-button{
&.active{
background: #969696;
}
}
}
.table_content_box{
margin-bottom: 20px;
}
/deep/ {
.table{
.table_header_box{
.cell{
text-align: center;
word-break: break-word;
}
}
}
}
}
</style>

View File

@ -93,7 +93,7 @@ export default {
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly',
'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal',
'generateDestination'
'generateDestination', 'ctcOverlapOnlyTurnBackStationLock'
],
multipleList: ['sharingECStations'],
selectList: [],
@ -126,7 +126,8 @@ export default {
generateFls: '是否生成侧防:是-生成侧防,不要联动道岔,否-不生成侧防,用联动道岔',
signalApproachNotPassPreSignal:'信号机接近区段不跨过前方同向信号机',
generateDestination: '是否生成目的地码定义(泰雷兹)',
sharingECStations: '共享紧急关闭效果的车站'
sharingECStations: '共享紧急关闭效果的车站',
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭'
}
};
},