# Conflicts:
#	src/views/newMap/newMapdraft/dataRelation/routeoperate/route.vue
This commit is contained in:
fan 2019-12-19 10:12:54 +08:00
commit e300164580
16 changed files with 124 additions and 144 deletions

View File

@ -370,6 +370,8 @@ class SkinCode extends defaultStyle {
}; };
this[deviceType.ZcControl] = { this[deviceType.ZcControl] = {
// 是否显示
visible:true,
text: { text: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细

View File

@ -10,7 +10,7 @@ export default class EMouse extends Group {
} }
create() { create() {
if (this.device && this.device.model.visible) { if (this.device && this.device.model.visible) {
const stationTextRect = this.device.stationText.getBoundingRect(); const stationTextRect = this.device.stationText.getBoundingRect().clone();
// const path = window.location.href; // const path = window.location.href;
// if (this.device.style.Station.kmPostShow || path.includes('/map/draw')) { // if (this.device.style.Station.kmPostShow || path.includes('/map/draw')) {
// const mileageTextRect = this.device.mileageText.getBoundingRect(); // const mileageTextRect = this.device.mileageText.getBoundingRect();

View File

@ -259,14 +259,14 @@ export default class Station extends Group {
getBoundingRect() { getBoundingRect() {
if (this.model.visible) { if (this.model.visible) {
const rect = this.stationText.getBoundingRect(); const rect = this.stationText.getBoundingRect().clone();
// if (this.model.subheadDisplay) { if (this.model.subheadDisplay) {
// const subheadText = this.subheadText.getBoundingRect(); const subheadText = this.subheadText.getBoundingRect();
// rect.union(subheadText); rect.union(subheadText);
// return rect; return rect;
// } else { } else {
return rect; return rect;
// } }
} else { } else {
return new BoundingRect(0, 0, 0, 0); return new BoundingRect(0, 0, 0, 0);
} }

View File

@ -25,20 +25,20 @@ export function getUID(type, list) {
// else if (type == 'W') { // else if (type == 'W') {
// name = list.length ? Number(list[list.length - 1].code.replace('W', '')) + 1 : list.length + 1; // name = list.length ? Number(list[list.length - 1].code.replace('W', '')) + 1 : list.length + 1;
// } // }
function checkUid() { function checkUid(name) {
let count = 0;
for (let index = 0; index < list.length; index++) { for (let index = 0; index < list.length; index++) {
count++;
if (list[index].code == [(type || ''), name].join('')) { if (list[index].code == [(type || ''), name].join('')) {
name++; name++;
return checkUid(); return checkUid(name);
} }
} }
return count == list.length; return name;
} }
if (checkUid()) { const nameNum = checkUid(name);
return [(type || ''), name].join(''); if (nameNum) {
return [(type || ''), nameNum].join('');
} }
// } else { // } else {
// return [(type || ''), Math.floor((Math.random() * 100000) + 1)].join(''); // return [(type || ''), Math.floor((Math.random() * 100000) + 1)].join('');
// } // }

View File

@ -3,11 +3,11 @@ export function getBaseUrl() {
let BASE_API; let BASE_API;
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud'; // BASE_API = 'https://joylink.club/jlcloud';
// BASE_API = 'https://test.joylink.club/jlcloud'; BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪 // BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强 // BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛 // BASE_API = 'http://192.168.3.41:9000'; // 张赛
BASE_API = 'http://192.168.3.82:9000'; // 杜康 // BASE_API = 'http://192.168.3.82:9000'; // 杜康
} else { } else {
BASE_API = process.env.VUE_APP_BASE_API; BASE_API = process.env.VUE_APP_BASE_API;
} }

View File

@ -45,7 +45,6 @@
<div class="btn-buy"> <div class="btn-buy">
<el-button :disabled="disabled" type="success" @click="buy">{{ $t('exam.buy') }}</el-button> <el-button :disabled="disabled" type="success" @click="buy">{{ $t('exam.buy') }}</el-button>
<el-button v-if="hasPermssion" :disabled="disabled" type="primary" @click="distribute">{{ $t('exam.distributePermission') }}</el-button> <el-button v-if="hasPermssion" :disabled="disabled" type="primary" @click="distribute">{{ $t('exam.distributePermission') }}</el-button>
<!-- <el-button v-if="hasPermssion" :disabled="disabled" type="primary" @click="transfer">{{ $t('global.transferQRCode') }}</el-button> -->
<el-button v-if="hasPermssion" :disabled="disabled" type="primary" @click="checkCourse">{{ $t('exam.viewCoursePapers') }}</el-button> <el-button v-if="hasPermssion" :disabled="disabled" type="primary" @click="checkCourse">{{ $t('exam.viewCoursePapers') }}</el-button>
<el-button type="primary" :disabled="disabled" @click="backLessonList">{{ $t('exam.returnCourseList') }}</el-button> <el-button type="primary" :disabled="disabled" @click="backLessonList">{{ $t('exam.returnCourseList') }}</el-button>
</div> </div>
@ -155,14 +154,6 @@ export default {
}); });
}, 100); }, 100);
}, },
transfer() { //
this.disabled = true;
if (this.$refs) {
this.activeName = 'second';
this.$refs.limitList.transfer(this.courseModel);
}
this.disabled = false;
},
distribute() { // distribute() { //
this.disabled = true; this.disabled = true;
if (this.$refs) { if (this.$refs) {

View File

@ -216,29 +216,23 @@ export default {
initCancelMenu() { initCancelMenu() {
this.menuNormal = []; this.menuNormal = [];
this.stationList.forEach(station => { this.stationList.forEach(station => {
if (station.code === station.concentrateStationCode) { if (station.centralized) {
const node = { const node = {
label: station.name, label: station.name,
children: [] children: [{
code: station.code,
label: station.name,
handler: this.mapLocation
}]
}; };
station.chargeStationCodeList.forEach(item => {
this.stationList.forEach(elem => { const stationModel = this.$store.getters['map/getDeviceByCode'](item);
if (elem.visible) { node.children.push({
let next = elem; code: stationModel.code,
while (next.code != next.concentrateStationCode || !next.concentrateStationCode) { label: stationModel.name,
next = this.$store.getters['map/getDeviceByCode'](next.concentrateStationCode); handler: this.mapLocation
} });
if (station.code == next.code) {
node.children.push({
code: elem.code,
label: elem.name,
handler: this.mapLocation
});
}
}
}); });
this.menuNormal.push(node); this.menuNormal.push(node);
} }
}); });

View File

@ -64,19 +64,19 @@ export default {
tagType: (row) => { return ''; } tagType: (row) => { return ''; }
}, },
{ {
title: this.$t('map.psdList'), title: '关联站台列表',
prop: 'psdList', prop: 'stationStandList',
type: 'tagMore', type: 'tagMore',
columnValue: (row) => { return this.$convertField(row.psdList, this.psdList, ['code', 'name'], true); }, columnValue: (row) => { return this.$convertField(row.stationStandList, this.stationStandList, ['code', 'name'], true); },
tagType: (row) => { return ''; }
},
{
title: this.$t('map.espList'),
prop: 'espList',
type: 'tagMore',
columnValue: (row) => { return this.$convertField(row.espList, this.espList, ['code', 'name'], true); },
tagType: (row) => { return ''; } tagType: (row) => { return ''; }
}, },
// {
// title: this.$t('map.espList'),
// prop: 'espList',
// type: 'tagMore',
// columnValue: (row) => { return this.$convertField(row.espList, this.espList, ['code', 'name'], true); },
// tagType: (row) => { return ''; }
// },
{ {
type: 'button', type: 'button',
title: this.$t('map.operation'), title: this.$t('map.operation'),
@ -101,8 +101,7 @@ export default {
...mapGetters('map', [ ...mapGetters('map', [
'sectionList', 'sectionList',
'signalList', 'signalList',
'espList', 'stationStandList'
'psdList'
]) ])
}, },
watch: { watch: {

View File

@ -29,25 +29,19 @@
@click="hover('sectionList')" @click="hover('sectionList')"
>{{ $t('map.activate') }}</el-button> >{{ $t('map.activate') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.psdList') + ':'" prop="psdList"> <el-form-item label="关联站台列表:" prop="stationStandList">
<el-select v-model="addModel.psdList" multiple clearable :filterable="true"> <el-select v-model="addModel.stationStandList" multiple clearable :filterable="true" style="width: 220px;">
<el-option <el-option
v-for="item in psdList" v-for="item in stationStandList"
:key="item.code"
:label="item.name + ' (' + item.code+ ')'"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('map.espList') + ':'" prop="espList">
<el-select v-model="addModel.espList" multiple clearable :filterable="true">
<el-option
v-for="item in espList"
:key="item.code" :key="item.code"
:label="item.name + ' (' + item.code+ ')'" :label="item.name + ' (' + item.code+ ')'"
:value="item.code" :value="item.code"
/> />
</el-select> </el-select>
<el-button
:type=" field === 'routeStationStandList' ? 'danger' : 'primary'"
@click="hover('routeStationStandList')"
>{{ $t('map.activate') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.alwaysRed') + ':'" prop="alwaysRed"> <el-form-item :label="$t('map.alwaysRed') + ':'" prop="alwaysRed">
<el-radio-group v-model="addModel.alwaysRed"> <el-radio-group v-model="addModel.alwaysRed">
@ -111,8 +105,7 @@ export default {
signalCode: '', signalCode: '',
alwaysRed: true, alwaysRed: true,
sectionList: [], sectionList: [],
psdList: [], stationStandList: []
espList: []
}, },
editShow: false, editShow: false,
rules: { rules: {
@ -128,7 +121,8 @@ export default {
computed: { computed: {
...mapGetters('map', [ ...mapGetters('map', [
'signalList', 'signalList',
'sectionList' 'sectionList',
'stationStandList'
]) ])
}, },
watch: { watch: {
@ -162,6 +156,10 @@ export default {
if (this.addModel.sectionList.indexOf(selected.code) === -1) { if (this.addModel.sectionList.indexOf(selected.code) === -1) {
this.addModel.sectionList.push(selected.code); this.addModel.sectionList.push(selected.code);
} }
} else if (selected._type.toUpperCase() === 'StationStand'.toUpperCase() && this.field.toUpperCase() === 'routeStationStandList'.toUpperCase()) {
if (this.addModel.stationStandList.indexOf(selected.code) === -1) {
this.addModel.stationStandList.push(selected.code);
}
} }
} }
}, },

View File

@ -168,30 +168,20 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.psdList') + ':'" prop="psdList"> <el-form-item label="关联站台列表:" prop="stationStandList">
<el-select v-model="addModel.psdList" multiple clearable :filterable="true"> <el-select v-model="addModel.stationStandList" multiple clearable :filterable="true" style="width: 220px;">
<el-option <el-option
v-for="item in psdList" v-for="item in stationStandList"
:key="item.code" :key="item.code"
:label="item.name + ' (' + item.code+ ')'" :label="item.name + ' (' + item.code+ ')'"
:value="item.code" :value="item.code"
/> />
</el-select> </el-select>
<el-button <el-button
:type=" field === 'routePsdList' ? 'danger' : 'primary'" :type=" field === 'routeStationStandList' ? 'danger' : 'primary'"
@click="hover('routePsdList')" @click="hover('routeStationStandList')"
>{{ $t('map.activate') }}</el-button> >{{ $t('map.activate') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.espList') + ':'" prop="espList">
<el-select v-model="addModel.espList" multiple clearable :filterable="true">
<el-option
v-for="item in espList"
:key="item.code"
:label="item.name + ' (' + item.code+ ')'"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('map.hostileApproachData') + ':'" prop="conflictingRouteList"> <el-form-item :label="$t('map.hostileApproachData') + ':'" prop="conflictingRouteList">
<el-select v-model="addModel.conflictingRouteList" multiple clearable :filterable="true"> <el-select v-model="addModel.conflictingRouteList" multiple clearable :filterable="true">
<el-option <el-option
@ -201,11 +191,6 @@
:value="item.code" :value="item.code"
/> />
</el-select> </el-select>
<!-- <el-button type="primary" @click="selectedConflictingRouteList">选择</el-button> -->
<!-- <el-button
:type=" field === 'conflictingRouteList' ? 'danger' : 'primary'"
@click="hover('conflictingRouteList')"
>{{ $t('map.activate') }}</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<protect-operate ref="protect" :protect-data="protectData" @saveProtectSuccess="saveProtectSuccess" @updateProtectSuccess="updateProtectSuccess" /> <protect-operate ref="protect" :protect-data="protectData" @saveProtectSuccess="saveProtectSuccess" @updateProtectSuccess="updateProtectSuccess" />
@ -283,9 +268,8 @@ export default {
routeSectionList: [], // routeSectionList: [], //
routeSwitchList: [], // routeSwitchList: [], //
routeFlankProtectionList: [], // routeFlankProtectionList: [], //
psdList: [], // stationStandList: [], //
espList: [], // overlapCode:'',
overlapCode:'', //
conflictingRouteList: [] // conflictingRouteList: [] //
}, },
protectData:null, protectData:null,
@ -298,8 +282,6 @@ export default {
'switchList', 'switchList',
'sectionList', 'sectionList',
'stationList', 'stationList',
'espList',
'psdList',
'stationStandList' 'stationStandList'
]), ]),
routeName: { routeName: {
@ -375,9 +357,6 @@ export default {
} }
}, },
mounted() { mounted() {
// this.$Dictionary.normal().then(list => {
// this.SwitchLocateTypeList = list;
// });
this.getRouteList(); this.getRouteList();
}, },
methods: { methods: {
@ -464,9 +443,7 @@ export default {
this.addModel.mapId = this.mapInfo.id; this.addModel.mapId = this.mapInfo.id;
this.addModel.routeSwitchList = []; this.addModel.routeSwitchList = [];
this.addModel.routeFlankProtectionList = []; this.addModel.routeFlankProtectionList = [];
// if (this.selected && this.selected._type.toUpperCase() === 'Station'.toUpperCase()) { this.addModel.overlapCode = '';
// this.addModel.stationCode = this.selected.code;
// }
this.isSave = true; this.isSave = true;
this.$refs.protect.clear(); this.$refs.protect.clear();
} }
@ -503,8 +480,10 @@ export default {
this.routeCode = selected.code; this.routeCode = selected.code;
} else if (selected._type.toUpperCase() === 'Switch'.toUpperCase() && this.field.toUpperCase() === 'routeFlankProtectionList'.toUpperCase()) { } else if (selected._type.toUpperCase() === 'Switch'.toUpperCase() && this.field.toUpperCase() === 'routeFlankProtectionList'.toUpperCase()) {
this.flankCode = selected.code; this.flankCode = selected.code;
} else if (selected._type.toUpperCase() === 'Psd'.toUpperCase() && this.field.toUpperCase() === 'routePsdList'.toUpperCase()) { } else if (selected._type.toUpperCase() === 'StationStand'.toUpperCase() && this.field.toUpperCase() === 'routeStationStandList'.toUpperCase()) {
this.addModel.psdList.push(selected.code); if (this.addModel.stationStandList.indexOf(selected.code) === -1) {
this.addModel.stationStandList.push(selected.code);
}
} else { } else {
this.$refs.protect.setSelected(selected); this.$refs.protect.setSelected(selected);
} }

View File

@ -248,7 +248,6 @@ export default {
reentryTrackName: '', reentryTrackName: '',
reentryTrackNamePosition: { x: 0, y: 0 }, reentryTrackNamePosition: { x: 0, y: 0 },
transferTrack: false, // transferTrack: false, //
// segmentation: false, //
segmentationPosition: { x: 0, y: 0 }, segmentationPosition: { x: 0, y: 0 },
transferTrackName: '', transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 }, transferTrackNamePosition: { x: 0, y: 0 },
@ -425,11 +424,6 @@ export default {
{value: true, label: this.$t('map.fromSmallToLarge')}, {value: true, label: this.$t('map.fromSmallToLarge')},
{value: false, label: this.$t('map.fromLargeToSmall')} {value: false, label: this.$t('map.fromLargeToSmall')}
] }, // 1 ] }, // 1
// { prop: 'segmentation', label: this.$t('map.isSegmentation'), type: 'checkbox', isHidden: !this.isSwitchSectionType },
// { prop: 'segmentationPosition', label: this.$t('map.segmentationPosition'), type: 'coordinate', width: '150px', isHidden: !this.issegmentationPosition, children: [
// { prop: 'segmentationPosition.x', firstLevel: 'segmentationPosition', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px', disabled: true },
// { prop: 'segmentationPosition.y', firstLevel: 'segmentationPosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px', disabled: true }
// ] },
{ prop: 'curve', label: this.$t('map.isCurve'), type: 'checkbox', isHidden: !this.isSwitchSectionType }, { prop: 'curve', label: this.$t('map.isCurve'), type: 'checkbox', isHidden: !this.isSwitchSectionType },
{ prop: 'relevanceSectionList', label: '关联道岔区段:', type: 'multiSelect', optionLabel: 'name&&code', optionValue: 'code', options: this.switchSectionList, isHidden: this.isSwitchSectionType } { prop: 'relevanceSectionList', label: '关联道岔区段:', type: 'multiSelect', optionLabel: 'name&&code', optionValue: 'code', options: this.switchSectionList, isHidden: this.isSwitchSectionType }
] ]
@ -444,7 +438,6 @@ export default {
{ prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow }, { prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow },
{ prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }, { prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
{ prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') } { prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
// { prop: 'trainPosType', label: this.$t('map.trainDirection'), type: 'radio', optionLabel: 'name', optionValue: 'code', border: true, radioList: this.TrainPositionTypeList }
] ]
} }
} }
@ -581,9 +574,6 @@ export default {
isLogicSectionNameSort() { // isLogicSectionNameSort() { //
return this.editModel.type == '01' && !this.editModel.switchSection; return this.editModel.type == '01' && !this.editModel.switchSection;
}, },
// issegmentationPosition() {
// return this.editModel.type !== '04' && this.editModel.segmentation;
// },
isPointsShow() { isPointsShow() {
return this.editModel.type !== '04' && this.editModel.points.length > 0; return this.editModel.type !== '04' && this.editModel.points.length > 0;
}, },
@ -670,7 +660,6 @@ export default {
this.activeName = 'first'; this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected); this.editModel = deepAssign(this.editModel, selected);
this.editModel.logicSectionNum = selected.type === '01' ? selected.logicSectionNum : [0]; this.editModel.logicSectionNum = selected.type === '01' ? selected.logicSectionNum : [0];
// this.editModel.segmentation = selected.segmentation || false;
this.editModel.points = JSON.parse(JSON.stringify(selected.points)); this.editModel.points = JSON.parse(JSON.stringify(selected.points));
this.oldPoint = JSON.parse(JSON.stringify(selected.points)); this.oldPoint = JSON.parse(JSON.stringify(selected.points));
this.oldLeftSectionCode = selected.leftSectionCode; this.oldLeftSectionCode = selected.leftSectionCode;
@ -752,7 +741,6 @@ export default {
transferTrackName: '', transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 }, transferTrackNamePosition: { x: 0, y: 0 },
switchSection: false, // switchSection: false, //
// segmentation: false,
segmentationPosition: { x: 0, y: 0 }, segmentationPosition: { x: 0, y: 0 },
relSwitchCode: '', relSwitchCode: '',
rightSectionCode: '', rightSectionCode: '',
@ -766,7 +754,6 @@ export default {
logicSectionNameSort: true, logicSectionNameSort: true,
sepTypeLeft: '01', // sepTypeLeft: '01', //
sepTypeRight: '01', sepTypeRight: '01',
// trainPosType: '', //
lengthFact: 0, lengthFact: 0,
parentCode: '', parentCode: '',
relStandCode: '', relStandCode: '',
@ -1030,7 +1017,6 @@ export default {
transferTrackName: '', transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 }, transferTrackNamePosition: { x: 0, y: 0 },
switchSection: false, switchSection: false,
// segmentation: false,
segmentationPosition: { x: 0, y: 0 }, segmentationPosition: { x: 0, y: 0 },
relSwitchCode: '', relSwitchCode: '',
trainWindowCode: '', trainWindowCode: '',
@ -1040,7 +1026,6 @@ export default {
sepTypeLeft: index == 0 ? selected.sepTypeLeft : '01', // ( 01) sepTypeLeft: index == 0 ? selected.sepTypeLeft : '01', // ( 01)
sepTypeRight: index == this.addModel.splitNumber ? selected.sepTypeRight : '01', // ( 01) sepTypeRight: index == this.addModel.splitNumber ? selected.sepTypeRight : '01', // ( 01)
offsetRight: selected.offsetRight, offsetRight: selected.offsetRight,
// trainPosType: this.addModel.trainPosType,
curve: selected.curve, curve: selected.curve,
lengthFact: 0, lengthFact: 0,
points: [ points: [
@ -1119,7 +1104,6 @@ export default {
standTrack: false, standTrack: false,
standTrackName: '', standTrackName: '',
standTrackNamePosition: { x: 0, y: 0 }, standTrackNamePosition: { x: 0, y: 0 },
// segmentation: false,
segmentationPosition: { x: 0, y: 0 }, segmentationPosition: { x: 0, y: 0 },
reentryTrack: false, reentryTrack: false,
reentryTrackName: '', reentryTrackName: '',

View File

@ -118,6 +118,7 @@ export default {
{ x: beg.x + triangle.getCos(offset * (i + 1)), y: beg.y + triangle.getSin(offset * (i + 1)) } { x: beg.x + triangle.getCos(offset * (i + 1)), y: beg.y + triangle.getSin(offset * (i + 1)) }
]; ];
const param = this.addLogicalSection(model, points, counts + i, offset, i, lineLength); const param = this.addLogicalSection(model, points, counts + i, offset, i, lineLength);
param.lengthFact = Number(model.lengthFact) / num;
models.push(param); models.push(param);
this.addList.push(param); this.addList.push(param);
} }

View File

@ -17,11 +17,16 @@
<create-signal ref="createSignal" :field="field" @signalSectionCode="signalSectionCode" @updateMapModel="updateMapModel" /> <create-signal ref="createSignal" :field="field" @signalSectionCode="signalSectionCode" @updateMapModel="updateMapModel" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane class="view-control" label="批量操作" name="three"> <el-tab-pane class="view-control" label="批量操作" name="three">
<el-form ref="mark" label-width="130px" :model="addModel" size="mini" :rules="addRules">
<el-form-item label="左右偏移值" prop="number">
<el-input v-model="addModel.number" style="width: 178px;" />
</el-form-item>
</el-form>
<div class="flex_box"> <div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" @click="editAll">构建信号机偏移量</el-button> <el-button type="primary" style="margin-right: 10px;" @click="editAll">构建信号机偏移量</el-button>
<el-button type="" style="margin: 0;" @click="questionList = []">{{ $t('map.clearHint') }}</el-button> <el-button type="" style="margin: 0;" @click="questionList = []">{{ $t('map.clearHint') }}</el-button>
</div> </div>
<div style="height: calc(100% - 46px);"> <div style="height: calc(100% - 90px);">
<el-scrollbar wrap-class="scrollbar-wrapper"> <el-scrollbar wrap-class="scrollbar-wrapper">
<el-card v-if="questionList.length" class="box-card"> <el-card v-if="questionList.length" class="box-card">
<div v-for="(item, index) in questionList" :key="index" class="text item">{{ item }}</div> <div v-for="(item, index) in questionList" :key="index" class="text item">{{ item }}</div>
@ -91,6 +96,14 @@ export default {
position: { x: 0, y: 0 }, position: { x: 0, y: 0 },
buttonPosition: { x: 0, y: 0 }, buttonPosition: { x: 0, y: 0 },
guidePosition: { x: 0, y: 0 } guidePosition: { x: 0, y: 0 }
},
addModel: {
number: 2
},
addRules: {
number: [
{ required: true, message: '请输入左右偏移量', trigger: 'blur', min: 0 }
]
} }
}; };
}, },
@ -295,26 +308,31 @@ export default {
}, },
// //
editAll() { editAll() {
const models = []; this.$refs['mark'].validate((valid) => {
this.questionList = []; if (valid) {
this.signalList.forEach(item => { const models = [];
const signalModel = deepAssign({}, item); this.questionList = [];
const section = this.findSection(signalModel); this.signalList.forEach(item => {
if (section.code && item.sectionCode != section.code) { const signalModel = deepAssign({}, item);
item.sectionCode = section.code; const section = this.findSection(signalModel);
if (section.code && item.sectionCode != section.code) {
signalModel.sectionCode = section.code;
}
if (!section.code) {
this.questionList.push(`${item.name} 信号机位置可能不正确,请手动调试归属区段及偏移量.`);
}
signalModel.sectionOffset = this.addModel.number;
if (signalModel.right) {
if (section.lengthFact) {
signalModel.sectionOffset = Math.abs(Number(section.lengthFact) - this.addModel.number);
}
}
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
} }
if (!section.code) {
this.questionList.push(`${item.name} 信号机位置可能不正确,请手动调试归属区段及偏移量.`);
}
signalModel.sectionOffset = 2;
if (signalModel.right) {
if (section.lengthFact) {
signalModel.sectionOffset = Math.abs(Number(section.lengthFact) - 2);
}
}
models.push(signalModel);
}); });
this.$emit('updateMapModel', models);
}, },
// //
findSection(signal) { findSection(signal) {

View File

@ -330,6 +330,8 @@ export default {
} }
models.push(param); models.push(param);
} }
section.standTrack = true;
models.push(section);
this.$emit('updateMapModel', models); this.$emit('updateMapModel', models);
} }
}); });

