道岔公里标
This commit is contained in:
parent
1d608c5177
commit
1b2d4f46ea
@ -5,3 +5,5 @@
|
|||||||
/node_modules
|
/node_modules
|
||||||
.eslintrc.js
|
.eslintrc.js
|
||||||
/src-ssr
|
/src-ssr
|
||||||
|
/src/protos
|
||||||
|
/graphic-pixi
|
||||||
|
@ -98,7 +98,7 @@ import {
|
|||||||
} from 'src/graphics/transponder/Transponder';
|
} from 'src/graphics/transponder/Transponder';
|
||||||
import { Turnout } from 'src/graphics/turnout/Turnout';
|
import { Turnout } from 'src/graphics/turnout/Turnout';
|
||||||
import { useDrawStore } from 'src/stores/draw-store';
|
import { useDrawStore } from 'src/stores/draw-store';
|
||||||
import { computed, onMounted, onUnmounted, reactive } from 'vue';
|
import { computed } from 'vue';
|
||||||
|
|
||||||
const drawStore = useDrawStore();
|
const drawStore = useDrawStore();
|
||||||
const { data: transponderModel, onUpdate } = useFormData(
|
const { data: transponderModel, onUpdate } = useFormData(
|
||||||
|
@ -15,10 +15,9 @@
|
|||||||
@blur="onUpdate"
|
@blur="onUpdate"
|
||||||
label="索引"
|
label="索引"
|
||||||
/>
|
/>
|
||||||
<template v-if="turnoutModel.kilometerSystem[0]">
|
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
style="margin-top: 10px"
|
class="q-mt-sm"
|
||||||
v-model="turnoutModel.kilometerSystem[0].coordinateSystem"
|
v-model="turnoutModel.kilometerSystem[0].coordinateSystem"
|
||||||
:options="CoordinateSystemOptions"
|
:options="CoordinateSystemOptions"
|
||||||
:map-options="true"
|
:map-options="true"
|
||||||
@ -28,7 +27,7 @@
|
|||||||
></q-select>
|
></q-select>
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
style="margin-top: 10px"
|
class="q-mt-sm"
|
||||||
v-model.number="turnoutModel.kilometerSystem[0].kilometer"
|
v-model.number="turnoutModel.kilometerSystem[0].kilometer"
|
||||||
type="number"
|
type="number"
|
||||||
@blur="onUpdate"
|
@blur="onUpdate"
|
||||||
@ -44,8 +43,6 @@
|
|||||||
@update:model-value="onUpdate"
|
@update:model-value="onUpdate"
|
||||||
label="方向"
|
label="方向"
|
||||||
></q-select>
|
></q-select>
|
||||||
</template>
|
|
||||||
<template v-if="turnoutModel.kilometerSystem[1]">
|
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
class="q-mt-sm"
|
class="q-mt-sm"
|
||||||
@ -54,15 +51,15 @@
|
|||||||
:map-options="true"
|
:map-options="true"
|
||||||
:emit-value="true"
|
:emit-value="true"
|
||||||
@update:model-value="onUpdate"
|
@update:model-value="onUpdate"
|
||||||
label="坐标系2"
|
label="坐标系"
|
||||||
></q-select>
|
></q-select>
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
style="margin-top: 10px"
|
class="q-mt-sm"
|
||||||
v-model.number="turnoutModel.kilometerSystem[1].kilometer"
|
v-model.number="turnoutModel.kilometerSystem[1].kilometer"
|
||||||
type="number"
|
type="number"
|
||||||
@blur="onUpdate"
|
@blur="onUpdate"
|
||||||
label="公里标(mm):"
|
label="公里标2(mm):"
|
||||||
/>
|
/>
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
@ -74,7 +71,6 @@
|
|||||||
@update:model-value="onUpdate"
|
@update:model-value="onUpdate"
|
||||||
label="方向"
|
label="方向"
|
||||||
></q-select>
|
></q-select>
|
||||||
</template>
|
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
class="q-mt-sm"
|
class="q-mt-sm"
|
||||||
@ -115,11 +111,10 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { TurnoutData } from 'src/drawApp/graphics/TurnoutInteraction';
|
import { TurnoutData } from 'src/drawApp/graphics/TurnoutInteraction';
|
||||||
import { Section } from 'src/graphics/section/Section';
|
import { Section } from 'src/graphics/section/Section';
|
||||||
import { Direction } from 'src/graphics/signal/Signal';
|
|
||||||
import { Turnout } from 'src/graphics/turnout/Turnout';
|
import { Turnout } from 'src/graphics/turnout/Turnout';
|
||||||
import { graphicData } from 'src/protos/stationLayoutGraphics';
|
import { graphicData } from 'src/protos/stationLayoutGraphics';
|
||||||
import { useDrawStore } from 'src/stores/draw-store';
|
import { useDrawStore } from 'src/stores/draw-store';
|
||||||
import { computed, reactive, shallowRef, watchEffect } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { useFormData } from 'src/components/DrawAppFormUtils';
|
import { useFormData } from 'src/components/DrawAppFormUtils';
|
||||||
|
|
||||||
const drawStore = useDrawStore();
|
const drawStore = useDrawStore();
|
||||||
@ -129,18 +124,17 @@ const CoordinateSystemOptions = [
|
|||||||
{ label: '正线', value: 'MAIN_LINE' },
|
{ label: '正线', value: 'MAIN_LINE' },
|
||||||
{ label: '换线', value: 'TRANSFER' },
|
{ label: '换线', value: 'TRANSFER' },
|
||||||
];
|
];
|
||||||
|
|
||||||
const { data: turnoutModel, onUpdate } = useFormData(
|
const { data: turnoutModel, onUpdate } = useFormData(
|
||||||
new TurnoutData(),
|
new TurnoutData(),
|
||||||
drawStore.getDrawApp()
|
drawStore.getDrawApp()
|
||||||
);
|
);
|
||||||
// const kilometerSystem = reactive([
|
|
||||||
// { coordinateSystem: '', kilometer: 0, direction: Direction.LEFT },
|
|
||||||
// { coordinateSystem: '', kilometer: 0, direction: Direction.LEFT },
|
|
||||||
// ]);
|
|
||||||
const directionOptions = [
|
const directionOptions = [
|
||||||
{ label: '左行', value: 0 },
|
{ label: '左行', value: 0 },
|
||||||
{ label: '右行', value: 1 },
|
{ label: '右行', value: 1 },
|
||||||
];
|
];
|
||||||
|
|
||||||
const switchMachineTypeOptions = [
|
const switchMachineTypeOptions = [
|
||||||
{
|
{
|
||||||
label: '请选择',
|
label: '请选择',
|
||||||
@ -187,31 +181,4 @@ const turnoutRelations = computed(() => {
|
|||||||
}(${relation.getOtherRelationParam(turnout).param})`
|
}(${relation.getOtherRelationParam(turnout).param})`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// watchEffect(() => {
|
|
||||||
// const turnout = drawStore.selectedGraphic;
|
|
||||||
// if (turnout && turnout instanceof Turnout) {
|
|
||||||
// turnoutModel.value = turnout.saveData();
|
|
||||||
// if (turnoutModel.value.kilometerSystem.length > 0) {
|
|
||||||
// kilometerSystem.forEach((ks, i) => {
|
|
||||||
// ks.coordinateSystem =
|
|
||||||
// turnoutModel.value.kilometerSystem[i].coordinateSystem;
|
|
||||||
// ks.kilometer = turnoutModel.value.kilometerSystem[i].kilometer;
|
|
||||||
// ks.direction = turnoutModel.value.kilometerSystem[i].direction;
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
// const onUpdate = () => {
|
|
||||||
// const turnout = drawStore.selectedGraphic as Turnout;
|
|
||||||
// turnoutModel.value.kilometerSystem = kilometerSystem.map((ks) => ({
|
|
||||||
// coordinateSystem: ks.coordinateSystem,
|
|
||||||
// kilometer: ks.kilometer,
|
|
||||||
// direction: ks.direction,
|
|
||||||
// }));
|
|
||||||
// if (turnout) {
|
|
||||||
// drawStore.getDrawApp().updateGraphicAndRecord(turnout, turnoutModel.value);
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,7 +2,6 @@ import * as pb_1 from 'google-protobuf';
|
|||||||
import { GraphicDataBase } from './GraphicDataBase';
|
import { GraphicDataBase } from './GraphicDataBase';
|
||||||
import { ILinkData, Link } from 'src/graphics/link/Link';
|
import { ILinkData, Link } from 'src/graphics/link/Link';
|
||||||
import { graphicData } from 'src/protos/stationLayoutGraphics';
|
import { graphicData } from 'src/protos/stationLayoutGraphics';
|
||||||
import { IPointData } from 'pixi.js';
|
|
||||||
|
|
||||||
export class LinkData extends GraphicDataBase implements ILinkData {
|
export class LinkData extends GraphicDataBase implements ILinkData {
|
||||||
constructor(data?: graphicData.CalculateLink) {
|
constructor(data?: graphicData.CalculateLink) {
|
||||||
|
@ -228,6 +228,11 @@ export class TurnoutData extends GraphicDataBase implements ITurnoutData {
|
|||||||
this.data.pcRef = ref;
|
this.data.pcRef = ref;
|
||||||
}
|
}
|
||||||
get kilometerSystem(): KilometerSystem[] {
|
get kilometerSystem(): KilometerSystem[] {
|
||||||
|
if (this.data.kilometerSystem.length < 2) {
|
||||||
|
this.data.kilometerSystem = Array(2).fill(
|
||||||
|
new graphicData.KilometerSystem()
|
||||||
|
);
|
||||||
|
}
|
||||||
return this.data.kilometerSystem;
|
return this.data.kilometerSystem;
|
||||||
}
|
}
|
||||||
set kilometerSystem(value: KilometerSystem[]) {
|
set kilometerSystem(value: KilometerSystem[]) {
|
||||||
|
@ -2,14 +2,12 @@
|
|||||||
* 轨道区段
|
* 轨道区段
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Graphics, IPointData } from 'pixi.js';
|
import { IPointData } from 'pixi.js';
|
||||||
import {
|
import {
|
||||||
GraphicData,
|
GraphicData,
|
||||||
JlGraphic,
|
JlGraphic,
|
||||||
JlGraphicTemplate,
|
JlGraphicTemplate,
|
||||||
VectorText,
|
VectorText,
|
||||||
splitLineEvenly,
|
|
||||||
splitPolyline,
|
|
||||||
} from 'src/jl-graphic';
|
} from 'src/jl-graphic';
|
||||||
import { SectionConsts } from '../section/Section';
|
import { SectionConsts } from '../section/Section';
|
||||||
import { TrackLogicSection } from '../trackLogicSection/TrackLogicSection';
|
import { TrackLogicSection } from '../trackLogicSection/TrackLogicSection';
|
||||||
|
@ -9,7 +9,7 @@ import {
|
|||||||
angleOfIncludedAngle,
|
angleOfIncludedAngle,
|
||||||
distance2,
|
distance2,
|
||||||
} from 'src/jl-graphic';
|
} from 'src/jl-graphic';
|
||||||
import { Section, SectionPort } from '../section/Section';
|
import { Section, SectionPort, SectionType } from '../section/Section';
|
||||||
import { epsilon } from 'src/jl-graphic/math';
|
import { epsilon } from 'src/jl-graphic/math';
|
||||||
import {
|
import {
|
||||||
IRelatedRefData,
|
IRelatedRefData,
|
||||||
@ -207,6 +207,7 @@ export class Turnout extends JlGraphic {
|
|||||||
|
|
||||||
/** 道岔和区段 */
|
/** 道岔和区段 */
|
||||||
this.queryStore.queryByType<Section>(Section.Type).forEach((section) => {
|
this.queryStore.queryByType<Section>(Section.Type).forEach((section) => {
|
||||||
|
if (section.datas.sectionType !== SectionType.Physical) return;
|
||||||
this.getPortPoints().forEach((port, i) => {
|
this.getPortPoints().forEach((port, i) => {
|
||||||
if (
|
if (
|
||||||
distance2(
|
distance2(
|
||||||
|
@ -153,11 +153,7 @@
|
|||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
||||||
<q-card-actions align="right">
|
<q-card-actions align="right">
|
||||||
<q-btn
|
<q-btn color="primary" label="提交" @click="saveUniqueIdPrefix()" />
|
||||||
color="primary"
|
|
||||||
label="提交"
|
|
||||||
@click="saveUniqueIdPrefix(stationName)"
|
|
||||||
/>
|
|
||||||
<q-btn label="取消" v-close-popup />
|
<q-btn label="取消" v-close-popup />
|
||||||
</q-card-actions>
|
</q-card-actions>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
@ -196,6 +196,12 @@ const columnDefs: QTableColumn[] = [
|
|||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'creator_id',
|
||||||
|
label: '创建人id',
|
||||||
|
field: 'creator_id',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'created_at',
|
name: 'created_at',
|
||||||
label: '创建时间',
|
label: '创建时间',
|
||||||
|
Loading…
Reference in New Issue
Block a user