修复印花线稿合成图显示异常

This commit is contained in:
X1627315083
2026-01-16 13:39:00 +08:00
parent 2b7db933d9
commit a720fba84e
5 changed files with 106 additions and 52 deletions

View File

@@ -110,7 +110,7 @@
</ul> -->
</div>
<div class="designOpenrtion_pingpu" v-else>
<pingpu :list="printStyleList[type].overall" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
<pingpu :list="printStyleList[type].overall" :width="sketchSize.width" :height="sketchSize.height" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
</div>
</div>
</div>
@@ -141,7 +141,11 @@ export default defineComponent({
type: {
type: String,
default: 'print',
}
},
sketchSize:{
type:Object,
default:()=>{}
},
},
setup(props,{emit}) {
const { t } = useI18n()
@@ -352,18 +356,9 @@ export default defineComponent({
}
editPrintElementData.printZIndex++
item.pattern = pattern
function isJSONString(str) {
try {
JSON.parse(str);
return true; // 解析成功是有效的JSON字符串
} catch (e) {
return false; // 解析失败不是有效的JSON字符串
}
}
if(item.object){
if(isJSONString(item.object)){
item.object = JSON.parse(item.object)
}
}else{
item.object = {
top: 0,

View File

@@ -6,8 +6,8 @@
</div> -->
<sketchType v-if="currentDetailType === 'sketch'"></sketchType>
<!-- <printType v-if="currentDetailType === 'print'"></printType> -->
<editPrintElement ref="editPrintElement" v-if="currentDetailType === 'print'" type="print"></editPrintElement>
<editPrintElement ref="editPrintElement" v-if="currentDetailType === 'element'" type="element"></editPrintElement>
<editPrintElement ref="editPrintElement" v-if="currentDetailType === 'print'" type="print" :sketchSize="sketchSize"></editPrintElement>
<editPrintElement ref="editPrintElement" v-if="currentDetailType === 'element'" type="element" :sketchSize="sketchSize"></editPrintElement>
<modelsType ref="modelsType" v-if="currentDetailType === 'models'"></modelsType>
</div>
@@ -24,6 +24,12 @@ export default defineComponent({
components:{
sketchType,printType,editPrintElement,modelsType
},
props:{
sketchSize:{
type:Object,
default:()=>{}
},
},
setup(props,{emit}) {
const store = useStore();
const detailData = reactive({