From 708b1f7a3658ae1eb8a471c77cdd1095ed8eb3b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C2=B4=C3=B3=C2=B8=C3=A7?= Date: Thu, 26 Feb 2026 11:45:32 +0800 Subject: [PATCH] fix --- .env.development | 4 +- package-lock.json | 56 ++++++- package.json | 1 + src/assets/icons/back-white.svg | 3 + src/assets/icons/back.svg | 2 +- src/assets/icons/c-hand.svg | 3 + src/assets/icons/c-mouse.svg | 3 + src/assets/icons/c-redo.svg | 3 + src/assets/icons/c-t.svg | 6 + src/assets/icons/c-undo.svg | 3 + src/assets/icons/close-white.svg | 3 + src/assets/icons/color-palette-2.svg | 9 ++ src/assets/icons/edit-material.svg | 16 -- src/assets/icons/export.svg | 4 + src/assets/icons/scene-composition-2.svg | 5 + src/assets/icons/sub.svg | 3 + src/assets/icons/surface-edit-2.svg | 4 + src/assets/icons/surface-edit.svg | 4 + src/assets/icons/to-3d-model-2.svg | 4 + src/assets/icons/to-3view-2.svg | 9 ++ src/assets/icons/to-3view.svg | 14 ++ src/assets/icons/to-real-style-2.svg | 6 + src/components/Canvas/CanvasTest.vue | 96 +++++++++++ .../components/cards/cards-select.vue | 65 ++++++++ .../components/cards/color-palette.vue | 34 +++- .../FlowCanvas/components/cards/index.vue | 84 ++++++---- .../{edit-material.vue => surface-edit.vue} | 6 +- .../components/cards/to-3d-model.vue | 17 +- .../FlowCanvas/components/cards/to-3view.vue | 30 ++++ .../components/cards/to-real-style.vue | 9 +- .../FlowCanvas/components/header-tools.vue | 80 +++++++++ .../Canvas/FlowCanvas/components/node.vue | 36 +++++ .../FlowCanvas/components/tools/my-select.vue | 52 ++++++ .../components/tools/upload-file.vue | 9 +- .../Canvas/FlowCanvas/flow-canvas.vue | 116 +++++++++++++ src/components/Canvas/FlowCanvas/index.vue | 152 ++---------------- .../Canvas/FlowCanvas/manager/EventManager.ts | 24 +++ .../Canvas/FlowCanvas/manager/FlowManager.ts | 22 +++ .../Canvas/FlowCanvas/manager/StateManager.ts | 90 +++++++++++ .../Canvas/components/fullscreen-dialog.vue | 36 ++++- .../Canvas/components/node/InputNode.vue | 27 ---- .../Canvas/components/node/secondaryNode.vue | 31 ---- src/components/Canvas/components/zoom.vue | 57 +++++++ src/components/input-code.vue | 5 +- src/lang/en.ts | 1 + src/lang/zh-cn.ts | 3 +- src/router/index.ts | 127 ++++++++------- src/views/home/index.vue | 14 +- src/views/home/left-nav.vue | 7 - src/views/home/test.vue | 15 +- src/views/login/login.vue | 5 +- src/views/login/register.vue | 4 +- src/views/login/visible-code.vue | 30 +++- 53 files changed, 1101 insertions(+), 348 deletions(-) create mode 100644 src/assets/icons/back-white.svg create mode 100644 src/assets/icons/c-hand.svg create mode 100644 src/assets/icons/c-mouse.svg create mode 100644 src/assets/icons/c-redo.svg create mode 100644 src/assets/icons/c-t.svg create mode 100644 src/assets/icons/c-undo.svg create mode 100644 src/assets/icons/close-white.svg create mode 100644 src/assets/icons/color-palette-2.svg delete mode 100644 src/assets/icons/edit-material.svg create mode 100644 src/assets/icons/export.svg create mode 100644 src/assets/icons/scene-composition-2.svg create mode 100644 src/assets/icons/sub.svg create mode 100644 src/assets/icons/surface-edit-2.svg create mode 100644 src/assets/icons/surface-edit.svg create mode 100644 src/assets/icons/to-3d-model-2.svg create mode 100644 src/assets/icons/to-3view-2.svg create mode 100644 src/assets/icons/to-3view.svg create mode 100644 src/assets/icons/to-real-style-2.svg create mode 100644 src/components/Canvas/CanvasTest.vue create mode 100644 src/components/Canvas/FlowCanvas/components/cards/cards-select.vue rename src/components/Canvas/FlowCanvas/components/cards/{edit-material.vue => surface-edit.vue} (85%) create mode 100644 src/components/Canvas/FlowCanvas/components/cards/to-3view.vue create mode 100644 src/components/Canvas/FlowCanvas/components/header-tools.vue create mode 100644 src/components/Canvas/FlowCanvas/components/node.vue create mode 100644 src/components/Canvas/FlowCanvas/components/tools/my-select.vue create mode 100644 src/components/Canvas/FlowCanvas/flow-canvas.vue create mode 100644 src/components/Canvas/FlowCanvas/manager/EventManager.ts create mode 100644 src/components/Canvas/FlowCanvas/manager/FlowManager.ts create mode 100644 src/components/Canvas/FlowCanvas/manager/StateManager.ts delete mode 100644 src/components/Canvas/components/node/InputNode.vue delete mode 100644 src/components/Canvas/components/node/secondaryNode.vue create mode 100644 src/components/Canvas/components/zoom.vue diff --git a/.env.development b/.env.development index 2cde04e..f844c2d 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # VITE_APP_URL = http://192.168.31.82:8771 -# VITE_APP_URL = http://18.167.251.121:10015 +VITE_APP_URL = http://18.167.251.121:10015 # VITE_APP_URL = http://192.168.31.118:8080 -VITE_APP_URL = http://192.168.31.82:8755 +# VITE_APP_URL = http://192.168.31.82:8755 VITE_GOOGLE_CLIENT_ID = 216037134725-7q8vqp0ohtmohlosltkfg7bd2v29rm5a.apps.googleusercontent.com diff --git a/package-lock.json b/package-lock.json index 2bf816e..76efe4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "element-plus": "^2.13.2", "gsap": "^3.13.0", "markdown-it": "^14.1.0", + "md5": "^2.3.0", "normalize.css": "^8.0.1", "pinia": "^2.0.32", "pinia-persistedstate-plugin": "^0.1.0", @@ -1903,6 +1904,15 @@ "node": ">=10" } }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", @@ -2155,6 +2165,15 @@ "node": ">= 8" } }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", @@ -4141,8 +4160,7 @@ "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { "version": "1.2.7", @@ -5118,6 +5136,17 @@ "node": ">= 0.4" } }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", @@ -10036,6 +10065,11 @@ "supports-color": "^7.1.0" } }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", @@ -10232,6 +10266,11 @@ "which": "^2.0.1" } }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" + }, "crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", @@ -11724,8 +11763,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { "version": "1.2.7", @@ -12433,6 +12471,16 @@ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", diff --git a/package.json b/package.json index b0fb71e..3dadfcc 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "element-plus": "^2.13.2", "gsap": "^3.13.0", "markdown-it": "^14.1.0", + "md5": "^2.3.0", "normalize.css": "^8.0.1", "pinia": "^2.0.32", "pinia-persistedstate-plugin": "^0.1.0", diff --git a/src/assets/icons/back-white.svg b/src/assets/icons/back-white.svg new file mode 100644 index 0000000..9028acc --- /dev/null +++ b/src/assets/icons/back-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/back.svg b/src/assets/icons/back.svg index 1706d37..43225dd 100644 --- a/src/assets/icons/back.svg +++ b/src/assets/icons/back.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/icons/c-hand.svg b/src/assets/icons/c-hand.svg new file mode 100644 index 0000000..26eaf47 --- /dev/null +++ b/src/assets/icons/c-hand.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/c-mouse.svg b/src/assets/icons/c-mouse.svg new file mode 100644 index 0000000..37b9db2 --- /dev/null +++ b/src/assets/icons/c-mouse.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/c-redo.svg b/src/assets/icons/c-redo.svg new file mode 100644 index 0000000..bc4ef6e --- /dev/null +++ b/src/assets/icons/c-redo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/c-t.svg b/src/assets/icons/c-t.svg new file mode 100644 index 0000000..285842d --- /dev/null +++ b/src/assets/icons/c-t.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/icons/c-undo.svg b/src/assets/icons/c-undo.svg new file mode 100644 index 0000000..931e1aa --- /dev/null +++ b/src/assets/icons/c-undo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/close-white.svg b/src/assets/icons/close-white.svg new file mode 100644 index 0000000..beebefc --- /dev/null +++ b/src/assets/icons/close-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/color-palette-2.svg b/src/assets/icons/color-palette-2.svg new file mode 100644 index 0000000..10f9524 --- /dev/null +++ b/src/assets/icons/color-palette-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/icons/edit-material.svg b/src/assets/icons/edit-material.svg deleted file mode 100644 index 721bd72..0000000 --- a/src/assets/icons/edit-material.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/assets/icons/export.svg b/src/assets/icons/export.svg new file mode 100644 index 0000000..d8de25f --- /dev/null +++ b/src/assets/icons/export.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/scene-composition-2.svg b/src/assets/icons/scene-composition-2.svg new file mode 100644 index 0000000..387c66b --- /dev/null +++ b/src/assets/icons/scene-composition-2.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/sub.svg b/src/assets/icons/sub.svg new file mode 100644 index 0000000..7f8dcdb --- /dev/null +++ b/src/assets/icons/sub.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/surface-edit-2.svg b/src/assets/icons/surface-edit-2.svg new file mode 100644 index 0000000..68befdf --- /dev/null +++ b/src/assets/icons/surface-edit-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/surface-edit.svg b/src/assets/icons/surface-edit.svg new file mode 100644 index 0000000..6d79cf8 --- /dev/null +++ b/src/assets/icons/surface-edit.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/to-3d-model-2.svg b/src/assets/icons/to-3d-model-2.svg new file mode 100644 index 0000000..d0c3e3d --- /dev/null +++ b/src/assets/icons/to-3d-model-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/to-3view-2.svg b/src/assets/icons/to-3view-2.svg new file mode 100644 index 0000000..202c2f6 --- /dev/null +++ b/src/assets/icons/to-3view-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/icons/to-3view.svg b/src/assets/icons/to-3view.svg new file mode 100644 index 0000000..8535179 --- /dev/null +++ b/src/assets/icons/to-3view.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/icons/to-real-style-2.svg b/src/assets/icons/to-real-style-2.svg new file mode 100644 index 0000000..873a746 --- /dev/null +++ b/src/assets/icons/to-real-style-2.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/Canvas/CanvasTest.vue b/src/components/Canvas/CanvasTest.vue new file mode 100644 index 0000000..332d77c --- /dev/null +++ b/src/components/Canvas/CanvasTest.vue @@ -0,0 +1,96 @@ + + + + diff --git a/src/components/Canvas/FlowCanvas/components/cards/cards-select.vue b/src/components/Canvas/FlowCanvas/components/cards/cards-select.vue new file mode 100644 index 0000000..eb81762 --- /dev/null +++ b/src/components/Canvas/FlowCanvas/components/cards/cards-select.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/components/Canvas/FlowCanvas/components/cards/color-palette.vue b/src/components/Canvas/FlowCanvas/components/cards/color-palette.vue index 5ef858f..a8691f7 100644 --- a/src/components/Canvas/FlowCanvas/components/cards/color-palette.vue +++ b/src/components/Canvas/FlowCanvas/components/cards/color-palette.vue @@ -8,8 +8,12 @@ v-for="(v, i) in data.colors" :key="i" :style="{ background: v }" - > -
+ > + + + +
+
@@ -20,11 +24,16 @@ diff --git a/src/components/Canvas/FlowCanvas/components/cards/to-3d-model.vue b/src/components/Canvas/FlowCanvas/components/cards/to-3d-model.vue index 7cb286f..596c2cf 100644 --- a/src/components/Canvas/FlowCanvas/components/cards/to-3d-model.vue +++ b/src/components/Canvas/FlowCanvas/components/cards/to-3d-model.vue @@ -2,18 +2,16 @@

