From 77d12a249ca32333a0889705b261d7ffb609d53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BA=A2=E4=B8=BD?= <1181930680@qq.com> Date: Mon, 2 Sep 2024 17:19:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=9B=BE=E7=89=87=E8=A3=81=E5=89=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Cropper/src/Cropper.vue | 67 +++++++++++++++------ src/components/Cropper/src/CropperModal.vue | 13 +++- src/views/system/user/edit.vue | 7 +-- 3 files changed, 61 insertions(+), 26 deletions(-) diff --git a/src/components/Cropper/src/Cropper.vue b/src/components/Cropper/src/Cropper.vue index 298efb6..9fd6926 100644 --- a/src/components/Cropper/src/Cropper.vue +++ b/src/components/Cropper/src/Cropper.vue @@ -2,19 +2,37 @@
import { ref } from 'vue'; import CropperModal from './CropperModal.vue'; - import { UploadOutlined } from '@vicons/antd'; import { cssUnit } from '@/utils'; const cropperRef = ref(); @@ -39,7 +56,7 @@ title: { type: String, default: '图片上传' }, src: { type: String, required: true }, circled: { type: Boolean, default: false }, - width: { type: [String, Number], default: 200 }, + width: { type: [String, Number], default: 150 }, uploadApi: { type: Function as PropType<(params) => Promise>, }, @@ -50,9 +67,15 @@ const iconSize = cssUnit(Math.ceil(parseInt(getWidth) / 4)); const emit = defineEmits(['uploadSuccess']); -function handleSuccess(value){ - emit('uploadSuccess',value) -} + const viewImg =()=>{ + window.open(props.src) + } + const deleteImg = () => { + emit('uploadSuccess', {fileUrl:''}); + }; + function handleSuccess(value){ + emit('uploadSuccess',value) + } function openCropper() { cropperRef.value.showModal(); } @@ -69,7 +92,7 @@ function handleSuccess(value){ overflow: hidden; text-align: center; position: relative; - + &-img { position: relative; width: 100%; @@ -100,12 +123,20 @@ function handleSuccess(value){ left: 0; top: 0; opacity: 0; + padding: 0 6%; transition: opacity 0.4s; - - .el-icon { - color: #fff; - font-size: v-bind(iconSize); - } + .handle-icon { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 0 6%; + color: aliceblue; + .el-icon { + color: #fff; + font-size:20px; + } + } } &:hover { diff --git a/src/components/Cropper/src/CropperModal.vue b/src/components/Cropper/src/CropperModal.vue index 62436a5..d6f4aa8 100644 --- a/src/components/Cropper/src/CropperModal.vue +++ b/src/components/Cropper/src/CropperModal.vue @@ -1,5 +1,5 @@