哈尔滨创建计划车
This commit is contained in:
parent
3745815a5b
commit
2ca260d502
226
src/jmapNew/theme/haerbin_01/menus/dialog/trainInitPlan.vue
Normal file
226
src/jmapNew/theme/haerbin_01/menus/dialog/trainInitPlan.vue
Normal file
@ -0,0 +1,226 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="haerbin-01__systerm stand-stop-time"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="300px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div class="el-dialog-div">
|
||||
<el-form ref="form" size="small" label-width="100px" :model="addModel" :rules="rules" label-position="left">
|
||||
<el-form-item prop="trainCode" label="车组号:">
|
||||
<!--<el-input v-model="addModel.trainCode"/>-->
|
||||
<el-select v-model="addModel.trainCode" filterable>
|
||||
<el-option
|
||||
v-for="train in trainList"
|
||||
:key="train.groupNumber"
|
||||
:label="train.groupNumber"
|
||||
:value="train.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="车次号:" prop="tripNumber">
|
||||
<!--<el-input v-model="addModel.tripNumber"/>-->
|
||||
<el-select v-model="addModel.tripNumber" @change="tripNumberChange" filterable>
|
||||
<el-option
|
||||
v-for="tripNum in tripNumberList"
|
||||
:key="tripNum"
|
||||
:label="tripNum"
|
||||
:value="tripNum"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="服务号:" prop="serviceNumber">
|
||||
<el-select v-model="addModel.serviceNumber" filterable>
|
||||
<el-option
|
||||
v-for="serviceNumber in serviceNumberList"
|
||||
:key="serviceNumber"
|
||||
:label="serviceNumber"
|
||||
:value="serviceNumber"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="4">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import CancelMouseState from '@/mixin/CancelMouseState';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { getTripNumberList, getServiceNumbersByTripNum } from '@/api/simulation';
|
||||
|
||||
export default {
|
||||
name: 'TrainCreateNumber',
|
||||
mixins: [
|
||||
CancelMouseState
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
sectionName: '',
|
||||
tripNumberList: [],
|
||||
serviceNumberList: [],
|
||||
addModel: {
|
||||
trainCode:'',
|
||||
tripNumber:'',
|
||||
serviceNumber: ''
|
||||
},
|
||||
rules: {
|
||||
trainCode: [
|
||||
{ required: true, message: '请输入列车编码', trigger: 'blur'}
|
||||
],
|
||||
serviceNumber: [
|
||||
{ required: true, message: '请输入服务号', trigger: 'change'}
|
||||
],
|
||||
tripNumber: [
|
||||
{ required: true, message: '请输入车次号', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'trainList',
|
||||
'stationStandList',
|
||||
'trainWindowSectionCode'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.createPlanTrain.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '新建计划车';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
tripNumberChange(tripNumber) {
|
||||
getServiceNumbersByTripNum(this.$route.query.group, tripNumber).then(resp => {
|
||||
this.serviceNumberList = [];
|
||||
resp.data.forEach(item => {
|
||||
if (!this.serviceNumberList.includes(item)) {
|
||||
this.serviceNumberList.push(item);
|
||||
}
|
||||
});
|
||||
});
|
||||
if (this.serviceNumberList.length === 1) {
|
||||
this.addModel.serviceNumber = this.serviceNumberList[0];
|
||||
}
|
||||
},
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
this.addModel = {
|
||||
trainCode:'',
|
||||
tripNumber:'',
|
||||
serviceNumber: ''
|
||||
};
|
||||
getTripNumberList(this.$route.query.group).then(resp => {
|
||||
this.tripNumberList = [];
|
||||
resp.data.forEach(item => {
|
||||
if (!this.tripNumberList.includes(item)) {
|
||||
this.tripNumberList.push(item);
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
this.$messageBox(error.message);
|
||||
});
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
this.mouseCancelState(this.selected);
|
||||
},
|
||||
commit() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const operate = {
|
||||
over: true,
|
||||
operation: OperationEvent.Train.createPlanTrain.menu.operation,
|
||||
cmdType: CMD.TrainWindow.CMD_Train_Init_Plan,
|
||||
param: {
|
||||
sectionCode: this.trainWindowSectionCode,
|
||||
trainCode: this.addModel.trainCode, // 车组号
|
||||
serviceNumber: this.addModel.serviceNumber, // 服务号
|
||||
tripNumber: this.addModel.tripNumber // 车次号
|
||||
}
|
||||
};
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
// this.$refs.noticeInfo.doShow(operate);
|
||||
this.$messageBox(error.message);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.chengdou-03__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.el-dialog-div {
|
||||
height: 200px;
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
@ -7,6 +7,7 @@
|
||||
<train-move ref="trainMove" />
|
||||
<train-switch ref="trainSwitch" />
|
||||
<train-edit-number ref="trainEditNumber" />
|
||||
<train-init-plan ref="trainInitPlan"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -22,6 +23,7 @@ import TrainDelete from './dialog/trainDelete';
|
||||
import TrainMove from './dialog/trainMove';
|
||||
import TrainSwitch from './dialog/trainSwitch';
|
||||
import TrainEditNumber from './dialog/trainEditNumber';
|
||||
import TrainInitPlan from './dialog/trainInitPlan';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
|
||||
export default {
|
||||
@ -33,7 +35,8 @@ export default {
|
||||
TrainDelete,
|
||||
TrainMove,
|
||||
TrainSwitch,
|
||||
TrainEditNumber
|
||||
TrainEditNumber,
|
||||
TrainInitPlan
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -47,44 +50,19 @@ export default {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [],
|
||||
Local: [
|
||||
{
|
||||
label: '新建计划列车',
|
||||
handler: this.createPlanTrain,
|
||||
cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
}
|
||||
],
|
||||
Center: [
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.addTrainId'),
|
||||
// handler: this.addTrainId,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// },
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.deleteTrainId'),
|
||||
// handler: this.delTrainId,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// },
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.editTrainId'),
|
||||
// handler: this.editTrainId,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// },
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.editTrainNo'),
|
||||
// handler: this.editTrainNo,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// },
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.moveTrainId'),
|
||||
// handler: this.moveTrainId,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// },
|
||||
// {
|
||||
// label: this.$t('menu.menuTrain.switchTrainId'),
|
||||
// handler: this.switchTrainId,
|
||||
// auth: { station: true, center: true },
|
||||
// cmdType:CMD.Train.CMD_SWITCH_REMOVE_FAULT
|
||||
// }
|
||||
{
|
||||
label: '新建计划列车',
|
||||
handler: this.createPlanTrain,
|
||||
cmdType: CMD.TrainWindow.CMD_Train_Init_Plan
|
||||
}
|
||||
]
|
||||
},
|
||||
menuForce: [
|
||||
@ -162,6 +140,23 @@ export default {
|
||||
// this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
}
|
||||
},
|
||||
createPlanTrain() {
|
||||
const step = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.createPlanTrain.menu.operation,
|
||||
param: {
|
||||
trainWindowCode: this.selected.code
|
||||
}
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainInitPlan.doShow(step, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置故障
|
||||
setStoppage() {
|
||||
const step = {
|
||||
|
Loading…
Reference in New Issue
Block a user