Commit c9a3731b authored by zhengke's avatar zhengke

上传图

parent 11170ec2
......@@ -195,7 +195,10 @@ const insertImageElement = async (files: FileList) => {
text:'正在上传图',
lock:true
})
const hash = await calculateFileHash(files[0])
let hash =''
try{
hash = await calculateFileHash(files[0])
}catch(error){}
if(!hash || hash=='') {
ElMessage.error({message:'文件校验失败,请重试'})
loadingObj.close()
......
......@@ -66,7 +66,7 @@
</template>
<script lang="ts" setup>
import { computed } from 'vue'
import { computed, watch, ref, watchEffect } from 'vue'
import { storeToRefs } from 'pinia'
import { useMainStore, useSlidesStore } from '@/store'
import type { ImageElementClip, PPTImageElement } from '@/types/slides'
......@@ -80,6 +80,7 @@ import useFilter from './useFilter'
import ImageOutline from './ImageOutline/index.vue'
import ImageClipHandler from './ImageClipHandler.vue'
import useMouseSelection from '@/views/Editor/Canvas/hooks/useMouseSelection'
const props = defineProps<{
elementInfo: PPTImageElement
......@@ -89,7 +90,7 @@ const props = defineProps<{
const mainStore = useMainStore()
const slidesStore = useSlidesStore()
const { clipingImageElementId } = storeToRefs(mainStore)
const { clipingImageElementId, activeElementIdList } = storeToRefs(mainStore)
const isCliping = computed(() => clipingImageElementId.value === props.elementInfo.id)
......@@ -108,7 +109,31 @@ const { clipShape, imgPosition } = useClipImage(clip)
const filters = computed(() => props.elementInfo.filters)
const { filter } = useFilter(filters)
const viewportRef = ref<HTMLElement>()
const { currentSlide, slides, viewportRatio } = storeToRefs(useSlidesStore())
const elementList = ref<PPTElement[]>([])
const setLocalElementList = () => {
elementList.value = currentSlide.value&&currentSlide.value.elements ? JSON.parse(JSON.stringify(currentSlide.value.elements)) : []
}
watchEffect(setLocalElementList)
const { updateMouseSelection } = useMouseSelection(elementList, viewportRef)
const UpdateRange = ref(false)
watch(()=>activeElementIdList,(n,o)=>{
let news = n.value[0]?n.value[0]:''
let olds = o&&o.value&&o.value[0]?o.value[0]:''
if(olds) UpdateRange.value = true
else UpdateRange.value = false
},{
deep: true,
immediate: true
})
const handleSelectElement = (e: MouseEvent | TouchEvent) => {
// if(UpdateRange.value) {
// mainStore.setActiveElementIdList([])
// updateMouseSelection(e)
// return
// }
if(e.button && e.button== 1) return
if (props.elementInfo.lock) {
if(props.elementInfo.layerName && props.elementInfo.layerName.indexOf('_before')!=-1){
......
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