diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index 887eb1f4..a59d3b30 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -123,7 +123,7 @@
-
Current Elements
+
{{ $t('DesignDetail.CurrentElements') }}
diff --git a/src/component/Detail/DesignDetailAlter.vue b/src/component/Detail/DesignDetailAlter.vue index b16a2021..211304ce 100644 --- a/src/component/Detail/DesignDetailAlter.vue +++ b/src/component/Detail/DesignDetailAlter.vue @@ -590,8 +590,8 @@ export default defineComponent({ this.upload.level1Type = 'Sketchboard' this.uploadList = this.apparelList this.designTypeList = this.sketchCatecoryList - this.designType = this.current.type - // this.designType = this.designTypeList[0].value + // this.designType = this.current.type + this.designType = this.designTypeList[0].value }else if (num == 2){ this.selectCode = 'Printboard' this.upload.level1Type = 'Printboard' diff --git a/src/component/Detail/DesignElements.vue b/src/component/Detail/DesignElements.vue index a185c5df..2bf2191f 100644 --- a/src/component/Detail/DesignElements.vue +++ b/src/component/Detail/DesignElements.vue @@ -302,8 +302,6 @@ export default defineComponent({ location:[0,0] }) this.refetchTemplate(currentIndex) - - }, //设置移动 itemMoveMousedown(index,event){ @@ -426,7 +424,6 @@ export default defineComponent({ //判断尺寸是否到边 this.printStyleList[this.imgDomIndex].style.width = width this.printStyleList[this.imgDomIndex].style.height = height - }, //鼠标抬起 sizeMouseup(e){ @@ -497,38 +494,44 @@ export default defineComponent({ await this.setPrintWH(item.path) this.designSelectElementsList let sketch = document.getElementsByClassName("designElements_modal")[0]?.getElementsByClassName('designElements_sketch')[0] - let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth - let scale - scale = (this.print.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,'')) - let zIndex = 1 - let left = item.location[0]/sketchNum+'px' - let top = item.location[1]/sketchNum+'px' - if(sketch.offsetWidth < item.location[0]/sketchNum){ - left = sketch.offsetWidth +'px' - } - if(sketch.offsetHeight < item.location[1]/sketchNum){ - top = sketch.offsetHeight +'px' - } - this.printStyleList[index]={ - centers:{ - left:0, - top:0, - }, - style:{ - left:left, - top:top, - right:"auto", - bottom:"auto", - width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px', - height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px', - zIndex:zIndex++ - }, - transform:{ - // scale:scale<.2?.2:scale,//0.2-3 - rotateZ:item.angle, - }, - designElementsBtn:false + let sketchImg = new Image() + sketchImg.onload = ()=>{ + let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth + let scale + scale = (this.print.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,'')) + let zIndex = 1 + let left = item.location[0]/sketchNum+'px' + let top = item.location[1]/sketchNum+'px' + if(sketch.offsetWidth < item.location[0]/sketchNum){ + left = sketch.offsetWidth +'px' + } + if(sketch.offsetHeight < item.location[1]/sketchNum){ + top = sketch.offsetHeight +'px' + } + this.printStyleList[index]={ + centers:{ + left:0, + top:0, + }, + style:{ + left:left, + top:top, + right:"auto", + bottom:"auto", + width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px', + height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px', + zIndex:zIndex++ + }, + transform:{ + // scale:scale<.2?.2:scale,//0.2-3 + rotateZ:item.angle, + }, + designElementsBtn:false + } + sketchImg.remove() } + sketchImg.src = sketch.src + }, computeZindex(resolve,prints){ prints.sort((a, b) => { diff --git a/src/component/Detail/DesignElementsMobile.vue b/src/component/Detail/DesignElementsMobile.vue index 92d0a66e..62b8534f 100644 --- a/src/component/Detail/DesignElementsMobile.vue +++ b/src/component/Detail/DesignElementsMobile.vue @@ -305,12 +305,12 @@ export default defineComponent({ itemSizeMousedown(direction,event){ this.direction = direction this.imgDom = document.getElementsByClassName('designElementsMobile_modal')[0].getElementsByClassName("modal_imgItem")[this.imgDomIndex] - let scale = Number(this.imgDom.style.transform?.split('scale(')[1]?.split(')')[0]) - let rotateZ = Number(this.imgDom.style.transform?.split('rotateZ(')[1]?.split('deg')[0]) + let scale = Number(this.imgDom.children[0].style.transform?.split('scale(')[1]?.split(')')[0]) + let rotateZ = Number(this.imgDom.children[0].style.transform?.split('rotateZ(')[1]?.split('deg')[0]) this.printStyleList[this.imgDomIndex].designElementsBtn = true this.printStyleList[this.imgDomIndex].transform = { scale:scale, - rotateZ:rotateZ, + rotateZ:rotateZ?rotateZ:0, } let imgDomWH = this.imgDom.getBoundingClientRect() let li = document.getElementsByClassName('designElementsMobile_modal')[0].getElementsByClassName("designElementsMobile_btn_top")[0].offsetWidth/2 @@ -393,13 +393,9 @@ export default defineComponent({ document.removeEventListener("touchmove", this.sizeMousemove); }, touchend(e) { - document.removeEventListener("touchend", this.touchend); document.removeEventListener("touchmove", this.moveMousemove); }, - - - deletePrint(){ this.exhibitionElementsList.splice(this.imgDomIndex,1) this.printStyleList.splice(this.imgDomIndex,1) @@ -442,38 +438,46 @@ export default defineComponent({ await this.setPrintWH(item.path) this.designElementsList let sketch = document.getElementsByClassName("designElementsMobile_modal")[0]?.getElementsByClassName('designElementsMobile_sketch')[0] - let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth - let scale - scale = (this.print.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,'')) - let zIndex = 1 - let left = item.location[0]/sketchNum+'px' - let top = item.location[1]/sketchNum+'px' - if(sketch.offsetWidth < item.location[0]/sketchNum){ - left = sketch.offsetWidth +'px' - } - if(sketch.offsetHeight < item.location[1]/sketchNum){ - top = sketch.offsetHeight +'px' - } - this.printStyleList[index]={ - centers:{ - left:0, - top:0, - }, - style:{ - left:left, - top:top, - right:"auto", - bottom:"auto", - width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px', - height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px', - zIndex:zIndex++ - }, - transform:{ - // scale:scale<.2?.2:scale,//0.2-3 - rotateZ:item.angle, - }, - designElementsBtn:false + let sketchImg = new Image() + sketchImg.onload = ()=>{ + let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth + let scale + scale = (this.print.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,'')) + let zIndex = 1 + let left = item.location[0]/sketchNum+'px' + let top = item.location[1]/sketchNum+'px' + if(sketch.offsetWidth < item.location[0]/sketchNum){ + left = sketch.offsetWidth +'px' + } + if(sketch.offsetHeight < item.location[1]/sketchNum){ + top = sketch.offsetHeight +'px' + } + console.log(sketch.offsetWidth,this.sketch.width.replace(/rem/g,'')); + + this.printStyleList[index]={ + centers:{ + left:0, + top:0, + }, + style:{ + left:left, + top:top, + right:"auto", + bottom:"auto", + width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px', + height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px', + zIndex:zIndex++ + }, + transform:{ + // scale:scale<.2?.2:scale,//0.2-3 + rotateZ:item.angle, + }, + designElementsBtn:false + } + sketchImg.remove() } + sketchImg.src = sketch.src + }, computeZindex(resolve,prints){ prints.sort((a, b) => { @@ -523,9 +527,6 @@ export default defineComponent({ index = ind } }) - let priority = designItemDetail.clothes.map((v)=>{ - return v.type - }) // let data = { // ...designItemDetail, // priority:priority, diff --git a/src/component/Detail/DesignPrintOperation.vue b/src/component/Detail/DesignPrintOperation.vue index 50da8d99..1397a8c8 100644 --- a/src/component/Detail/DesignPrintOperation.vue +++ b/src/component/Detail/DesignPrintOperation.vue @@ -505,7 +505,7 @@ export default defineComponent({ this.printStyleList[this.stateOverallSingle][this.imgDomIndex].designOpenrtionBtn = true this.printStyleList[this.stateOverallSingle][this.imgDomIndex].transform = { scale:scale, - rotateZ:rotateZ, + rotateZ:rotateZ?rotateZ:0, } let imgDomWH = this.imgDom.getBoundingClientRect() let li = document.getElementsByClassName('designOpenrtion_modal')[0].getElementsByClassName("designOpenrtion_btn_top")[0].offsetWidth/2 diff --git a/src/component/Detail/DesignPrintOperationMobile.vue b/src/component/Detail/DesignPrintOperationMobile.vue index eaae6a93..004f7820 100644 --- a/src/component/Detail/DesignPrintOperationMobile.vue +++ b/src/component/Detail/DesignPrintOperationMobile.vue @@ -468,12 +468,12 @@ export default defineComponent({ itemSizeMousedown(direction,event){ this.direction = direction this.imgDom = document.getElementsByClassName('designOpenrtionMobile_modal')[0].getElementsByClassName("modal_imgItem")[this.imgDomIndex] - let scale = Number(this.imgDom.style.transform?.split('scale(')[1]?.split(')')[0]) - let rotateZ = Number(this.imgDom.style.transform?.split('rotateZ(')[1]?.split('deg')[0]) + let scale = Number(this.imgDom.children[0].style.transform?.split('scale(')[1]?.split(')')[0]) + let rotateZ = Number(this.imgDom.children[0].style.transform?.split('rotateZ(')[1]?.split('deg')[0]) this.printStyleList[this.stateOverallSingle][this.imgDomIndex].designOpenrtionBtn = true this.printStyleList[this.stateOverallSingle][this.imgDomIndex].transform = { scale:scale, - rotateZ:rotateZ, + rotateZ:rotateZ?rotateZ:0, } let imgDomWH = this.imgDom.getBoundingClientRect() let li = document.getElementsByClassName('designOpenrtionMobile_modal')[0].getElementsByClassName("designOpenrtionMobile_btn_top")[0].offsetWidth/2 diff --git a/src/component/HomePage/ExportModel.vue b/src/component/HomePage/ExportModel.vue index cad403d9..ad5171fe 100644 --- a/src/component/HomePage/ExportModel.vue +++ b/src/component/HomePage/ExportModel.vue @@ -274,7 +274,6 @@
all
-
@@ -326,7 +325,7 @@ export default defineComponent({ }) let showUpgradePlan = ref(false); - let canvas = reactive({}); + let canvas = ref({}); // let canvasDom = ref() let canvasWH = ref({ width: 400, @@ -372,6 +371,7 @@ export default defineComponent({ let imgWidth = {} //这是设置画布等宽 let submitCanvasContent = null let init = (productData) => { + showUpgradePlan.value = true; userlikeGroupId = productData.userlikeGroupId clearTimeout(submitCanvasContent) @@ -379,7 +379,6 @@ export default defineComponent({ canvasWH.value.height = 100 normalCanvasState.value = [] reverseCanvasState.value = [] - showUpgradePlan.value = true; allBoardData.value.likeDesignCollectionList = likeDesignCollectionList; allBoardData.value[productData.key] = productData.imgList; @@ -590,17 +589,51 @@ export default defineComponent({ position = sketchGroupingItem[sketchXyIndex.minIndex]; } } - } - if(key == "sketchboardFiles" && sketchGroupingItem.length >2){ - }else{ - position.x += img.width * scaleWH + margin; - } - img.lock_rotation = true; - canvas.add(img); - oldKey = key; - // setTimeout(() => { + setCanvasImage(img,key,position.x,position.y,allItem)//设置图片 + position.height = img.height * scaleWH + margin; + if (key == "sketchboardFiles") { + if (sketchGroupingItem.length <3) { + sketchGroupingItem.push(JSON.parse(JSON.stringify(position))); + } + if (sketchGroupingItem.length >2) { + let sketchXyIndex = { + maxIndex: 0, + maxNum: 0, + minNum: 999999, + minIndex: 0, + }; + sketchGroupingItem.forEach( + (sketchItem,sketchIndex) => { + if (sketchItem.y + sketchItem.height < sketchXyIndex.minNum) { + sketchXyIndex.minNum = sketchItem.y + sketchItem.height + sketchXyIndex.minIndex = sketchIndex; + } + if (sketchItem.y + sketchItem.height > sketchXyIndex.maxNum) { + sketchXyIndex.maxNum = sketchItem.y + sketchItem.height + sketchXyIndex.maxIndex = sketchIndex; + } + } + ); + sketchGroupingItem[sketchXyIndex.minIndex].y = sketchXyIndex.minNum + // sketchGroupingItem[sketchXyIndex.maxIndex].y = sketchXyIndex.maxNum + if (allBoardData.value[key].length == allItemIndex + 1) { + maxHeight = sketchXyIndex.maxNum + } else { + position = sketchGroupingItem[sketchXyIndex.minIndex]; + } + } + } + if(key == "sketchboardFiles" && sketchGroupingItem.length >2){ + }else{ + position.x += img.width * scaleWH + margin; + } + let str = `${img.width} + ${scaleWH}` + img.lock_rotation = true; + oldKey = key; resolve() - // }, 1000); + } + canvas.add(img); + },{ crossOrigin: "Anonymous" }); } }); @@ -838,6 +871,7 @@ export default defineComponent({ let xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", url, true); xmlhttp.responseType = "blob"; + xmlhttp.withCredentials = false; xmlhttp.onload = function () { if (this.status == 200) { resolve(this.response); @@ -857,15 +891,27 @@ export default defineComponent({ // 下载文件, 并存成ArrayBuffer对象(blob) zip.file(item.name, data, { binary: true }); // 逐个添加文件 cache[item.title] = data; - }); + }) promises.push(promise); } - Promise.all(promises) + Promise.all(promises) .then(() => { + function downloadBlob(blob, filename) { + const link = document.createElement('a'); + const url = URL.createObjectURL(blob); + link.href = url; + link.download = filename; + document.body.appendChild(link); + link.click(); + URL.revokeObjectURL(url); + document.body.removeChild(link); + } zip.generateAsync({ type: "blob" }).then((content) => { // 生成二进制流 - FileSaver.saveAs(content, "DesignFiles"); // 利用file-saver保存文件 自定义文件名 + downloadBlob(content,'DesignFiles') + // FileSaver.saveAs(content, "DesignFiles"); // 利用file-saver保存文件 自定义文件名 isShowMark.value = false; + }); setSubmit()//导出的时候保存 initAligningGuidelines(canvas,true) diff --git a/src/component/LibraryPage/searchLabel.vue b/src/component/LibraryPage/searchLabel.vue index 03cf4693..aa155d3c 100644 --- a/src/component/LibraryPage/searchLabel.vue +++ b/src/component/LibraryPage/searchLabel.vue @@ -235,13 +235,13 @@ export default defineComponent({ let arr:any = [] rv.forEach((item:any) => { arr.push({ - name:item.name, - value:item.value, + name:item.value, + value:item.name, }) }); - this.designType = rv[0] - this.editDesignType = rv[0] - this.disignTypeList = rv + this.designType = arr[0] + this.editDesignType = arr[0] + this.disignTypeList = arr // this.workspaceItem.position = this.singleTypeList[0].label } }) diff --git a/src/lang/cn.ts b/src/lang/cn.ts index 06c114fb..1bc41689 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -456,6 +456,7 @@ export default { editSketchTitle:'修改草图', CurrentPrint:'当前印花', CurrentColor:'当前颜色', + CurrentElements:'当前元素', }, DesignDetailAlter:{ Upload:'上传', diff --git a/src/lang/en.ts b/src/lang/en.ts index cc5792cb..907b8471 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -456,6 +456,7 @@ export default { editSketchTitle:'Modify sketch', CurrentPrint:'Current Print', CurrentColor:'Current Color', + CurrentElements:'Current Elements', }, DesignDetailAlter:{ Upload:'Upload', diff --git a/src/store/userHabit/userHabit.ts b/src/store/userHabit/userHabit.ts index b08abccc..8ecf3847 100644 --- a/src/store/userHabit/userHabit.ts +++ b/src/store/userHabit/userHabit.ts @@ -163,7 +163,7 @@ const userHabit : Module = { }); }) }, - getLangType(context){ + async getLangType(context){ let allPromise = []; let getList = ['DesignElementsEnum','PrintboardLevel2TypeEnum','FemalePosition','MalePosition','SketchStyle','SketchGenerateType','Sex'] let axiosGet = (item:any)=>{ @@ -197,7 +197,7 @@ const userHabit : Module = { }) }) } - return Promise.all(getList.map(item => axiosGet(item))) + return await Promise.all(getList.map(item => axiosGet(item))) // Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'DesignElementsEnum'}}).then((rv: any) => { // if (rv) { // rv.forEach((item:any) => { diff --git a/src/views/HomeView/library.vue b/src/views/HomeView/library.vue index cef7adf0..55e7dc4d 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -770,6 +770,9 @@ export default defineComponent({ if(this.selectCode != 'DesignElements'){ this.getClass() } + if(this.selectCode == 'Sketchboard')this.getSex() + + this.getLibraryList('') this.captionGeneration = '' this.selectGenerateList = []