This commit is contained in:
X1627315083
2025-04-01 15:25:15 +08:00
parent 70ed89049a
commit b6e5f05f06
101 changed files with 11533 additions and 1015 deletions

View File

@@ -11,6 +11,14 @@ interface DesignDetail{
templateImgUrl:any,
designId:any,
showSketchList:any,
toProductImageList:any,// 产品图片
relightList:any,// 灯光列表
poseTransfer:any,// 姿态转换
deReconstruction:any,// 拼贴
patternMaking3D:any,//3d
canvasData:any,// 拼贴canvas
}
const HomeStoreModule : Module<DesignDetail,RootState> = {
@@ -24,6 +32,21 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
templateImgUrl:'',
designId:'',
showSketchList:[],
toProductImageList:[],
relightList:[],
poseTransfer:[],
deReconstruction:[{
isLike:false,
url:'',
category:'123',
categoryValue:'23',
categoryShow:false
}],
patternMaking3D:null,
canvasData:{
deReconstruction:null,
canvas:null
}
},
mutations:{
setshowSketchList(state,data){
@@ -34,6 +57,47 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
},
setLikeDesignCollectionList(state,data){
state.likeDesignCollectionList = data
},
setRelightList(state,data){
if(data.str == 'add'){
state.relightList.unshift(...data.list)
}else{
state.relightList.splice(data.index,1)
}
},
setPoseTransfer(state,data){
data.list.forEach((item:any) => {
item.url = item.firstFrameUrl
});
if(data.str == 'add'){
state.poseTransfer.unshift(...data.list)
}else{
state.poseTransfer.splice(data.index,1)
}
},
setDeReconstruction(state,data){
if(data.str == 'add'){
state.deReconstruction = []
let obj = {
...data.list[0],
}
state.deReconstruction.unshift(obj)
}else{
state.deReconstruction.splice(data.index,1)
}
},
setPatternMaking3D(state,data){
state.patternMaking3D = data
},
setCanvasData(state,data){
state.canvasData[data.type] = data.file
},
setToProductImage(state,data){
if(data.str == 'add'){
state.toProductImageList.unshift(...data.list)
}else{
state.toProductImageList.splice(data.index,1)
}
},
setDeleteDesignCollectionList(state,data){
let obj = state.designCollectionList.splice(data,1)
@@ -41,8 +105,6 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
},
cancelDeleteDesignCollectionList(state,data){
let obj = state.deleteDesignCollectionList.splice(data,1)
console.log(obj);
state.designCollectionList.unshift(...obj)
},
setSingleDesignCollectionList(state,data){
@@ -86,6 +148,15 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
state.likeDesignCollectionList = []
state.designCollectionId = ''
state.deleteDesignCollectionList = []
state.relightList = []
state.toProductImageList = []
state.poseTransfer = []
state.deReconstruction = null
state.patternMaking3D = null
state.canvasData = {
deReconstruction:null,
canvas:null
}
},
setTemplateData(state,data){
state.templateId=data.id

View File

@@ -1,5 +1,7 @@
import {Module} from 'vuex'
import {Module,useStore} from 'vuex'
import {RootState} from '../index'
import homeStore from '../homeStore/homeStore'
import workspace from '../workspace/workspace'
import { message } from "ant-design-vue";
import { useI18n } from "vue-i18n";
import GO from '@/tool/GO';
@@ -24,6 +26,7 @@ interface UploadFiles{
allBoardData:any, //备份的所有数据点finish之后备份
moodTemplateId:any,
chooseIsDesign:any,
modularData:any,
}
const UploadFilesModule : Module<UploadFiles,RootState> = {
@@ -45,10 +48,29 @@ const UploadFilesModule : Module<UploadFiles,RootState> = {
printMaterialFiles:[],
colorBoards:[],
marketingSketchFiles:[],
allBoardData:{},
allBoardData:{
disposeMoodboard:[],
moodboardPosition:null,
moodboardFiles:[],
moodTemplateId:'',
printboardFiles:[],
sketchboardFiles:[],
colorBoards:[],
},
moodTemplateId:'',
chooseIsDesign:{value:true},
modularData:{
design:{
userlikeGroupId:null,
likeData:[],
},
toProduct:null,
relight:null,
poseTransfer:null,
canvas:null,
patternMaking3D:null,
deReconstruction:null,
},
},
mutations:{
@@ -61,8 +83,6 @@ const UploadFilesModule : Module<UploadFiles,RootState> = {
},
setDisposeMoodboardPosition(state,files){
state.moodboardPosition = files
console.log(state.moodboardPosition);
},
setMoodboardGenerateFiles(state,files){
state.moodboardGenerateFiles = files
@@ -132,15 +152,9 @@ const UploadFilesModule : Module<UploadFiles,RootState> = {
file.push(data)
}
}else{
data.collectionChecked = false
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)
// }
//重复选中后取消选择改为无反应
// data.collectionChecked = false
// file = file.filter((v:any)=> v.id != data.id)
}
}
if(data.type_.type1 == 'generate'){
@@ -197,23 +211,69 @@ const UploadFilesModule : Module<UploadFiles,RootState> = {
},
setColorboardList(state,colorBoards){
state.colorBoards = colorBoards
state.colorBoards = colorBoards || []
},
setMarketingSketchFile(state,files){
state.marketingSketchFiles = files
},
setAllBoardData(state){
state.allBoardData = {
disposeMoodboard:state.disposeMoodboard,
moodboardPosition:state.moodboardPosition,
moodboardFiles:state.moodboard,
printboardFiles:state.printboard,
colorBoards:state.colorBoards,
sketchboardFiles:state.sketchboard,
marketingSketchFiles:state.marketingSketchFiles,
moodTemplateId:state.moodTemplateId,
}
setAllBoardData(state,data){
let str:any = data.str
let navListData = (workspace as any).state.projectList
let currentState = false
if(str == 'moodBoard'){
state.allBoardData.disposeMoodboard = state.disposeMoodboard
state.allBoardData.moodboardPosition = state.moodboardPosition
state.allBoardData.moodboardFiles = state.moodboard
state.allBoardData.moodTemplateId = state.moodTemplateId
if(state.moodboard.length > 0)currentState = true
}else if(str == 'printBoard'){
state.allBoardData.printboardFiles = state.printboard
if(state.printboard.length > 0)currentState = true
}else if(str == 'sketchBoard'){
state.allBoardData.sketchboardFiles = state.sketchboard
if(state.sketchboard.length > 0)currentState = true
}else if(str == 'colorBoard'){
state.allBoardData.colorBoards = state.colorBoards
if(state.colorBoards.length > 0)currentState = true
}
// let navListDataa:any = navListData[0]
// navListDataa.select = true;
navListData[0].select = true;
(workspace as any).state.projectList = navListData;
if(currentState){
let index = navListData.findIndex((item:any) => item.value === str);
navListData[index].select = true
}
},
clearAllBoardData(state,data){
if(data == 'moodBoard'){
state.allBoardData.disposeMoodboard = []
state.allBoardData.moodboardPosition = null
state.allBoardData.moodboardFiles = []
state.allBoardData.moodTemplateId = ''
}else if(data == 'printBoard'){
state.allBoardData.printboardFiles = []
}else if(data == 'sketchBoard'){
state.allBoardData.sketchboardFiles = []
}else if(data == 'colorBoard'){
state.allBoardData.colorBoards = []
}
let navListData = (workspace as any).state.projectList
let index = navListData.findIndex((item:any) => item.value === data);
navListData[index].select = false
},
createModularData(state){
state.modularData = {
design:null,
toProduct:null,
relight:null,
poseTransfer:null,
canvas:null,
patternMaking3D:null,
deReconstruction:null,
}
},
setAllBoardDataChoose(state,data){
state.allBoardData = data
if(Object.keys(data).length === 0){
@@ -264,7 +324,146 @@ const UploadFilesModule : Module<UploadFiles,RootState> = {
},
},
actions:{
setAllBoardData({ state,commit },data) {
// commit('increment'); // 提交 mutation
let navListData = JSON.parse(JSON.stringify((workspace as any).state.projectList))
let str:any = data.type
let currentState = false
if(str == 'moodBoard'){
state.allBoardData.disposeMoodboard = state.disposeMoodboard
state.allBoardData.moodboardPosition = state.moodboardPosition
state.allBoardData.moodboardFiles = state.moodboard
state.allBoardData.moodTemplateId = state.moodTemplateId
if(state.moodboard.length > 0)currentState = true
}else if(str == 'printBoard'){
state.allBoardData.printboardFiles = state.printboard
if(state.printboard.length > 0)currentState = true
}else if(str == 'sketchBoard'){
state.allBoardData.sketchboardFiles = state.sketchboard
console.log(state.allBoardData.sketchboardFiles)
if(state.sketchboard.length > 0)currentState = true
}else if(str == 'colorBoard'){
state.allBoardData.colorBoards = state.colorBoards
if(state.colorBoards.length > 0)currentState = true
}
let index = navListData.findIndex((item:any) => item.value === str);
if(currentState){
navListData[index].select = true
}else{
navListData[index].select = false
}
commit('setProjectList',navListData)
},
setModularData({ state,commit },data){
let navListData = JSON.parse(JSON.stringify((workspace as any).state.projectList))
let value = null
let homeData:any = homeStore.state
if(data.type == 'design'){
let userGroupId = homeData.userGroupId
let likeData = homeData.likeDesignCollectionList
value = {userlikeGroupId:userGroupId?userGroupId:null,likeData:likeData?likeData:[]}
}else if(data.type == 'toProduct'){
value = homeData.toProductImageList
}else if(data.type == 'relight'){
value = homeData.relightList
}else if(data.type == 'poseTransfer'){
value = homeData.poseTransfer
}else if(data.type == 'deReconstruction'){
value = homeData.deReconstruction
}else if(data.type == 'patternMaking3D'){
value = homeData.patternMaking3D
}
let index = navListData.findIndex((item:any) => item.value === data.type);
if(
(value == null || value?.length == 0) ||
(data.type == 'design' && !value.userlikeGroupId)
){
navListData[index].select = false
}else{
navListData[index].select = true
}
state.modularData[data.type] = value
commit('setProjectList',navListData)
},
getProjectData({ state,commit },str){
return new Promise((resolve,reject) => {
let data:any = {}
let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard']
if(allBoardData.indexOf(str) != -1){
if(str == 'colorBoard'){
let boardData = state.colorBoards || []
let colorBoards = boardData.map((v: any) => {
let data = {
id: v.id,
name: v.name,
tcx: v.tcx,
gradient:v.gradient,
rgbValue: "",
};
data.rgbValue = `${v.rgbValue.r} ${v.rgbValue.g} ${v.rgbValue.b}`;
return data;
});
data[str] = colorBoards
}else if(str == 'moodBoard'){
data[str] = {
moodBoards:state.moodboard,
moodTemplateId:state.moodTemplateId,
moodboardPosition:JSON.stringify(state.moodboardPosition),
}
}else if (str == 'printBoard') {
let dataList = state.printboard.map((v: any) => {
let data: any = {
id: v.resData.id,
designType: v.resData.designType,
level2Type: v.categoryValue,
isPin: v.pin ? 1 : 0,
};
return data;
});
data[str] = dataList
}else if(str == 'sketchBoard'){
let sketchBoards = state.sketchboard.map((v: any) => {
let data = {
designType: v.resData.designType,
isPin: v.pin ? 1 : 0,
level2Type: v.categoryValue,
sketchBoardId: v.resData.id,
};
return data;
});
data[str] = sketchBoards
}
}else{
data[str] = state.modularData[str]
}
resolve(data)
})
},
getProjectCanvasData({ state,commit },str){
return new Promise((resolve,reject) => {
let data:any = {}
let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard']
if(allBoardData.indexOf(str) != -1){
if(str == 'colorBoard'){
}else if(str == 'moodBoard'){
data[str] = state.moodboard
}else if (str == 'printBoard') {
let dataList = state.printboard;
data[str] = dataList
}else if(str == 'sketchBoard'){
let sketchBoards = state.sketchboard
data[str] = sketchBoards
}
}else{
if(str == 'design'){
data[str] = state.modularData[str].likeData
}else{
data[str] = state.modularData[str]
}
}
resolve(data)
})
},
}
}

View File

@@ -19,6 +19,7 @@ interface UserHabit{
SketchGenerateType:any,
SketchStyle:any,
systemUser:any,
mannequinStyle:any,
userInfo:any,
messageSystem:any,
sex:any,
@@ -48,6 +49,7 @@ const userHabit : Module<UserHabit,RootState> = {
SketchGenerateType:[],
Position:[],
SketchStyle:[],
mannequinStyle:null,
systemUser:{
value : -1
},
@@ -154,6 +156,9 @@ const userHabit : Module<UserHabit,RootState> = {
}
state.messageSystem.messageNum = num
},
setMannequinStyle(state,data){
state.mannequinStyle = data
},
closeMessageSystem(state,data){
if(!data){
state.messageSystem.messageNum = 0
@@ -328,6 +333,7 @@ const userHabit : Module<UserHabit,RootState> = {
async getLangType(context){
let allPromise = [];
let getList = ['DesignElementsEnum','PrintboardLevel2TypeEnum','FemalePosition','MalePosition','SketchStyle','SketchGenerateType','Sex']
let workspaceAllPosition:any = []
let axiosGet = (item:any)=>{
return new Promise((resolve,reject) => {
Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:item}}).then((rv: any) => {
@@ -344,9 +350,11 @@ const userHabit : Module<UserHabit,RootState> = {
context.commit('setPrintType',rv)
}else if(item == 'FemalePosition'){
context.commit('setFemalePosition',rv)
workspaceAllPosition.push(...rv)
}else if(item == 'MalePosition'){
context.commit('setMalePosition',rv)
context.commit('setPosition','MalePosition')
workspaceAllPosition.push(...rv)
}else if(item == 'SketchStyle'){
context.commit('setSketchStyle',rv)
}else if(item == 'SketchGenerateType'){
@@ -361,6 +369,7 @@ const userHabit : Module<UserHabit,RootState> = {
})
})
}
context.commit('setWorkspaceAllPosition',workspaceAllPosition)
let getUserDetail = ()=>{
return new Promise((resolve,reject) => {
context.commit('createDetail')

View File

@@ -6,7 +6,8 @@ interface DesignDetail{
workspaceSex:any,
workspacePosition:any,
workspaceAllPosition:any,//所有位置
probjects:any,//项目参数
projectList:any,//项目列表参数
}
const Workspace : Module<DesignDetail,RootState> = {
@@ -15,10 +16,35 @@ const Workspace : Module<DesignDetail,RootState> = {
workspaceSex:{},
workspacePosition:{},
workspaceAllPosition:{},
probjects:{
name:'',//项目名称
id:'',//项目id
type:'',//项目类型
httpType:'',//项目类型
styleName:'',//项目风格
style:'',
styleId:null,//项目风格
sex:'Female',//项目性别
ageGroup:'Adult',//年龄组
positionList:[],//衣服位置
position:{},//衣服位置
systemDesignerPercentage:30,//设计师分成
model:{
id:null,
url:'',
type:'',
},//模特
},
projectList:[],//项目列表参数
},
mutations:{
setWorkspace(state,files){
state.workspace = files
//写一个下载视频的代码
// const a = document.createElement('a')
// a.href = files
// a.download = 'video.mp4'
// a.click()
},
setWorkspaceSex(state,files){
state.workspaceSex = files
@@ -29,7 +55,36 @@ const Workspace : Module<DesignDetail,RootState> = {
setWorkspaceAllPosition(state,files){
state.workspaceAllPosition = files
},
setProjectList(state,list){
state.projectList = list
},
setProbject(state,data){
for (const key in data) {
if(state.probjects[key] == undefined)return
state.probjects[key] = data[key]
}
},
createProbject(state){
state.probjects = {
name:'',
id:'',
type:'',
httpType:'',
styleName:'',//项目风格
styleId:-1,//项目风格
style:'',
sex:'Female',
ageGroup:'Adult',//年龄组
positionList:[],
position:{},//衣服位置
systemDesignerPercentage:30,
model:{
id:-1,
url:'',
type:'',
},//模特
}
}
},
actions:{