diff --git a/src/component/Detail/DesignDetailAlter.vue b/src/component/Detail/DesignDetailAlter.vue
index b89506cf..e90622c1 100644
--- a/src/component/Detail/DesignDetailAlter.vue
+++ b/src/component/Detail/DesignDetailAlter.vue
@@ -589,8 +589,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 48cf7d8e..599ac3fb 100644
--- a/src/component/Detail/DesignElements.vue
+++ b/src/component/Detail/DesignElements.vue
@@ -277,8 +277,6 @@ export default defineComponent({
location:[0,0]
})
this.refetchTemplate(currentIndex)
-
-
},
//设置移动
itemMoveMousedown(index,event){
@@ -378,7 +376,6 @@ export default defineComponent({
//判断尺寸是否到边
this.printStyleList[this.imgDomIndex].style.width = width
this.printStyleList[this.imgDomIndex].style.height = height
-
},
//鼠标抬起
sizeMouseup(e){
@@ -441,38 +438,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 2d013746..692f6cc1 100644
--- a/src/component/Detail/DesignElementsMobile.vue
+++ b/src/component/Detail/DesignElementsMobile.vue
@@ -43,7 +43,7 @@
v-for="item,index in exhibitionElementsList"
:key="item"
:style="[printStyleList?.[index]?.style]"
- @touchstart.stop="itemMoveMousedown(index,$event)"
+ @touchstart.passive="itemMoveMousedown(index,$event)"
class="modal_imgItem"
ref="content" >
![]()
@@ -52,7 +52,7 @@
-
+
@@ -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 55629ae6..fae1bcc5 100644
--- a/src/component/Detail/DesignPrintOperation.vue
+++ b/src/component/Detail/DesignPrintOperation.vue
@@ -474,7 +474,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 a6e03391..7980bce2 100644
--- a/src/component/Detail/DesignPrintOperationMobile.vue
+++ b/src/component/Detail/DesignPrintOperationMobile.vue
@@ -467,12 +467,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/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 f714cfb2..d024ec82 100644
--- a/src/lang/cn.ts
+++ b/src/lang/cn.ts
@@ -450,6 +450,7 @@ export default {
editSketchTitle:'修改草图',
CurrentPrint:'当前印花',
CurrentColor:'当前颜色',
+ CurrentElements:'当前元素',
},
DesignDetailAlter:{
Upload:'上传',
diff --git a/src/lang/en.ts b/src/lang/en.ts
index f03c56c7..5fa6bb18 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -451,6 +451,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 b7a56e44..9cd15597 100644
--- a/src/store/userHabit/userHabit.ts
+++ b/src/store/userHabit/userHabit.ts
@@ -103,7 +103,7 @@ const userHabit : Module = {
});
})
},
- getLangType(context){
+ async getLangType(context){
let allPromise = [];
let getList = ['DesignElementsEnum','PrintboardLevel2TypeEnum','FemalePosition','MalePosition']
let axiosGet = (item:any)=>{
@@ -130,7 +130,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 6ec82f65..ea4f043f 100644
--- a/src/views/HomeView/library.vue
+++ b/src/views/HomeView/library.vue
@@ -342,7 +342,7 @@
-
+
@@ -388,6 +388,11 @@ export default defineComponent({
sketchCategory,
createSlogan,
},
+ props:{
+ getLangIsShowMark:{
+ type:Boolean,
+ }
+ },
setup() {
const store = useStore();
let menuList = computed(()=>{
@@ -613,7 +618,6 @@ export default defineComponent({
this.uploadUrl = getUploadUrl()
this.getLibraryList('')
this.getClass()
- this.getSex()
this.token = getCookie("token") || "";
this.workspace = computed(()=>{
return this.store?.state?.Workspace?.workspace
@@ -646,7 +650,8 @@ export default defineComponent({
// params = 'MalePosition'
// }
this.store.commit('setPosition',this.sex)
- this.designType = this.designTypeList.Sketchboard?.[0].value
+ this.designType = this.store.state.UserHabit.Position?.[0].value
+ // this.designType = this.designTypeList?.Sketchboard?.[0].value
// await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:params}}).then((rv: any) => {
// if (rv) {
@@ -722,6 +727,9 @@ export default defineComponent({
if(this.selectCode != 'DesignElements'){
this.getClass()
}
+ if(this.selectCode == 'Sketchboard')this.getSex()
+
+
this.getLibraryList('')
this.captionGeneration = ''
this.selectGenerateList = []
From d7e16e046fff54075a5246945d91105237789c4e Mon Sep 17 00:00:00 2001
From: wxd <1627315083@qq.com>
Date: Sat, 14 Sep 2024 23:16:48 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=87=BAbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/component/HomePage/ExportModel.vue | 136 ++++++++++++++-----------
1 file changed, 77 insertions(+), 59 deletions(-)
diff --git a/src/component/HomePage/ExportModel.vue b/src/component/HomePage/ExportModel.vue
index d9ff6eb6..ce24cc82 100644
--- a/src/component/HomePage/ExportModel.vue
+++ b/src/component/HomePage/ExportModel.vue
@@ -277,7 +277,6 @@
all
-
@@ -310,6 +309,7 @@ import { exportSele,JSRectUpdata,JSchangeType,JScanvasMouseDown,JScanvasMouseMov
import { useI18n } from "vue-i18n";
import {isMoible,calculateGradientCoordinate,base64ToFile} from '@/tool/util'
import publish from "@/component/WorksPage/publish.vue";
+import { connect } from "echarts";
export default defineComponent({
components: {
@@ -326,7 +326,7 @@ export default defineComponent({
})
let showUpgradePlan = ref(false);
- let canvas = reactive({});
+ let canvas = ref({});
// let canvasDom = ref()
let canvasWH = ref({
width: 400,
@@ -363,11 +363,11 @@ export default defineComponent({
let isLoadCanvas = false//撤回或者反撤回false为撤回
let userlikeGroupId = 0
let init = (productData) => {
+ showUpgradePlan.value = true;
userlikeGroupId = productData.userlikeGroupId
canvasWH.value.height = 100
normalCanvasState.value = []
reverseCanvasState.value = []
- showUpgradePlan.value = true;
allBoardData.value.likeDesignCollectionList =
likeDesignCollectionList;
allBoardData.value[productData.key] = productData.imgList;
@@ -470,6 +470,7 @@ export default defineComponent({
//循环渲染顺序
let imgWidth = setImageWidth(key); //这是设置画布等宽
+ // alert(imgWidth)
let sketchGroupingItem = [];
if (
item == "moodboardFiles" &&
@@ -501,62 +502,66 @@ export default defineComponent({
allItem.designOutfitUrl;
}
fabric.Image.fromURL(itemCanvasImg,(img) => {
- let scaleWH = imgWidth / img.width; //计算放到画布上缩小倍率
- if(key == "sketchboardFiles"){
- if(allItemIndex == 0){
- position.x = 0;
- position.y = maxHeight;
- }
- }else{
- if (position.x + img.width * scaleWH > canvasWH.value.width || oldKey != key) {
- position.x = 0;
- position.y = maxHeight;
- }
- }
- 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];
+ img.on('added', () => {
+ img.set({ crossOrigin: 'anonymous' });
+ let scaleWH = imgWidth / img.width; //计算放到画布上缩小倍率
+ if(key == "sketchboardFiles"){
+ if(allItemIndex == 0){
+ position.x = 0;
+ position.y = maxHeight;
+ }
+ }else{
+ if (position.x + img.width * scaleWH > canvasWH.value.width || oldKey != key) {
+ position.x = 0;
+ position.y = maxHeight;
}
}
- }
- 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" });
}
});
@@ -793,6 +798,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);
@@ -812,15 +818,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)