diff --git a/src/jmapNew/config/skinCode/chengdu_04.js b/src/jmapNew/config/skinCode/chengdu_04.js
index ab8be4d10..39bf29e52 100644
--- a/src/jmapNew/config/skinCode/chengdu_04.js
+++ b/src/jmapNew/config/skinCode/chengdu_04.js
@@ -370,6 +370,8 @@ class SkinCode extends defaultStyle {
};
this[deviceType.ZcControl] = {
+ // 是否显示
+ visible:true,
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
diff --git a/src/jmapNew/shape/Station/EMouse.js b/src/jmapNew/shape/Station/EMouse.js
index a7654a713..75fd5e802 100644
--- a/src/jmapNew/shape/Station/EMouse.js
+++ b/src/jmapNew/shape/Station/EMouse.js
@@ -10,7 +10,7 @@ export default class EMouse extends Group {
}
create() {
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;
// if (this.device.style.Station.kmPostShow || path.includes('/map/draw')) {
// const mileageTextRect = this.device.mileageText.getBoundingRect();
diff --git a/src/jmapNew/shape/Station/index.js b/src/jmapNew/shape/Station/index.js
index 3e86126a8..ad63004f8 100644
--- a/src/jmapNew/shape/Station/index.js
+++ b/src/jmapNew/shape/Station/index.js
@@ -259,14 +259,14 @@ export default class Station extends Group {
getBoundingRect() {
if (this.model.visible) {
- const rect = this.stationText.getBoundingRect();
- // if (this.model.subheadDisplay) {
- // const subheadText = this.subheadText.getBoundingRect();
- // rect.union(subheadText);
- // return rect;
- // } else {
- return rect;
- // }
+ const rect = this.stationText.getBoundingRect().clone();
+ if (this.model.subheadDisplay) {
+ const subheadText = this.subheadText.getBoundingRect();
+ rect.union(subheadText);
+ return rect;
+ } else {
+ return rect;
+ }
} else {
return new BoundingRect(0, 0, 0, 0);
}
diff --git a/src/jmapNew/utils/Uid.js b/src/jmapNew/utils/Uid.js
index 937c4351f..2163c9f81 100644
--- a/src/jmapNew/utils/Uid.js
+++ b/src/jmapNew/utils/Uid.js
@@ -25,20 +25,20 @@ export function getUID(type, list) {
// else if (type == 'W') {
// name = list.length ? Number(list[list.length - 1].code.replace('W', '')) + 1 : list.length + 1;
// }
- function checkUid() {
- let count = 0;
+ function checkUid(name) {
for (let index = 0; index < list.length; index++) {
- count++;
if (list[index].code == [(type || ''), name].join('')) {
name++;
- return checkUid();
+ return checkUid(name);
}
}
- return count == list.length;
+ return name;
}
- if (checkUid()) {
- return [(type || ''), name].join('');
+ const nameNum = checkUid(name);
+ if (nameNum) {
+ return [(type || ''), nameNum].join('');
}
+
// } else {
// return [(type || ''), Math.floor((Math.random() * 100000) + 1)].join('');
// }
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 79d1c6346..1e9afea51 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -3,11 +3,11 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// 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.6: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 {
BASE_API = process.env.VUE_APP_BASE_API;
}
diff --git a/src/views/exam/detail/courseDetail.vue b/src/views/exam/detail/courseDetail.vue
index 1c783baeb..546b207e6 100644
--- a/src/views/exam/detail/courseDetail.vue
+++ b/src/views/exam/detail/courseDetail.vue
@@ -45,7 +45,6 @@
{{ $t('exam.buy') }}
{{ $t('exam.distributePermission') }}
-
{{ $t('exam.viewCoursePapers') }}
{{ $t('exam.returnCourseList') }}
@@ -155,14 +154,6 @@ export default {
});
}, 100);
},
- transfer() { // 转增
- this.disabled = true;
- if (this.$refs) {
- this.activeName = 'second';
- this.$refs.limitList.transfer(this.courseModel);
- }
- this.disabled = false;
- },
distribute() { // 分发
this.disabled = true;
if (this.$refs) {
diff --git a/src/views/newMap/newDesignUser/mapmanage/operateMenu.vue b/src/views/newMap/newDesignUser/mapmanage/operateMenu.vue
index 29f0559b8..f7b4ba3e4 100644
--- a/src/views/newMap/newDesignUser/mapmanage/operateMenu.vue
+++ b/src/views/newMap/newDesignUser/mapmanage/operateMenu.vue
@@ -216,29 +216,23 @@ export default {
initCancelMenu() {
this.menuNormal = [];
this.stationList.forEach(station => {
- if (station.code === station.concentrateStationCode) {
+ if (station.centralized) {
const node = {
label: station.name,
- children: []
+ children: [{
+ code: station.code,
+ label: station.name,
+ handler: this.mapLocation
+ }]
};
-
- this.stationList.forEach(elem => {
- if (elem.visible) {
- let next = elem;
- while (next.code != next.concentrateStationCode || !next.concentrateStationCode) {
- next = this.$store.getters['map/getDeviceByCode'](next.concentrateStationCode);
- }
-
- if (station.code == next.code) {
- node.children.push({
- code: elem.code,
- label: elem.name,
- handler: this.mapLocation
- });
- }
- }
+ station.chargeStationCodeList.forEach(item => {
+ const stationModel = this.$store.getters['map/getDeviceByCode'](item);
+ node.children.push({
+ code: stationModel.code,
+ label: stationModel.name,
+ handler: this.mapLocation
+ });
});
-
this.menuNormal.push(node);
}
});
diff --git a/src/views/newMap/newMapdraft/dataRelation/automaticoperate/detail.vue b/src/views/newMap/newMapdraft/dataRelation/automaticoperate/detail.vue
index eda3363de..a33f407df 100644
--- a/src/views/newMap/newMapdraft/dataRelation/automaticoperate/detail.vue
+++ b/src/views/newMap/newMapdraft/dataRelation/automaticoperate/detail.vue
@@ -64,19 +64,19 @@ export default {
tagType: (row) => { return ''; }
},
{
- title: this.$t('map.psdList'),
- prop: 'psdList',
+ title: '关联站台列表',
+ prop: 'stationStandList',
type: 'tagMore',
- columnValue: (row) => { return this.$convertField(row.psdList, this.psdList, ['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); },
+ 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 ''; }
+ // },
{
type: 'button',
title: this.$t('map.operation'),
@@ -101,8 +101,7 @@ export default {
...mapGetters('map', [
'sectionList',
'signalList',
- 'espList',
- 'psdList'
+ 'stationStandList'
])
},
watch: {
diff --git a/src/views/newMap/newMapdraft/dataRelation/automaticoperate/route.vue b/src/views/newMap/newMapdraft/dataRelation/automaticoperate/route.vue
index 82580a08a..eee38d7ef 100644
--- a/src/views/newMap/newMapdraft/dataRelation/automaticoperate/route.vue
+++ b/src/views/newMap/newMapdraft/dataRelation/automaticoperate/route.vue
@@ -29,25 +29,19 @@
@click="hover('sectionList')"
>{{ $t('map.activate') }}
-
-
+
+
-
-
-
-
-
+ {{ $t('map.activate') }}
@@ -111,8 +105,7 @@ export default {
signalCode: '',
alwaysRed: true,
sectionList: [],
- psdList: [],
- espList: []
+ stationStandList: []
},
editShow: false,
rules: {
@@ -128,7 +121,8 @@ export default {
computed: {
...mapGetters('map', [
'signalList',
- 'sectionList'
+ 'sectionList',
+ 'stationStandList'
])
},
watch: {
@@ -162,6 +156,10 @@ export default {
if (this.addModel.sectionList.indexOf(selected.code) === -1) {
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);
+ }
}
}
},
diff --git a/src/views/newMap/newMapdraft/dataRelation/routeoperate/route.vue b/src/views/newMap/newMapdraft/dataRelation/routeoperate/route.vue
index a1e220e9d..e28089fcf 100644
--- a/src/views/newMap/newMapdraft/dataRelation/routeoperate/route.vue
+++ b/src/views/newMap/newMapdraft/dataRelation/routeoperate/route.vue
@@ -168,30 +168,20 @@
-
-
+
+
{{ $t('map.activate') }}
-
-
-
-
-
-
-
@@ -283,9 +268,8 @@ export default {
routeSectionList: [], // 进路物理区段
routeSwitchList: [], // 进路道岔列表
routeFlankProtectionList: [], // 进路侧防道岔列表
- psdList: [], // 站台屏蔽门数据列表
- espList: [], // 站台紧急停车按钮数据
- overlapCode:'', // 关联延续保护进路
+ stationStandList: [], // 站台数据列表
+ overlapCode:'',
conflictingRouteList: [] // 敌对进路
},
protectData:null,
@@ -298,8 +282,6 @@ export default {
'switchList',
'sectionList',
'stationList',
- 'espList',
- 'psdList',
'stationStandList'
]),
routeName: {
@@ -375,9 +357,6 @@ export default {
}
},
mounted() {
- // this.$Dictionary.normal().then(list => {
- // this.SwitchLocateTypeList = list;
- // });
this.getRouteList();
},
methods: {
@@ -464,9 +443,7 @@ export default {
this.addModel.mapId = this.mapInfo.id;
this.addModel.routeSwitchList = [];
this.addModel.routeFlankProtectionList = [];
- // if (this.selected && this.selected._type.toUpperCase() === 'Station'.toUpperCase()) {
- // this.addModel.stationCode = this.selected.code;
- // }
+ this.addModel.overlapCode = '';
this.isSave = true;
this.$refs.protect.clear();
}
@@ -503,8 +480,10 @@ export default {
this.routeCode = selected.code;
} else if (selected._type.toUpperCase() === 'Switch'.toUpperCase() && this.field.toUpperCase() === 'routeFlankProtectionList'.toUpperCase()) {
this.flankCode = selected.code;
- } else if (selected._type.toUpperCase() === 'Psd'.toUpperCase() && this.field.toUpperCase() === 'routePsdList'.toUpperCase()) {
- this.addModel.psdList.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);
+ }
} else {
this.$refs.protect.setSelected(selected);
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/section.vue b/src/views/newMap/newMapdraft/mapoperate/section.vue
index 63e8f5752..ed572ea5c 100644
--- a/src/views/newMap/newMapdraft/mapoperate/section.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/section.vue
@@ -248,7 +248,6 @@ export default {
reentryTrackName: '',
reentryTrackNamePosition: { x: 0, y: 0 },
transferTrack: false, // 是否转换轨
- // segmentation: false, // 是否分割
segmentationPosition: { x: 0, y: 0 },
transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 },
@@ -425,11 +424,6 @@ export default {
{value: true, label: this.$t('map.fromSmallToLarge')},
{value: false, label: this.$t('map.fromLargeToSmall')}
] }, // 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: '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: '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: 'trainPosType', label: this.$t('map.trainDirection'), type: 'radio', optionLabel: 'name', optionValue: 'code', border: true, radioList: this.TrainPositionTypeList }
]
}
}
@@ -581,9 +574,6 @@ export default {
isLogicSectionNameSort() { // 逻辑区段排序 判断
return this.editModel.type == '01' && !this.editModel.switchSection;
},
- // issegmentationPosition() {
- // return this.editModel.type !== '04' && this.editModel.segmentation;
- // },
isPointsShow() {
return this.editModel.type !== '04' && this.editModel.points.length > 0;
},
@@ -670,7 +660,6 @@ export default {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
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.oldPoint = JSON.parse(JSON.stringify(selected.points));
this.oldLeftSectionCode = selected.leftSectionCode;
@@ -752,7 +741,6 @@ export default {
transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 },
switchSection: false, // 是否道岔管理区段
- // segmentation: false,
segmentationPosition: { x: 0, y: 0 },
relSwitchCode: '',
rightSectionCode: '',
@@ -766,7 +754,6 @@ export default {
logicSectionNameSort: true,
sepTypeLeft: '01', // 分隔符类型
sepTypeRight: '01',
- // trainPosType: '', // 默认不填写 列车所在方向
lengthFact: 0,
parentCode: '',
relStandCode: '',
@@ -1030,7 +1017,6 @@ export default {
transferTrackName: '',
transferTrackNamePosition: { x: 0, y: 0 },
switchSection: false,
- // segmentation: false,
segmentationPosition: { x: 0, y: 0 },
relSwitchCode: '',
trainWindowCode: '',
@@ -1040,7 +1026,6 @@ export default {
sepTypeLeft: index == 0 ? selected.sepTypeLeft : '01', // 左侧分隔符类型 (起始左侧按原来区段类型走 其余 默认 01)
sepTypeRight: index == this.addModel.splitNumber ? selected.sepTypeRight : '01', // 右侧分隔符类型 (终点右侧按原来区段类型走 其余 默认 01)
offsetRight: selected.offsetRight,
- // trainPosType: this.addModel.trainPosType,
curve: selected.curve,
lengthFact: 0,
points: [
@@ -1119,7 +1104,6 @@ export default {
standTrack: false,
standTrackName: '',
standTrackNamePosition: { x: 0, y: 0 },
- // segmentation: false,
segmentationPosition: { x: 0, y: 0 },
reentryTrack: false,
reentryTrackName: '',
diff --git a/src/views/newMap/newMapdraft/mapoperate/section/logicBlock.vue b/src/views/newMap/newMapdraft/mapoperate/section/logicBlock.vue
index d70d84b80..5140b5ed6 100644
--- a/src/views/newMap/newMapdraft/mapoperate/section/logicBlock.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/section/logicBlock.vue
@@ -118,6 +118,7 @@ export default {
{ 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);
+ param.lengthFact = Number(model.lengthFact) / num;
models.push(param);
this.addList.push(param);
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
index 82459fdbc..acee40db0 100644
--- a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
@@ -17,11 +17,16 @@
+
+
+
+
+
构建信号机偏移量
{{ $t('map.clearHint') }}
-
+
{{ item }}
@@ -91,6 +96,14 @@ export default {
position: { x: 0, y: 0 },
buttonPosition: { 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() {
- const models = [];
- this.questionList = [];
- this.signalList.forEach(item => {
- const signalModel = deepAssign({}, item);
- const section = this.findSection(signalModel);
- if (section.code && item.sectionCode != section.code) {
- item.sectionCode = section.code;
+ this.$refs['mark'].validate((valid) => {
+ if (valid) {
+ const models = [];
+ this.questionList = [];
+ this.signalList.forEach(item => {
+ const signalModel = deepAssign({}, item);
+ 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) {
diff --git a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
index c0d700940..b189f3b82 100644
--- a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
@@ -330,6 +330,8 @@ export default {
}
models.push(param);
}
+ section.standTrack = true;
+ models.push(section);
this.$emit('updateMapModel', models);
}
});
diff --git a/src/views/newMap/newMapdraft/mapoperate/switch.vue b/src/views/newMap/newMapdraft/mapoperate/switch.vue
index b0422da8c..df8a72a5d 100644
--- a/src/views/newMap/newMapdraft/mapoperate/switch.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/switch.vue
@@ -551,8 +551,8 @@ export default {
sectiona.switchSection = true;
sectionb.switchSection = true;
sectionc.switchSection = true;
- sectionb.sepTypeLeft = '00';
- sectionb.sepTypeRight = '00';
+ // sectionb.sepTypeLeft = '00';
+ // sectionb.sepTypeRight = '00';
models.push(sectiona);
models.push(sectionb);
models.push(sectionc);
diff --git a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
index 0829dce95..449c37cb7 100644
--- a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
@@ -220,6 +220,8 @@ export default {
this.setStationStand(stationCode, model.code);
});
this.$emit('updateMapModel', model);
+ this.getConcertrateStation();
+ this.$refs.make.resetForm();
}
});
},
@@ -255,6 +257,16 @@ export default {
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).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.deviceSelect();
}).catch(() => {