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

137 lines
3.7 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-01-06 16:00:15 +08:00
interface UploadFiles{
moodboardFiles:any,
printboardFiles:any,
generatePrintFiles:any,
2023-08-05 12:52:56 +08:00
generateFiles:any,
MaterialFiles:any,
generateList:any,
2023-01-06 16:00:15 +08:00
colorBoards:any,
skecthboardFiles:any,
marketingSketchFiles:any,
allBoardData:any, //备份的所有数据点finish之后备份
moodTemplateId:any,
}
const UploadFilesModule : Module<UploadFiles,RootState> = {
state:{
moodboardFiles:[],
printboardFiles:[],
generatePrintFiles:[],
2023-08-05 12:52:56 +08:00
generateFiles:[],
MaterialFiles:[],
generateList:[],
2023-01-06 16:00:15 +08:00
colorBoards:[],
skecthboardFiles:[],
marketingSketchFiles:[],
allBoardData:{},
moodTemplateId:'',
},
mutations:{
setMoodboardFile(state,files){
2023-08-05 12:52:56 +08:00
state.moodboardFiles = files
2023-01-06 16:00:15 +08:00
},
setPrintboardFile(state,files){
state.printboardFiles = files
},
setGeneratePrintFile(state,files){
state.generatePrintFiles = files
},
2023-08-05 12:52:56 +08:00
addGenerateMaterialFils(state,data){
let file
let arr = [...state.generateFiles,...state.MaterialFiles,...state.moodboardFiles]
if(data.type_ == 'generate'){
file = state.generateFiles
}else{
file = state.MaterialFiles
}
if(file.length == 0){
if(arr.length >= 8){
message.error('You can select up to 8 images')
}else{
data.checked = true
file.push(data)
}
}else{
let str = true
for (let index = 0; index < file.length; index++) {
if(file[index].id_ == data.id_){
// data.id_ = GO.id++
str = false
}
}
if(str){
if(arr.length >= 8){
message.error('You can select up to 8 images')
}else{
data.checked = true
file.push(data)
}
}else{
data.checked = false
file = file.filter((v:any)=> v.id_ != data.id_)
}
}
if(data.type_ == 'generate'){
state.generateFiles = file
}else{
state.MaterialFiles = file
}
},
getGenerateList(state,list){
state.generateList = list
},
// setGenerateFils(state,files){
// state.generateFiles = files
// },
2023-01-06 16:00:15 +08:00
setColorboardList(state,colorBoards){
state.colorBoards = colorBoards
},
setSketchboardFile(state,files){
state.skecthboardFiles = files
},
setMarketingSketchFile(state,files){
state.marketingSketchFiles = files
},
setAllBoardData(state){
state.allBoardData = {
moodboardFiles:state.moodboardFiles,
printboardFiles:state.printboardFiles,
generatePrintFiles:state.generatePrintFiles,
2023-08-05 12:52:56 +08:00
generateFiles:state.generateFiles,
2023-01-06 16:00:15 +08:00
colorBoards:state.colorBoards,
skecthboardFiles:state.skecthboardFiles,
marketingSketchFiles:state.marketingSketchFiles,
moodTemplateId:state.moodTemplateId,
}
},
setAllBoardDataChoose(state,data){
state.allBoardData = data
},
clearAllData(state){
state.moodboardFiles = []
state.printboardFiles = []
state.generatePrintFiles=[]
2023-08-05 12:52:56 +08:00
state.generateFiles = []
state.MaterialFiles = []
2023-01-06 16:00:15 +08:00
state.colorBoards = []
state.skecthboardFiles = []
state.marketingSketchFiles = []
state.moodTemplateId = ''
},
setMoodTemplateId(state,moodTemplateId){
state.moodTemplateId = moodTemplateId
},
clearMoodTemplateId(state){
state.moodTemplateId = ''
},
},
actions:{
}
}
export default UploadFilesModule