Merge branch 'dev_vite' of ssh://18.167.251.121:10002/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -314,7 +314,7 @@
|
||||
// 鼠标事件
|
||||
props.canvas.on("selection:created", getActiveObject);
|
||||
props.canvas.on("selection:updated", getActiveObject);
|
||||
// props.canvas.on("selection:cleared", () => console.log("selection:cleared"));
|
||||
props.canvas.on("selection:cleared", close);
|
||||
props.canvas.on("object:rotating", objectRotatingChange);
|
||||
}
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
// 移除鼠标事件
|
||||
props.canvas.off("selection:created", getActiveObject);
|
||||
props.canvas.off("selection:updated", getActiveObject);
|
||||
// props.canvas.off("selection:cleared");
|
||||
props.canvas.off("selection:cleared", close);
|
||||
props.canvas.off("object:rotating", objectRotatingChange);
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -127,6 +127,7 @@ const canvasRef = ref(null);
|
||||
const canvasContainerRef = shallowRef(null);
|
||||
const imageUploadRef = ref(null);
|
||||
const currentZoom = ref(100);
|
||||
const appContainerRef = ref(null);
|
||||
|
||||
// 画布设置
|
||||
const canvasWidth = ref(props.config.width);
|
||||
@@ -914,6 +915,32 @@ const cropImage = (url) => {
|
||||
};
|
||||
provide("cropImage", cropImage); // 提供给子组件使用
|
||||
|
||||
// 处理画布容器的拖放事件
|
||||
const isDragOver = ref(false);
|
||||
const canvasDragover = (e) => {
|
||||
e.preventDefault();
|
||||
const types = e.dataTransfer.types;
|
||||
isDragOver.value = types.includes("Files");
|
||||
};
|
||||
|
||||
// 处理画布容器的拖离事件
|
||||
const canvasDragleave = (e) => {
|
||||
e.preventDefault();
|
||||
isDragOver.value = false;
|
||||
};
|
||||
|
||||
// 处理画布容器的拖放事件
|
||||
const canvasDragdrop = (e) => {
|
||||
e.preventDefault();
|
||||
isDragOver.value = false;
|
||||
const files = e.dataTransfer.files;
|
||||
for (const file of files) {
|
||||
if (file.type.startsWith("image/")) {
|
||||
handleImageUpload({ target: { files: [file] } });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 提供外部ref实例方法
|
||||
defineExpose({
|
||||
layers, // 图层数据
|
||||
@@ -1104,7 +1131,13 @@ defineExpose({
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div
|
||||
ref="appContainerRef"
|
||||
class="app-container"
|
||||
@dragover.stop="canvasDragover"
|
||||
@dragleave.stop="canvasDragleave"
|
||||
@drop.stop="canvasDragdrop"
|
||||
>
|
||||
<!-- 头部菜单组件 -->
|
||||
<div class="header-menu">
|
||||
<HeaderMenu
|
||||
@@ -1293,6 +1326,8 @@ defineExpose({
|
||||
:api="Https.httpUrls.queryLibraryPage"
|
||||
isLibrary
|
||||
/>
|
||||
<!-- 上传图片遮罩 -->
|
||||
<div v-show="isDragOver" class="dragover-tip"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1325,6 +1360,21 @@ defineExpose({
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
>.dragover-tip{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
font-size: 1.6rem;
|
||||
z-index: 9999;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
.main-content {
|
||||
|
||||
Reference in New Issue
Block a user