Files
aida_front/src/store/uploadFile/uploadFile.ts

250 lines
7.8 KiB
TypeScript
Raw Normal View History

2023-01-06 16:00:15 +08:00
import {Module} from 'vuex'
import {RootState} from '../index'
2023-08-05 12:52:56 +08:00
import { message } from "ant-design-vue";
2023-10-31 16:04:40 +08:00
import { useI18n } from "vue-i18n";
2023-10-11 17:34:14 +08:00
import GO from '@/tool/GO';
2023-01-06 16:00:15 +08:00
interface UploadFiles{
2023-08-21 10:55:39 +08:00
moodboard:any,
2023-09-12 10:11:27 +08:00
disposeMoodboard:any,
2023-01-06 16:00:15 +08:00
moodboardFiles:any,
2023-08-21 10:55:39 +08:00
moodboardGenerateFiles:any,
moodboardMaterialFiles:any,
sketchboard:any,
sketchboardFiles:any,
sketchGenerateFiles:any,
sketchMaterialFiles:any,
2023-11-29 09:56:48 +08:00
showSketchboard:any,
2023-08-21 10:55:39 +08:00
printboard:any,
2023-01-06 16:00:15 +08:00
printboardFiles:any,
2023-08-21 10:55:39 +08:00
printGenerateFiles:any,
printMaterialFiles:any,
2023-01-06 16:00:15 +08:00
colorBoards:any,
marketingSketchFiles:any,
allBoardData:any, //备份的所有数据点finish之后备份
moodTemplateId:any,
}
const UploadFilesModule : Module<UploadFiles,RootState> = {
state:{
2023-08-21 10:55:39 +08:00
moodboard:[],
2023-09-12 10:11:27 +08:00
disposeMoodboard:[],
2023-01-06 16:00:15 +08:00
moodboardFiles:[],
2023-08-21 10:55:39 +08:00
moodboardGenerateFiles:[],
moodboardMaterialFiles:[],
sketchboard:[],
sketchboardFiles:[],
sketchGenerateFiles:[],
sketchMaterialFiles:[],
2023-11-29 09:56:48 +08:00
showSketchboard:[],
2023-08-21 10:55:39 +08:00
printboard:[],
2023-01-06 16:00:15 +08:00
printboardFiles:[],
2023-08-21 10:55:39 +08:00
printGenerateFiles:[],
printMaterialFiles:[],
2023-01-06 16:00:15 +08:00
colorBoards:[],
marketingSketchFiles:[],
allBoardData:{},
moodTemplateId:'',
2023-08-21 10:55:39 +08:00
2023-01-06 16:00:15 +08:00
},
mutations:{
2023-08-21 10:55:39 +08:00
2023-01-06 16:00:15 +08:00
setMoodboardFile(state,files){
2023-08-05 12:52:56 +08:00
state.moodboardFiles = files
2023-08-21 10:55:39 +08:00
state.moodboard = [...state.moodboardFiles,...state.moodboardGenerateFiles,...state.moodboardMaterialFiles]
2023-09-12 10:11:27 +08:00
},
setDisposeMoodboard(state,files){
state.disposeMoodboard = [files]
2023-08-23 17:50:09 +08:00
},
setMoodboardGenerateFiles(state,files){
state.moodboardGenerateFiles = files
state.moodboard = [...state.moodboardFiles,...state.moodboardGenerateFiles,...state.moodboardMaterialFiles]
},
setMoodboardMaterialFiles(state,files){
state.moodboardMaterialFiles = files
state.moodboard = [...state.moodboardFiles,...state.moodboardGenerateFiles,...state.moodboardMaterialFiles]
2023-01-06 16:00:15 +08:00
},
2023-09-12 10:11:27 +08:00
addGenerateMaterialFils(state,data:any){
2023-08-05 12:52:56 +08:00
let file
2023-09-25 10:09:00 +08:00
let arr
2023-12-11 11:02:48 +08:00
let maxImg = 8
if(data.type_.type2 == 'Sketchboard'){
maxImg = 20
}
2023-09-25 10:09:00 +08:00
if(data.type_.type1 == 'generate'){//判断是generate||library
data.resData.designType = 'Generate'
2023-08-21 10:55:39 +08:00
if(data.type_.type2 == 'Moodboard'){
file = state.moodboardGenerateFiles
}else if(data.type_.type2 == 'Sketchboard'){
file = state.sketchGenerateFiles
}else if(data.type_.type2 == 'Printboard'){
file = state.printGenerateFiles
}
2023-08-05 12:52:56 +08:00
}else{
2023-09-25 10:09:00 +08:00
data.resData.designType = 'Library'
2023-08-21 10:55:39 +08:00
if(data.type_.type2 == 'Moodboard'){
file = state.moodboardMaterialFiles
}else if(data.type_.type2 == 'Sketchboard'){
file = state.sketchMaterialFiles
}else if(data.type_.type2 == 'Printboard'){
2023-09-12 10:11:27 +08:00
file = state.printMaterialFiles
2023-08-21 10:55:39 +08:00
}
2023-08-05 12:52:56 +08:00
}
2023-09-25 10:09:00 +08:00
if(data.type_.type2 == 'Moodboard'){//判断选中图片数量
arr = state.moodboard
}else if(data.type_.type2 == 'Sketchboard'){
arr = state.sketchboard
}else{
arr = state.printboard
}
2023-10-31 16:04:40 +08:00
2023-08-05 12:52:56 +08:00
if(file.length == 0){
2023-12-11 11:02:48 +08:00
if(arr.length >= maxImg){
2023-10-31 16:04:40 +08:00
// message.warning(GO.jsContent1)
message.warning(data.jsContent1)
2023-08-05 12:52:56 +08:00
}else{
data.checked = true
file.push(data)
}
}else{
let str = true
for (let index = 0; index < file.length; index++) {
2023-09-25 10:09:00 +08:00
if(file[index].id == data.id){
2023-10-11 17:34:14 +08:00
// data.id_ = GO.id++
2023-08-05 12:52:56 +08:00
str = false
}
}
if(str){
2023-12-11 11:02:48 +08:00
if(arr.length >= maxImg){
2023-10-31 16:04:40 +08:00
message.warning(data.jsContent1)
2023-08-05 12:52:56 +08:00
}else{
data.checked = true
file.push(data)
}
}else{
data.checked = false
2023-10-11 17:34:14 +08:00
file = file.filter((v:any)=> v.id != data.id)
// if(data.id_){
// data.checked = false
// file = file.filter((v:any)=> v.id_ != data.id_)
// }else{
// data.checked = false
// file = file.filter((v:any)=> v.id != data.id)
// }
2023-08-05 12:52:56 +08:00
}
}
2023-08-21 10:55:39 +08:00
if(data.type_.type1 == 'generate'){
if(data.type_.type2 == 'Moodboard'){
state.moodboardGenerateFiles = file
}else if(data.type_.type2 == 'Sketchboard'){
state.sketchGenerateFiles = file
}else if(data.type_.type2 == 'Printboard'){
state.printGenerateFiles = file
}
2023-08-05 12:52:56 +08:00
}else{
2023-08-21 10:55:39 +08:00
if(data.type_.type2 == 'Moodboard'){
state.moodboardMaterialFiles = file
}else if(data.type_.type2 == 'Sketchboard'){
state.sketchMaterialFiles = file
}else if(data.type_.type2 == 'Printboard'){
2023-09-12 10:11:27 +08:00
state.printMaterialFiles = file
2023-08-21 10:55:39 +08:00
}
2023-08-05 12:52:56 +08:00
}
2023-08-21 10:55:39 +08:00
state.moodboard = [...state.moodboardFiles,...state.moodboardGenerateFiles,...state.moodboardMaterialFiles]
state.sketchboard = [...state.sketchboardFiles,...state.sketchGenerateFiles,...state.sketchMaterialFiles]
state.printboard = [...state.printboardFiles,...state.printGenerateFiles,...state.printMaterialFiles]
2023-08-05 12:52:56 +08:00
},
2023-08-21 10:55:39 +08:00
setSketchboardFile(state,files){
state.sketchboardFiles = files
state.sketchboard = [...state.sketchboardFiles,...state.sketchGenerateFiles,...state.sketchMaterialFiles]
2023-08-23 17:50:09 +08:00
},
setSketchboardGenerateFiles(state,files){
state.sketchGenerateFiles = files
state.sketchboard = [...state.sketchboardFiles,...state.sketchGenerateFiles,...state.sketchMaterialFiles]
},
setSketchboardMaterialFiles(state,files){
state.sketchMaterialFiles = files
state.sketchboard = [...state.sketchboardFiles,...state.sketchGenerateFiles,...state.sketchMaterialFiles]
2023-12-04 13:57:23 +08:00
2023-08-21 10:55:39 +08:00
},
2023-11-29 09:56:48 +08:00
setShowSketchboard(state,files){
state.showSketchboard = files
},
2023-11-29 10:33:13 +08:00
clearShowSketchboard(state,files){
state.showSketchboard = []
},
2023-08-21 10:55:39 +08:00
setPrintboardFile(state,files){
state.printboardFiles = files
state.printboard = [...state.printboardFiles,...state.printGenerateFiles,...state.printMaterialFiles]
2023-08-05 12:52:56 +08:00
},
2023-08-23 17:50:09 +08:00
setPrintboardGenerateFiles(state,files){
state.printGenerateFiles = files
state.printboard = [...state.printboardFiles,...state.printGenerateFiles,...state.printMaterialFiles]
},
setPrintboardMaterialFiles(state,files){
state.printMaterialFiles = files
state.printboard = [...state.printboardFiles,...state.printGenerateFiles,...state.printMaterialFiles]
},
2023-08-21 10:55:39 +08:00
2023-01-06 16:00:15 +08:00
setColorboardList(state,colorBoards){
state.colorBoards = colorBoards
},
setMarketingSketchFile(state,files){
state.marketingSketchFiles = files
},
setAllBoardData(state){
state.allBoardData = {
2023-09-12 10:11:27 +08:00
disposeMoodboard:state.disposeMoodboard,
2024-02-29 17:16:51 +08:00
moodboardFiles:state.moodboard,
2023-08-23 17:50:09 +08:00
printboardFiles:state.printboard,
2023-01-06 16:00:15 +08:00
colorBoards:state.colorBoards,
2023-08-21 10:55:39 +08:00
sketchboardFiles:state.sketchboard,
2023-01-06 16:00:15 +08:00
marketingSketchFiles:state.marketingSketchFiles,
moodTemplateId:state.moodTemplateId,
}
},
setAllBoardDataChoose(state,data){
state.allBoardData = data
},
clearAllData(state){
2023-08-21 10:55:39 +08:00
state.moodboard = []
2023-01-06 16:00:15 +08:00
state.moodboardFiles = []
2023-08-21 10:55:39 +08:00
state.moodboardGenerateFiles = []
state.moodboardMaterialFiles = []
state.sketchboard = []
state.sketchboardFiles = []
state.sketchGenerateFiles = []
state.sketchMaterialFiles = []
state.printboard = []
state.printboardFiles = []
state.printGenerateFiles = []
state.printMaterialFiles = []
state.colorBoards = []
2023-01-06 16:00:15 +08:00
state.marketingSketchFiles = []
state.moodTemplateId = ''
2023-09-12 10:11:27 +08:00
state.disposeMoodboard = []
2023-12-01 15:02:37 +08:00
// state.showSketchboard = []
2023-01-06 16:00:15 +08:00
},
2023-09-25 10:09:00 +08:00
clearAllId(state){
state.moodboard.forEach((v:any) => {
delete v.id_
});
state.sketchboard.forEach((v:any) => {
delete v.id_
});
state.printboard.forEach((v:any) => {
delete v.id_
});
},
2023-01-06 16:00:15 +08:00
setMoodTemplateId(state,moodTemplateId){
state.moodTemplateId = moodTemplateId
},
clearMoodTemplateId(state){
2023-09-12 10:11:27 +08:00
state.disposeMoodboard = []
2023-01-06 16:00:15 +08:00
},
},
actions:{
}
}
export default UploadFilesModule