From a720fba84e47a0d81b2f1c734b387a11718d99d4 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Fri, 16 Jan 2026 13:39:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=B0=E8=8A=B1=E7=BA=BF?= =?UTF-8?q?=E7=A8=BF=E5=90=88=E6=88=90=E5=9B=BE=E6=98=BE=E7=A4=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 24 +++++- src/component/Detail/canvas/index.vue | 84 +++++++++++-------- .../Detail/detailRight/editPrintElement.vue | 21 ++--- src/component/Detail/detailRight/index.vue | 10 ++- src/store/Detail/designDetail.ts | 19 +++++ 5 files changed, 106 insertions(+), 52 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index 7e229bdb..42ffc847 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -85,7 +85,7 @@ " alt="">
- +
- +
- +
@@ -141,7 +141,11 @@ export default defineComponent({ type: { type: String, default: 'print', - } + }, + sketchSize:{ + type:Object, + default:()=>{} + }, }, setup(props,{emit}) { const { t } = useI18n() @@ -352,18 +356,9 @@ export default defineComponent({ } editPrintElementData.printZIndex++ item.pattern = pattern - function isJSONString(str) { - try { - JSON.parse(str); - return true; // 解析成功,是有效的JSON字符串 - } catch (e) { - return false; // 解析失败,不是有效的JSON字符串 - } - } + if(item.object){ - if(isJSONString(item.object)){ - item.object = JSON.parse(item.object) - } + }else{ item.object = { top: 0, diff --git a/src/component/Detail/detailRight/index.vue b/src/component/Detail/detailRight/index.vue index 8ce41684..d835f5d8 100644 --- a/src/component/Detail/detailRight/index.vue +++ b/src/component/Detail/detailRight/index.vue @@ -6,8 +6,8 @@ --> - - + + @@ -24,6 +24,12 @@ export default defineComponent({ components:{ sketchType,printType,editPrintElement,modelsType }, + props:{ + sketchSize:{ + type:Object, + default:()=>{} + }, + }, setup(props,{emit}) { const store = useStore(); const detailData = reactive({ diff --git a/src/store/Detail/designDetail.ts b/src/store/Detail/designDetail.ts index e2bf5948..4c92a6c7 100644 --- a/src/store/Detail/designDetail.ts +++ b/src/store/Detail/designDetail.ts @@ -54,6 +54,25 @@ const DesignDetail : Module = { data.clothes.forEach((v:any,index:any)=>{ // if(!v?.partialDesignDTO){ // } + function isJSONString(str) { + try { + JSON.parse(str); + return true; // 解析成功,是有效的JSON字符串 + } catch (e) { + return false; // 解析失败,不是有效的JSON字符串 + } + } + v?.printObject?.prints?.forEach((item:any) => { + console.log(item.object) + if(isJSONString(item.object)){ + item.object = JSON.parse(item.object) + } + }); + v?.trims?.prints?.forEach((item:any) => { + if(isJSONString(item.object)){ + item.object = JSON.parse(item.object) + } + }); for (let i = v.layersObject.length-1; i >= 0; i--) { v.layersObject[i].style = { top:v.layersObject[i].position?.[0],