修复印花界面,切换线稿图印花储存有问题

This commit is contained in:
X1627315083
2026-01-20 15:29:04 +08:00
parent 25ad9799f8
commit 033950babe
4 changed files with 25 additions and 19 deletions

View File

@@ -101,7 +101,7 @@
</div>
</div>
<div class="contentRight canvas" v-if="selectDetail && selectDetail.id && currentDetailType" :class="{'active': isEditPattern.value}">
<canvasBox ref="canvasBox" :key="canvasKey" :sketchSize="sketchSize" @setSloganData="setSloganData" :isEditPattern="isEditPattern.value" :updateOtherLayers="updateOtherLayers"></canvasBox>
<canvasBox ref="canvasBox" v-model:loadingShow="loadingShow" :key="canvasKey" :sketchSize="sketchSize" @setSloganData="setSloganData" :isEditPattern="isEditPattern.value" :updateOtherLayers="updateOtherLayers"></canvasBox>
</div>
<!-- 画布 -->
<!-- <div class="content" v-else-if="selectDetail && selectDetail.id">
@@ -261,7 +261,7 @@ export default defineComponent({
}
detailData.loadingShow = false
// detailData.loadingShow = false
resolve(rv)
}
).catch(rv=>{

View File

@@ -85,6 +85,7 @@ export default defineComponent({
default:()=>{}
},
},
emits:['update:loadingShow'],
setup(props,{emit}) {
const store = useStore();
const {t} = useI18n();
@@ -345,6 +346,7 @@ export default defineComponent({
detailData.changeSketchUpdateFrontBack = null
}
setUndivideLayer()
emit('update:loadingShow',false)
}
const setUndivideLayer = async ()=>{
await new Promise<void>(async (resolve, reject) => {

View File

@@ -110,7 +110,7 @@
</ul> -->
</div>
<div class="designOpenrtion_pingpu" v-else>
<pingpu :width="sketchSize.width" :height="sketchSize.height" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
<pingpu :key="selectDetail?.id" :width="sketchSize.width" :height="sketchSize.height" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
</div>
</div>
</div>
@@ -207,7 +207,6 @@ export default defineComponent({
elList:[] as any,
selectIndex:0,
})
watch
const setOveralSingle = async ()=>{
await setItemPosition()
@@ -263,7 +262,7 @@ export default defineComponent({
setItemPosition()
store.commit('DesignDetail/setCurrentPrintElement',null)
}
const previewDetailPrintData = ()=>{
const previewDetailPrintData = (id:any = editPrintElementData.selectDetail?.id)=>{
let data:any = []
let index = 1
let setData = (item:any,index:number)=>{
@@ -310,7 +309,8 @@ export default defineComponent({
})
let value = {
data,
str:props.type
str:props.type,
id:id,
}
store.commit('DesignDetail/setNewDetail',value)
}
@@ -453,9 +453,10 @@ export default defineComponent({
addPrintELement(newVal)
}
})
watch(()=>((editPrintElementData.selectDetail?.id)),(newVal)=>{
watch(()=>((editPrintElementData.selectDetail?.id)),(newVal,oldVal)=>{
if(!newVal)return
editPrintElementData.isSketchLoad = false,
if(oldVal)previewDetailPrintData(oldVal)
editPrintElementData.isSketchLoad = false
editPrintElementData.printStyleList[props.type] = {
single:[],
overall:[],
@@ -920,7 +921,6 @@ export default defineComponent({
}
const inputFillScale = (scale:any)=>{
let arr = editPrintElementData.printStyleList[props.type].overall
console.log(arr,scale,editPrintElementData.imgDomIndex)
arr[editPrintElementData.imgDomIndex].scale = [scale,scale]
editPrintElementDom.pingpuRef.updataList([
{

View File

@@ -125,28 +125,32 @@ const DesignDetail : Module<DesignDetail,RootState> = {
// if(item.id == state.selectDetail.id){
// }
// });
let select = state.selectDetail
if(value.id){
select = state.designDetail.clothes.find((item:any) => item.id == value.id)
}
let {data} = value
let str = value.str || state.currentDetailType
if(!state.selectDetail)return
if(!state.selectDetail.newDetail){
state.selectDetail.newDetail = {}
if(!select)return
if(!select.newDetail){
select.newDetail = {}
}
if(str == 'sketch'){
state.selectDetail.newDetail[str] = data
select.newDetail[str] = data
}else if(str == 'color'){
state.selectDetail.newDetail[str] = data
select.newDetail[str] = data
}else if(str == 'print'){
state.selectDetail.newDetail[str] = data
select.newDetail[str] = data
}else if(str == 'element'){
state.selectDetail.newDetail[str] = data
select.newDetail[str] = data
}else if(str == 'models'){
// if(!state.designDetail.newModel)state.designDetail.newModel={}
state.designDetail.newModel = JSON.parse(JSON.stringify(data))
}else{
if(!state.selectDetail.newDetail[str])state.selectDetail.newDetail[str] = []
const foundObjects = state.selectDetail.newDetail[str].filter((item:any) => item.id === data.id);
if(!select.newDetail[str])select.newDetail[str] = []
const foundObjects = select.newDetail[str].filter((item:any) => item.id === data.id);
if(foundObjects.length == 0){
state.selectDetail.newDetail[str].push(data)
select.newDetail[str].push(data)
}
}
},