|
@@ -1,10 +1,13 @@
|
|
|
import {router} from "@/router";
|
|
|
import writeRouteName from "../../router/constant";
|
|
|
-import {startMeasure} from '../scene/linkage/measure'
|
|
|
+import {startMeasure, SuccessMeasureAtom} from '../scene/linkage/measure'
|
|
|
import {ref, watchEffect} from "vue";
|
|
|
import {useAsyncSDK} from '@/hook/useLaser'
|
|
|
import {customMap, laserModeStack} from '@/hook/custom/index'
|
|
|
import {Mode} from "@/sdk";
|
|
|
+import {mount} from "@/components/base/utils/componentHelper";
|
|
|
+import TrackMeasure from "@/views/scene/TrackMeasure.vue";
|
|
|
+import {list} from '@/store/measure'
|
|
|
|
|
|
|
|
|
export const trackMode = ref(false)
|
|
@@ -14,11 +17,25 @@ export const trackMeasureWidth = async () => {
|
|
|
trackMode.value = true
|
|
|
await router.push({ name: writeRouteName.scene })
|
|
|
const sdk = await useAsyncSDK()
|
|
|
+ list.value.forEach(item => sdk.carry.measureMap.get(item).hide())
|
|
|
+
|
|
|
laserModeStack.push(ref(Mode.cloud))
|
|
|
+ await new Promise(resolve => setTimeout(resolve, 10))
|
|
|
sdk.enterTopView()
|
|
|
- const measure = await startMeasure('LINE', 'red')
|
|
|
+ const measure = await new Promise<SuccessMeasureAtom>(resolve => {
|
|
|
+ const { destroy } = mount(TrackMeasure, {
|
|
|
+ props: {
|
|
|
+ onConfirm: data => {
|
|
|
+ destroy()
|
|
|
+ resolve(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ element: document.body
|
|
|
+ } as any)
|
|
|
+ })
|
|
|
laserModeStack.pop()
|
|
|
await router.back()
|
|
|
+ list.value.forEach(item => sdk.carry.measureMap.get(item).show())
|
|
|
await new Promise(resolve => setTimeout(resolve, 100))
|
|
|
sdk.leaveTopView()
|
|
|
trackMode.value = false
|