diff --git a/src/component/Canvas/CanvasEditor/index.vue b/src/component/Canvas/CanvasEditor/index.vue index 882c556f..1d00d0e5 100644 --- a/src/component/Canvas/CanvasEditor/index.vue +++ b/src/component/Canvas/CanvasEditor/index.vue @@ -1040,6 +1040,7 @@ }, // 导出图片 exportImage: async ({ + isFrontBackUpdata = false, // 更新红绿图时候需要用,直接更新红绿图 isContainBg = false, // 是否包含背景图层 isContainFixed = false, // 是否包含固定图层 isContainFixedOther = true, // 是否包含其他固定图层--颜色图层 @@ -1056,6 +1057,7 @@ } = {}) => { loading.value = true canvasManager?.canvas?.discardActiveObject() + if(isFrontBackUpdata)await canvasManager?.changeCanvas() var base64 = await canvasManager.exportImage({ isContainBg, isContainFixed, diff --git a/src/component/Detail/canvas/index.vue b/src/component/Detail/canvas/index.vue index 6023a4e6..3411955f 100644 --- a/src/component/Detail/canvas/index.vue +++ b/src/component/Detail/canvas/index.vue @@ -163,7 +163,6 @@ export default defineComponent({ const privewDetail = async (oldSelectDetail = detailData.selectDetail)=>{ // if(!detailDom.editCanvas)return return new Promise(async (res,reject)=>{ - console.log(detailDom.editCanvas) await detailDom.editCanvas.exportImage({ isContainFixed:true, width:props.sketchSize.width, @@ -245,17 +244,26 @@ export default defineComponent({ const frontBackChange = async (value:any)=>{ + let front = detailData.frontBack.front[detailData.imgDomIndex] + let back = detailData.frontBack.back[detailData.imgDomIndex] + store.commit('DesignDetail/updataDetailItem',{maskUrl:value}) if(!detailData.selectDetail.partialDesign.partialDesignPath && !detailData.selectDetail.partialDesign.partialDesignBase64){ await privewDetail() + }else{ + await detailDom.editCanvas.exportImage({ + isFrontBackUpdata: true, + isContainFixed:true, + width:props.sketchSize.width, + height:props.sketchSize.height, + }).then((rv)=>{ + if(detailData.selectDetail?.partialDesign)detailData.selectDetail.partialDesign.partialDesignBase64 = rv + }) } let full = detailData.selectDetail.partialDesign.partialDesignBase64 || detailData.selectDetail.partialDesign.partialDesignPath || detailData.selectDetail.path let size = { ...detailData.canvasConfig, } - store.commit('DesignDetail/updataDetailItem',{maskUrl:value}) segmentImage(value,full,size).then(async (rv)=>{ - let front = detailData.frontBack.front[detailData.imgDomIndex] - let back = detailData.frontBack.back[detailData.imgDomIndex] if(!front?.oldImageUrl)front.oldImageUrl = front.imageUrl if(!front?.oldMaskUrl)front.oldMaskUrl = front.maskUrl if(!back?.oldImageUrl)back.oldImageUrl = back.imageUrl @@ -267,7 +275,6 @@ export default defineComponent({ back.imageUrl = rv.targetBackUrl // store.commit('DesignDetail/updataDetailItem',{maskUrl:value}) }) - } const editSketchCanvasInit = async (value:any)=>{ detailData.canvasInstance = value