This commit is contained in:
X1627315083
2025-09-30 16:55:24 +08:00
parent 4a6fca0148
commit 6a63c4a081
4 changed files with 40 additions and 15 deletions

View File

@@ -228,6 +228,7 @@ export default defineComponent({
let uploadElementData = {
str:'add',
list:rv.uploadElement,
isGetModule:true,
}
store.commit('setUploadElement',uploadElementData)

View File

@@ -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(()=>{

View File

@@ -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,

View File

@@ -95,6 +95,9 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
}
},
setUploadElement(state,data){
if(data?.isGetModule){
state.uploadElement = []
}
if(data.str == 'add'){
state.uploadElement.unshift(...data.list)
}else{