|
@@ -1,14 +1,16 @@
|
|
|
import {findMenuByAttr, generateMixMenus as generateMixMenusRaw} from '@/utils/menus'
|
|
|
-import {ref} from "vue";
|
|
|
+import {computed, Ref, ref} from "vue";
|
|
|
import {useSDK} from "@/hook";
|
|
|
import {laserModeStack, modeDisabled} from '@/hook/custom/index'
|
|
|
import {Mode} from "@/sdk";
|
|
|
+import {baseLines} from "@/store/baseLine";
|
|
|
|
|
|
export type MenuRaw = {
|
|
|
key: string,
|
|
|
text: string,
|
|
|
continued?: boolean
|
|
|
icon?: string,
|
|
|
+ disabled?: boolean | (() => boolean),
|
|
|
children?: MenuRaw[],
|
|
|
onClick?: () => void | (() => void)
|
|
|
}
|
|
@@ -39,24 +41,6 @@ export const menus: MenuRaw[] = [
|
|
|
icon: "measure",
|
|
|
text: "测量",
|
|
|
key: "measure",
|
|
|
- onClick() {
|
|
|
- const sdk = useSDK()
|
|
|
- const doms = document.querySelectorAll("#navCube, #home") as NodeListOf<HTMLElement>;
|
|
|
- laserModeStack.push(ref(Mode.cloud))
|
|
|
- console.log("push")
|
|
|
- modeDisabled.push(ref(true))
|
|
|
- doms.forEach(dom => dom.style.display = "none");
|
|
|
- // sdk.enterTopView()
|
|
|
-
|
|
|
- console.log(modeDisabled.current.value.value)
|
|
|
- return () => {
|
|
|
- doms.forEach(dom => dom.style.display = "block");
|
|
|
- laserModeStack.pop()
|
|
|
- console.log("pop")
|
|
|
- modeDisabled.pop()
|
|
|
- // sdk.leaveTopView()
|
|
|
- }
|
|
|
- },
|
|
|
children: [
|
|
|
{
|
|
|
icon: "line_h",
|
|
@@ -94,11 +78,30 @@ export const menus: MenuRaw[] = [
|
|
|
icon: "standard",
|
|
|
text: "基准",
|
|
|
key: "baseLineOrPoint",
|
|
|
+ onClick() {
|
|
|
+ const sdk = useSDK()
|
|
|
+ const doms = document.querySelectorAll("#navCube, #home") as NodeListOf<HTMLElement>;
|
|
|
+ laserModeStack.push(ref(Mode.cloud))
|
|
|
+ console.log("push")
|
|
|
+ modeDisabled.push(ref(true))
|
|
|
+ doms.forEach(dom => dom.style.display = "none");
|
|
|
+ // sdk.enterTopView()
|
|
|
+
|
|
|
+ console.log(modeDisabled.current.value.value)
|
|
|
+ return () => {
|
|
|
+ doms.forEach(dom => dom.style.display = "block");
|
|
|
+ laserModeStack.pop()
|
|
|
+ console.log("pop")
|
|
|
+ modeDisabled.pop()
|
|
|
+ // sdk.leaveTopView()
|
|
|
+ }
|
|
|
+ },
|
|
|
children: [
|
|
|
{
|
|
|
icon: "line",
|
|
|
text: "基准线",
|
|
|
- key: menuEnum.BASE_LINE
|
|
|
+ key: menuEnum.BASE_LINE,
|
|
|
+ disabled: () => !!baseLines.value.length
|
|
|
},
|
|
|
{
|
|
|
icon: "point",
|