View File

@ -551,8 +551,8 @@ export default {
sectiona.switchSection = true; sectiona.switchSection = true;
sectionb.switchSection = true; sectionb.switchSection = true;
sectionc.switchSection = true; sectionc.switchSection = true;
sectionb.sepTypeLeft = '00'; // sectionb.sepTypeLeft = '00';
sectionb.sepTypeRight = '00'; // sectionb.sepTypeRight = '00';
models.push(sectiona); models.push(sectiona);
models.push(sectionb); models.push(sectionb);
models.push(sectionc); models.push(sectionc);

View File

@ -220,6 +220,8 @@ export default {
this.setStationStand(stationCode, model.code); this.setStationStand(stationCode, model.code);
}); });
this.$emit('updateMapModel', model); this.$emit('updateMapModel', model);
this.getConcertrateStation();
this.$refs.make.resetForm();
} }
}); });
}, },
@ -255,6 +257,16 @@ export default {
cancelButtonText: this.$t('tip.cancel'), cancelButtonText: this.$t('tip.cancel'),
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.concertrateStation.forEach(station=>{
selected.concentrateStationList.forEach(stationCode=>{
switch (stationCode) {
case station.code: {
this.setStationStand(station.code, '');
break;
}
}
});
});
_that.$emit('updateMapModel', {...selected, _dispose: true}); _that.$emit('updateMapModel', {...selected, _dispose: true});
_that.deviceSelect(); _that.deviceSelect();
}).catch(() => { }).catch(() => {