修改sketch或者切换sketch bug修复
This commit is contained in:
@@ -12,6 +12,7 @@ interface DesignDetail{
|
||||
//值都有 sketch,color,print,element
|
||||
currentDetailType:any,
|
||||
currentPrintElement:any,
|
||||
canvasKey:any,
|
||||
}
|
||||
|
||||
const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
@@ -28,6 +29,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
printZIndex:-1,
|
||||
currentDetailType:'',
|
||||
currentPrintElement:null,
|
||||
canvasKey:0,
|
||||
},
|
||||
mutations:{
|
||||
clearDetailData(state){
|
||||
@@ -42,6 +44,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
state.printZIndex = -1
|
||||
state.currentDetailType = ''
|
||||
state.currentPrintElement = null
|
||||
state.canvasKey = 0
|
||||
},
|
||||
setDesignDetail(state,data){
|
||||
if(data.others.length > 0 && data.others[0].type == "Body"){
|
||||
@@ -63,7 +66,6 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}
|
||||
}
|
||||
v?.printObject?.prints?.forEach((item:any) => {
|
||||
console.log(item.object)
|
||||
if(isJSONString(item.object)){
|
||||
item.object = JSON.parse(item.object)
|
||||
}
|
||||
@@ -115,18 +117,6 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}
|
||||
});
|
||||
},
|
||||
clearDesignDetail(state){
|
||||
state.designDetail = null
|
||||
state.designPreviewData = {}
|
||||
state.frontBack = {
|
||||
front:[],
|
||||
back:[],
|
||||
body:{},
|
||||
}
|
||||
state.selectDetail = null
|
||||
state.currentDetailType = ''
|
||||
state.printZIndex = -1
|
||||
},
|
||||
addDesign(state,data){
|
||||
|
||||
},
|
||||
@@ -226,21 +216,22 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
});
|
||||
state.selectDetail = data
|
||||
},
|
||||
changeCanvasKey(state){
|
||||
state.canvasKey+=1
|
||||
},
|
||||
canvasPreviewUpdata(state,{type,callBack}){
|
||||
console.log(state.selectDetail,type)
|
||||
// state.selectDetail.newDetail?.print?.forEach((item:any) => {
|
||||
// state.selectDetail.printObject.prints = []
|
||||
// state.selectDetail.printObject.push({
|
||||
// })
|
||||
// });
|
||||
if(type == 'print' || type == 'all')state.selectDetail.printObject.prints = state.selectDetail.newDetail?.print
|
||||
if(type == 'color' || type == 'all')state.selectDetail.color = {
|
||||
if((type == 'print' || type == 'all') && state.selectDetail.newDetail?.print)state.selectDetail.printObject.prints = state.selectDetail.newDetail?.print
|
||||
if((type == 'color' || type == 'all') && state.selectDetail.newDetail?.color?.rgba)state.selectDetail.color = {
|
||||
...state.selectDetail.newDetail?.color,
|
||||
...state.selectDetail.newDetail?.color?.rgba,
|
||||
...state.selectDetail.newDetail?.color?.hsv,
|
||||
}
|
||||
console.log(state.selectDetail,type,state.selectDetail.newDetail)
|
||||
if(type == 'element' || type == 'all')state.selectDetail.trims.prints = state.selectDetail.newDetail?.element
|
||||
if((type == 'element' || type == 'all') && state.selectDetail.newDetail?.element)state.selectDetail.trims.prints = state.selectDetail.newDetail?.element
|
||||
if(type == 'all'){
|
||||
state.selectDetail.newDetail = {}
|
||||
}else{
|
||||
@@ -248,7 +239,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}
|
||||
callBack()
|
||||
},
|
||||
async setPraeview(state,value){//preview
|
||||
setPraeview(state,value){//preview
|
||||
let data = value?.rv || value
|
||||
let currentType = value?.currentType
|
||||
if(state.designDetail.oldModel?.url)state.frontBack.body.path = state.designDetail.oldModel.url
|
||||
@@ -267,50 +258,41 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}else{
|
||||
id_ = item.id
|
||||
}
|
||||
let el:any = document.querySelector('.molepositon .perview_img')
|
||||
await new Promise((resolve, reject) => {
|
||||
if(!state.frontBack?.body?.path){
|
||||
resolve('')
|
||||
if(state.frontBack?.body?.path){
|
||||
let scale:any = value.scale
|
||||
if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){
|
||||
state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||
state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||
}
|
||||
const img = new Image();
|
||||
img.src = state.frontBack.body.path;
|
||||
img.onload = () => {
|
||||
let scale:any = el.parentNode.offsetWidth / img.width;
|
||||
if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){
|
||||
state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||
state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||
}
|
||||
state.frontBack.front.forEach((v:any,index:any)=>{
|
||||
if(v.id == id_){
|
||||
for (let i = item.layersObject.length-1; i >= 0; i--) {
|
||||
item.layersObject[i].style = {
|
||||
top:item.layersObject[i].position?.[0] * scale + 'px',
|
||||
left:item.layersObject[i].position?.[1] * scale + 'px',
|
||||
width:item.layersObject[i].imageSize?.[0] * scale + 'px',
|
||||
height:item.layersObject[i].imageSize?.[1] * scale + 'px',
|
||||
zIndex:v?.style?.zIndex?v.style.zIndex:v.priority?v.priority:state.frontBack.front.length,
|
||||
transform:`rotate(${item.layersObject?.[i]?.rotate || 0}deg) scaleX(${item.layersObject[i].transpose?.[0] || 1}) scaleY(${item.layersObject[i].transpose?.[1] || 1})`,
|
||||
}
|
||||
item.layersObject[i].centers={
|
||||
left:0,
|
||||
top:0,
|
||||
}
|
||||
item.layersObject[i].designOpenrtionBtn = false
|
||||
if(item.layersObject[i].imageCategory.indexOf("back") == -1){
|
||||
state.frontBack.front[index] = item.layersObject[i]
|
||||
// state.frontBack.front[index].style.zIndex = v.priority
|
||||
state.frontBack.front[index].id = item.id
|
||||
}else{
|
||||
state.frontBack.back[index] = item.layersObject[i]
|
||||
// state.frontBack.back[index].style.zIndex = v.priority
|
||||
state.frontBack.back[index].id = item.id
|
||||
}
|
||||
state.frontBack.front.forEach((v:any,index:any)=>{
|
||||
if(v.id == id_){
|
||||
for (let i = item.layersObject.length-1; i >= 0; i--) {
|
||||
item.layersObject[i].style = {
|
||||
top:item.layersObject[i].position?.[0] * scale + 'px',
|
||||
left:item.layersObject[i].position?.[1] * scale + 'px',
|
||||
width:item.layersObject[i].imageSize?.[0] * scale + 'px',
|
||||
height:item.layersObject[i].imageSize?.[1] * scale + 'px',
|
||||
zIndex:v?.style?.zIndex?v.style.zIndex:v.priority?v.priority:state.frontBack.front.length,
|
||||
transform:`rotate(${item.layersObject?.[i]?.rotate || 0}deg) scaleX(${item.layersObject[i].transpose?.[0] || 1}) scaleY(${item.layersObject[i].transpose?.[1] || 1})`,
|
||||
}
|
||||
item.layersObject[i].centers={
|
||||
left:0,
|
||||
top:0,
|
||||
}
|
||||
item.layersObject[i].designOpenrtionBtn = false
|
||||
if(item.layersObject[i].imageCategory.indexOf("back") == -1){
|
||||
state.frontBack.front[index] = item.layersObject[i]
|
||||
// state.frontBack.front[index].style.zIndex = v.priority
|
||||
state.frontBack.front[index].id = item.id
|
||||
}else{
|
||||
state.frontBack.back[index] = item.layersObject[i]
|
||||
// state.frontBack.back[index].style.zIndex = v.priority
|
||||
state.frontBack.back[index].id = item.id
|
||||
}
|
||||
}
|
||||
})
|
||||
resolve('')
|
||||
};
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
let uploadDetail = (detailItem)=>{
|
||||
detailItem.change = item.change
|
||||
if(detailItem?.newDetail?.color && currentType != 'color'){
|
||||
@@ -321,6 +303,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
detailItem.partialDesign = item.partialDesign
|
||||
}
|
||||
detailItem.designType = item.designType
|
||||
detailItem.canvasId = item.canvasId
|
||||
detailItem.layersObject = item.layersObject
|
||||
detailItem.path = item.path
|
||||
detailItem.minIOPath = item.minIOPath
|
||||
@@ -357,44 +340,9 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}else{
|
||||
uploadDetail(state.selectDetail)
|
||||
}
|
||||
|
||||
if(state.currentDetailType != 'models'){
|
||||
// state.selectDetail.change = item.change
|
||||
// if(state.selectDetail?.newDetail?.color && currentType != 'color'){
|
||||
// state.selectDetail.color = state.selectDetail?.newDetail?.color
|
||||
// state.selectDetail.newDetail.color = null
|
||||
// }
|
||||
// if(item.partialDesign){
|
||||
// state.selectDetail.partialDesign = item.partialDesign
|
||||
// }
|
||||
// state.selectDetail.designType = item.designType
|
||||
// state.selectDetail.layersObject = item.layersObject
|
||||
// state.selectDetail.path = item.path
|
||||
// state.selectDetail.minIOPath = item.minIOPath
|
||||
// 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.maskMinioUrl = item.layersObject?.[0]?.maskMinioUrl
|
||||
// state.selectDetail.maskUrl = item.layersObject?.[0]?.maskUrl
|
||||
// state.selectDetail.color = {
|
||||
// ...item.color,
|
||||
// rgba:{
|
||||
// r:item.color?.r,
|
||||
// g:item.color?.g,
|
||||
// b:item.color?.b,
|
||||
// },
|
||||
// gradient:item.gradient,
|
||||
// }
|
||||
// if(state.selectDetail.newDetail?.sketch?.id && !state.selectDetail.id){
|
||||
// state.designDetail.clothes.push(state.selectDetail)
|
||||
// }
|
||||
// state.selectDetail.id = item.id
|
||||
// if(currentType)if(state.selectDetail.newDetail?.[currentType] && currentType != 'color')delete state.selectDetail.newDetail[currentType]
|
||||
}
|
||||
}
|
||||
if(value.fun)value.fun()
|
||||
|
||||
},
|
||||
|
||||
// setDesignItemOthers(state,data){
|
||||
|
||||
Reference in New Issue
Block a user