diff --git a/src/assets/style/style.css b/src/assets/style/style.css index b1077c2d..feaf5ae3 100644 --- a/src/assets/style/style.css +++ b/src/assets/style/style.css @@ -2106,7 +2106,7 @@ textarea:focus { .generalMenu_printModel_upload .input_border .input_box_btnBox .upload_item .upload_file_item, .generate .input_border .input_box_btnBox .upload_item .upload_file_item { position: absolute; - left: 0; + left: 1rem; top: 50%; transform: translateY(-50%); height: 4.7rem; @@ -2207,7 +2207,7 @@ textarea:focus { cursor: pointer; transition: all 0.3s; position: relative; - width: 4rem; + width: 3rem; display: flex; min-height: 3rem; justify-content: center; diff --git a/src/assets/style/style.less b/src/assets/style/style.less index ce1c3905..d87b4d12 100644 --- a/src/assets/style/style.less +++ b/src/assets/style/style.less @@ -2105,7 +2105,7 @@ textarea:focus{ width: 4.7rem; .upload_file_item{ position: absolute; - left: 0; + left: 1rem; top: 50%; transform: translateY(-50%); height: 4.7rem; @@ -2150,7 +2150,7 @@ textarea:focus{ cursor: pointer; transition: all .3s; position: relative; - width: 4rem; + width: 3rem; align-items: center; justify-content: center; diff --git a/src/component/Canvas/CanvasEditor/index.vue b/src/component/Canvas/CanvasEditor/index.vue index 7715ed39..f72cee5a 100644 --- a/src/component/Canvas/CanvasEditor/index.vue +++ b/src/component/Canvas/CanvasEditor/index.vue @@ -340,7 +340,7 @@ onMounted(async () => { props.redGreenImageUrl ) { canvasManager.canvas.fill = "#fff"; // 设置画布背景色为白色 // 初始化红绿图模式管理器 - redGreenModeManager = new toolManagerRedGreenModeManager({ + redGreenModeManager = new RedGreenModeManager({ canvas: canvasManager.canvas, canvasManager, layerManager, diff --git a/src/component/Canvas/ExistsImageList/index.vue b/src/component/Canvas/ExistsImageList/index.vue index 06ca2bbd..2e6e2d3c 100644 --- a/src/component/Canvas/ExistsImageList/index.vue +++ b/src/component/Canvas/ExistsImageList/index.vue @@ -56,6 +56,9 @@ {{ item.name || "未命名" }} +
+ +
@@ -70,6 +73,7 @@
{{ $t("Canvas.general") }} {{ filteredImages.length }} {{ $t("Canvas.PicturesInTotal") }}
+ @@ -103,6 +107,7 @@ const emits = defineEmits(["select"]); // 响应式数据 const showPanel = ref(false); const selectedCategory = ref(t("Canvas.all")); +const selectList = ref([]) // 计算属性:获取所有分类 const categories = computed(() => { @@ -152,8 +157,12 @@ const filteredImages = computed(() => { // 处理图片点击 const handleImageClick = (item) => { - emits("select", item); - showPanel.value = false; + // 已选中,取消选中 + if(selectList.value.includes(item.url)){ + selectList.value = selectList.value.filter(url => url !== item.url) + }else{ + selectList.value.push(item.url) + } }; // 处理图片加载错误 @@ -162,6 +171,12 @@ const handleImageError = (event) => { "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZjVmNWY1Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzk5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPuWbvueJh+WKoOi9veWksei0pe+8jOivt+ajgOafpeWbvueJh+i3r+W+hDwvdGV4dD48L3N2Zz4="; event.target.alt = "图片加载失败"; }; + +//提交选中的T图片 +const confirm = ()=>{ + emits("select", selectList.value); + showPanel.value = false; +}