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

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> </div>
<div class="contentRight canvas" v-if="selectDetail && selectDetail.id && currentDetailType" :class="{'active': isEditPattern.value}"> <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>
<!-- 画布 --> <!-- 画布 -->
<!-- <div class="content" v-else-if="selectDetail && selectDetail.id"> <!-- <div class="content" v-else-if="selectDetail && selectDetail.id">
@@ -261,7 +261,7 @@ export default defineComponent({
} }
detailData.loadingShow = false // detailData.loadingShow = false
resolve(rv) resolve(rv)
} }
).catch(rv=>{ ).catch(rv=>{

View File

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

View File

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

View File

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