|
@@ -0,0 +1,190 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <el-dialog v-model="show" title="重命名" width="70%">
|
|
|
+ <div class="container">
|
|
|
+ <div v-if="!showImg" class="up_box">
|
|
|
+ <div class="left_box">
|
|
|
+ <div class="upimg_box">
|
|
|
+ <!-- TODO 拖拽设置不生效问题 -->
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :drag="true"
|
|
|
+ action="http://192.168.1.28:8080/api/upload"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="handleAvatarSuccess"
|
|
|
+ :before-upload="beforeUp"
|
|
|
+ >
|
|
|
+ <img src="@/assets/images/add.png" class="avatar" />
|
|
|
+ <span>将图片拖入框内/点击按钮上传图片</span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="sunmit_btn">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ action="http://192.168.1.28:8080/api/upload"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="handleAvatarSuccess"
|
|
|
+ :before-upload="beforeUp"
|
|
|
+ >
|
|
|
+ <span>选择本地图片</span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="right_box">
|
|
|
+ <div class="upimg_box">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ action="http://192.168.1.28:8080/api/upload"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="handleAvatarSuccess"
|
|
|
+ >
|
|
|
+ <img src="@/assets/images/add.png" class="avatar" />
|
|
|
+ <span>点击按钮上传图片</span>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ <div class="sunmit_btn">添加文库图片</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <img :src="toRaw(showImg)" class="avatar" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { onMounted, ref, toRaw } from "vue";
|
|
|
+const textData = ref(""); //解析出来的文字
|
|
|
+const showImg = ref(); //上传的图片
|
|
|
+const show = ref(true);
|
|
|
+const handleAvatarSuccess = (msg, file) => {
|
|
|
+ console.log("re", msg);
|
|
|
+ const flieData = toRaw(file);
|
|
|
+ console.log("file", flieData);
|
|
|
+ showImg.value = URL.createObjectURL(flieData.raw);
|
|
|
+ if (msg.code === 200) {
|
|
|
+ textData.value = msg.msg;
|
|
|
+ }
|
|
|
+ console.log("textData", textData.value);
|
|
|
+};
|
|
|
+const beforeUp = () => {
|
|
|
+ console.log(2);
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.container {
|
|
|
+ height: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+
|
|
|
+ .up_box {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ .left_box {
|
|
|
+ width: 300px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ margin-right: 48px;
|
|
|
+ .upimg_box {
|
|
|
+ width: 100%;
|
|
|
+ height: 300px;
|
|
|
+ border: 1px solid #c1cce3;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ .sunmit_btn {
|
|
|
+ margin-top: 24px;
|
|
|
+ width: 120px;
|
|
|
+ height: 32px;
|
|
|
+ background: #2e6bc8;
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 32px;
|
|
|
+ font-weight: 400;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right_box {
|
|
|
+ width: 300px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ .upimg_box {
|
|
|
+ width: 100%;
|
|
|
+ height: 300px;
|
|
|
+ border: 1px solid #c1cce3;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ .sunmit_btn {
|
|
|
+ margin-top: 24px;
|
|
|
+ width: 120px;
|
|
|
+ height: 32px;
|
|
|
+ background: #2e6bc8;
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 32px;
|
|
|
+ font-weight: 400;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+:deep(.el-dialog__header) {
|
|
|
+ background-color: #eceff7;
|
|
|
+ margin-right: 0px;
|
|
|
+}
|
|
|
+.avatar-uploader .el-upload {
|
|
|
+ border: 1px dashed var(--el-border-color);
|
|
|
+ border-radius: 6px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ transition: var(--el-transition-duration-fast);
|
|
|
+}
|
|
|
+::v-deep .avatar-uploader .el-upload {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ img {
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ margin-bottom: 16px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #06286c;
|
|
|
+ }
|
|
|
+}
|
|
|
+::v-deep .sunmit_btn .avatar-uploader .el-upload {
|
|
|
+ span {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+}
|
|
|
+::v-deep .avatar-uploader .el-upload .el-upload-dragger {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+
|
|
|
+.avatar-uploader .el-upload:hover {
|
|
|
+ border-color: var(--el-color-primary);
|
|
|
+}
|
|
|
+
|
|
|
+.el-icon.avatar-uploader-icon {
|
|
|
+ font-size: 28px;
|
|
|
+ color: #8c939d;
|
|
|
+ width: 178px;
|
|
|
+ height: 178px;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+</style>
|