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] 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{