details功能

This commit is contained in:
X1627315083
2025-03-03 14:52:05 +08:00
parent 6cfcd4ce16
commit 7165e2455f
23 changed files with 1243 additions and 127 deletions

View File

@@ -9,6 +9,7 @@ interface DesignDetailCopy{
printZIndex:any,
//值都有 sketchcolor,print,element
currentDetailType:any,
currentPrintElement:any,
}
const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
@@ -24,6 +25,7 @@ const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
selectDetail:null,
printZIndex:-1,
currentDetailType:'',
currentPrintElement:null,
},
mutations:{
setDesignDetail(state,data){
@@ -95,26 +97,37 @@ const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
addDesign(state,data){
},
setNewDetail(state,data){
setNewDetail(state,value){
// state.designDetail.clothes.forEach((item:any) => {
// if(item.id == state.selectDetail.id){
// }
// });
let {data} = value
let str = value.str || state.currentDetailType
if(!state.selectDetail)return
if(!state.selectDetail.newDetail){
state.selectDetail.newDetail = {}
}
if(state.currentDetailType == 'sketch'){
state.selectDetail.newDetail[state.currentDetailType] = data
}else if(state.currentDetailType == 'color'){
state.selectDetail.newDetail[state.currentDetailType] = data
if(str == 'sketch'){
state.selectDetail.newDetail[str] = data
}else if(str == 'color'){
state.selectDetail.newDetail[str] = data
}else if(str == 'print'){
state.selectDetail.newDetail[str] = data
}else if(str == 'element'){
state.selectDetail.newDetail[str] = data
}else{
if(!state.selectDetail.newDetail[state.currentDetailType])state.selectDetail.newDetail[state.currentDetailType] = []
const foundObjects = state.selectDetail.newDetail[state.currentDetailType].filter((item:any) => item.id === data.id);
if(!state.selectDetail.newDetail[str])state.selectDetail.newDetail[str] = []
const foundObjects = state.selectDetail.newDetail[str].filter((item:any) => item.id === data.id);
if(foundObjects.length == 0){
state.selectDetail.newDetail[state.currentDetailType].push(data)
state.selectDetail.newDetail[str].push(data)
}
}
},
setCurrentPrintElement(state,data){//临时存放印花和元素点击用来监听在衣服上添加元素
if(!data)return
state.currentPrintElement = data.resData || data
},
setCurrentDetailType(state,data){
if(state.selectDetail && state.selectDetail.id){
state.currentDetailType = data
@@ -174,7 +187,9 @@ const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
});
state.selectDetail = data
},
async setPraeview(state,data){//preview
async setPraeview(state,value){//preview
let data = value.rv
let currentType = value.currentType
for (let j = 0; j < data.clothes.length; j++) {
const item = data.clothes[j];
if(!item.id)continue
@@ -229,6 +244,7 @@ const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
state.selectDetail.color = state.selectDetail?.newDetail?.color
state.selectDetail.newDetail.color = null
}
state.selectDetail.designType = item.designType
state.selectDetail.gradient = item.gradient
state.selectDetail.layersObject = item.layersObject
@@ -237,13 +253,15 @@ const DesignDetailCopy : Module<DesignDetailCopy,RootState> = {
state.selectDetail.scale = [1,1]
state.selectDetail.offset = [0,0]
state.selectDetail.printObject = item.printObject
state.selectDetail.trims = item.trims
state.selectDetail.type = item.type
state.selectDetail.undividedLayer = item.undividedLayer
if(state.selectDetail.newDetail?.sketch?.id && !state.selectDetail.id){
state.designDetail.clothes.push(state.selectDetail)
}
state.selectDetail.id = item.id
if(state.selectDetail.newDetail?.[state.currentDetailType])state.selectDetail.newDetail[state.currentDetailType] = null
if(state.selectDetail.newDetail?.[currentType])delete state.selectDetail.newDetail[currentType]
console.log(state.selectDetail.newDetail);
}
},