From 50b04a4adf836233fd01643ccbd5f0209f9aab2c Mon Sep 17 00:00:00 2001 From: callmeyan Date: Sun, 5 Jan 2025 11:01:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E6=88=90=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- src/components/editor/tiptap.vue | 20 ++--- src/pages/Layout.vue | 2 +- src/pages/result/components/input-setting.vue | 11 +-- src/pages/result/index.vue | 74 +++++++++++++------ src/pages/result/test/data-input.ts | 10 +-- src/pages/result/var.vue | 7 +- src/pages/result/vars.ts | 2 +- src/router.ts | 18 ++--- src/service/use-result-vars.ts | 2 +- src/style.scss | 5 +- src/types/product.d.ts | 1 + tsconfig.json | 6 +- 13 files changed, 102 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index c4ec936..0345d1c 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --host", - "dev-test": "vite --host --mode=test", + "dev-front": "vite --host", + "dev-front-test": "vite --host --mode=test", "build": "vue-tsc && vite build", "preview": "vite preview" }, diff --git a/src/components/editor/tiptap.vue b/src/components/editor/tiptap.vue index bc51252..ddee012 100644 --- a/src/components/editor/tiptap.vue +++ b/src/components/editor/tiptap.vue @@ -37,20 +37,22 @@ const editor = new Editor({ function getMergeContent(){ const content = editor.getJSON() const mergedContentList:ExpressionValue[] = []; - content.content?.forEach(it=>{ - if(it.type == "paragraph" && it.content?.length > 0){ - mergedContentList.push(it) + if(content.content){ + content.content.forEach(it=>{ + if(it.type == "paragraph" && it.content && it.content?.length > 0){ + mergedContentList.push(it as any) + } + }) + if(content.content.length > mergedContentList.length){ + content.content = mergedContentList; + // 更新新内容 + editor.commands.setContent(content) } - }) - if(content.content?.length > mergedContentList.length){ - content.content = mergedContentList; - // 更新新内容 - editor.commands.setContent(content) } return content; } onMounted(() => { - if (model.value?.trim().length > 0) editor.commands.setContent(JSON.parse(model.value)) + if (model.value && model.value.trim().length > 0) editor.commands.setContent(JSON.parse(model.value)) editor.on('update', () => { model.value = JSON.stringify(getMergeContent()) }) diff --git a/src/pages/Layout.vue b/src/pages/Layout.vue index 38fa993..4a9143e 100644 --- a/src/pages/Layout.vue +++ b/src/pages/Layout.vue @@ -198,7 +198,7 @@ function handleHideModal() { } .app-main-container { - min-width: 1100px; + min-width: 500px; padding: 30px; overflow: auto; background: #f0f2f0; diff --git a/src/pages/result/components/input-setting.vue b/src/pages/result/components/input-setting.vue index 44a1997..20c9759 100644 --- a/src/pages/result/components/input-setting.vue +++ b/src/pages/result/components/input-setting.vue @@ -42,15 +42,15 @@