Commit d62b7e48 authored by 罗超's avatar 罗超

解决跨图层进行底图移动问题,解决导入模板数据问题

parent e2557fa5
......@@ -182,6 +182,7 @@ const resolveToSliderHandler = async()=>{
}else{
await useFontStore().loadAllFonts()
useSlidesStore().setSlides(sliders.value)
useSlidesStore().setLayouts(sliders.value)
useSlidesStore().updateSlideIndex(0)
close()
}
......
......@@ -262,6 +262,7 @@ export interface PPTImageElement extends PPTBaseElement {
flipV?: boolean
shadow?: PPTElementShadow
colorMask?: string
layerName?: string
}
......
......@@ -25,7 +25,8 @@ export const ResolveLayer = async (item: any, index: number,offsetLeft:number,of
top,
height,
rotate: 0,
lock: item.name.indexOf('editor')==-1 || (item.name.indexOf('editor')!=-1 && item.name.indexOf('before')!=-1)
lock: item.name.indexOf('editor')==-1 || (item.name.indexOf('editor')!=-1 && item.name.indexOf('before')!=-1),
layerName: item.layer.name
}
return element
......
......@@ -108,9 +108,22 @@ const filters = computed(() => props.elementInfo.filters)
const { filter } = useFilter(filters)
const handleSelectElement = (e: MouseEvent | TouchEvent) => {
if (props.elementInfo.lock) return
e.stopPropagation()
props.selectElement(e, props.elementInfo)
if (props.elementInfo.lock) {
if(props.elementInfo.layerName && props.elementInfo.layerName.indexOf('_before')!=-1){
let targetLayer = props.elementInfo.layerName.split('_before')[0]
let temp = slidesStore.currentSlide.elements.find(x=> 'layerName' in x && x.layerName == targetLayer)
e.stopPropagation()
if(temp) props.selectElement(e, temp as PPTImageElement)
}else{
return
}
}else{
e.stopPropagation()
props.selectElement(e, props.elementInfo)
}
}
const handleClip = (data: ImageClipedEmitData | null) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment