Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
22e4935310
@ -102,7 +102,7 @@
|
|||||||
<el-table ref="table3" :data="sendTableData" border style="width: 100%" height="150" highlight-current-row @current-change="handleCurrentChange($event, 'table3')">
|
<el-table ref="table3" :data="sendTableData" border style="width: 100%" height="150" highlight-current-row @current-change="handleCurrentChange($event, 'table3')">
|
||||||
<el-table-column prop="number" label="命令号" width="80" />
|
<el-table-column prop="number" label="命令号" width="80" />
|
||||||
<el-table-column prop="title" label="命令标题" show-overflow-tooltip />
|
<el-table-column prop="title" label="命令标题" show-overflow-tooltip />
|
||||||
<el-table-column prop="sendTime" label="接收单位" width="160">
|
<el-table-column prop="sendTime" label="接收单位" show-overflow-tooltip width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span style="margin-left: 10px">{{ JoinDeviceNameStr(scope.row.receiverInfos) || '' }}</span>
|
<span style="margin-left: 10px">{{ JoinDeviceNameStr(scope.row.receiverInfos) || '' }}</span>
|
||||||
</template>
|
</template>
|
||||||
@ -130,7 +130,7 @@
|
|||||||
<el-table ref="table4" :data="allSignedTableData" border style="width: 100%" height="170" highlight-current-row @current-change="handleCurrentChange($event, 'table4')">
|
<el-table ref="table4" :data="allSignedTableData" border style="width: 100%" height="170" highlight-current-row @current-change="handleCurrentChange($event, 'table4')">
|
||||||
<el-table-column prop="number" label="命令号" width="80" />
|
<el-table-column prop="number" label="命令号" width="80" />
|
||||||
<el-table-column prop="title" label="命令标题" show-overflow-tooltip />
|
<el-table-column prop="title" label="命令标题" show-overflow-tooltip />
|
||||||
<el-table-column prop="sendTime" label="接收单位" width="160">
|
<el-table-column prop="sendTime" label="接收单位" show-overflow-tooltip width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span style="margin-left: 10px">{{ JoinDeviceNameStr(scope.row.receiverInfos) || '' }}</span>
|
<span style="margin-left: 10px">{{ JoinDeviceNameStr(scope.row.receiverInfos) || '' }}</span>
|
||||||
</template>
|
</template>
|
||||||
@ -577,9 +577,20 @@ export default {
|
|||||||
this.command.receiverIds = arr;
|
this.command.receiverIds = arr;
|
||||||
},
|
},
|
||||||
sendCmd() {
|
sendCmd() {
|
||||||
this.$confirm('你是要下达调度命令吗?', '确认提示', {
|
const test = `【${this.command.number}】号调度命令下达到以下受令人:`;
|
||||||
confirmButtonText: '是',
|
const messageData = [test];
|
||||||
cancelButtonText: '否'
|
const h = this.$createElement;
|
||||||
|
this.command.receiverIds.forEach((item, index) => {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](item);
|
||||||
|
const msg = `${index + 1}. ${device ? device.name : ''}`;
|
||||||
|
messageData.push(h('p', null, msg));
|
||||||
|
});
|
||||||
|
this.$confirm('提示', {
|
||||||
|
title: '操作提示',
|
||||||
|
message: h('div', null, messageData),
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
const data = {
|
const data = {
|
||||||
command: this.command
|
command: this.command
|
||||||
|
@ -503,6 +503,9 @@ export default {
|
|||||||
},
|
},
|
||||||
setOffset(data, num, sum, obj) {
|
setOffset(data, num, sum, obj) {
|
||||||
this.$jlmap.switchScreen(data, num, sum, obj);
|
this.$jlmap.switchScreen(data, num, sum, obj);
|
||||||
|
},
|
||||||
|
pictureChanged(picture) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
64
src/views/newMap/mapDraftPicture/changePicture.vue
Normal file
64
src/views/newMap/mapDraftPicture/changePicture.vue
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
title="画面切换"
|
||||||
|
:visible.sync="centerDialogVisible"
|
||||||
|
width="350px"
|
||||||
|
center
|
||||||
|
>
|
||||||
|
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
|
||||||
|
<el-form-item label="画面名称:" prop="picture">
|
||||||
|
<el-select v-model="ruleForm.picture" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in pictureList"
|
||||||
|
:key="item"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="changeForm()">切换</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'CreatePicture',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
centerDialogVisible: false,
|
||||||
|
ruleForm: { picture: '' },
|
||||||
|
rules: {
|
||||||
|
picture: [{ required: true, message: '请选择画面', trigger: 'change' }]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
pictureList() {
|
||||||
|
return this.$store.state.map.map.pictureList;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeForm() {
|
||||||
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.$emit('pictureChanged', this.ruleForm.picture);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
this.centerDialogVisible = false;
|
||||||
|
},
|
||||||
|
doShow() {
|
||||||
|
this.centerDialogVisible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
88
src/views/newMap/mapDraftPicture/createPicture.vue
Normal file
88
src/views/newMap/mapDraftPicture/createPicture.vue
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
title="提示"
|
||||||
|
:visible.sync="centerDialogVisible"
|
||||||
|
width="350px"
|
||||||
|
center
|
||||||
|
>
|
||||||
|
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
|
||||||
|
<el-form-item label="画面名称:" prop="name">
|
||||||
|
<el-input v-model="ruleForm.name" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="画面类型:" prop="type">
|
||||||
|
<el-select v-model="ruleForm.type" placeholder="请选择画面类型">
|
||||||
|
<el-option label="站间透明" value="lucency" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="所属车站:" prop="stationCode">
|
||||||
|
<el-select v-model="ruleForm.stationCode" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in stationList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="submitForm('ruleForm')">创建</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {mapGetters} from 'vuex';
|
||||||
|
import { saveMap } from '@/api/jmap/mapdraft';
|
||||||
|
export default {
|
||||||
|
name: 'CreatePicture',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
centerDialogVisible: false,
|
||||||
|
ruleForm: { name: '', type: '', stationCode: '', deviceList: [] },
|
||||||
|
rules: {
|
||||||
|
name: [{ required: true, message: '请输入画面名称', trigger: 'blur' }],
|
||||||
|
type: [{ required: true, message: '请选择画面类型', trigger: 'change' }],
|
||||||
|
stationCode: [{ required: true, message: '请选择车站', trigger: 'change' }]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'stationList'
|
||||||
|
])
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
submitForm() {
|
||||||
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
const map = this.$store.state.map.map;
|
||||||
|
if (map && map.pictureList && map.pictureList.length) {
|
||||||
|
map.pictureList.push({...this.ruleForm});
|
||||||
|
} else {
|
||||||
|
map.pictureList = [{...this.ruleForm}];
|
||||||
|
}
|
||||||
|
if (map && parseInt(this.$route.params.mapId)) {
|
||||||
|
saveMap(Object.assign(map, { mapId: this.$route.params.mapId })).then(() => {
|
||||||
|
this.$message.success('创建画面成功!');
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message.error('创建画面失败!');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.$refs.ruleForm.resetFields();
|
||||||
|
this.centerDialogVisible = false;
|
||||||
|
},
|
||||||
|
doShow() {
|
||||||
|
this.centerDialogVisible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -24,30 +24,37 @@
|
|||||||
:selected="selected"
|
:selected="selected"
|
||||||
:map-saveing="mapSaveing"
|
:map-saveing="mapSaveing"
|
||||||
@saveMapEvent="saveMapEvent"
|
@saveMapEvent="saveMapEvent"
|
||||||
@updateMapModel="updateMapModel"
|
@createPicture="createPicture"
|
||||||
|
@changePicture="changePicture"
|
||||||
@setCenter="setCenter"
|
@setCenter="setCenter"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
|
<create-picture ref="createPicture" />
|
||||||
|
<change-picture ref="changePicture" @pictureChanged="pictureChanged" />
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { saveMap, verifyMap, getMapDetail, postBuildMapImport, getRouteNewList, getAutoReentryList } from '@/api/jmap/mapdraft';
|
import { saveMap, getMapDetail, postBuildMapImport } from '@/api/jmap/mapdraft';
|
||||||
import { ViewMode, TrainingMode, getDeviceMenuByDeviceType, DeviceMenu } from '@/scripts/ConstDic';
|
import { ViewMode, TrainingMode, getDeviceMenuByDeviceType, DeviceMenu } from '@/scripts/ConstDic';
|
||||||
import JlmapVisual from '@/views/newMap/jlmapNew/index';
|
import JlmapVisual from '@/views/newMap/jlmapNew/index';
|
||||||
import MapOperate from './mapoperate/index';
|
import MapOperate from './mapoperate/index';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
|
import CreatePicture from './createPicture';
|
||||||
|
import ChangePicture from './changePicture';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MapView',
|
name: 'MapView',
|
||||||
components: {
|
components: {
|
||||||
JlmapVisual,
|
JlmapVisual,
|
||||||
MapOperate,
|
MapOperate,
|
||||||
PopMenu
|
PopMenu,
|
||||||
|
CreatePicture,
|
||||||
|
ChangePicture
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -312,115 +319,6 @@ export default {
|
|||||||
});
|
});
|
||||||
return flag;
|
return flag;
|
||||||
},
|
},
|
||||||
verifySectionRelation(map) {
|
|
||||||
let flag = true;
|
|
||||||
const tipInfoList = [];
|
|
||||||
map.sectionList.forEach(section => {
|
|
||||||
section.type === '01' && map.sectionList.forEach(item => {
|
|
||||||
if (section.code !== item.code && item.type === '01' && this.checkSectionPointsHasCoincide(section.points, item.points) && !this.checkCorrelation(section, item)) {
|
|
||||||
tipInfoList.push('区段' + section.name + '(' + section.code + '): 或者区段' + item.name + '(' + item.code + ')' + '关联关系设置错误!' );
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
if (!tipInfoList.length) {
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
flag = false;
|
|
||||||
this.$messageBox(this.$t('tip.dataValidationFailed'));
|
|
||||||
this.tableToExcel(tipInfoList);
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
},
|
|
||||||
async verifyInterlockDevice(map) {
|
|
||||||
let flag = true;
|
|
||||||
const tipInfoList = [];
|
|
||||||
const routeCodeList = [];
|
|
||||||
const cycleCodeList = [];
|
|
||||||
const resp1 = await getRouteNewList(this.$route.params.mapId, {pageSize:9999, pageNum:1});
|
|
||||||
if (resp1.data && resp1.data.list) {
|
|
||||||
resp1.data.list.forEach(item => {
|
|
||||||
routeCodeList.push(item.code);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
const resp2 = await getAutoReentryList(this.$route.params.mapId, {pageSize:9999, pageNum:1});
|
|
||||||
if (resp2.data && resp2.data.list) {
|
|
||||||
resp2.data.list.forEach(item => {
|
|
||||||
cycleCodeList.push(item.code);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
map.cycleButtonList.forEach(cycleButton => {
|
|
||||||
if (!cycleCodeList.includes(cycleButton.cycleCode)) {
|
|
||||||
flag = false;
|
|
||||||
tipInfoList.push('自动折返功能按钮' + cycleButton.name + '(' + cycleButton.code + ')' + '的关联自动折返数据不存在!');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
map.automaticRouteButtonList.forEach(routeButton => {
|
|
||||||
if (!routeCodeList.includes(routeButton.automaticRouteCode)) {
|
|
||||||
flag = false;
|
|
||||||
tipInfoList.push('自动进路功能按钮' + routeButton.name + '(' + routeButton.code + ')' + '的关联进路数据不存在!');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (!flag) {
|
|
||||||
this.$messageBox(this.$t('tip.dataValidationFailed'));
|
|
||||||
this.tableToExcel(tipInfoList);
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
},
|
|
||||||
verifyStationPosition(map) {
|
|
||||||
let flag = true;
|
|
||||||
const tipInfoList = [];
|
|
||||||
map.stationStandList.forEach(stationStand => {
|
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](stationStand.standTrackCode);
|
|
||||||
const list = [];
|
|
||||||
section && section.points.forEach(point => {
|
|
||||||
list.push(point.x);
|
|
||||||
});
|
|
||||||
if (stationStand.position.x > Math.max(...list) || stationStand.position.x < Math.min(...list)) {
|
|
||||||
flag = false;
|
|
||||||
tipInfoList.push('站台' + stationStand.name + '(' + stationStand.code + ')' + '位置偏移出关联站台轨,请检查关联站台轨是否正确!');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (!flag) {
|
|
||||||
this.$messageBox(this.$t('tip.dataValidationFailed'));
|
|
||||||
this.tableToExcel(tipInfoList);
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
},
|
|
||||||
verifySignalPosition(map) {
|
|
||||||
let flag = true;
|
|
||||||
const tipInfoList = [];
|
|
||||||
map.signalList.forEach(signal => {
|
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](signal.sectionCode);
|
|
||||||
if (section) {
|
|
||||||
const offsetX = signal.positionPoint ? signal.positionPoint.x : 0;
|
|
||||||
const signalPositionX = signal.position.x - offsetX;
|
|
||||||
const max = Math.max(section.points[section.points.length - 1].x, section.points[0].x);
|
|
||||||
const min = Math.min(section.points[section.points.length - 1].x, section.points[0].x);
|
|
||||||
if (signalPositionX < min && signalPositionX > max) {
|
|
||||||
tipInfoList.push('信号机' + signal.name + '(' + signal.code + ')未在其关联的区段' + section.name + '(' + section.code + ')里');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
tipInfoList.push('信号机' + signal.name + '(' + signal.code + ')所关联的区段不存在');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (!tipInfoList.length) {
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
flag = false;
|
|
||||||
this.$messageBox(this.$t('tip.dataValidationFailed'));
|
|
||||||
this.tableToExcel(tipInfoList);
|
|
||||||
}
|
|
||||||
return flag;
|
|
||||||
},
|
|
||||||
checkPointsCoincide(point1, point2) { // 校验两点是否重合
|
|
||||||
if (point1 && point2) {
|
|
||||||
return point1.x === point2.x && point1.y === point2.y;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
checkSectionPointsHasCoincide(points1, points2) { // 校验两区段的左右点是否有重合
|
|
||||||
return points1.length && points2.length && (this.checkPointsCoincide(points1[0], points2[0]) || this.checkPointsCoincide(points1[0], points2[points2.length - 1]) || this.checkPointsCoincide(points1[points1.length - 1], points2[points2.length - 1]) || this.checkPointsCoincide(points1[points1.length - 1], points2[0]));
|
|
||||||
},
|
|
||||||
checkCorrelation(section1, section2) { // 校验后者是否与前者有关联关系
|
checkCorrelation(section1, section2) { // 校验后者是否与前者有关联关系
|
||||||
return section1.leftSectionCode === section2.code || section1.rightSectionCode === section2.code;
|
return section1.leftSectionCode === section2.code || section1.rightSectionCode === section2.code;
|
||||||
},
|
},
|
||||||
@ -450,26 +348,6 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async checkOver() {
|
|
||||||
if (this.$refs.jlmapVisual) {
|
|
||||||
const map = this.$store.state.map.map;
|
|
||||||
if (map && this.$route.params.mapId) {
|
|
||||||
const checkInterlockDevice = await this.verifyInterlockDevice(map);
|
|
||||||
if (this.verifySectionRelation(map) && this.verifySignalPosition(map) && checkInterlockDevice && this.verifyStationPosition(map)) {
|
|
||||||
verifyMap(this.$route.params.mapId).then(res => {
|
|
||||||
if (res.data.length) {
|
|
||||||
this.tableToExcel(res.data);
|
|
||||||
this.$messageBox(this.$t('tip.dataValidationFailed'));
|
|
||||||
} else {
|
|
||||||
this.$message.success(this.$t('tip.dataValidationSuccess'));
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.$message.error(this.$t('tip.requestFailed'));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
tableToExcel(data) {
|
tableToExcel(data) {
|
||||||
const filterVal = ['index'];
|
const filterVal = ['index'];
|
||||||
const arr = [];
|
const arr = [];
|
||||||
@ -486,8 +364,11 @@ export default {
|
|||||||
backRoute() {
|
backRoute() {
|
||||||
this.$router.push({ path: `/design/usermap/home` });
|
this.$router.push({ path: `/design/usermap/home` });
|
||||||
},
|
},
|
||||||
updateMapModel(models) { // 创建 跟新元素
|
createPicture() { // 创建 跟新元素
|
||||||
this.$store.dispatch('map/updateSystemMapDevices', models);
|
this.$refs.createPicture.doShow();
|
||||||
|
},
|
||||||
|
changePicture() {
|
||||||
|
this.$refs.changePicture.doShow();
|
||||||
},
|
},
|
||||||
// 撤销
|
// 撤销
|
||||||
revocation() {
|
revocation() {
|
||||||
@ -554,6 +435,10 @@ export default {
|
|||||||
device.instance.drawSelected(flag);
|
device.instance.drawSelected(flag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
pictureChanged(picture) {
|
||||||
|
this.$refs.mapOperate.pictureChanged(picture);
|
||||||
|
this.$refs.jlmapVisual.pictureChanged(picture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -65,7 +65,7 @@ export default {
|
|||||||
...this.arrowList, ...this.automaticRouteButtonList, ...this.axleCounterResetButtonList, ...this.cycleButtonList, ...this.directionRodList, ...this.espList,
|
...this.arrowList, ...this.automaticRouteButtonList, ...this.axleCounterResetButtonList, ...this.cycleButtonList, ...this.directionRodList, ...this.espList,
|
||||||
...this.indicatorLightList, ...this.lcList, ...this.lineList, ...this.outerFrameList, ...this.psdList, ...this.resourceList, ...this.responderList,
|
...this.indicatorLightList, ...this.lcList, ...this.lineList, ...this.outerFrameList, ...this.psdList, ...this.resourceList, ...this.responderList,
|
||||||
...this.signalButtonList, ...this.splitStationList, ...this.tbStrategyList, ...this.tempSpeedLimitList, ...this.textList, ...this.totalGuideLockButtonVOList,
|
...this.signalButtonList, ...this.splitStationList, ...this.tbStrategyList, ...this.tempSpeedLimitList, ...this.textList, ...this.totalGuideLockButtonVOList,
|
||||||
...this.trainWindowList, ...this.zcList];
|
...this.zcList];
|
||||||
},
|
},
|
||||||
form () {
|
form () {
|
||||||
return {
|
return {
|
||||||
|
@ -8,7 +8,10 @@
|
|||||||
<b>{{ mapInfo.name }}</b>
|
<b>{{ mapInfo.name }}</b>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<el-button v-if="isSave" type="text" style="padding: 3px 0;float: right;" :disabled="$attrs.mapSaveing" @click="saveMapEvent">{{ $t('map.save') }}</el-button>
|
<span>{{ pictureName }}</span>
|
||||||
|
<el-button type="text" style="padding: 3px 0;float: right;" @click="createPicture">新建</el-button>
|
||||||
|
<el-button type="text" style="padding: 3px 0;float: right;" @click="changePicture">切换</el-button>
|
||||||
|
<el-button v-if="isSave" type="text" style="padding: 3px 0;float: right;" :disabled="!pictureName" @click="saveMapEvent">{{ $t('map.save') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs v-model="enabledTab" class="mapEdit" type="card">
|
<el-tabs v-model="enabledTab" class="mapEdit" type="card">
|
||||||
<el-tab-pane v-for="(each,index) in tabList" :key="index" :label="each.label" class="tab_pane_box" :name="each.name" :lazy="lazy">
|
<el-tab-pane v-for="(each,index) in tabList" :key="index" :label="each.label" class="tab_pane_box" :name="each.name" :lazy="lazy">
|
||||||
@ -52,8 +55,10 @@ export default {
|
|||||||
{label: '设备', name: 'Device', menus: DeviceDraft},
|
{label: '设备', name: 'Device', menus: DeviceDraft},
|
||||||
{label: '多选', name: 'MultiSelect', menus: MultiSelect}
|
{label: '多选', name: 'MultiSelect', menus: MultiSelect}
|
||||||
],
|
],
|
||||||
|
pictureList: [],
|
||||||
selectDevice:'',
|
selectDevice:'',
|
||||||
enabledTab: 'Device'
|
enabledTab: 'Device',
|
||||||
|
pictureName: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -87,6 +92,15 @@ export default {
|
|||||||
},
|
},
|
||||||
saveMapEvent() {
|
saveMapEvent() {
|
||||||
this.$emit('saveMapEvent');
|
this.$emit('saveMapEvent');
|
||||||
|
},
|
||||||
|
createPicture() {
|
||||||
|
this.$emit('createPicture');
|
||||||
|
},
|
||||||
|
changePicture() {
|
||||||
|
this.$emit('changePicture');
|
||||||
|
},
|
||||||
|
pictureChanged(picture) {
|
||||||
|
this.pictureName = picture.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -98,6 +112,8 @@ export default {
|
|||||||
height:17px;
|
height:17px;
|
||||||
text-overflow:ellipsis;
|
text-overflow:ellipsis;
|
||||||
white-space:nowrap;
|
white-space:nowrap;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
.el-dropdown-link {
|
.el-dropdown-link {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -284,12 +284,14 @@ export default {
|
|||||||
}
|
}
|
||||||
commitOperate(menuOperate.Rail.railFillInTicket, params, 3).then(({valid, operate})=>{
|
commitOperate(menuOperate.Rail.railFillInTicket, params, 3).then(({valid, operate})=>{
|
||||||
this.clearData();
|
this.clearData();
|
||||||
|
this.$message.success('提交路票成功!');
|
||||||
}).catch(()=>{
|
}).catch(()=>{
|
||||||
this.$message.error('提交路票失败!');
|
this.$message.error('提交路票失败!');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
giveTicket(params) {
|
giveTicket(params) {
|
||||||
commitOperate(menuOperate.Rail.railGiveTicketTo, params, 3).then(({valid, operate}) => {
|
commitOperate(menuOperate.Rail.railGiveTicketTo, params, 3).then(({valid, operate}) => {
|
||||||
|
this.$message.success('给予路票成功!');
|
||||||
this.query();
|
this.query();
|
||||||
}).catch(()=> {
|
}).catch(()=> {
|
||||||
this.$message.error('给予路票失败!');
|
this.$message.error('给予路票失败!');
|
||||||
|
@ -72,5 +72,19 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
/deep/.inline-input .el-input__inner{
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
/deep/.station-input .el-input__inner{
|
||||||
|
width: 200px;
|
||||||
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
|
font-size: 40px;
|
||||||
|
}
|
||||||
|
/deep/.el-radio__label{
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
/deep/.el-radio{
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
Reference in New Issue
Block a user