From 7af56fc53d50b67e3009a362e38aba1b1c4546bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=9D=A4=E9=9B=84?= <1507014442@qq.com> Date: Tue, 13 May 2025 08:20:54 +0000 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=9B=BE=E7=89=87=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E3=80=81=E5=89=AA=E5=88=87=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈坤雄 <1507014442@qq.com> --- package.json | 5 +- src/components/upload/CutImageComponent.vue | 171 ++++++++++++++++++ .../panel/rightPanel/attrs/changeImage.vue | 171 ++++++++++++++++++ .../layouts/panel/rightPanel/setting.vue | 9 + 4 files changed, 354 insertions(+), 2 deletions(-) create mode 100644 src/components/upload/CutImageComponent.vue create mode 100644 src/views/Editor/layouts/panel/rightPanel/attrs/changeImage.vue diff --git a/package.json b/package.json index decda5c..bf166ee 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "tinymce": "^6.8.5", "uuid": "^9.0.1", "vue": "^3.5.13", - "vue-router": "^4.5.0" + "vue-router": "^4.5.0", + "vue-img-cutter": "^3.0.7", }, "devDependencies": { "@arco-design/web-vue": "^2.56.3", @@ -62,6 +63,6 @@ "unplugin-vue-components": "^0.25.2", "vite": "^4.5.5", "vite-plugin-svg-icons": "^2.0.1", - "vue-tsc": "^1.8.27" + "vue-tsc": "^1.8.27", } } diff --git a/src/components/upload/CutImageComponent.vue b/src/components/upload/CutImageComponent.vue new file mode 100644 index 0000000..20ebaff --- /dev/null +++ b/src/components/upload/CutImageComponent.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/src/views/Editor/layouts/panel/rightPanel/attrs/changeImage.vue b/src/views/Editor/layouts/panel/rightPanel/attrs/changeImage.vue new file mode 100644 index 0000000..82c99d2 --- /dev/null +++ b/src/views/Editor/layouts/panel/rightPanel/attrs/changeImage.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/src/views/Editor/layouts/panel/rightPanel/setting.vue b/src/views/Editor/layouts/panel/rightPanel/setting.vue index 49f4793..f50f616 100644 --- a/src/views/Editor/layouts/panel/rightPanel/setting.vue +++ b/src/views/Editor/layouts/panel/rightPanel/setting.vue @@ -15,6 +15,7 @@ import QrcodeAttr from "./attrs/qrcodeAttr.vue"; import BarcodeAttr from "./attrs/barcodeAttr.vue"; import GroupAttr from "./attrs/groupAttr.vue"; import PenAttr from "./attrs/penAttr.vue"; +import changeImage from "./attrs/changeImage.vue"; import {appInstance, useEditor} from "@/views/Editor/app"; import {typeUtil} from "@/views/Editor/utils/utils"; import {useAppStore} from "@/store"; @@ -71,6 +72,14 @@ const componentList = computed(() => { component: HtmlTextAttr, visual: isDefined(activeObject) && editor.activeObjectIsType('HTMLText'), }, + { + name: 'changeImage', + component: changeImage, + visual: + isDefined(activeObject) + &&!typeUtil.isVirtualOrBottom(activeObject) + && editor.activeObjectIsType('Image','Image2') + }, { name: 'QrcodeAttr', component: QrcodeAttr, -- Gitee