From 4a6fca014888658675ac98b3b6faf29f48e20f9b Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Tue, 30 Sep 2025 13:13:17 +0800 Subject: [PATCH 1/7] fix --- src/component/Detail/model/modelPosition.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/component/Detail/model/modelPosition.vue b/src/component/Detail/model/modelPosition.vue index 6caec501..6d1a5025 100644 --- a/src/component/Detail/model/modelPosition.vue +++ b/src/component/Detail/model/modelPosition.vue @@ -118,7 +118,7 @@ export default defineComponent({ }); setTimeout(() => { emit('modelOnLoad') - }); + },500); }; img.src = detailData.frontBack?.body?.path; }) From 6a63c4a08176c5bbaddc599f4ea2544d8820b30d Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Tue, 30 Sep 2025 16:55:24 +0800 Subject: [PATCH 2/7] fix --- src/component/home/index.vue | 1 + .../home/tools/poseTransfer/index.vue | 27 ++++++++++++++----- src/component/home/tools/toProduct/index.vue | 24 ++++++++++------- src/store/homeStore/homeStore.ts | 3 +++ 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/src/component/home/index.vue b/src/component/home/index.vue index a3d521ea..316c361d 100644 --- a/src/component/home/index.vue +++ b/src/component/home/index.vue @@ -228,6 +228,7 @@ export default defineComponent({ let uploadElementData = { str:'add', list:rv.uploadElement, + isGetModule:true, } store.commit('setUploadElement',uploadElementData) diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index 2575fb42..0ac82659 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -39,8 +39,7 @@ }" :headers="{ Authorization: token }" :before-upload="beforeUpload" - v-model:file-list="fileList" - :multiple="true" + :multiple="!!upload.projectId" accept=".jpg,.png,.jpeg,.bmp" @change="(file) => fileUploadChange(file)" > @@ -136,6 +135,7 @@ import generalDrag from '@/component/modules/generalDrag.vue'; import { getUploadUrl,isMoible,getMinioUrl } from "@/tool/util"; import { getCookie,setCookie } from "@/tool/cookie"; import showViewVideo from "@/tool/mount"; +import router from '@/router'; export default defineComponent({ components:{ @@ -156,6 +156,7 @@ export default defineComponent({ setup(props,{emit}) { const {t,locale} = useI18n() const store = useStore(); + const route = useRoute(); const data:any = reactive({ button:{ left:false, @@ -398,6 +399,11 @@ export default defineComponent({ } } let isSelectObject = false + watch(()=>route?.query,(newVal)=>{ + if(!newVal.id){ + isSelectObject = false + } + },{immediate:true}) let beforeUpload = async (file: any)=>{ const isJpgOrPng = file.type === "image/jpeg" || @@ -425,19 +431,21 @@ export default defineComponent({ if(res.errCode == 0){ file.imgUrl = res.data.url; file.id = res.data.id - data.fileList.forEach((listItem:any)=>listItem.isChecked = false) data.currentList.forEach((listItem:any)=>listItem.isChecked = false) - file.isChecked = true file.type = 'ProductElement' // if(props.productimgMenu.value == 'Relight'){ // file.type = "ToProductImage" // } data.selectImg = res.data - data.fileList.filter((v: any) => v.status === "done"); + // data.fileList.filter((v: any) => v.status === "done"); + let storeData = { + str:'add', + list:[file] + } + store.commit('setUploadElement',storeData) }else{ bor = false } - // this.showFileList = productImgData.fileList } else if (file.status === "error") { bor = false } @@ -565,6 +573,13 @@ export default defineComponent({ watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{ if(props.isDesignPage)return data.fileList = store.state.HomeStoreModule.uploadElement + data.fileList.forEach((listItem:any)=>{ + if(listItem.id == data.selectImg.id){ + listItem.isChecked = true + }else{ + listItem.isChecked = false + } + }) }) watch(()=>data.noLikeList.length,(newVal,oldVal)=>{ nextTick(()=>{ diff --git a/src/component/home/tools/toProduct/index.vue b/src/component/home/tools/toProduct/index.vue index 7aa2533b..573c9bf1 100644 --- a/src/component/home/tools/toProduct/index.vue +++ b/src/component/home/tools/toProduct/index.vue @@ -45,8 +45,7 @@ }" :headers="{ Authorization: token }" :before-upload="beforeUpload" - v-model:file-list="fileList[productimgMenu.value]" - :multiple="true" + :multiple="!!upload.projectId" accept=".jpg,.png,.jpeg,.bmp" @change="(file) => fileUploadChange(file)" > @@ -323,6 +322,9 @@ export default defineComponent({ watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{ if(props.isDesignPage)return productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement + if(productImgData.fileList[props.productimgMenu.value][0]){ + productImgData.fileList[props.productimgMenu.value][0].isChecked = true + } }) const productImgDom = reactive({ generalDragLeft:null as any, @@ -423,6 +425,7 @@ export default defineComponent({ } let fileUploadChange = (data: any)=> { + console.log(data) let file = data.file; let bor = true if (file.status === "done") { @@ -435,11 +438,16 @@ export default defineComponent({ // if(props.productimgMenu.value == 'Relight'){ // file.type = "ToProductImage" // } - productImgData.fileList[props.productimgMenu.value].filter((v: any) => v.status === "done"); + let storeData = { + str:'add', + list:[file] + } + console.log(storeData) + console.log(1111) + store.commit('setUploadElement',storeData) }else{ bor = false } - // this.showFileList = productImgData.fileList } else if (file.status === "error") { bor = false } @@ -466,11 +474,9 @@ export default defineComponent({ CollectionType:props.productimgMenu.value, } } - return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; + console.log(!!((isJpgOrPng && isLt2M && productImgData.selectObject.id) || Upload.LIST_IGNORE)) + return !!((isJpgOrPng && isLt2M && productImgData.selectObject.id) || Upload.LIST_IGNORE); } - let deleteFile = (index:any)=>{ - productImgData.fileList[props.productimgMenu.value].splice(index,1) - } let setGenerate = (item:any)=>{ item.isChecked = !item.isChecked } @@ -563,6 +569,7 @@ export default defineComponent({ }else{ obj.elementId = item.id obj.elementType = item.resultType || 'ProductElement' + obj.elementType = obj.elementType == 'Relight'?'ToProductImage':obj.elementType } obj.parentId = item?.parentId || item?.userLikeSortId, selectArr.push(JSON.parse(JSON.stringify(obj))) @@ -892,7 +899,6 @@ export default defineComponent({ setproduct, fileUploadChange, beforeUpload, - deleteFile, setGenerate, setUploadDelete, likeFile, diff --git a/src/store/homeStore/homeStore.ts b/src/store/homeStore/homeStore.ts index 60a85efc..ef0780ef 100644 --- a/src/store/homeStore/homeStore.ts +++ b/src/store/homeStore/homeStore.ts @@ -95,6 +95,9 @@ const HomeStoreModule : Module = { } }, setUploadElement(state,data){ + if(data?.isGetModule){ + state.uploadElement = [] + } if(data.str == 'add'){ state.uploadElement.unshift(...data.list) }else{ From aedb780e4561cb5d5e86abed9de528e339c700d4 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Fri, 3 Oct 2025 17:47:02 +0800 Subject: [PATCH 3/7] fix --- src/component/Detail/DesignDetail.vue | 3 ++- src/store/Detail/designDetail.ts | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index ff5127f3..650bdc02 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -297,9 +297,10 @@ export default defineComponent({ } const setClothes = async (list:any)=>{ let clothesList:any = [] + await nextTick() for(let i = 0;i = { for (let j = 0; j < data.clothes.length; j++) { const item = data.clothes[j]; if(!item.id)continue - if(item.id == state.selectDetail.id || state.selectDetail.newDetail?.sketch?.id == item.id){ - - } let id_:any if(state.currentDetailType != 'models'){ if(data.clothes.length > 2){ @@ -240,7 +237,7 @@ const DesignDetail : Module = { img.src = state.frontBack.body.path; img.onload = () => { let scale:any = el.parentNode.offsetWidth / img.width; - if(state.selectDetail.newDetail?.sketch?.id && !state.selectDetail.id){ + if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){ state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id}) state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id}) } From 56ab918120cbc507d6f7fdb885d8f0f7185bc03a Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 6 Oct 2025 12:04:30 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=89=93=E5=BC=80detail?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E4=BF=A1=E6=81=AF=E4=B8=8D=E5=AF=B9=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/detailLeft/module/uploadList.vue | 1 + src/component/Detail/model/modelPosition.vue | 3 ++- src/views/HomeMain.vue | 8 ++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/component/Detail/detailLeft/module/uploadList.vue b/src/component/Detail/detailLeft/module/uploadList.vue index 8a4764e5..da60a543 100644 --- a/src/component/Detail/detailLeft/module/uploadList.vue +++ b/src/component/Detail/detailLeft/module/uploadList.vue @@ -129,6 +129,7 @@ export default defineComponent({ file.designType = res.data.designType file.level2Type = type; + file.resData.level2Type = type; file.minIOPath = file.resData.minIOPath let fileList = detailData.uploadList.filter( (v:any) => v.status === "done" diff --git a/src/component/Detail/model/modelPosition.vue b/src/component/Detail/model/modelPosition.vue index 6d1a5025..27994e42 100644 --- a/src/component/Detail/model/modelPosition.vue +++ b/src/component/Detail/model/modelPosition.vue @@ -326,7 +326,7 @@ export default defineComponent({ } } let ratio = detailData.frontBack.body.layersObject[0].imageSize[0]/parentNode.width - + console.log(ratio,detailData.frontBack.body.layersObject[0].imageSize[0],parentNode.width) // let arr:any = sort(detailData.frontBack.front) let arr:any = sort(JSON.parse(JSON.stringify(detailData.frontBack.front))) let num = 10 @@ -346,6 +346,7 @@ export default defineComponent({ state = true let y = ((arr[index]?.style?.top.replace(/px/g,'')*ratio).toFixed(0) as any - arr[index]?.position[0]) let x = ((arr[index]?.style?.left.replace(/px/g,'')*ratio).toFixed(0) as any - arr[index]?.position[1]) + console.log(value.layersObject,x,y,ratio) let scaleWidth = arr[index]?.imageSize?Number(((arr[index]?.style?.width.replace(/px/g,'')*ratio)/(arr[index]?.imageSize[0]/arr[index].scale[0])).toFixed(2)):1 let scaleHeight = arr[index]?.imageSize?Number(((arr[index]?.style?.height.replace(/px/g,'')*ratio)/(arr[index]?.imageSize[1]/arr[index].scale[1])).toFixed(2)):1 // let widthScale = (arr[index].style.width.replace(/px/g,'')/arr[index].style.height.replace(/px/g,'')).toFixed(2) diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue index 3588b64a..7395fc87 100644 --- a/src/views/HomeMain.vue +++ b/src/views/HomeMain.vue @@ -398,10 +398,10 @@ export default defineComponent({ homeMainData.openType = Object.keys(query)[0] homeMainData.openTypeChild = query[Object.keys(query)[0]] } - if((query?.id || query?.history) && !await getIdExistToHistory()){ - router.push('/home') - return - } + // if((query?.id || query?.history) && !await getIdExistToHistory()){ + // router.push('/home') + // return + // } }else{ homeMainData.openType = '' homeMainData.openTypeChild = '' From cd22a27146f172248f0e3a0472ebaadd99f1342e Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 6 Oct 2025 12:26:40 +0800 Subject: [PATCH 5/7] fix --- src/component/Detail/model/modelPosition.vue | 2 -- src/views/HomeMain.vue | 8 ++++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/component/Detail/model/modelPosition.vue b/src/component/Detail/model/modelPosition.vue index 27994e42..227e7e6a 100644 --- a/src/component/Detail/model/modelPosition.vue +++ b/src/component/Detail/model/modelPosition.vue @@ -326,7 +326,6 @@ export default defineComponent({ } } let ratio = detailData.frontBack.body.layersObject[0].imageSize[0]/parentNode.width - console.log(ratio,detailData.frontBack.body.layersObject[0].imageSize[0],parentNode.width) // let arr:any = sort(detailData.frontBack.front) let arr:any = sort(JSON.parse(JSON.stringify(detailData.frontBack.front))) let num = 10 @@ -346,7 +345,6 @@ export default defineComponent({ state = true let y = ((arr[index]?.style?.top.replace(/px/g,'')*ratio).toFixed(0) as any - arr[index]?.position[0]) let x = ((arr[index]?.style?.left.replace(/px/g,'')*ratio).toFixed(0) as any - arr[index]?.position[1]) - console.log(value.layersObject,x,y,ratio) let scaleWidth = arr[index]?.imageSize?Number(((arr[index]?.style?.width.replace(/px/g,'')*ratio)/(arr[index]?.imageSize[0]/arr[index].scale[0])).toFixed(2)):1 let scaleHeight = arr[index]?.imageSize?Number(((arr[index]?.style?.height.replace(/px/g,'')*ratio)/(arr[index]?.imageSize[1]/arr[index].scale[1])).toFixed(2)):1 // let widthScale = (arr[index].style.width.replace(/px/g,'')/arr[index].style.height.replace(/px/g,'')).toFixed(2) diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue index 7395fc87..3588b64a 100644 --- a/src/views/HomeMain.vue +++ b/src/views/HomeMain.vue @@ -398,10 +398,10 @@ export default defineComponent({ homeMainData.openType = Object.keys(query)[0] homeMainData.openTypeChild = query[Object.keys(query)[0]] } - // if((query?.id || query?.history) && !await getIdExistToHistory()){ - // router.push('/home') - // return - // } + if((query?.id || query?.history) && !await getIdExistToHistory()){ + router.push('/home') + return + } }else{ homeMainData.openType = '' homeMainData.openTypeChild = '' From 40aa1d6d25f88ee2a725f8428147a9558e8a0713 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 6 Oct 2025 16:42:52 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddetail=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5preview=E8=A1=A3=E6=9C=8D=E5=A4=AA=E5=A4=A7?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 2 +- src/component/Detail/model/index.vue | 4 ++-- src/component/Detail/model/modelPosition.vue | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index 650bdc02..cfea9c49 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -300,7 +300,7 @@ export default defineComponent({ await nextTick() for(let i = 0;i{ - return getDetailListDom.position.getSubmitData(value) + const getSubmitData = (value:any,boolean)=>{ + return getDetailListDom.position.getSubmitData(value,boolean) } const showDesignImgDetail = (str:any)=>{ new Promise((resolve, reject) => { diff --git a/src/component/Detail/model/modelPosition.vue b/src/component/Detail/model/modelPosition.vue index 227e7e6a..8242a2cb 100644 --- a/src/component/Detail/model/modelPosition.vue +++ b/src/component/Detail/model/modelPosition.vue @@ -316,9 +316,9 @@ export default defineComponent({ }); return arr } - const getSubmitData = (value:any)=>{ + const getSubmitData = (value:any,isNoComputed)=>{ let parentNode = document.getElementsByClassName('molepositon')[0].getElementsByClassName("designOpenrtion_imgMask")[0].getBoundingClientRect() - if(!detailData.frontBack?.body?.layersObject?.[0]?.imageSize){ + if(!detailData.frontBack?.body?.layersObject?.[0]?.imageSize || isNoComputed){ return{ scale:value.layersObject[0].scale, offset:value.layersObject[0].offset, From 6a71ec8cee16f8e1a854443e00f1ae279e7c5d32 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 6 Oct 2025 17:16:01 +0800 Subject: [PATCH 7/7] =?UTF-8?q?tools=E9=97=B4=E8=B7=9D=E7=BC=A9=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Canvas/CanvasEditor/components/ToolsSidebar.vue | 2 +- src/component/home/design/collection/more.vue | 4 ++-- src/component/home/tools/toProduct/index.vue | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/components/ToolsSidebar.vue b/src/component/Canvas/CanvasEditor/components/ToolsSidebar.vue index 8f573217..f944678a 100644 --- a/src/component/Canvas/CanvasEditor/components/ToolsSidebar.vue +++ b/src/component/Canvas/CanvasEditor/components/ToolsSidebar.vue @@ -398,7 +398,7 @@ const handleToolClick = (tool) => { .tools-list{ display: flex; flex-direction: column; - gap: 0.7rem; + gap: 0.5rem; flex: 1; overflow-y: auto; overflow-x: hidden; diff --git a/src/component/home/design/collection/more.vue b/src/component/home/design/collection/more.vue index 1c77c9ce..153b64e9 100644 --- a/src/component/home/design/collection/more.vue +++ b/src/component/home/design/collection/more.vue @@ -121,7 +121,7 @@ export default defineComponent({ props.list[props.index].imgUrl = rv.url props.list[props.index].resData = { id:rv.id, - designType:props.item.resData.designType, + designType:props.item.resData.designType || props.item.designType, } }else{ rv.imgUrl = rv.url @@ -130,7 +130,7 @@ export default defineComponent({ rv.resData = { id:rv.id, url:rv.url, - designType:props.item.resData.designType, + designType:props.item.resData.designType || props.item.designType, } props.list.unshift(rv) } diff --git a/src/component/home/tools/toProduct/index.vue b/src/component/home/tools/toProduct/index.vue index f281ad1a..d1971632 100644 --- a/src/component/home/tools/toProduct/index.vue +++ b/src/component/home/tools/toProduct/index.vue @@ -61,10 +61,10 @@ -
+
{{$t('ProductImg.Similarity')}}
-
+
-
+
{{ $t('poseTransfer.hint') }}
@@ -131,7 +131,7 @@
-
{{ item.label }}
+
{{ item.label }}