diff --git a/src/component/HomePage/scaleImage.vue b/src/component/HomePage/scaleImage.vue index 34fc81a2..f5f7b86e 100644 --- a/src/component/HomePage/scaleImage.vue +++ b/src/component/HomePage/scaleImage.vue @@ -346,6 +346,7 @@ export default defineComponent({ }); } return { + t, ...toRefs(productimg), scaleImage, isShowMark, @@ -366,7 +367,7 @@ export default defineComponent({ data() { return { // moodTemplateId: "", //模板id - + isNext:false }; }, directives:{ @@ -399,27 +400,61 @@ export default defineComponent({ this.scaleImage = false this.scaleImageList = [] this.scaleImageIndex = 0 + this.isNext = false document.removeEventListener('keydown',this.setKeydown) }, lastStep(){ if(this.productimgIsProductimg) return + if(this.isNext)return + let num = this.scaleImageIndex if(this.scaleImageIndex <= 0){ }else{ - this.scaleImageIndex -= 1 + num -=1 + this.setImageIndex(num) } }, nextStep(){ if(this.productimgIsProductimg) return + if(this.isNext)return + let num = this.scaleImageIndex if(this.scaleImageIndex >= this.scaleImageList.length-1){ }else{ - this.scaleImageIndex += 1 + num += 1 + this.setImageIndex(num) } }, download(){ downloadIamge(this.scaleImageList[this.scaleImageIndex].imgUrl) }, setScaleImageIndex(index:any){ - this.scaleImageIndex = index + // this.scaleImageIndex = index + this.setImageIndex(index) + }, + setImageIndex(index:any){ + if(this.isNext)return + let this_ = this + if(this.isCanvas){ + this.isNext = true + new Promise((resolve,reject)=>{ + Modal.confirm({ + title: this.t('scaleImage.submitCanvas'), + icon: createVNode(ExclamationCircleOutlined), + okText: 'Yes', + cancelText: 'No', + mask:false, + centered:true, + onOk() { + this_.scaleImageIndex = index + this_.isNext = false + resolve('') + }, + onCancel(){ + this_.isNext = false + resolve('') + } + }); + }) + } }, LikeFile(item:any,str:string){ let parent:any = this.$parent diff --git a/src/lang/cn.ts b/src/lang/cn.ts index e9a92c64..3673e02c 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -571,6 +571,7 @@ export default { }, scaleImage:{ overlayOrNot:'是否覆盖当前图片', + submitCanvas:'画布内容没有储存,是否继续', }, account:{ personCentered:'个人中心', diff --git a/src/lang/en.ts b/src/lang/en.ts index bc7c3d2f..98ca614b 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -571,6 +571,7 @@ export default { }, scaleImage:{ overlayOrNot:'Whether to overwrite the current picture', + submitCanvas:'Canvas content is not saved, whether to continue', }, account:{ personCentered:'Account', diff --git a/src/tool/canvasGeneral.js b/src/tool/canvasGeneral.js index 8e238de3..76e61612 100644 --- a/src/tool/canvasGeneral.js +++ b/src/tool/canvasGeneral.js @@ -136,6 +136,8 @@ class myCanvas { let oldCanvasDom1 = this.canvasDomParent.querySelector('canvas') if(oldCanvasDom)oldCanvasDom.remove() if(oldCanvasDom1)oldCanvasDom1.remove() + this.reverseCanvasState=[];//撤回 + this.normalCanvasState=[];//反撤回 document.removeEventListener("keydown", this.canvasKeyDown); document.removeEventListener("keyup", this.canvasKeyUp);