2022-06-13 10:45:15 +08:00
|
|
|
<template>
|
2022-06-13 14:31:31 +08:00
|
|
|
<div class="trainFixedPath" :style="{ height: height+'px' }">
|
|
|
|
<!-- {{ '列车固定径路' }} -->
|
|
|
|
<div class="trainFixedPathL">
|
2022-08-19 13:46:49 +08:00
|
|
|
<terminal-station-list ref="terminalStationList" :currentid="'getTrainFixedPath'" @loadStationData="loadStationData" />
|
2022-06-13 14:31:31 +08:00
|
|
|
</div>
|
|
|
|
<div class="trainFixedPathR">
|
|
|
|
<div class="trainFixedPathRMenu">
|
2022-06-13 16:02:33 +08:00
|
|
|
<div class="trainFixedPathRMenuL">
|
2022-08-23 16:24:11 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="addTrainFxPath">增加</el-button>
|
2022-08-23 17:59:04 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="batchTrainFxPath">批量增加</el-button>
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small">基本图导入</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small">基本图申请</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small">其他站导入</el-button>
|
2022-08-23 16:24:11 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="deleteTrainFxPath">删除</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="clearTrainFxPath">全部清空</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="modifyTrainFxPath">修改</el-button>
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small">查找</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small">导出excel</el-button>
|
|
|
|
<el-button class="trainFixedPathButton" size="small">流程批量设置</el-button>
|
|
|
|
</div>
|
|
|
|
<div class="trainFixedPathRMenuR">
|
|
|
|
<span class="trainFixedPathRVer">版本号</span>
|
2022-06-16 15:20:12 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="exportData">备份</el-button>
|
2022-06-16 16:36:18 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small" @click="releaseTrainFixedPath">更新至生效区</el-button>
|
|
|
|
<el-button class="trainFixedPathButton trainFixedPathUpload" size="small">
|
|
|
|
导入
|
|
|
|
<input ref="files" type="file" class="file_box" accept=".json, application/json" @change="importf">
|
|
|
|
</el-button>
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-button class="trainFixedPathButton" size="small">比较</el-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="trainFixedPathRTable" :style="{ height: (height-40)+'px' }">
|
|
|
|
<el-table
|
|
|
|
id="trainFixedPathTableIn"
|
|
|
|
ref="trainFixedPathTableIn"
|
|
|
|
:data="tableData"
|
|
|
|
border
|
2022-06-23 14:22:42 +08:00
|
|
|
:height="(height-100)+'px'"
|
2022-06-13 16:02:33 +08:00
|
|
|
highlight-current-row
|
|
|
|
style="border:1px #ccc solid;"
|
2022-06-23 16:48:16 +08:00
|
|
|
@row-click="selectedSection"
|
2022-06-13 16:02:33 +08:00
|
|
|
>
|
2022-06-23 14:22:42 +08:00
|
|
|
<!-- :height="(height-100)+'px'" -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<!-- @cell-click="selectedTripNumber" -->
|
|
|
|
<!-- @current-change="handleCurrentChange" -->
|
|
|
|
<el-table-column
|
|
|
|
type="index"
|
|
|
|
label="序号"
|
|
|
|
width="50"
|
|
|
|
/>
|
|
|
|
<el-table-column
|
2022-06-14 16:36:40 +08:00
|
|
|
prop="stationCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="车站"
|
|
|
|
width="100"
|
2022-06-17 10:16:49 +08:00
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
|
|
|
{{ stationMap[scope.row.stationCode].name }}
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- arriveTripNumber -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="arriveTipNum"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="到达车次"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="80"
|
2022-06-13 16:02:33 +08:00
|
|
|
/>
|
|
|
|
<el-table-column
|
|
|
|
prop="arriveTime"
|
|
|
|
label="到达时间"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="70"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
|
|
|
{{ scope.row.arriveTime }}
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- departTripNumber -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="leaveTipNum"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="出发车次"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="80"
|
2022-06-13 16:02:33 +08:00
|
|
|
/>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- departTime -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="leaveTime"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="出发时间"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="70"
|
2022-06-13 16:02:33 +08:00
|
|
|
/>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- trackSectionCode -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="masterCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="股道"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="75"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 16:24:11 +08:00
|
|
|
<div v-if="scope.row.masterCode">
|
|
|
|
{{ filterSectionMap[scope.row.masterCode].name }}
|
2022-06-23 14:00:47 +08:00
|
|
|
</div>
|
2022-06-17 10:16:49 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- departStationCode -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="backStationCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="后方车站"
|
2022-06-14 16:36:40 +08:00
|
|
|
width="110"
|
2022-06-17 10:16:49 +08:00
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 16:24:11 +08:00
|
|
|
<div v-if="scope.row.backStationCode">
|
|
|
|
{{ stationMap[scope.row.backStationCode].name }}
|
2022-06-23 14:00:47 +08:00
|
|
|
</div>
|
2022-06-17 10:16:49 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- arriveDirectionCode -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="enterDirCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="入口"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="155"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 16:24:11 +08:00
|
|
|
<div v-if="scope.row.enterDirCode">
|
|
|
|
{{ mapStationDirectionData[scope.row.enterDirCode].name }}
|
2022-06-23 14:00:47 +08:00
|
|
|
</div>
|
2022-06-17 10:16:49 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- departDirectionCode -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="outDirCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="出口"
|
2022-06-17 10:16:49 +08:00
|
|
|
width="155"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 16:24:11 +08:00
|
|
|
<div v-if="scope.row.outDirCode">
|
|
|
|
{{ mapStationDirectionData[scope.row.outDirCode].name }}
|
2022-06-23 14:00:47 +08:00
|
|
|
</div>
|
2022-06-17 10:16:49 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- arriveStationCode -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="fontStationCode"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="前方车站"
|
2022-06-14 16:36:40 +08:00
|
|
|
width="110"
|
2022-06-17 10:16:49 +08:00
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 16:24:11 +08:00
|
|
|
<div v-if="scope.row.fontStationCode">
|
|
|
|
{{ stationMap[scope.row.fontStationCode].name }}
|
2022-06-23 14:00:47 +08:00
|
|
|
</div>
|
2022-06-17 10:16:49 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- RVType -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.JISHU_STOP"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="技术停点"
|
|
|
|
width="70"
|
2022-08-19 13:46:49 +08:00
|
|
|
>
|
|
|
|
<!-- <template slot-scope="scope">
|
|
|
|
<el-checkbox v-model="scope.row.JISHU_STOP" />
|
|
|
|
</template> -->
|
|
|
|
</el-table-column>
|
|
|
|
<!-- trainInspection -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-26 17:32:59 +08:00
|
|
|
prop="appendData.LIEJIAN"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="列检"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.LIEJIAN" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- crossZero -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.JIAO_LING"
|
|
|
|
label="交令"
|
2022-06-13 16:02:33 +08:00
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.JIAO_LING" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.JIAOPIAO"
|
|
|
|
label="交票"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-checkbox v-model="scope.row.appendData.JIAOPIAO" />
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<!-- columnEnd -->
|
|
|
|
<el-table-column
|
|
|
|
prop="appendData.LIEWEI"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="列尾"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.LIEWEI" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- locomotive -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.JICHE"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="机车"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.JICHE" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- goodsInspection -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.appendData.HUOJIAN"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="货检"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-23 17:59:04 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.HUOJIAN" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- multiplyDown -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.CHENGJIANG"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="乘降"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.CHENGJIANG" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- sailUpstream -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.SHANGSHUI"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="上水"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.SHANGSHUI" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- pickUp -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.ZHAIGUA"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="摘挂"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.ZHAIGUA" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- transfer -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.HUANCHENG"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="换乘"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.HUANCHENG" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- handling -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.ZHUANGXIE"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="装卸"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.ZHUANGXIE" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- pollution -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.XIWU"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="吸污"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.XIWU" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- crossing-->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.DAOKOU"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="道口"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.DAOKOU" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- trainNumber -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.CHEHAO"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="车号"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.CHEHAO" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2022-08-19 13:46:49 +08:00
|
|
|
<!-- affair -->
|
2022-06-13 16:02:33 +08:00
|
|
|
<el-table-column
|
2022-08-19 13:46:49 +08:00
|
|
|
prop="appendData.ZHANWU"
|
2022-06-13 16:02:33 +08:00
|
|
|
label="站务"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
2022-08-19 13:46:49 +08:00
|
|
|
<el-checkbox v-model="scope.row.appendData.ZHANWU" />
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
prop="appendData.ZONGKONG"
|
|
|
|
label="综控"
|
|
|
|
width="40"
|
|
|
|
>
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-checkbox v-model="scope.row.appendData.ZONGKONG" />
|
2022-06-13 16:02:33 +08:00
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
2022-06-13 14:31:31 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-08-23 16:24:11 +08:00
|
|
|
<add-runplan ref="trainFxPath" @noticeInfo="noticeInfo" @refresh="handleData" />
|
2022-08-23 17:59:04 +08:00
|
|
|
<batchTrainFxPath ref="batchTrainFxPath" @noticeInfo="noticeInfo" @refresh="handleData" />
|
2022-06-13 10:45:15 +08:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script>
|
2022-06-17 10:16:49 +08:00
|
|
|
import { mapGetters } from 'vuex';
|
2022-06-16 15:20:12 +08:00
|
|
|
import { now} from '@/utils/date';
|
2022-06-13 17:44:07 +08:00
|
|
|
import TerminalStationList from './terminalStationList';
|
2022-06-15 17:38:23 +08:00
|
|
|
import AddRunplan from './addRunplan';
|
2022-08-23 17:59:04 +08:00
|
|
|
import BatchTrainFxPath from './batchTrainFxPath';
|
2022-06-14 16:36:40 +08:00
|
|
|
import { copyAssign } from '@/utils/index';
|
2022-06-16 16:36:18 +08:00
|
|
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
2022-06-13 10:45:15 +08:00
|
|
|
export default {
|
2022-06-13 14:31:31 +08:00
|
|
|
name:'TrainFixedPath',
|
2022-06-13 17:44:07 +08:00
|
|
|
components: {
|
2022-06-15 17:38:23 +08:00
|
|
|
TerminalStationList,
|
2022-08-23 17:59:04 +08:00
|
|
|
BatchTrainFxPath,
|
2022-06-15 17:38:23 +08:00
|
|
|
AddRunplan
|
2022-06-13 17:44:07 +08:00
|
|
|
},
|
2022-06-13 10:45:15 +08:00
|
|
|
data() {
|
|
|
|
return {
|
2022-06-13 16:02:33 +08:00
|
|
|
height: this.$store.state.app.height - 61,
|
2022-06-14 16:36:40 +08:00
|
|
|
currentStationCode:'',
|
2022-06-23 16:48:16 +08:00
|
|
|
currentRow:null,
|
2022-06-17 10:16:49 +08:00
|
|
|
tableData:[],
|
|
|
|
filterSectionMap:{}
|
2022-06-13 10:45:15 +08:00
|
|
|
};
|
2022-06-14 14:39:07 +08:00
|
|
|
},
|
2022-06-17 10:16:49 +08:00
|
|
|
computed:{
|
|
|
|
...mapGetters('map', [
|
|
|
|
'sectionList',
|
|
|
|
'stationList'
|
|
|
|
]),
|
|
|
|
mapStationDirectionData() {
|
|
|
|
return this.$store.state.map.mapStationDirectionData;
|
|
|
|
},
|
|
|
|
stationMap() {
|
|
|
|
const stationMap = {};
|
|
|
|
this.stationList.forEach(station=>{
|
|
|
|
stationMap[station.code] = {code:station.code, name:station.name};
|
|
|
|
});
|
|
|
|
return stationMap;
|
|
|
|
}
|
|
|
|
},
|
2022-08-19 13:46:49 +08:00
|
|
|
// watch:{
|
|
|
|
// '$store.state.socket.railCtcStationManageRpChange': function (val) {
|
|
|
|
// this.handleData();
|
|
|
|
// }
|
|
|
|
// },
|
2022-06-14 14:39:07 +08:00
|
|
|
methods:{
|
2022-06-23 16:48:16 +08:00
|
|
|
selectedSection(row, column, event) {
|
|
|
|
this.currentRow = row;
|
|
|
|
},
|
2022-06-14 14:39:07 +08:00
|
|
|
loadStation() {
|
|
|
|
this.$refs.terminalStationList.loadStation();
|
|
|
|
},
|
|
|
|
loadStationData(stationCode) {
|
2022-06-14 16:36:40 +08:00
|
|
|
this.currentStationCode = stationCode;
|
2022-06-17 10:16:49 +08:00
|
|
|
this.filterSectionMap = {};
|
|
|
|
this.sectionList.forEach(section=>{
|
|
|
|
if (section.standTrack && section.belongStation == this.currentStationCode) {
|
|
|
|
this.filterSectionMap[section.code] = {code:section.code, name:section.name};
|
|
|
|
}
|
|
|
|
});
|
2022-08-23 16:24:11 +08:00
|
|
|
this.handleData();
|
2022-06-14 16:36:40 +08:00
|
|
|
},
|
2022-08-23 16:24:11 +08:00
|
|
|
addTrainFxPath() {
|
|
|
|
this.$refs.trainFxPath.doShow({
|
2022-06-17 10:16:49 +08:00
|
|
|
stationCode:this.currentStationCode,
|
|
|
|
filterSectionMap:this.filterSectionMap,
|
|
|
|
mapStationDirectionMap:this.mapStationDirectionData
|
|
|
|
});
|
2022-06-15 17:38:23 +08:00
|
|
|
},
|
2022-08-23 17:59:04 +08:00
|
|
|
batchTrainFxPath() {
|
|
|
|
this.$refs.batchTrainFxPath.doShow({
|
|
|
|
stationCode:this.currentStationCode,
|
|
|
|
filterSectionMap:this.filterSectionMap,
|
|
|
|
mapStationDirectionMap:this.mapStationDirectionData
|
|
|
|
});
|
|
|
|
},
|
2022-08-23 16:24:11 +08:00
|
|
|
modifyTrainFxPath() {
|
|
|
|
if (this.currentRow) {
|
|
|
|
this.$refs.trainFxPath.doShow({
|
|
|
|
stationCode:this.currentStationCode,
|
|
|
|
filterSectionMap:this.filterSectionMap,
|
|
|
|
mapStationDirectionMap:this.mapStationDirectionData,
|
2022-08-25 15:18:32 +08:00
|
|
|
row:JSON.parse(JSON.stringify(this.currentRow))
|
2022-08-23 16:24:11 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
deleteTrainFxPath() {
|
2022-06-23 16:48:16 +08:00
|
|
|
if (this.currentRow) {
|
|
|
|
const that = this;
|
|
|
|
this.$confirm('确定删除该条列车路径数据?', '警告', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning'
|
|
|
|
}).then(() => {
|
|
|
|
// stationCode 车站编码
|
2022-08-19 15:52:00 +08:00
|
|
|
// runPlanCode:this.currentRow.runPlanCode
|
|
|
|
const param = {stationCode:this.currentRow.stationCode, code:this.currentRow.code };
|
2022-06-23 16:48:16 +08:00
|
|
|
commitOperate(menuOperate.CTC.deleteTrainFixedPath, param, 3).then(({valid})=>{
|
|
|
|
if (valid) {
|
|
|
|
that.$message.success('删除成功!');
|
|
|
|
}
|
|
|
|
}).catch(() => {
|
|
|
|
that.$message.error('删除失败');
|
|
|
|
});
|
|
|
|
}).catch(e => {});
|
|
|
|
}
|
|
|
|
},
|
2022-08-23 16:24:11 +08:00
|
|
|
clearTrainFxPath() {
|
2022-08-19 15:52:00 +08:00
|
|
|
const that = this;
|
|
|
|
this.$confirm('确定清空该站的所有列车路径数据?', '警告', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning'
|
|
|
|
}).then(() => {
|
|
|
|
// stationCode 车站编码
|
|
|
|
const param = {stationCode:this.currentStationCode};
|
|
|
|
commitOperate(menuOperate.CTC.clearTrainFixedPath, param, 3).then(({valid})=>{
|
|
|
|
if (valid) {
|
|
|
|
that.$message.success('清空成功!');
|
|
|
|
}
|
|
|
|
}).catch(() => {
|
|
|
|
that.$message.error('清空失败');
|
|
|
|
});
|
|
|
|
}).catch(e => {});
|
|
|
|
},
|
2022-06-16 10:20:33 +08:00
|
|
|
noticeInfo() {
|
|
|
|
this.$emit('noticeInfo');
|
|
|
|
},
|
2022-06-16 15:20:12 +08:00
|
|
|
exportData() {
|
|
|
|
const currentDay = now().replace(/(-|:)|\s/g, '');
|
|
|
|
const content = new Blob(
|
|
|
|
[JSON.stringify({stationCode:this.currentStationCode, runPlanParamList:this.tableData})]
|
|
|
|
);
|
|
|
|
const urlObject = window.URL || window.webkitURL || window;
|
|
|
|
const url = urlObject.createObjectURL(content);
|
|
|
|
const el = document.createElement('a');
|
|
|
|
el.href = url;
|
|
|
|
el.download = `TRAIN_WAY_LIST-${currentDay}.json`;
|
|
|
|
el.click();
|
|
|
|
urlObject.revokeObjectURL(url);
|
|
|
|
},
|
2022-06-16 16:36:18 +08:00
|
|
|
importf() {
|
|
|
|
const that = this;
|
|
|
|
setTimeout(() => {
|
|
|
|
const obj = this.$refs.files;
|
|
|
|
if (!obj.files) return;
|
|
|
|
const f = obj.files[0];
|
|
|
|
if (f.type != 'application/json') {
|
|
|
|
this.$message.error('请上传json格式的文件');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
const loading = this.$loading({
|
|
|
|
lock: true,
|
|
|
|
text: '正在导入中...',
|
|
|
|
spinner: 'el-icon-loading',
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
});
|
|
|
|
const reader = new FileReader();
|
|
|
|
reader.readAsText(f, 'utf-8');
|
|
|
|
reader.onload = function(e) {
|
|
|
|
const data = e.target.result;
|
|
|
|
that.formDisplay = true;
|
|
|
|
const json = JSON.parse(data);
|
|
|
|
if (json && json.runPlanParamList && json.stationCode) {
|
|
|
|
if (json.runPlanParamList.length > 0) {
|
|
|
|
const param = {stationCode:json.stationCode, runPlanParamList:json.runPlanParamList};
|
|
|
|
commitOperate(menuOperate.CTC.importTrainFixedPath, param, 3).then(({valid})=>{
|
|
|
|
if (valid) {
|
|
|
|
loading.close();
|
|
|
|
that.$message.success('导入成功!');
|
|
|
|
}
|
|
|
|
}).catch(() => {
|
|
|
|
loading.close();
|
|
|
|
that.$message.error('导入失败');
|
|
|
|
});
|
|
|
|
|
|
|
|
} else {
|
|
|
|
that.$message.error('该文件数据为空');
|
|
|
|
loading.close();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
that.$message.error('该文件数据结构不正确');
|
|
|
|
loading.close();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
});
|
|
|
|
},
|
|
|
|
releaseTrainFixedPath() {
|
|
|
|
const that = this;
|
|
|
|
commitOperate(menuOperate.CTC.releaseTrainFixedPath, { stationCode:this.currentStationCode}, 3).then(({valid})=>{
|
|
|
|
if (valid) {
|
|
|
|
that.$message.success('发布成功!');
|
|
|
|
}
|
|
|
|
}).catch(() => {
|
|
|
|
that.$message.error('发布失败');
|
|
|
|
});
|
|
|
|
},
|
2022-06-17 11:34:09 +08:00
|
|
|
coverTime(time) {
|
2022-06-23 14:00:47 +08:00
|
|
|
return time ? time.split(':').splice(0, 2).join(':') : '';
|
2022-06-17 11:34:09 +08:00
|
|
|
},
|
2022-08-23 16:24:11 +08:00
|
|
|
handleData() {
|
|
|
|
commitOperate(menuOperate.CTC.getTrainFixedPath, { stationCode: this.currentStationCode }, 3).then(({valid, response}) => {
|
2022-08-19 13:46:49 +08:00
|
|
|
if (valid) {
|
|
|
|
this.tableData = response.data;
|
|
|
|
}
|
2022-06-14 16:36:40 +08:00
|
|
|
});
|
2022-08-19 13:46:49 +08:00
|
|
|
this.currentRow = null;
|
|
|
|
// const railCtcStationManageRpMsg = copyAssign({}, this.$store.state.socket.railCtcStationManageRpMsg);
|
|
|
|
// this.tableData = Object.values(railCtcStationManageRpMsg).filter(data=>{
|
|
|
|
// data.arriveTime = this.coverTime(data.arriveTime);
|
|
|
|
// data.departTime = this.coverTime(data.departTime);
|
|
|
|
// return data.stationCode == this.currentStationCode;
|
|
|
|
|
|
|
|
// });
|
2022-06-14 16:36:40 +08:00
|
|
|
// stationCode 车站编码
|
|
|
|
// trackSectionCode 运行计划的默认股道
|
|
|
|
// arriveTripNumber 到达车次
|
|
|
|
// departTripNumber 出发车次
|
|
|
|
// arriveTime 到达时间
|
|
|
|
// departTime 出发时间
|
|
|
|
// arriveDirectionCode 入口
|
|
|
|
// departDirectionCode 出口
|
|
|
|
// arriveStationCode 到达车站
|
|
|
|
// departStationCode 出发车站
|
|
|
|
//
|
2022-06-14 14:39:07 +08:00
|
|
|
}
|
2022-06-13 10:45:15 +08:00
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
2022-06-13 14:31:31 +08:00
|
|
|
<style lang="scss" scoped>
|
|
|
|
.trainFixedPath{
|
|
|
|
padding-left:200px;
|
|
|
|
}
|
|
|
|
.trainFixedPathL{
|
|
|
|
width: 200px;
|
|
|
|
height: 100%;
|
|
|
|
position: absolute;
|
|
|
|
border-right: 1px #797979 solid;
|
|
|
|
left: 0;
|
|
|
|
top: 0;
|
|
|
|
}
|
|
|
|
.trainFixedPathR{
|
|
|
|
padding:0px 5px 0px 5px;
|
|
|
|
height: 100%;
|
|
|
|
background: #d8d8d8;
|
|
|
|
}
|
|
|
|
.trainFixedPathRMenu{
|
|
|
|
background:#eeeeee;
|
|
|
|
display: inline-block;
|
|
|
|
width:100%;
|
|
|
|
padding:5px;
|
|
|
|
border-left: 1px #707070 solid;
|
|
|
|
}
|
|
|
|
.trainFixedPathRMenuL{display: inline-block;}
|
|
|
|
.trainFixedPathRMenuR{float:right;display: inline-block;}
|
2022-06-13 16:02:33 +08:00
|
|
|
.trainFixedPathRVer{
|
|
|
|
font-size: 14px;
|
|
|
|
margin-right: 10px;
|
|
|
|
color: #87a7c9;
|
|
|
|
}
|
|
|
|
.trainFixedPathButton{
|
|
|
|
background-image: linear-gradient(#ffffff,#d8d8d8);
|
|
|
|
color: #000;
|
|
|
|
padding: 5px 10px;
|
|
|
|
border: 1px #737373 solid;
|
|
|
|
}
|
2022-06-14 11:30:15 +08:00
|
|
|
.trainFixedPathButton:hover{
|
|
|
|
background-image: linear-gradient(#efffff,#a8daf3);
|
|
|
|
}
|
2022-06-23 14:22:42 +08:00
|
|
|
.trainFixedPathRTable{background:#a9a9a9;border-left: 1px #707070 solid;overflow: hidden;}
|
2022-06-16 16:36:18 +08:00
|
|
|
.trainFixedPathUpload {
|
|
|
|
position: relative;
|
|
|
|
overflow: hidden;
|
|
|
|
cursor: pointer;
|
|
|
|
input {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
top: 0;
|
|
|
|
opacity: 0;
|
|
|
|
cursor: pointer;
|
|
|
|
font-size: 0;
|
|
|
|
}
|
|
|
|
}
|
2022-06-13 16:02:33 +08:00
|
|
|
</style>
|
|
|
|
<style lang="scss">
|
|
|
|
#trainFixedPathTableIn.el-table td, #trainFixedPathTableIn.el-table th{
|
|
|
|
padding-top: 5px;
|
|
|
|
padding-bottom: 5px;
|
|
|
|
border-color: #a5a5a5;
|
|
|
|
}
|
2022-06-17 10:16:49 +08:00
|
|
|
#trainFixedPathTableIn.el-table .cell{ padding-left: 5px;padding-right: 5px; text-align: center;font-size: 13px;}
|
2022-06-23 16:48:16 +08:00
|
|
|
#trainFixedPathTableIn .el-table__body tr.current-row>td{
|
|
|
|
background-color: #6aa8ec;
|
|
|
|
color: #fff;
|
|
|
|
}
|
2022-06-13 14:31:31 +08:00
|
|
|
</style>
|
|
|
|
|