327 lines
9.7 KiB
Vue
327 lines
9.7 KiB
Vue
<template>
|
||
<el-dialog
|
||
v-dialogDrag
|
||
class="beijing-01__schedule add-task"
|
||
:title="title"
|
||
:visible.sync="dialogShow"
|
||
width="1000px"
|
||
:before-close="doClose"
|
||
:z-index="2000"
|
||
:modal="false"
|
||
:close-on-click-modal="false"
|
||
>
|
||
<div style="margin: 10px">
|
||
<el-row>
|
||
<el-col :span="4">
|
||
<el-row>
|
||
<el-col :span="9">
|
||
<span>车次号:</span>
|
||
</el-col>
|
||
<el-col :span="15">
|
||
<el-select v-model="model.tripNumber" style="display: inline-black" placeholder="请选择">
|
||
<el-option
|
||
v-for="item in tripNumberList"
|
||
:key="item.value"
|
||
:label="item.label"
|
||
:value="item.value"
|
||
/>
|
||
</el-select>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="2">
|
||
<el-row>
|
||
<el-col :offset="4">
|
||
<el-checkbox v-model="model.trainManual">手工</el-checkbox>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="5">
|
||
<el-row>
|
||
<el-col :span="12">
|
||
<span>缺省停站时间:</span>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-select v-model="model.time" style="display: inline-black" placeholder="请选择">
|
||
<el-option
|
||
v-for="item in timeList"
|
||
:key="item.value"
|
||
:label="item.label"
|
||
:value="item.value"
|
||
/>
|
||
</el-select>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="5">
|
||
<el-row>
|
||
<el-col :span="9" :offset="2">
|
||
<span>表号:</span>
|
||
</el-col>
|
||
<el-col :span="13">
|
||
<el-input v-model="model.serviceNumber" />
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<el-row>
|
||
<el-col :span="22" :offset="2">
|
||
<el-row>
|
||
<el-col :span="6">
|
||
<el-checkbox v-model="model.clearGuest">清客</el-checkbox>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<el-checkbox v-model="model.continuationPlan">延续计划</el-checkbox>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-checkbox v-model="model.firstTrain">首班车</el-checkbox>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row>
|
||
<el-col :span="4">
|
||
<el-row>
|
||
<el-col :span="9">
|
||
<span>序列号:</span>
|
||
</el-col>
|
||
<el-col :span="15">
|
||
<el-select v-model="model.serialNumber" style="display: inline-black" placeholder="请选择">
|
||
<el-option
|
||
v-for="item in serialNumberList"
|
||
:key="item.value"
|
||
:label="item.label"
|
||
:value="model.value"
|
||
/>
|
||
</el-select>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="2">
|
||
<el-row>
|
||
<el-col :offset="4">
|
||
<el-checkbox v-model="model.serialManual">手工</el-checkbox>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="5">
|
||
<el-row>
|
||
<el-col :span="12">
|
||
<span>缺省运行等级:</span>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-select v-model="model.level" style="display: inline-black" placeholder="请选择">
|
||
<el-option
|
||
v-for="item in levelList"
|
||
:key="item.value"
|
||
:label="item.label"
|
||
:value="item.value"
|
||
/>
|
||
</el-select>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="5">
|
||
<el-row>
|
||
<el-col :span="9" :offset="2">
|
||
<span>开始时间:</span>
|
||
</el-col>
|
||
<el-col :span="13">
|
||
<el-time-select v-model="model.startTime" placeholder="选择时间" :clearable="false" />
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<el-row>
|
||
<el-col :span="22" :offset="2">
|
||
<el-row>
|
||
<el-col :span="6">
|
||
<el-checkbox v-model="model.inStock">入库</el-checkbox>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<el-checkbox v-model="model.outStock">出库</el-checkbox>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-checkbox v-model="model.lastTrain">末班车</el-checkbox>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
</el-row>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row style="margin-bottom: 5px;">
|
||
交路:
|
||
</el-row>
|
||
<el-row>
|
||
<el-table :data="model.route" border :height="140">
|
||
<el-table-column prop="beginStationCode" label="起始站">
|
||
<template slot-scope="scope">
|
||
{{ formatName(scope.row.beginStationCode) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="beginStationStandCode" label="起始站台" />
|
||
<el-table-column prop="endStationCode" label="终到站">
|
||
<template slot-scope="scope">
|
||
{{ formatName(scope.row.endStationCode) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="endStationStandCode" label="终到站台" />
|
||
<el-table-column prop="describe" label="描述" :width="280" />
|
||
<el-table-column :width="40" />
|
||
</el-table>
|
||
</el-row>
|
||
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
|
||
详情:
|
||
</el-row>
|
||
<el-row>
|
||
<el-table :data="model.detail" border :height="140">
|
||
<el-table-column prop="stationCode" label="站台" :width="160">
|
||
<template slot-scope="scope">
|
||
{{ formatName(scope.row.stationCode) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="startTime" label="到点">
|
||
<template slot-scope="scope">
|
||
{{ formatTime(scope.row.startTime) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="stopTime" label="停站时间">
|
||
<template slot-scope="scope">
|
||
{{ formatTime(scope.row.stopTime) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="endTime" label="发点">
|
||
<template slot-scope="scope">
|
||
{{ formatTime(scope.row.endTime) }}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="level" label="运行等级" />
|
||
<el-table-column width="280" />
|
||
</el-table>
|
||
</el-row>
|
||
<el-row>
|
||
<el-col :offset="16">
|
||
<el-checkbox v-model="model.default">显示默认停站时间和运行等级</el-checkbox>
|
||
</el-col>
|
||
</el-row>
|
||
</div>
|
||
<el-row type="flex" justify="center" class="button-group">
|
||
<el-button @click="handleCommit">确 定</el-button>
|
||
<el-button @click="doClose">取 消</el-button>
|
||
</el-row>
|
||
</el-dialog>
|
||
</template>
|
||
|
||
<script>
|
||
import { formatTime, formatName } from '@/utils/runPlan';
|
||
|
||
export default {
|
||
name: 'ModifyingTask',
|
||
components: {
|
||
},
|
||
data() {
|
||
return {
|
||
dialogShow: false,
|
||
loading: false,
|
||
model: {
|
||
tripNumber: '',
|
||
serialNumber: '',
|
||
trainManual: false,
|
||
serialManual: false,
|
||
clearGuest: false,
|
||
continuationPlan: false,
|
||
firstTrain: false,
|
||
lastTrain: false,
|
||
inStock: false,
|
||
outStock: false,
|
||
startTime: '',
|
||
route: [],
|
||
detail: []
|
||
},
|
||
timeList: [],
|
||
levelList: [],
|
||
tripNumberList: [],
|
||
serialNumberList: []
|
||
};
|
||
},
|
||
computed: {
|
||
title() {
|
||
return '修改任务';
|
||
}
|
||
},
|
||
mounted() {
|
||
},
|
||
methods: {
|
||
formatTime(time) {
|
||
return formatTime(time);
|
||
},
|
||
formatName(code) {
|
||
return formatName(code);
|
||
},
|
||
loadInitData(params) {
|
||
this.model.tripNumber = params.tripNumber;
|
||
this.model.serviceNumber = params.serviceNumber;
|
||
const editData = this.$store.state.runPlan.editData[params.serviceNumber];
|
||
if (editData) {
|
||
const trainInfo = editData.trainMap[params.tripNumber];
|
||
const lastIndex = trainInfo.stationTimeList.length - 1;
|
||
const taskObj = {
|
||
tripNumber: params.tripNumber,
|
||
beginStationCode: trainInfo.stationTimeList[0].stationCode,
|
||
beginStationStandCode: '',
|
||
endStationCode: trainInfo.stationTimeList[lastIndex].stationCode,
|
||
endStationStandCode: ''
|
||
};
|
||
this.model.route.push(taskObj);
|
||
|
||
trainInfo.stationTimeList.forEach((elem, index) => {
|
||
const stationObj = {
|
||
stationCode: elem.stationCode,
|
||
startTime: index == 0 ? null : trainInfo.stationTimeList[index - 1].secondTime,
|
||
stopTime: index == 0 ? null : elem.secondTime - trainInfo.stationTimeList[index - 1].secondTime,
|
||
endTime: elem.secondTime,
|
||
level: ''
|
||
};
|
||
this.model.detail.push(stationObj);
|
||
});
|
||
}
|
||
},
|
||
doShow(params) {
|
||
this.loadInitData(params);
|
||
this.dialogShow = true;
|
||
},
|
||
doClose() {
|
||
this.loading = false;
|
||
this.dialogShow = false;
|
||
},
|
||
handleCommit() {
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||
@import "src/styles/mixin.scss";
|
||
|
||
/deep/ {
|
||
.el-button {
|
||
margin-left: 40px !important;
|
||
margin-right: 40px !important;
|
||
}
|
||
|
||
.el-row {
|
||
margin-bottom: 5px !important;
|
||
}
|
||
|
||
.el-input__inner {
|
||
height: 20px !important;
|
||
line-height: 20px !important;
|
||
}
|
||
|
||
.el-input {
|
||
width: 110px !important;
|
||
}
|
||
}
|
||
</style>
|