|
@@ -249,10 +249,23 @@
|
|
|
<!-- 图片容器(包含图片和删除按钮,仅在有图片时显示) -->
|
|
<!-- 图片容器(包含图片和删除按钮,仅在有图片时显示) -->
|
|
|
<div class="avatar-wrapper" v-if="form.logoUrl">
|
|
<div class="avatar-wrapper" v-if="form.logoUrl">
|
|
|
<img :src="form.logoUrl" class="avatar" width="200px">
|
|
<img :src="form.logoUrl" class="avatar" width="200px">
|
|
|
- <!-- 悬停显示的删除按钮 -->
|
|
|
|
|
- <div class="delete-mask" @click.stop="handleDeleteLogo">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+ <!-- 显示删除还是显示放大是更具编辑或者详情来的 -->
|
|
|
|
|
+<!-- <div v-if="isViewMode" class="view-mask" @click.stop="previewImage(form.logoUrl)">-->
|
|
|
|
|
+<!-- <i class="el-icon-zoom-in"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+<!-- <div v-else class="delete-mask" @click.stop="handleDeleteLogo">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+<!-- 并排显示就好了-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.logoUrl)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDeleteLogo">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 未上传图片时显示的默认图标 -->
|
|
<!-- 未上传图片时显示的默认图标 -->
|
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
@@ -320,11 +333,24 @@
|
|
|
<div class="avatar-wrapper" v-if="form.businessLicense">
|
|
<div class="avatar-wrapper" v-if="form.businessLicense">
|
|
|
<img :src="form.businessLicense" class="avatar" width="200px">
|
|
<img :src="form.businessLicense" class="avatar" width="200px">
|
|
|
<!-- 悬停显示的删除按钮 -->
|
|
<!-- 悬停显示的删除按钮 -->
|
|
|
- <div class="delete-mask" @click.stop="handleDelete5">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+<!-- <div class="delete-mask" @click.stop="handleDelete5">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.businessLicense)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDelete5">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <!-- 未上传图片时显示的默认图标 -->
|
|
|
|
|
+ <div v-else class="no-image-placeholder">
|
|
|
|
|
+ <span v-if="isViewMode">用户未上传</span>
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -372,12 +398,23 @@
|
|
|
<div class="avatar-wrapper" v-if="form.drugLicense">
|
|
<div class="avatar-wrapper" v-if="form.drugLicense">
|
|
|
<img :src="form.drugLicense" class="avatar" width="200px">
|
|
<img :src="form.drugLicense" class="avatar" width="200px">
|
|
|
<!-- 悬停显示的删除按钮 -->
|
|
<!-- 悬停显示的删除按钮 -->
|
|
|
- <div class="delete-mask" @click.stop="handleDelete6">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+<!-- <div class="delete-mask" @click.stop="handleDelete6">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.drugLicense)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDelete6">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <!-- 未上传图片时显示的默认图标 -->
|
|
|
|
|
+ <div v-else class="no-image-placeholder">
|
|
|
|
|
+ <span v-if="isViewMode">用户未上传</span>
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
+ </div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-col :span="14">
|
|
<el-col :span="14">
|
|
@@ -415,11 +452,23 @@
|
|
|
<div class="avatar-wrapper" v-if="form.medicalDevice2">
|
|
<div class="avatar-wrapper" v-if="form.medicalDevice2">
|
|
|
<img :src="form.medicalDevice2" class="avatar" width="200px">
|
|
<img :src="form.medicalDevice2" class="avatar" width="200px">
|
|
|
<!-- 悬停显示的删除按钮 -->
|
|
<!-- 悬停显示的删除按钮 -->
|
|
|
- <div class="delete-mask" @click.stop="handleDelete7">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+<!-- <div class="delete-mask" @click.stop="handleDelete7">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.medicalDevice2)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDelete7">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <!-- 未上传图片时显示的默认图标 -->
|
|
|
|
|
+ <div v-else class="no-image-placeholder">
|
|
|
|
|
+ <span v-if="isViewMode">用户未上传</span>
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
+ </div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -473,11 +522,23 @@
|
|
|
<div class="avatar-wrapper" v-if="form.medicalDevice3">
|
|
<div class="avatar-wrapper" v-if="form.medicalDevice3">
|
|
|
<img :src="form.medicalDevice3" class="avatar" width="200px">
|
|
<img :src="form.medicalDevice3" class="avatar" width="200px">
|
|
|
<!-- 悬停显示的删除按钮 -->
|
|
<!-- 悬停显示的删除按钮 -->
|
|
|
- <div class="delete-mask" @click.stop="handleDelete2">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+<!-- <div class="delete-mask" @click.stop="handleDelete2">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.medicalDevice3)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDelete2">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <!-- 未上传图片时显示的默认图标 -->
|
|
|
|
|
+ <div v-else class="no-image-placeholder">
|
|
|
|
|
+ <span v-if="isViewMode">用户未上传</span>
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
+ </div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -520,11 +581,23 @@
|
|
|
<div class="avatar-wrapper" v-if="form.foodLicense">
|
|
<div class="avatar-wrapper" v-if="form.foodLicense">
|
|
|
<img :src="form.foodLicense" class="avatar" width="200px">
|
|
<img :src="form.foodLicense" class="avatar" width="200px">
|
|
|
<!-- 悬停显示的删除按钮 -->
|
|
<!-- 悬停显示的删除按钮 -->
|
|
|
- <div class="delete-mask" @click.stop="handleDelete3">
|
|
|
|
|
- <i class="el-icon-delete"></i>
|
|
|
|
|
|
|
+<!-- <div class="delete-mask" @click.stop="handleDelete3">-->
|
|
|
|
|
+<!-- <i class="el-icon-delete"></i>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+ <div class="button-group">
|
|
|
|
|
+ <div class="preview-btn" @click.stop="previewImage(form.foodLicense)">
|
|
|
|
|
+ <i class="el-icon-zoom-in"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="!isViewMode" class="delete-btn" @click.stop="handleDelete3">
|
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <!-- 未上传图片时显示的默认图标 -->
|
|
|
|
|
+ <div v-else class="no-image-placeholder">
|
|
|
|
|
+ <span v-if="isViewMode">用户未上传</span>
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
+ </div>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="食品经营许可证/备案凭证编号" prop="foodCode" style="margin-left: 5px">
|
|
<el-form-item label="食品经营许可证/备案凭证编号" prop="foodCode" style="margin-left: 5px">
|
|
@@ -856,6 +929,10 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
+ <!-- 修改图片预览对话框,增加更大的预览尺寸 -->
|
|
|
|
|
+ <el-dialog :visible.sync="imagePreviewVisible" width="1100px" append-to-body :modal-append-to-body="false" @close="imagePreviewVisible = false">
|
|
|
|
|
+ <img :src="previewImageUrl" style="width: 100%; height: auto; max-height: 700px; object-fit: contain;" />
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
@@ -884,6 +961,8 @@ export default {
|
|
|
components: { storeDetails, StoreDialog },
|
|
components: { storeDetails, StoreDialog },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ previewImageUrl: '', // 添加预览图片URL
|
|
|
|
|
+ imagePreviewVisible: false,// 添加图片预览对话框可见性控制
|
|
|
// 新增:控制LOGO上传组件禁用状态
|
|
// 新增:控制LOGO上传组件禁用状态
|
|
|
isDeleting: false,
|
|
isDeleting: false,
|
|
|
promptList:[],
|
|
promptList:[],
|
|
@@ -1107,6 +1186,11 @@ export default {
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ // 添加图片预览方法
|
|
|
|
|
+ previewImage(url) {
|
|
|
|
|
+ this.previewImageUrl = url;
|
|
|
|
|
+ this.imagePreviewVisible = true;
|
|
|
|
|
+ },
|
|
|
handleNoticeInfo() {
|
|
handleNoticeInfo() {
|
|
|
qualifications()
|
|
qualifications()
|
|
|
.then(response => {
|
|
.then(response => {
|
|
@@ -1906,6 +1990,62 @@ export default {
|
|
|
.agreement-section .el-date-editor--daterange.el-input__inner {
|
|
.agreement-section .el-date-editor--daterange.el-input__inner {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
}
|
|
}
|
|
|
|
|
+/* 并排按钮样式 */
|
|
|
|
|
+.button-group {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 10px;
|
|
|
|
|
+ right: 10px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ gap: 5px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.preview-btn,
|
|
|
|
|
+.delete-btn {
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ background-color: rgba(0, 0, 0, 0.5);
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ transition: background-color 0.3s;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.preview-btn:hover {
|
|
|
|
|
+ background-color: rgba(0, 0, 0, 0.7);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.delete-btn:hover {
|
|
|
|
|
+ background-color: #f56c6c;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 无图片占位符样式 */
|
|
|
|
|
+.no-image-placeholder {
|
|
|
|
|
+ width: 200px;
|
|
|
|
|
+ height: 200px;
|
|
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ color: #999;
|
|
|
|
|
+ background-color: #fafafa;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.avatar-wrapper {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.avatar {
|
|
|
|
|
+ width: 200px;
|
|
|
|
|
+ height: 200px;
|
|
|
|
|
+ object-fit: cover;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
|
|
|
</style>
|
|
</style>
|