增加批量调整区段名称位置
This commit is contained in:
parent
6045f6dba6
commit
b7ee3e5f6e
@ -251,7 +251,7 @@ export default class Section extends Group {
|
|||||||
/** 区段名称 (逻辑区段名称 或 物理区段名称 是否显示)*/
|
/** 区段名称 (逻辑区段名称 或 物理区段名称 是否显示)*/
|
||||||
let tempx = x;
|
let tempx = x;
|
||||||
let tempy = y;
|
let tempy = y;
|
||||||
if (model.type == '01') {
|
if (model.type == '01') { // 物理区段名称
|
||||||
if (style.Section.text.show) {
|
if (style.Section.text.show) {
|
||||||
const opposite = style.Section.text.opposite ? -1 : 1;
|
const opposite = style.Section.text.opposite ? -1 : 1;
|
||||||
tempx += traingle.getSin(style.Section.text.distance);
|
tempx += traingle.getSin(style.Section.text.distance);
|
||||||
@ -274,7 +274,7 @@ export default class Section extends Group {
|
|||||||
});
|
});
|
||||||
this.add(this.name);
|
this.add(this.name);
|
||||||
}
|
}
|
||||||
} else if (model.type == '02') {
|
} else if (model.type == '02') { // 逻辑区段
|
||||||
if (style.Section.logicText.show) {
|
if (style.Section.logicText.show) {
|
||||||
const opposite = style.Section.logicText.opposite ? -1 : 1;
|
const opposite = style.Section.logicText.opposite ? -1 : 1;
|
||||||
tempx += traingle.getSin(style.Section.logicText.distance);
|
tempx += traingle.getSin(style.Section.logicText.distance);
|
||||||
@ -297,7 +297,7 @@ export default class Section extends Group {
|
|||||||
});
|
});
|
||||||
this.add(this.name);
|
this.add(this.name);
|
||||||
}
|
}
|
||||||
} else if (model.type == '03') {
|
} else if (model.type == '03') { // 道岔区段
|
||||||
if (style.Section.switchText.show) {
|
if (style.Section.switchText.show) {
|
||||||
this.name = new ETextName({
|
this.name = new ETextName({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
@ -317,7 +317,7 @@ export default class Section extends Group {
|
|||||||
});
|
});
|
||||||
this.add(this.name);
|
this.add(this.name);
|
||||||
}
|
}
|
||||||
} else if (model.type == '04') {
|
} else if (model.type == '04') { // 道岔计轴区段名称
|
||||||
if (router.currentRoute.path.startsWith('/design/usermap/map/draw') && router.currentRoute.path.endsWith('/draft')) {
|
if (router.currentRoute.path.startsWith('/design/usermap/map/draw') && router.currentRoute.path.endsWith('/draft')) {
|
||||||
this.name = new ETextName({
|
this.name = new ETextName({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
|
@ -39,7 +39,7 @@ class TrainWindow extends Group {
|
|||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z - 1,
|
z: this.z - 1,
|
||||||
shape: {
|
shape: {
|
||||||
smooth: this.style.TrainWindow.trainWindowSmooth,
|
smooth: this.style.TrainWindow.trainWindowSmooth, // 圆滑程度
|
||||||
points: [
|
points: [
|
||||||
[point.x - model.width / 2, point.y],
|
[point.x - model.width / 2, point.y],
|
||||||
[point.x + model.width / 2, point.y],
|
[point.x + model.width / 2, point.y],
|
||||||
|
@ -14,12 +14,50 @@
|
|||||||
</el-button-group>
|
</el-button-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<el-form ref="formModel" :model="formModel" label-width="200px" size="mini" :rules="formRules">
|
||||||
|
<el-form-item label="区段编码:" prop="modelList">
|
||||||
|
<el-select v-model="formModel.modelList" filterable multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in sectionList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.name + '(' + item.code + ')'"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<el-button
|
||||||
|
:type="field === 'sectionTypeCode' ? 'danger' : 'primary'"
|
||||||
|
size="small"
|
||||||
|
@click="hover('sectionTypeCode')"
|
||||||
|
>{{ $t('map.activate') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="区段名称位置:" prop="trainPosType">
|
||||||
|
<el-select
|
||||||
|
v-model="formModel.trainPosType"
|
||||||
|
placeholder="请选择"
|
||||||
|
:clearable="true"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in positionTypes"
|
||||||
|
:key="option.type"
|
||||||
|
:label="option.name"
|
||||||
|
:value="option.type"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button-group>
|
||||||
|
<el-button type="primary" size="big" @click="setPositionType">{{ $t('global.set') }}</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { deepAssign } from '@/utils/index';
|
import { deepAssign } from '@/utils/index';
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'BatchSettings',
|
name: 'BatchSettings',
|
||||||
props: {
|
props: {
|
||||||
@ -28,6 +66,12 @@ export default {
|
|||||||
default: function() {
|
default: function() {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
field: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -36,10 +80,34 @@ export default {
|
|||||||
leftDistance: 0,
|
leftDistance: 0,
|
||||||
rightDistance: 0
|
rightDistance: 0
|
||||||
},
|
},
|
||||||
tipInfoList: []
|
formModel: {
|
||||||
|
modelList: [],
|
||||||
|
trainPosType: ''
|
||||||
|
},
|
||||||
|
positionTypes: [
|
||||||
|
{ name: '上方', type: '01' },
|
||||||
|
{ name: '下方', type: '02' }
|
||||||
|
],
|
||||||
|
tipInfoList: [],
|
||||||
|
formRules: {
|
||||||
|
trainPosType: [
|
||||||
|
{ required: true, message: '请选择', trigger: 'change' }
|
||||||
|
],
|
||||||
|
modelList: [
|
||||||
|
{ required: true, message: '请选择', trigger: 'change' }
|
||||||
|
]
|
||||||
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'sectionList'
|
||||||
|
])
|
||||||
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
hover(filed) {
|
||||||
|
this.$emit('hover', filed);
|
||||||
|
},
|
||||||
batchSettings() {
|
batchSettings() {
|
||||||
this.tipInfoList = [];
|
this.tipInfoList = [];
|
||||||
const models = [];
|
const models = [];
|
||||||
@ -63,6 +131,20 @@ export default {
|
|||||||
this.$message.success(this.$t('tip.stopPointOffsetTip'));
|
this.$message.success(this.$t('tip.stopPointOffsetTip'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
setPositionType() {
|
||||||
|
const models = [];
|
||||||
|
this.$refs['formModel'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.formModel.modelList.forEach(sectionCode => {
|
||||||
|
const model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](sectionCode) || {});
|
||||||
|
model.trainPosType = this.formModel.trainPosType;
|
||||||
|
models.push(model);
|
||||||
|
});
|
||||||
|
this.$emit('updateMapModel', models, 'five');
|
||||||
|
this.$refs.formModel.resetFields(); // 对该表单项进行重置并移除校验结果
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<logic-block ref="logicBlock" :edit-model="editModel" @updateMapModel="updateMapModel" />
|
<logic-block ref="logicBlock" :edit-model="editModel" @updateMapModel="updateMapModel" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane class="view-control" :label="$t('map.batchSettings')" name="five">
|
<el-tab-pane class="view-control" :label="$t('map.batchSettings')" name="five">
|
||||||
<batch-settings ref="batchSettings" :section-list="sectionList" @updateMapModel="updateMapModel" @tipInfoHandle="tipInfoHandle" />
|
<batch-settings ref="batchSettings" :field="field" :section-list="sectionList" @hover="hover" @updateMapModel="updateMapModel" @tipInfoHandle="tipInfoHandle" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<tip-info ref="tipInfo" :tip-info-list="tipInfoList" />
|
<tip-info ref="tipInfo" :tip-info-list="tipInfoList" />
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@ -453,6 +453,11 @@ export default {
|
|||||||
this.activeName = 'second';
|
this.activeName = 'second';
|
||||||
this.field = '';
|
this.field = '';
|
||||||
this.$emit('fieldSelect', '');
|
this.$emit('fieldSelect', '');
|
||||||
|
} else if (this.field.toUpperCase() === 'sectionTypeCode'.toUpperCase()) {
|
||||||
|
this.$refs.batchSettings.formModel.modelList.push(selected.code);
|
||||||
|
this.activeName = 'five';
|
||||||
|
// this.field = '';
|
||||||
|
// this.$emit('fieldSelect', '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user