|
@@ -0,0 +1,89 @@
|
|
|
+<template>
|
|
|
+ <ui-confirm title="设置" ok-text="保存" :func="handler" v-if="!trackMode">
|
|
|
+ <template v-slot:content>
|
|
|
+ <div class="setting-layout">
|
|
|
+ <div>
|
|
|
+ <p>
|
|
|
+ <span>默认单车道宽度</span>
|
|
|
+ <span>单位m</span>
|
|
|
+ </p>
|
|
|
+ <ui-input v-model="data.singleRoadWidth" width="100%">
|
|
|
+ <template v-slot:icon>
|
|
|
+ <ui-icon type="clear" ctrl @click="setSceneSingleRoadWidth" />
|
|
|
+ </template>
|
|
|
+ </ui-input>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>
|
|
|
+ <span>默认隔离带宽度</span>
|
|
|
+ <span>单位m</span>
|
|
|
+ </p>
|
|
|
+ <ui-input v-model="data.roadQuarantineWidth" width="100%">
|
|
|
+ <template v-slot:icon>
|
|
|
+ <ui-icon type="clear" ctrl @click="setSceneRoadQuarantineWidth" />
|
|
|
+ </template>
|
|
|
+ </ui-input>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>
|
|
|
+ <span>基本线宽 b</span>
|
|
|
+ <span>单位m</span>
|
|
|
+ </p>
|
|
|
+ <ui-input type="select" :options="lineWidthOption" v-model="data.lineWidth" width="100%" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </ui-confirm>
|
|
|
+</template>
|
|
|
+<script setup lang="ts">
|
|
|
+import UiConfirm from "@/components/base/components/dialog/Confirm.vue";
|
|
|
+import UiInput from "@/components/base/components/input/index.vue";
|
|
|
+import {ref} from "vue";
|
|
|
+import UiIcon from "@/components/base/components/icon/index.vue";
|
|
|
+import {trackMeasureWidth, trackMode} from "@/views/scene/trackMeasureWidth";
|
|
|
+import { drawRef } from '@/hook/useGraphic'
|
|
|
+
|
|
|
+const props = defineProps<{ close?: () => void }>()
|
|
|
+
|
|
|
+const data = ref({...drawRef.value.uiControl.getDefaultSetting()})
|
|
|
+const lineWidthOption = [
|
|
|
+ {label: 2, value: 2},
|
|
|
+ {label: 1.4, value: 1.4},
|
|
|
+ {label: 1, value: 1},
|
|
|
+ {label: 0.7, value: 0.7},
|
|
|
+ {label: 0.5, value: 0.5},
|
|
|
+ {label: 0.35, value: 0.35},
|
|
|
+]
|
|
|
+
|
|
|
+const setSceneSingleRoadWidth = async () => {
|
|
|
+ data.value.singleRoadWidth = await trackMeasureWidth()
|
|
|
+}
|
|
|
+
|
|
|
+const setSceneRoadQuarantineWidth = async () => {
|
|
|
+ data.value.roadQuarantineWidth = await trackMeasureWidth()
|
|
|
+}
|
|
|
+
|
|
|
+const handler = (label) => {
|
|
|
+ if (label === 'ok') {
|
|
|
+ drawRef.value.uiControl.setDefaultSetting({...data.value})
|
|
|
+ }
|
|
|
+ props.close && props.close()
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.setting-layout {
|
|
|
+ width: 440px;
|
|
|
+
|
|
|
+ > div {
|
|
|
+ margin-bottom: 20px;
|
|
|
+
|
|
|
+ p {
|
|
|
+ margin-bottom: 6px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|