This commit is contained in:
fan 2022-06-23 15:52:09 +08:00
commit 0931e54a40
7 changed files with 428 additions and 60 deletions

View File

@ -34,13 +34,13 @@ class SkinCode extends defaultStyle {
width: 3, // 区段宽度
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#FF0000', // 区段侵入颜色 (红色)
spareColor: 'rgb(85,120,182)', // 区段空闲颜色 (浅蓝)
spareColor: '#808080', // 区段空闲颜色 (灰色) ok
communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 (红色)
unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色 (红色)
communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 (红色) ok
unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色 (红色) ok
routeLockColor: '#FFFFFF', // 区段进路锁定颜色 (白色)
faultLockColor: '#006400', // 区段故障锁定颜色
routeLockColor: '#FFFFFF', // 区段进路锁定颜色 (白色) ok
faultLockColor: '#006400', // 区段故障锁定颜色 ok 空闲锁闭状态
undefinedColor: '#0071C1', // 区段未定义颜色
blockColor: '#00FF00', // 区段封锁颜色
@ -49,7 +49,6 @@ class SkinCode extends defaultStyle {
timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
protectiveLockColor: '#FFFF00', // 区段保护锁闭
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
logicalTextColor: '#C0C0C0', // 逻辑区段名称颜色 (未用)
@ -131,8 +130,10 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal', // 字体粗细
borderColor: '#FE0000', // 道岔边框颜色
lossColor: '#C00808', // 道岔失去颜色
locateColor: '#00FF00', // 道岔定位颜色
inversionColor: '#FFFF00', // 道岔反位颜色
locateColor: '#00FF00', // 道岔定位颜色 ok
inversionColor: '#FFFF00', // 道岔反位颜色 ok
monolockLocationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色)
monolockInversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色)
faultFlashing: false // 故障闪烁

View File

@ -126,6 +126,7 @@
v-model="tableData[scope.$index].arriveRunPlan.sectionCode"
placeholder=""
size="mini"
popper-class="stationSelect"
@focus="focusArriveRunPlan($event,scope.row)"
@change="changeArriveRunPlan($event,scope.row,scope.$index)"
>

View File

@ -0,0 +1,112 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import PopMenu from '@/components/PopMenu';
export default {
name: 'SignalMenu',
components: {
PopMenu
},
props: {
selected: {
type: Object,
default: () => {
return null;
}
}
},
data() {
return {
menu: [],
menuNormal: {
Local: [
{
label: '总取消',
handler: this.signalTotalCancle
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '总人解',
handler: this.humanTrainRoute
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
type: 'separator'
},
{
label: '开放引导信号',
handler: this.signalRouteGuide
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '建立引导总锁闭',
handler: this.guideTotalLock
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
type: 'separator'
},
{
label: '加封',
handler: this.seal
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
}
]
}
};
},
computed: {
...mapGetters('training', [
'mode',
'operatemode'
]),
...mapGetters('menuOperation', [
'buttonOperation'
]),
group() {
return this.$route.query.group;
}
},
methods: {
initMenu() {
//
// this.menu = MenuContextHandler.covert(this.menuNormal);
this.menu = this.menuNormal.Local;
// //
// if (this.operatemode === OperateMode.FAULT) {
// this.menu = this.menuForce;
// }
},
doShow(point) {
this.initMenu();
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
this.$refs.popMenu.resetShowPosition(point);
}
},
//
signalTotalCancle() {
},
//
humanTrainRoute() {
},
//
signalRouteGuide() {
},
//
guideTotalLock() {
},
//
seal() {
}
}
};
</script>

View File

