From b114d352f6779b8edd9fbca72cebb07e2a79c46f Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Thu, 22 Jan 2026 09:51:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddetail=E5=8D=B0=E8=8A=B1?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E6=89=93=E5=BC=80=E8=8A=B1=E4=B8=8D=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=85=83=E7=B4=A0preview=E5=90=8E=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=85=83=E7=B4=A0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index dd36ee2f..bf9d650a 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -545,6 +545,9 @@ export default defineComponent({ await detailDom.canvasBox.privewDetail() await upDateFrontBackSketch() saveCanvasJSONToSession() + if(detailData.isEditPattern.value == 'canvasEditor'){ + await uploadElement() + } detailData.loadingShow = false } } From bb5c319a7f6710d079cb58e3ff1ff3ad6ccd6635 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Thu, 22 Jan 2026 10:29:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddetail=E6=89=93=E5=BC=80?= =?UTF-8?q?=E7=94=BB=E5=B8=83=E7=9B=B4=E6=8E=A5=E6=8F=90=E4=BA=A4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 62 ++++++++++++++------ src/component/Detail/model/modelPosition.vue | 7 ++- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index bf9d650a..e36a11a2 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -545,9 +545,7 @@ export default defineComponent({ await detailDom.canvasBox.privewDetail() await upDateFrontBackSketch() saveCanvasJSONToSession() - if(detailData.isEditPattern.value == 'canvasEditor'){ - await uploadElement() - } + await uploadSelectDetail() detailData.loadingShow = false } } @@ -675,22 +673,16 @@ export default defineComponent({ if(detailData.isEditPattern.value == 'canvasEditor'){ // await detailDom.canvasBox.saveCanvas() const allInfo = await (detailDom.canvasBox as any).getCanvasElement() - if(allInfo.trims?.length > 0){ - // detailData.selectDetail.trims.prints = allInfo.trims - let value = { - data:allInfo.trims, - str:'element' - } - store.commit('DesignDetail/setNewDetail',value) + let trimsValue = { + data:allInfo.trims || [], + str:'element' } - if(allInfo.prints?.length > 0){ - // detailData.selectDetail.printObject.prints = allInfo.prints - let value = { - data:allInfo.prints, - str:'print' - } - store.commit('DesignDetail/setNewDetail',value) + store.commit('DesignDetail/setNewDetail',trimsValue) + let printValue = { + data:allInfo.prints || [], + str:'print' } + store.commit('DesignDetail/setNewDetail',printValue) if(allInfo.color?.color?.rgba){ let canvasColor = allInfo.color.color; let colorData:any = await getColorName(allInfo.color.color?.rgba) @@ -716,9 +708,45 @@ export default defineComponent({ if(detailData.currentDetailType == 'color'){ detailData.detailLeftColorKey++ } + }else{ + let value = { + data:{}, + str:'color' + } + store.commit('DesignDetail/setNewDetail',value) } } } + const uploadSelectDetail = async ()=>{//更新选中的detail + // await detailDom.canvasBox.saveCanvas() + const allInfo = await (detailDom.canvasBox as any).getCanvasElement() + let color:any = {} + if(allInfo.color?.color?.rgba){ + let canvasColor = allInfo.color.color; + let colorData:any = await getColorName(allInfo.color.color?.rgba) + color = { + hsv:{ + h:colorData.h, + s:colorData.s, + v:colorData.v, + }, + name:colorData.name, + tcx:colorData.tcx, + rgba:canvasColor.rgba, + hex:rgbaToHex([canvasColor.rgba.r,canvasColor.rgba.g,canvasColor.rgba.b]), + } + if(canvasColor.gradient){ + color.gradient = canvasColor.gradient + } + if(detailData.currentDetailType == 'color'){ + detailData.detailLeftColorKey++ + } + } + detailData.selectDetail.trims.prints = allInfo.trims || [] + detailData.selectDetail.printObject.prints = allInfo.prints || [] + detailData.selectDetail.color = color + + } const canvasReload = async ()=>{ if(detailData.isEditPattern.value){ await detailDom.canvasBox.saveCanvas() diff --git a/src/component/Detail/model/modelPosition.vue b/src/component/Detail/model/modelPosition.vue index 51da1ef3..52869e50 100644 --- a/src/component/Detail/model/modelPosition.vue +++ b/src/component/Detail/model/modelPosition.vue @@ -14,7 +14,12 @@