From 55f4e5626ef67f3515525e19a98f87042d6e49f1 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 19 Jan 2026 11:02:55 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=94=BB=E5=B8=83previ?= =?UTF-8?q?we=E5=90=8E=E9=A2=9C=E8=89=B2=E6=9D=BF=E5=9D=97=E5=8F=98?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 16 ++++---- src/component/Detail/canvas/index.vue | 41 +++++++++---------- .../Detail/detailLeft/colorBox/index.vue | 26 +++++++----- src/component/Detail/model/modelNav.vue | 2 +- src/component/mainPage/signUp/index.vue | 8 ++-- 5 files changed, 48 insertions(+), 45 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index c2f32f13..ca08fc5a 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -189,7 +189,7 @@ export default defineComponent({ } watch(()=>detailData.selectDetail,async (newValue,oldValue)=>{ detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id) - if(newValue)await getSketchSize() + if(newValue?.path)await getSketchSize() detailData.canvasKey += 1 // privewDetail(oldValue) },{immediate: true}) @@ -395,9 +395,9 @@ export default defineComponent({ trims:(newData && detailData.currentDetailType == 'element' && isCurrent && !detailData.isEditPattern.value)?{prints:newData}:list[i].trims?.prints?list[i].trims:{prints:[]}, accessory:(newData && detailData.currentDetailType == 'accessory' && isCurrent && !detailData.isEditPattern.value)?{prints:newData}:list[i].trims?.prints?list[i].trims:{prints:[]}, } - if(!data.partialDesign.partialDesignMinioPath){ - data.partialDesign.partialDesignMinioPath = data.path - } + // if(!data.partialDesign.partialDesignMinioPath){ + // data.partialDesign.partialDesignMinioPath = data.path + // } printObjectToJSON(data.printObject.prints) printObjectToJSON(data.trims.prints) if((detailData.isEditPattern.value && list[i].color?.gradient) || (!detailData.isEditPattern.value && (list[i].newDetail?.color?.gradient || list[i].color?.gradient))){ @@ -613,7 +613,7 @@ export default defineComponent({ if(color.r){ color.rgba = {r:color.r,g:color.g,b:color.b,a:color.a} }else{ - color.rbga = {} + color.rgba = {} } otherData.color = color } @@ -622,7 +622,7 @@ export default defineComponent({ otherData.printObject = detailData.selectDetail.newDetail?.print?.length>0?{prints:detailData.selectDetail.newDetail?.print}:detailData.selectDetail.printObject || null } if(detailData.currentDetailType == 'element'){ - otherData.trims = detailData.selectDetail.newDetail?.element + otherData.trims = detailData.selectDetail.newDetail?.element?.length>0?{prints:detailData.selectDetail.newDetail?.element}:detailData.selectDetail.trims || null } } console.log(JSON.parse(JSON.stringify(otherData)),'=======',JSON.parse(JSON.stringify(detailData.selectDetail))) @@ -632,7 +632,6 @@ export default defineComponent({ if(detailData.isEditPattern.value == 'canvasEditor'){ // await detailDom.canvasBox.saveCanvas() const allInfo = await (detailDom.canvasBox as any).getCanvasElement() - console.log(allInfo,'allInfo') if(allInfo.trims?.length > 0){ // detailData.selectDetail.trims.prints = allInfo.trims let value = { @@ -650,7 +649,7 @@ export default defineComponent({ store.commit('DesignDetail/setNewDetail',value) } if(allInfo.color?.color?.rgba){ - let canvasColor = allInfo.color.color + let canvasColor = allInfo.color.color; let colorData:any = await getColorName(allInfo.color.color?.rgba) let value:any = { data:{ @@ -669,6 +668,7 @@ export default defineComponent({ if(canvasColor.gradient){ value.data.gradient = canvasColor.gradient } + console.log(value,'=======') store.commit('DesignDetail/setNewDetail',value) if(allInfo.color.color.gradient)detailData.selectDetail.color.gradient = allInfo.color.color.gradient if(detailData.currentDetailType == 'color'){ diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index abcbcaef..0616c5e4 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -116,7 +116,7 @@ export default defineComponent({ getCanvasIfEdit:inject('getCanvasIfEdit')as any, canvasInstance:null as any, canvasJSON:'', - hideCanvas: computed(()=>store.state.Workspace.projectPath !== route.fullPath), + hideCanvas: computed(()=>(store.state.Workspace.projectPath !== route.fullPath && props.isEditPattern)), otherData:computed(()=>({ canvasId: store.state.DesignDetail.selectDetail.canvasId, color: store.state.DesignDetail.selectDetail.color, @@ -213,7 +213,6 @@ export default defineComponent({ wH = [1,domHeight/imgHeight] // detailData.canvasConfig.width = img.width * wH[1] // detailData.canvasConfig.height = domHeight - console.log(detailData.canvasConfig,'===============') detailData.canvasConfig.width = img.width detailData.canvasConfig.height = img.height @@ -343,7 +342,6 @@ export default defineComponent({ // } const canvasLoadJsonSuccess = async ()=>{ let otherData = await props.updateOtherLayers() - await updateOtherLayers(otherData) await setUndivideLayer() } @@ -369,7 +367,6 @@ export default defineComponent({ width:props.sketchSize.width, height:props.sketchSize.height, }).then((rv)=>{ - console.log(rv,'======') detailData.selectDetail.undividedLayer = rv }) // } @@ -402,26 +399,28 @@ export default defineComponent({ const sessionCanvasList = sessionStorage.getItem('canvasList'); const canvasList = sessionCanvasList ? JSON.parse(sessionCanvasList) : [] let canvasIndex = canvasList.findIndex(item => item.id === detailData.selectDetail.id); - if(canvasIndex>1){ + if(canvasIndex>-1){ detailData.canvasJSON = canvasList[canvasIndex].canvasJSON - } - if(detailData.selectDetail.canvasId){ - detailData.isShowMark = true - await new Promise((resolve, reject) => { - let value = { - module:'designItemDetail', - id:detailData.selectDetail.canvasId, - } - Https.axiosPost(Https.httpUrls.exportSearch, value) - .then((rv) => { - detailData.canvasJSON = rv - resolve('') + }else{ + if(detailData.selectDetail.canvasId){ + detailData.isShowMark = true + await new Promise((resolve, reject) => { + let value = { + module:'designItemDetail', + id:detailData.selectDetail.canvasId, + } + Https.axiosPost(Https.httpUrls.exportSearch, value) + .then((rv) => { + detailData.canvasJSON = rv + resolve('') + }) + .catch((rv) => { + resolve(null) + }); }) - .catch((rv) => { - resolve(null) - }); - }) + } } + setCanvas(detailData.selectDetail.path).then(()=>{ detailData.canvasLoad = true }) diff --git a/src/component/Detail/detailLeft/colorBox/index.vue b/src/component/Detail/detailLeft/colorBox/index.vue index 667d4b1c..d278d1ce 100644 --- a/src/component/Detail/detailLeft/colorBox/index.vue +++ b/src/component/Detail/detailLeft/colorBox/index.vue @@ -124,11 +124,13 @@ export default defineComponent({ }) watch(()=>colorData.selectDetail.id,(newVal,oldVal)=>{ if(!newVal)return + console.log(12312) if(!colorData.colorList?.list?.[newVal]){ colorData.colorList.list[newVal] = [] }else{ return } + console.log(12312) let isNoSelect = false let pushIndex = 0 for (let index = 0; index < 9; index++) { @@ -142,9 +144,10 @@ export default defineComponent({ colorData.selectDetail.color.rgba?.r == color?.rgba?.r && colorData.selectDetail.color.rgba?.g == color?.rgba?.g && colorData.selectDetail.color.rgba?.b == color?.rgba?.b || - (JSON.stringify(colorData.selectDetail.color.gradient) == JSON.stringify(color?.gradient) && JSON.stringify(colorData.selectDetail.color.gradient)) + (JSON.stringify(colorData.selectDetail.color.gradient) == JSON.stringify(color?.gradient) && colorData.selectDetail.color.gradient) && colorData.selectDetail.color.rgba?.r ){ + console.log(123) isNoSelect = true colorData.selectColor = item colorData.colorList.index = index @@ -170,20 +173,21 @@ export default defineComponent({ colorData.colorList.list[newVal].push(item) } if(!isNoSelect){ - if(!colorData.selectDetail.color?.rgba?.r)return + let color = colorData.selectDetail.newDetail?.color?.rgba?.r?colorData.selectDetail.newDetail?.color:colorData.selectDetail.color + if(!color?.rgba?.r)return let item = { - hex:rgbaToHex([colorData.selectDetail.color.rgba.r,colorData.selectDetail.color.rgba.g,colorData.selectDetail.color.rgba.b]), - id:colorData.selectDetail.color.id, + hex:rgbaToHex([color.rgba.r,color.rgba.g,color.rgba.b]), + id:color.id, rgba:{ - r:colorData.selectDetail.color.rgba.r, - g:colorData.selectDetail.color.rgba.g, - b:colorData.selectDetail.color.rgba.b, + r:color.rgba.r, + g:color.rgba.g, + b:color.rgba.b, }, - tcx:colorData.selectDetail.color.tcx, - name:colorData.selectDetail.color.name, + tcx:color.tcx, + name:color.name, } as any - if(colorData.selectDetail.color.gradient){ - item.gradient = colorData.selectDetail.color.gradient + if(color.gradient){ + item.gradient = color.gradient } colorData.selectColor = item let num = pushIndex diff --git a/src/component/Detail/model/modelNav.vue b/src/component/Detail/model/modelNav.vue index f3112a41..4e9cd8cc 100644 --- a/src/component/Detail/model/modelNav.vue +++ b/src/component/Detail/model/modelNav.vue @@ -79,7 +79,7 @@ export default defineComponent({ detailData.selectDetail?.id && detailData?.getCanvasIfEdit?.fun&&detailData?.getCanvasIfEdit?.fun() > 0 ){ - resolve() + resolve(true) // Modal.confirm({ // title: t('collectionModal.jsContent6'), // icon: createVNode(ExclamationCircleOutlined), diff --git a/src/component/mainPage/signUp/index.vue b/src/component/mainPage/signUp/index.vue index 2aa07809..92dfc3e8 100644 --- a/src/component/mainPage/signUp/index.vue +++ b/src/component/mainPage/signUp/index.vue @@ -111,7 +111,7 @@ export default defineComponent({ type: 'personal', info: '您的AI时尚设计助手', price: 'HK$0', - detail: '自注册之日起 7 天内 · 50 个积分', + detail: '自注册之日起 5 天内 · 50 个积分', highlight: '', discounts: '9折优惠', detailList: [ @@ -190,7 +190,7 @@ export default defineComponent({ type: 'personal', info: '您的AI时尚设计助手', price: 'HK$0', - detail: '自注册之日起 7 天内 · 50 个积分', + detail: '自注册之日起 5 天内 · 50 个积分', highlight: '', discounts: '9折优惠', detailList: [ @@ -255,7 +255,7 @@ export default defineComponent({ type: 'personal', info: 'Your AI Fashion Design Assistant', price: 'HK$0', - detail: '7 days from sign-up · 50 credits', + detail: '5 days from sign-up · 50 credits', highlight: '', discounts: '10% off', detailList: [ @@ -334,7 +334,7 @@ export default defineComponent({ type: 'personal', info: 'Your AI Fashion Design Assistant', price: 'HK$0', - detail: '7 days from sign-up · 50 credits', + detail: '5 days from sign-up · 50 credits', highlight: '', discounts: '10% off', detailList: [ From 4126e0b24da499668de779c14bcd0ea854148a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Mon, 19 Jan 2026 11:07:04 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E5=85=83=E7=B4=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Canvas/CanvasEditor/managers/CanvasManager.js | 10 ++++++---- src/component/Detail/canvas/index.vue | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index 49042262..f68fb393 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -1458,7 +1458,7 @@ export class CanvasManager { const printTrimsLayers = [];// 印花和元素图层 const singleLayers = [];// 平铺图层 - otherData_.printObject?.prints?.forEach((print, index) => { + otherData_.printObject?.prints?.forEach((print, index) => {// 印花 print.name = t("Canvas.Print") + (index + 1); if(print.ifSingle){ printTrimsLayers.unshift({...print}); @@ -1466,7 +1466,7 @@ export class CanvasManager { singleLayers.unshift({...print}); } }) - otherData_.trims?.prints?.forEach((trims, index) => { + otherData_.trims?.prints?.forEach((trims, index) => {// 元素 trims.name = t("Canvas.Elements") + (index + 1); printTrimsLayers.unshift({...trims}); }) @@ -1575,6 +1575,8 @@ export class CanvasManager { let item = printTrimsLayers[index]; let id = generateId("layer_image_"); let name = item.name; + let blendMode = BlendMode.MULTIPLY; + if(item.level2Type === "Embroidery") blendMode = BlendMode.NORMAL;// 元素正常 let image = await new Promise(resolve => { fabric.Image.fromURL(item.path, (fabricImage)=>{ const left = flLeft - flWidth * flScaleX / 2 + (item.location?.[0] || 0) * flScaleX @@ -1603,7 +1605,7 @@ export class CanvasManager { hasControls: true, hasBorders: true, isPrintTrims: true, - globalCompositeOperation: BlendMode.MULTIPLY, + globalCompositeOperation: blendMode, }); resolve(fabricImage); }, { crossOrigin: "anonymous" }); @@ -1617,7 +1619,7 @@ export class CanvasManager { locked: false, opacity: 1.0, isPrintTrims: true, - blendMode: BlendMode.MULTIPLY, + blendMode: blendMode, fabricObjects: [image.toObject(["id", "layerId", "layerName"])], metadata: {sourceData: item}, }) diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index abcbcaef..50eb0223 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -6,10 +6,10 @@
+ Date: Mon, 19 Jan 2026 11:16:23 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E5=8D=B0=E8=8A=B1=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CanvasEditor/managers/CanvasManager.js | 75 +++++++++++-------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index f68fb393..9c7bb1cc 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -1575,41 +1575,54 @@ export class CanvasManager { let item = printTrimsLayers[index]; let id = generateId("layer_image_"); let name = item.name; - let blendMode = BlendMode.MULTIPLY; - if(item.level2Type === "Embroidery") blendMode = BlendMode.NORMAL;// 元素正常 let image = await new Promise(resolve => { fabric.Image.fromURL(item.path, (fabricImage)=>{ - const left = flLeft - flWidth * flScaleX / 2 + (item.location?.[0] || 0) * flScaleX - const top = flTop - flHeight * flScaleY / 2 + (item.location?.[1] || 0) * flScaleY - const scaleX = flWidth * (item.scale?.[0] || 1) / fabricImage.width * flScaleX - const scaleY = flHeight * (item.scale?.[1] || 1) / fabricImage.height * flScaleY - const {x, y} = calculateRotatedTopLeftDeg( - fabricImage.width * scaleX, - fabricImage.height * scaleY, - left, - top, - 0, - item.angle || 0 - ) - const angle = item.angle || 0 - fabricImage.set({ - left: x, - top: y, - scaleX: scaleX, - scaleY: scaleY, - angle: angle, - id: id, - layerId: id, - layerName: name, - selectable: true, - hasControls: true, - hasBorders: true, - isPrintTrims: true, - globalCompositeOperation: blendMode, - }); resolve(fabricImage); }, { crossOrigin: "anonymous" }); }) + let left = flLeft - flWidth * flScaleX / 2 + (item.location?.[0] || 0) * flScaleX + let top = flTop - flHeight * flScaleY / 2 + (item.location?.[1] || 0) * flScaleY + let scaleX = flWidth * (item.scale?.[0] || 1) / image.width * flScaleX + let scaleY = flHeight * (item.scale?.[1] || 1) / image.height * flScaleY + let {x, y} = calculateRotatedTopLeftDeg( + image.width * scaleX, + image.height * scaleY, + left, + top, + 0, + item.angle || 0 + ) + let angle = item.angle || 0 + + let opacity = 1 + let flipX = false; + let flipY = false; + let blendMode = BlendMode.MULTIPLY; + if(item.level2Type === "Embroidery") blendMode = BlendMode.NORMAL;// 元素正常 + if(item.object){ + opacity = item.object.opacity + flipX = item.object.flipX + flipY = item.object.flipY + if(item.object.blendMode) blendMode = item.object.blendMode; + } + image.set({ + left: x, + top: y, + scaleX: scaleX, + scaleY: scaleY, + angle: angle, + opacity: opacity, + flipX: flipX, + flipY: flipY, + globalCompositeOperation: blendMode, + id: id, + layerId: id, + layerName: name, + selectable: true, + hasControls: true, + hasBorders: true, + isPrintTrims: true, + }); this.canvas.add(image); let layer = createLayer({ id: id, @@ -1617,7 +1630,7 @@ export class CanvasManager { type: LayerType.BITMAP, visible: true, locked: false, - opacity: 1.0, + opacity: opacity, isPrintTrims: true, blendMode: blendMode, fabricObjects: [image.toObject(["id", "layerId", "layerName"])], From 87fd5b9a933cf36b2e5022fe52baedbdb15a1c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Mon, 19 Jan 2026 13:37:24 +0800 Subject: [PATCH 04/14] fix --- .../commands/FillRepeatCommand.js | 19 +++++++++++-------- .../components/SelectMenuPanel/index.vue | 1 + .../CanvasEditor/managers/CanvasManager.js | 5 +++-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/commands/FillRepeatCommand.js b/src/component/Canvas/CanvasEditor/commands/FillRepeatCommand.js index b8e0baee..85aa2dd6 100644 --- a/src/component/Canvas/CanvasEditor/commands/FillRepeatCommand.js +++ b/src/component/Canvas/CanvasEditor/commands/FillRepeatCommand.js @@ -110,13 +110,15 @@ export class FillRepeatCommand extends Command { height: object.height, } }; + const fdObject = this.canvasManager.getFixedLayerObject(); const bgObject = this.canvasManager.getBackgroundLayerObject(); + const tObject = fdObject || bgObject; const pattern = new fabric.Pattern({ source: img, repeat: this.fillRepeat, patternTransform: object.fill?.hasOwnProperty("patternTransform") ? object.fill.patternTransform : createPatternTransform(scale, 0), - offsetX: object.fill?.hasOwnProperty("offsetX") ? object.fill.offsetX : bgObject.width / 2, // 水平偏移 - offsetY: object.fill?.hasOwnProperty("offsetY") ? object.fill.offsetY : bgObject.height / 2, // 垂直偏移 + offsetX: object.fill?.hasOwnProperty("offsetX") ? object.fill.offsetX : tObject.width / 2, // 水平偏移 + offsetY: object.fill?.hasOwnProperty("offsetY") ? object.fill.offsetY : tObject.height / 2, // 垂直偏移 }); const rect = new fabric.Rect({ id: object.id, @@ -143,13 +145,13 @@ export class FillRepeatCommand extends Command { flipY: object.flipY, }); } else { - let scaleX = bgObject.scaleX || 1; - let scaleY = bgObject.scaleY || 1; + let scaleX = tObject.scaleX || 1; + let scaleY = tObject.scaleY || 1; rect.set({ - width: bgObject.width, - height: bgObject.height, - top: bgObject.top - bgObject.height * scaleY / 2, - left: bgObject.left - bgObject.width * scaleX / 2, + width: tObject.width, + height: tObject.height, + top: tObject.top - tObject.height * scaleY / 2, + left: tObject.left - tObject.width * scaleX / 2, scaleX, scaleY, }); @@ -305,6 +307,7 @@ export class FillRepeatGapChangeCommand extends Command { object.fill_.gapY = this.newGapY; } const image = new Image(); + image.crossOrigin = "anonymous"; image.src = object.fill_.source; await image.decode(); object.fill_.width = image.width; diff --git a/src/component/Canvas/CanvasEditor/components/SelectMenuPanel/index.vue b/src/component/Canvas/CanvasEditor/components/SelectMenuPanel/index.vue index 84659f21..2ac1bfc6 100644 --- a/src/component/Canvas/CanvasEditor/components/SelectMenuPanel/index.vue +++ b/src/component/Canvas/CanvasEditor/components/SelectMenuPanel/index.vue @@ -125,6 +125,7 @@ " :options="selectOptions" @change="(e) => changeFillRepeat(e, v)" + :disabled="v.layer?.metadata?.level2Type === 'Embroidery'" />
diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index 9c7bb1cc..1aa12934 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -1187,7 +1187,8 @@ export class CanvasManager { obj.scale = [scaleXY, scaleXY]; obj.angle = angle; obj.location = [left, top]; - obj.gap = [fill_.gapX, fill_.gapY]; + obj.object.gapX = fill_.gapX; + obj.object.gapY = fill_.gapY; } if(obj.level2Type === "Pattern"){ prints.push(obj); @@ -1634,7 +1635,7 @@ export class CanvasManager { isPrintTrims: true, blendMode: blendMode, fabricObjects: [image.toObject(["id", "layerId", "layerName"])], - metadata: {sourceData: item}, + metadata: {sourceData: item, level2Type: item.level2Type}, }) children.push(layer); }; From 4c25e4a5a33afeb14929c478d9baae4a3792df5a Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 19 Jan 2026 13:58:31 +0800 Subject: [PATCH 05/14] fix --- src/assets/icons/CPart.svg | 95 ++++++------------- src/component/Canvas/OverallCanvas/index.vue | 3 +- .../Detail/detailRight/editPrintElement.vue | 2 +- 3 files changed, 31 insertions(+), 69 deletions(-) diff --git a/src/assets/icons/CPart.svg b/src/assets/icons/CPart.svg index 931b5358..6b75a0d1 100644 --- a/src/assets/icons/CPart.svg +++ b/src/assets/icons/CPart.svg @@ -1,68 +1,29 @@ - - - + + + + + .cls-2 { + stroke: #333; + stroke-miterlimit: 10; + } + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/component/Canvas/OverallCanvas/index.vue b/src/component/Canvas/OverallCanvas/index.vue index b6461491..70757f7d 100644 --- a/src/component/Canvas/OverallCanvas/index.vue +++ b/src/component/Canvas/OverallCanvas/index.vue @@ -42,7 +42,7 @@ var canvas = null; onMounted(async () => { initCanvas(); - await setCanvasData(); + // await setCanvasData(); let throttleTimeout = null; let lastRunTime = 0; let trailingTimeout = null; @@ -80,6 +80,7 @@ bindEvent(); }; const updateCanvasSize = async () => { + console.log('========','updataCanvasSize') canvas.setWidth(el.value.offsetWidth); canvas.setHeight(el.value.offsetHeight); await setCanvasData(); diff --git a/src/component/Detail/detailRight/editPrintElement.vue b/src/component/Detail/detailRight/editPrintElement.vue index 4b926521..00eaa0a5 100644 --- a/src/component/Detail/detailRight/editPrintElement.vue +++ b/src/component/Detail/detailRight/editPrintElement.vue @@ -1152,7 +1152,7 @@ export default defineComponent({ border-radius: 1rem; overflow: hidden; &.active{ - border: 2px solid #B4B4B4; + border: 2.5px solid #B4B4B4; } > img{ width: 100%; From 0aae85e94d2dee9c70a68853625d53e0d41c5397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Mon, 19 Jan 2026 14:25:44 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Canvas/OverallCanvas/index.vue | 175 ++++++++++--------- src/component/Canvas/utils/TaskQueue.js | 28 +++ 2 files changed, 117 insertions(+), 86 deletions(-) create mode 100644 src/component/Canvas/utils/TaskQueue.js diff --git a/src/component/Canvas/OverallCanvas/index.vue b/src/component/Canvas/OverallCanvas/index.vue index b6461491..2d7b0363 100644 --- a/src/component/Canvas/OverallCanvas/index.vue +++ b/src/component/Canvas/OverallCanvas/index.vue @@ -3,8 +3,11 @@ @@ -408,13 +411,13 @@ :clothingMinIOPath="clothingMinIOPath" :clothingImageUrl="clothingImageUrl" :clothingImageUrl2="clothingImageUrlInit" - :otherData="otherData" :config="editorConfig" :clothing-image-opts="{ imageMode: 'contains', // 设置底图包含在画布内 }" @change-canvas="changeCanvas" @canvas-init="canvasInit" + @canvas-load-json-success="canvasLoadJsonSuccess" isFixedErasable showFixedLayer > diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index c3e24d92..65c160f4 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -355,7 +355,6 @@ export default defineComponent({ isContainNormalLayer:false, width:props.sketchSize.width, height:props.sketchSize.height}).then((rv)=>{ - console.log('====================',rv) detailData.selectDetail.undividedLayerColor = rv }) // } @@ -395,7 +394,6 @@ export default defineComponent({ // privewDetail() }) onMounted(()=>{ - console.log('==========================',detailData.canvasLoad) nextTick(async ()=>{ // detailData.currentView = 'canvasEditor' const sessionCanvasList = sessionStorage.getItem('canvasList');