@ -138,7 +138,7 @@ export default {
};
</script>
<style lang="scss" scoped>
.BTRp{height:100%;width:100%;padding-top:30px}
.BTRp{height:100%;width:100%;padding-top:30px;overflow: hidden;}
.BTRpMenuBarOut{
position: absolute;
width: 100%;

View File

@ -46,47 +46,83 @@
prop="lineType"
label="线路性质"
width="100"
/>
>
<template slot-scope="scope">
{{ lineTypeMap[scope.row.lineType] }}
</template>
</el-table-column>
<el-table-column
prop="RVdirection"
prop="direction"
label="接发车方向"
width="100"
/>
>
<template slot-scope="scope">
{{ directionMap[scope.row.direction] }}
</template>
</el-table-column>
<el-table-column
prop="RVType"
prop="type"
label="接发车类型"
width="100"
/>
>
<template slot-scope="scope">
{{ typeMap[scope.row.type] }}
</template>
</el-table-column>
<el-table-column
prop="transType"
prop="transfiniteType"
label="超限类型"
width="100"
/>
>
<template slot-scope="scope">
{{ transfiniteTypeMap[scope.row.transfiniteType] }}
</template>
</el-table-column>
<el-table-column
prop="stationStand"
prop="standType"
label="站台"
width="100"
/>
>
<template slot-scope="scope">
{{ standTypeMap[scope.row.standType] }}
</template>
</el-table-column>
<el-table-column
prop="allowEMU"
prop="allowEmu"
label="允许动车组"
width="100"
/>
>
<template slot-scope="scope">
{{ allowEmuMap[scope.row.allowEmu] }}
</template>
</el-table-column>
<el-table-column
prop="waterEquip"
prop="addWaterEqu"
label="上水设备"
width="100"
/>
>
<template slot-scope="scope">
{{ addWaterEquMap[scope.row.addWaterEqu] }}
</template>
</el-table-column>
<el-table-column
prop="sewageEquip"
prop="sewageEqu"
label="排污设备"
width="100"
/>
>
<template slot-scope="scope">
{{ sewageEquMap[scope.row.sewageEqu] }}
</template>
</el-table-column>
<el-table-column
prop="military"
label="军用"
width="100"
/>
>
<template slot-scope="scope">
{{ militaryMap[scope.row.military] }}
</template>
</el-table-column>
</el-table>
</div>
</div>
@ -109,11 +145,52 @@ export default {
height: this.$store.state.app.height - 61,
currentStationCode:'',
filterSectionMap:{},
lineTypeMap:{
1:'正线',
2:'到发线'
},
directionMap:{
1:'上行',
2:'下行',
3:'上下行'
},
typeMap:{
1:'客车',
2:'货车',
3:'客货车'
},
transfiniteTypeMap:{
1:'不能接发超限列车',
2:'一级超限',
3:'二级超限',
4:'超级超限'
},
standTypeMap:{
1:'无',
2:'高站台',
3:'低站台'
},
allowEmuMap:{
1:'是',
2:'否'
},
addWaterEquMap:{
1:'有',
2:'无'
},
sewageEquMap:{
1:'有',
2:'无'
},
militaryMap:{
1:'是',
2:'否'
},
tableData:[
{trackName:'IG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'无', allowEMU:'否', waterEquip:'无',
sewageEquip:'无', military:'否'},
{trackName:'IIG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'低', allowEMU:'否', waterEquip:'无',
sewageEquip:'无', military:'否' }
{trackName:'IG', lineType:'1', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
sewageEqu:'1', military:'1'},
{trackName:'IIG', lineType:'2', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
sewageEqu:'1', military:'1' }
]
};
},
@ -138,10 +215,10 @@ export default {
},
handleData() {
this.tableData = [
{trackName:'IG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'无', allowEMU:'否', waterEquip:'无',
sewageEquip:'无', military:'否'},
{trackName:'IIG', lineType:'正线', RVType:'上下行', RVdirection:'客货车', transType:'超额超限', stationStand:'低', allowEMU:'否', waterEquip:'无',
sewageEquip:'无', military:'否' }
{trackName:'IG', lineType:'1', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
sewageEqu:'1', military:'1'},
{trackName:'IIG', lineType:'2', direction:'1', type:'2', transfiniteType:'2', standType:'1', allowEmu:'2', addWaterEqu:'1',
sewageEqu:'1', military:'1' }
];
},
rowDbClick(row, column, event) {

View File

@ -4,17 +4,113 @@
class="datie-02__systerm"
:title="title"
:visible.sync="show"
width="560px"
width="660px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div class="TrackInformation">
<!-- 111 -->
<!-- form -->
<el-form ref="form" :model="model" label-width="85px" :rules="rules">
<el-form-item label="线路性质:" prop="lineType">
<el-select v-model="model.lineType" placeholder="" style="width:145px">
<el-option
v-for="item in lineTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="接发车方向:" prop="direction">
<el-select v-model="model.direction" placeholder="" style="width:90px">
<el-option
v-for="item in directionList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="接发车类型:" prop="type">
<el-select v-model="model.type" placeholder="" style="width:90px">
<el-option
v-for="item in typeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="超限类型:" prop="transfiniteType">
<el-select v-model="model.transfiniteType" placeholder="" style="width:145px">
<el-option
v-for="item in transfiniteTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="站台:" prop="standType">
<el-select v-model="model.standType" placeholder="" style="width:90px">
<el-option
v-for="item in standTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="允许动车组:" prop="allowEmu">
<el-select v-model="model.allowEmu" placeholder="" style="width:90px">
<el-option
v-for="item in allowEmuList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="上水设备:" prop="addWaterEqu">
<el-select v-model="model.addWaterEqu" placeholder="" style="width:145px">
<el-option
v-for="item in addWaterEquList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="排污设备:" prop="sewageEqu">
<el-select v-model="model.sewageEqu" placeholder="" style="width:90px">
<el-option
v-for="item in sewageEquList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="军用:" prop="military">
<el-select v-model="model.military" placeholder="" style="width:90px">
<el-option
v-for="item in militaryList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</div>
<div style="text-align:right;display:inline-block;width:100%;">
<div style="display:inline-block">
<div class="trackBtn">
<el-button :id="domIdCancel" @click="cancel">取消</el-button>
</div>
<div style="display:inline-block">
<div class="trackBtn">
<el-button :id="domIdConfirm " type="primary" :loading="loading" @click="commit">确定 </el-button>
</div>
</div>
@ -24,11 +120,67 @@
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'AddRunPlan',
name: 'TrackInformation',
data() {
return {
dialogShow: false,
loading: false
loading: false,
trackSectionCode:'',
lineTypeList:[
{label:'正线', value:'1'},
{label:'到发线', value:'2'}
],
directionList:[
{label:'上行', value:'1'},
{label:'下行', value:'2'},
{label:'上下行', value:'3'}
],
typeList:[
{label:'客车', value:'1'},
{label:'货车', value:'2'},
{label:'客货车', value:'3'}
],
transfiniteTypeList:[
{label:'不能接发超限列车', value:'1'},
{label:'一级超限', value:'2'},
{label:'二级超限', value:'3'},
{label:'超级超限', value:'4'}
],
standTypeList:[
{label:'无', value:'1'},
{label:'高站台', value:'2'},
{label:'低站台', value:'3'}
],
allowEmuList:[
{label:'是', value:'1'},
{label:'否', value:'2'}
],
addWaterEquList:[
{label:'有', value:'1'},
{label:'无', value:'2'}
],
sewageEquList:[
{label:'有', value:'1'},
{label:'无', value:'2'}
],
militaryList:[
{label:'是', value:'1'},
{label:'否', value:'2'}
],
model:{
lineType:'', // 线 线/线
direction:'', //
type:'', // //
transfiniteType:'', // ///
standType:'', // //
allowEmu:'', // /
addWaterEqu:'', // /
sewageEqu:'', // /
military:'' // /
},
rules:{
}
};
},
computed: {
@ -52,26 +204,27 @@ export default {
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
this.model = Object.assign({}, row);
},
doClose() {
this.loading = false;
this.dialogShow = false;
},
commit() {
// this.$refs.form.validate((valid) => {
// if (valid) {
// this.loading = true;
// const param = {stationCode:this.addModel.stationCode, runPlanParamList:[this.addModel]};
// commitOperate(menuOperate.CTC.addTrainFixedPath, param, 3).then(({valid})=>{
// if (valid) {
// this.doClose();
// }
// }).catch(() => {
// this.doClose();
// this.$emit('noticeInfo');
// });
// }
// });
this.$refs.form.validate((valid) => {
if (valid) {
// this.loading = true;
// const param = {stationCode:this.addModel.stationCode, runPlanParamList:[this.addModel]};
// commitOperate(menuOperate.CTC.addTrainFixedPath, param, 3).then(({valid})=>{
// if (valid) {
// this.doClose();
// }
// }).catch(() => {
// this.doClose();
// this.$emit('noticeInfo');
// });
}
});
},
cancel() {
const operate = {
@ -86,3 +239,16 @@ export default {
}
};
</script>
<style lang="scss" scoped>
.trackBtn{display:inline-block;margin-right: 10px;}
.TrackInformation .el-form-item{
display:inline-block;
margin-bottom:20px;
}
.TrackInformation{margin-bottom: 15px;}
</style>
<style lang="scss">
.TrackInformation .el-form-item__content {
line-height: 30px;
}
</style>

View File

@ -36,10 +36,11 @@
ref="trainFixedPathTableIn"
:data="tableData"
border
height="600px"
:height="(height-100)+'px'"
highlight-current-row
style="border:1px #ccc solid;"
>
<!-- :height="(height-100)+'px'" -->
<!-- @cell-click="selectedTripNumber" -->
<!-- @current-change="handleCurrentChange" -->
<el-table-column
@ -86,7 +87,9 @@
width="75"
>
<template slot-scope="scope">
{{ filterSectionMap[scope.row.trackSectionCode].name }}
<div v-if="scope.row.trackSectionCode">
{{ filterSectionMap[scope.row.trackSectionCode].name }}
</div>
</template>
</el-table-column>
<el-table-column
@ -95,7 +98,9 @@
width="110"
>
<template slot-scope="scope">
{{ stationMap[scope.row.departStationCode].name }}
<div v-if="scope.row.departStationCode">
{{ stationMap[scope.row.departStationCode].name }}
</div>
</template>
</el-table-column>
<el-table-column
@ -104,7 +109,9 @@
width="155"
>
<template slot-scope="scope">
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
<div v-if="scope.row.arriveDirectionCode">
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
</div>
</template>
</el-table-column>
<el-table-column
@ -113,7 +120,9 @@
width="155"
>
<template slot-scope="scope">
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
<div v-if="scope.row.departDirectionCode">
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
</div>
</template>
</el-table-column>
<el-table-column
@ -122,7 +131,9 @@
width="110"
>
<template slot-scope="scope">
{{ stationMap[scope.row.arriveStationCode].name }}
<div v-if="scope.row.arriveStationCode">
{{ stationMap[scope.row.arriveStationCode].name }}
</div>
</template>
</el-table-column>
<el-table-column
@ -398,7 +409,7 @@ export default {
});
},
coverTime(time) {
return time.split(':').splice(0, 2).join(':');
return time ? time.split(':').splice(0, 2).join(':') : '';
},
handleData() {
this.tableData = [];
@ -464,7 +475,7 @@ export default {
.trainFixedPathButton:hover{
background-image: linear-gradient(#efffff,#a8daf3);
}
.trainFixedPathRTable{background:#a9a9a9;border-left: 1px #707070 solid;}
.trainFixedPathRTable{background:#a9a9a9;border-left: 1px #707070 solid;overflow: hidden;}
.trainFixedPathUpload {
position: relative;
overflow: hidden;