Image

- -

Prompt

- +
+ +
+ + diff --git a/src/components/Canvas/FlowCanvas/components/cards/to-real-style.vue b/src/components/Canvas/FlowCanvas/components/cards/to-real-style.vue index b1df662..0747d5f 100644 --- a/src/components/Canvas/FlowCanvas/components/cards/to-real-style.vue +++ b/src/components/Canvas/FlowCanvas/components/cards/to-real-style.vue @@ -13,6 +13,8 @@ {{ v.label }} +

Mode

+

Size

@@ -21,6 +23,7 @@ + + diff --git a/src/components/Canvas/FlowCanvas/components/node.vue b/src/components/Canvas/FlowCanvas/components/node.vue new file mode 100644 index 0000000..a76dd2f --- /dev/null +++ b/src/components/Canvas/FlowCanvas/components/node.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/components/Canvas/FlowCanvas/components/tools/my-select.vue b/src/components/Canvas/FlowCanvas/components/tools/my-select.vue new file mode 100644 index 0000000..ccfc13c --- /dev/null +++ b/src/components/Canvas/FlowCanvas/components/tools/my-select.vue @@ -0,0 +1,52 @@ + + + + diff --git a/src/components/Canvas/FlowCanvas/components/tools/upload-file.vue b/src/components/Canvas/FlowCanvas/components/tools/upload-file.vue index a078577..5ac6a04 100644 --- a/src/components/Canvas/FlowCanvas/components/tools/upload-file.vue +++ b/src/components/Canvas/FlowCanvas/components/tools/upload-file.vue @@ -9,7 +9,7 @@
{{ tip }}
- +
Select File
@@ -59,8 +59,11 @@ font-size: 8px; color: #7c7c7c; } - > button { - box-shadow: 0px 0.75px 0px 0px #00000005; + > .btn { + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0px 0.75px 0px 0px rgba(0, 0, 0, 0.02); min-width: 39px; height: 13px; border-radius: 2.3px; diff --git a/src/components/Canvas/FlowCanvas/flow-canvas.vue b/src/components/Canvas/FlowCanvas/flow-canvas.vue new file mode 100644 index 0000000..c2ade52 --- /dev/null +++ b/src/components/Canvas/FlowCanvas/flow-canvas.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/src/components/Canvas/FlowCanvas/index.vue b/src/components/Canvas/FlowCanvas/index.vue index 5fd75b5..1644e90 100644 --- a/src/components/Canvas/FlowCanvas/index.vue +++ b/src/components/Canvas/FlowCanvas/index.vue @@ -1,151 +1,25 @@ - diff --git a/src/components/Canvas/FlowCanvas/manager/EventManager.ts b/src/components/Canvas/FlowCanvas/manager/EventManager.ts new file mode 100644 index 0000000..390ece3 --- /dev/null +++ b/src/components/Canvas/FlowCanvas/manager/EventManager.ts @@ -0,0 +1,24 @@ +export class EventManager { + stateManager: any + vueFlow: any + zoom: any + constructor(options) { + this.stateManager = options.stateManager; + this.vueFlow = options.vueFlow + this.zoom = this.stateManager.zoom + } + handleViewportChange(e: any) { + const { zoom } = e + this.zoom.value = zoom + } + handleNodeDragStop(e: any) { + const { node } = e + const { id, position } = node + this.stateManager.nodes.value.forEach((item) => { + if (item.id === id) { + item.position.x = position.x + item.position.y = position.y + } + }) + } +} diff --git a/src/components/Canvas/FlowCanvas/manager/FlowManager.ts b/src/components/Canvas/FlowCanvas/manager/FlowManager.ts new file mode 100644 index 0000000..7c8eb17 --- /dev/null +++ b/src/components/Canvas/FlowCanvas/manager/FlowManager.ts @@ -0,0 +1,22 @@ +export class FlowManager { + stateManager: any + vueFlow: any + constructor(options) { + this.stateManager = options.stateManager; + this.vueFlow = options.vueFlow + } + setZoom(zoom: number) { + this.stateManager.zoom.value = zoom + this.vueFlow.value.zoomTo(zoom) + } + handleNodeDragStop(e: any) { + const { node } = e + const { id, position } = node + this.stateManager.nodes.value.forEach((item) => { + if (item.id === id) { + item.position.x = position.x + item.position.y = position.y + } + }) + } +} diff --git a/src/components/Canvas/FlowCanvas/manager/StateManager.ts b/src/components/Canvas/FlowCanvas/manager/StateManager.ts new file mode 100644 index 0000000..44cf7ac --- /dev/null +++ b/src/components/Canvas/FlowCanvas/manager/StateManager.ts @@ -0,0 +1,90 @@ +import { ref, computed } from "vue"; +import card from '../components/cards/index.vue' + +export class StateManager { + vueFlow: any + nodes: any + edges: any + zoom: any + constructor(options) { + this.vueFlow = options.vueFlow + this.nodes = ref([ + { + id: '1', + type: 'InputNode', + class: 'custom-node start', + position: { x: 0, y: 0 }, + data: { component: card, type: 'to-real-style' } + }, + { + id: '2', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'scene-composition' } + }, + { + id: '3', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'color-palette' } + }, + { + id: '4', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'to-video' } + }, + { + id: '5', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'to-3d-model' } + }, + { + id: '6', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'to-cad' } + }, + { + id: '7', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'add-print' } + }, + { + id: '8', + type: 'SecondaryNode', + class: 'custom-node', + position: { x: 0, y: 0 }, + data: { component: card, type: 'edit-material' } + } + ]); + + this.edges = computed(() => { + const arr = [] + this.nodes.value.forEach((node, index) => { + if (index < this.nodes.value.length - 1) { + const id = node.id + const target = this.nodes.value[index + 1].id + arr.push({ + id: `el-${id}-${target}`, + source: id, + target: target, + type: 'smoothstep' + }) + } + }) + return arr + }) + + this.zoom = ref(1) + } + +} diff --git a/src/components/Canvas/components/fullscreen-dialog.vue b/src/components/Canvas/components/fullscreen-dialog.vue index b58726b..cca3d74 100644 --- a/src/components/Canvas/components/fullscreen-dialog.vue +++ b/src/components/Canvas/components/fullscreen-dialog.vue @@ -11,6 +11,9 @@ > +
+ +
@@ -25,7 +28,6 @@ const emit = defineEmits(['update:modelValue', 'closed']) const show = ref(props.modelValue) const show_ = ref(props.modelValue) - console.log(props.modelValue) const timeout = ref(null) watch( () => props.modelValue, @@ -44,6 +46,9 @@ } } ) + const close = () => { + emit('update:modelValue', false) + } diff --git a/src/components/Canvas/components/node/InputNode.vue b/src/components/Canvas/components/node/InputNode.vue deleted file mode 100644 index ce5ae2f..0000000 --- a/src/components/Canvas/components/node/InputNode.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - diff --git a/src/components/Canvas/components/node/secondaryNode.vue b/src/components/Canvas/components/node/secondaryNode.vue deleted file mode 100644 index e423cfb..0000000 --- a/src/components/Canvas/components/node/secondaryNode.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/src/components/Canvas/components/zoom.vue b/src/components/Canvas/components/zoom.vue new file mode 100644 index 0000000..a6017fd --- /dev/null +++ b/src/components/Canvas/components/zoom.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/components/input-code.vue b/src/components/input-code.vue index 928baf7..45e082d 100644 --- a/src/components/input-code.vue +++ b/src/components/input-code.vue @@ -29,7 +29,7 @@ watch(codeStr, (newVal) => { emit('update:modelValue', newVal) }) - const resetCode = (size) => { + const resetCode = (size = props.length) => { code.value = [] for (let i = 0; i < size; i++) { code.value.push('') @@ -83,6 +83,9 @@ onMounted(() => { focusLast() }) + defineExpose({ + resetCode + }) diff --git a/src/views/login/login.vue b/src/views/login/login.vue index d5779a0..bd6cbeb 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -50,6 +50,8 @@