|
|
|
|
@@ -161,7 +161,7 @@ export default defineComponent({
|
|
|
|
|
isEditPattern:{
|
|
|
|
|
value:'' as any,
|
|
|
|
|
},// 是否编辑图案
|
|
|
|
|
canvasKey:0,
|
|
|
|
|
canvasKey:computed(()=>store.state.DesignDetail.canvasKey),
|
|
|
|
|
singleOveral:{
|
|
|
|
|
value:'overall'
|
|
|
|
|
},
|
|
|
|
|
@@ -191,7 +191,7 @@ export default defineComponent({
|
|
|
|
|
detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
|
|
|
|
if(newValue?.path)await getSketchSize()
|
|
|
|
|
if(newValue?.id && oldValue?.id && (newValue.id != oldValue.id)){
|
|
|
|
|
detailData.canvasKey += 1
|
|
|
|
|
store.commit('DesignDetail/changeCanvasKey')
|
|
|
|
|
}
|
|
|
|
|
// privewDetail(oldValue)
|
|
|
|
|
},{immediate: true})
|
|
|
|
|
@@ -336,9 +336,11 @@ export default defineComponent({
|
|
|
|
|
detailData.selectDetail.sketchString = rv
|
|
|
|
|
})
|
|
|
|
|
if(detailDom.detailRight?.privewDetail)await (detailDom.detailRight as any).privewDetail()
|
|
|
|
|
let otherData = await updateOtherLayers('single')
|
|
|
|
|
await detailDom.canvasBox.updateOtherLayers(otherData)
|
|
|
|
|
await detailDom.canvasBox.privewDetail()
|
|
|
|
|
if(detailDom.canvasBox && (detailData.currentDetailType != 'sketch' || detailData.isEditPattern.value == 'canvasEditor')){
|
|
|
|
|
let otherData = await updateOtherLayers('single')
|
|
|
|
|
await detailDom.canvasBox.updateOtherLayers(otherData)
|
|
|
|
|
await detailDom.canvasBox.privewDetail()
|
|
|
|
|
}
|
|
|
|
|
for(let i = 0;i<list.length;i++){
|
|
|
|
|
detailData.selectDetail
|
|
|
|
|
let {scale,offset,priority,transpose,rotate,maskUrl,maskMinioUrl} = await (detailDom.model as any).getSubmitData(list[i])
|
|
|
|
|
@@ -358,7 +360,6 @@ export default defineComponent({
|
|
|
|
|
(list[i].color?.rgba?.r?
|
|
|
|
|
`${list[i].color.rgba.r} ${list[i].color.rgba.g} ${list[i].color.rgba.b}`:
|
|
|
|
|
'')
|
|
|
|
|
console.log(color,'==============================')
|
|
|
|
|
if(detailData.currentDetailType == 'sketch' && newData){
|
|
|
|
|
color = detailData.designDetail.clothes?.[0]?.color?.rgba?.r?`${detailData.designDetail.clothes?.[0].color.rgba.r} ${detailData.designDetail.clothes[0].color.rgba.g} ${detailData.designDetail.clothes[0].color.rgba.b}`:''
|
|
|
|
|
detailData.selectDetail.maskUrl = ''
|
|
|
|
|
@@ -417,45 +418,65 @@ export default defineComponent({
|
|
|
|
|
}
|
|
|
|
|
const getSubmitData = async (str:string)=>{
|
|
|
|
|
// return
|
|
|
|
|
let workspace = store.state.Workspace.probjects
|
|
|
|
|
if(!detailData?.selectDetail?.path && !detailData?.selectDetail?.newDetail?.sketch?.minIOPath)return
|
|
|
|
|
let clothes:any
|
|
|
|
|
if(detailData.currentDetailType == 'models'){
|
|
|
|
|
clothes = await setClothes(detailData.designDetail.clothes,str)
|
|
|
|
|
}else{
|
|
|
|
|
clothes = await setClothes([detailData.selectDetail],str)
|
|
|
|
|
}
|
|
|
|
|
let data = {
|
|
|
|
|
designItemId:detailData.designDetail.designItemId,
|
|
|
|
|
designSingleItemDTOList:clothes,
|
|
|
|
|
isPreview:str == 'sub'?false:true,
|
|
|
|
|
// ifSubmit:designItemDetail.isPreview,
|
|
|
|
|
gender:workspace?.sex,
|
|
|
|
|
sketchString:'',
|
|
|
|
|
modelId:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.id:detailData.designDetail.oldModel?detailData.designDetail.oldModel.id:'',
|
|
|
|
|
modelType:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.type:detailData.designDetail.oldModel?detailData.designDetail.oldModel.type:'',
|
|
|
|
|
designType:detailData.selectDetail.id?'merge':'default',
|
|
|
|
|
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
|
|
|
processId:userDetail.value.userId,
|
|
|
|
|
probjectId:store.state.Workspace.probjects.id,
|
|
|
|
|
}
|
|
|
|
|
detailData.loadingShow = true
|
|
|
|
|
Https.axiosPost(Https.httpUrls.designSingle, data).then((rv)=>{
|
|
|
|
|
let value = {
|
|
|
|
|
currentType : JSON.parse(JSON.stringify(detailData.currentDetailType)),
|
|
|
|
|
rv:rv,
|
|
|
|
|
fun:setRevocation
|
|
|
|
|
await new Promise<void>(async (resolve, reject) => {
|
|
|
|
|
let workspace = store.state.Workspace.probjects
|
|
|
|
|
if(!detailData?.selectDetail?.path && !detailData?.selectDetail?.newDetail?.sketch?.minIOPath)return
|
|
|
|
|
let clothes:any
|
|
|
|
|
if(detailData.currentDetailType == 'models'){
|
|
|
|
|
clothes = await setClothes(detailData.designDetail.clothes,str)
|
|
|
|
|
}else{
|
|
|
|
|
clothes = await setClothes([detailData.selectDetail],str)
|
|
|
|
|
}
|
|
|
|
|
if(detailData?.designDetail?.newModel)detailData.designDetail.oldModel = JSON.parse(JSON.stringify(detailData.designDetail.newModel))
|
|
|
|
|
// delete detailData.designDetail.newModel
|
|
|
|
|
detailData.selectDetail.sketchString = null
|
|
|
|
|
store.commit('DesignDetail/setPraeview',value)
|
|
|
|
|
detailData.loadingShow = false
|
|
|
|
|
canvasReload()
|
|
|
|
|
// setRevocation()
|
|
|
|
|
}).catch(res=>{
|
|
|
|
|
detailData.loadingShow = false
|
|
|
|
|
});
|
|
|
|
|
let isDefault = detailData.selectDetail.sketchString || (!detailData.selectDetail.id || (detailData.selectDetail?.newDetail?.sketch && detailData.currentDetailType == 'sketch'))
|
|
|
|
|
let data = {
|
|
|
|
|
designItemId:detailData.designDetail.designItemId,
|
|
|
|
|
designSingleItemDTOList:clothes,
|
|
|
|
|
isPreview:str == 'sub'?false:true,
|
|
|
|
|
// ifSubmit:designItemDetail.isPreview,
|
|
|
|
|
gender:workspace?.sex,
|
|
|
|
|
sketchString:'',
|
|
|
|
|
modelId:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.id:detailData.designDetail.oldModel?detailData.designDetail.oldModel.id:'',
|
|
|
|
|
modelType:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.type:detailData.designDetail.oldModel?detailData.designDetail.oldModel.type:'',
|
|
|
|
|
designType:isDefault?'default':'merge',
|
|
|
|
|
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
|
|
|
processId:userDetail.value.userId,
|
|
|
|
|
probjectId:store.state.Workspace.probjects.id,
|
|
|
|
|
}
|
|
|
|
|
await Https.axiosPost(Https.httpUrls.designSingle, data).then(async (rv)=>{
|
|
|
|
|
let value = {
|
|
|
|
|
currentType : JSON.parse(JSON.stringify(detailData.currentDetailType)),
|
|
|
|
|
rv:rv,
|
|
|
|
|
fun:setRevocation
|
|
|
|
|
}
|
|
|
|
|
if(detailData?.designDetail?.newModel)detailData.designDetail.oldModel = JSON.parse(JSON.stringify(detailData.designDetail.newModel))
|
|
|
|
|
|
|
|
|
|
// delete detailData.designDetail.newModel
|
|
|
|
|
let el:any = document.querySelector('.molepositon .perview_img')
|
|
|
|
|
let scale = 0
|
|
|
|
|
await new Promise<void>(async (resolve, reject) => {
|
|
|
|
|
const img = new Image();
|
|
|
|
|
img.src = detailData.frontBack.body.path;
|
|
|
|
|
img.onload = () => {
|
|
|
|
|
scale = el.parentNode.offsetWidth / img.width;
|
|
|
|
|
resolve(true)
|
|
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
value.scale = scale
|
|
|
|
|
store.commit('DesignDetail/setPraeview',value)
|
|
|
|
|
store.commit('DesignDetail/changeCanvasKey')
|
|
|
|
|
// console.log(detailData.selectDetail)
|
|
|
|
|
// if(detailData.selectDetail.sketchString || (detailData.selectDetail?.newDetail?.sketch && detailData.currentDetailType == 'sketch')){
|
|
|
|
|
// detailData.canvasKey += 1
|
|
|
|
|
// }
|
|
|
|
|
detailData.selectDetail.sketchString = null
|
|
|
|
|
resolve(true)
|
|
|
|
|
canvasReload()
|
|
|
|
|
// setRevocation()
|
|
|
|
|
}).catch(res=>{
|
|
|
|
|
resolve(true)
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
const submit = async ()=>{
|
|
|
|
|
let workspace = store.state.Workspace.probjects
|
|
|
|
|
@@ -505,9 +526,16 @@ export default defineComponent({
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
const previwe = async ()=>{
|
|
|
|
|
detailData.loadingShow = true
|
|
|
|
|
if((detailData.currentDetailType == 'sketch' && !detailData.isEditPattern.value) || detailData.isEditPattern.value == 'editSketch'){
|
|
|
|
|
let data = getSubmitData('preview')
|
|
|
|
|
store.dispatch('DesignDetail/setSubmit',data)
|
|
|
|
|
await getSubmitData('preview')
|
|
|
|
|
await getSketchSize()
|
|
|
|
|
detailDom.canvasBox.changeSketchUpdateFrontBack = async ()=>{
|
|
|
|
|
await detailDom.canvasBox.privewDetail()
|
|
|
|
|
detailDom?.model?.updateRect()
|
|
|
|
|
await upDateFrontBackSketch()
|
|
|
|
|
detailData.loadingShow = false
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//走画布合成图片并且直接分割
|
|
|
|
|
if(detailData.isEditPattern.value !== 'canvasEditor'){
|
|
|
|
|
@@ -516,6 +544,13 @@ export default defineComponent({
|
|
|
|
|
await detailDom.canvasBox.updateOtherLayers(otherData)
|
|
|
|
|
}
|
|
|
|
|
await detailDom.canvasBox.privewDetail()
|
|
|
|
|
await upDateFrontBackSketch()
|
|
|
|
|
saveCanvasJSONToSession()
|
|
|
|
|
detailData.loadingShow = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const upDateFrontBackSketch = async ()=>{//更新模特身上的分割图
|
|
|
|
|
await new Promise<void>(async(resolve, reject) => {
|
|
|
|
|
let img = new Image()
|
|
|
|
|
img.onload = ()=>{
|
|
|
|
|
let partialDesign = detailData.selectDetail.partialDesign.partialDesignBase64 || detailData.selectDetail.partialDesign.partialDesignPath
|
|
|
|
|
@@ -534,11 +569,11 @@ export default defineComponent({
|
|
|
|
|
front.imageUrl = rv.targetFrontUrl
|
|
|
|
|
back.imageUrl = rv.targetBackUrl
|
|
|
|
|
store.commit('DesignDetail/canvasPreviewUpdata',{type:detailData.isEditPattern.value?'all':detailData.currentDetailType,callBack:setRevocation})
|
|
|
|
|
resolve()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
img.src = detailData.selectDetail.path
|
|
|
|
|
saveCanvasJSONToSession()
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const saveCanvasJSONToSession = ()=>{
|
|
|
|
|
let canvasJSON = detailDom.canvasBox.getCanvasJSON()
|
|
|
|
|
@@ -631,7 +666,6 @@ export default defineComponent({
|
|
|
|
|
otherData.trims = detailData.selectDetail.newDetail?.element?.length>0?{prints:detailData.selectDetail.newDetail?.element}:detailData.selectDetail.trims || null
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
console.log(JSON.parse(JSON.stringify(otherData)),'=======',JSON.parse(JSON.stringify(detailData.selectDetail)))
|
|
|
|
|
return otherData
|
|
|
|
|
}
|
|
|
|
|
const uploadElement = async ()=>{//取出画布数据更新到detail
|
|
|
|
|
@@ -674,7 +708,6 @@ export default defineComponent({
|
|
|
|
|
if(canvasColor.gradient){
|
|
|
|
|
value.data.gradient = canvasColor.gradient
|
|
|
|
|
}
|
|
|
|
|
console.log(value,'=======')
|
|
|
|
|
store.commit('DesignDetail/setNewDetail',value)
|
|
|
|
|
if(allInfo.color.color.gradient)detailData.selectDetail.color.gradient = allInfo.color.color.gradient
|
|
|
|
|
if(detailData.currentDetailType == 'color'){
|
|
|
|
|
@@ -687,7 +720,6 @@ export default defineComponent({
|
|
|
|
|
if(detailData.isEditPattern.value){
|
|
|
|
|
await detailDom.canvasBox.saveCanvas()
|
|
|
|
|
}
|
|
|
|
|
detailData.canvasKey += 1
|
|
|
|
|
}
|
|
|
|
|
const sketchSysToLibrary = ()=>{//系统sketch添加到library更新library
|
|
|
|
|
coverRevocation()
|
|
|
|
|
@@ -711,7 +743,7 @@ export default defineComponent({
|
|
|
|
|
onBeforeUnmount(()=>{
|
|
|
|
|
sessionStorage.removeItem('oppositeRevocation')
|
|
|
|
|
sessionStorage.removeItem('revocation')
|
|
|
|
|
store.commit('DesignDetail/clearDesignDetail')
|
|
|
|
|
store.commit('DesignDetail/clearDetailData')
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|