From 656ffdc9715410d839811fbc1029b55b9f991612 Mon Sep 17 00:00:00 2001
From: hr121 <568127468@qq.com>
Date: Sat, 23 Aug 2025 23:03:52 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A3=9E=E8=A1=8C=E5=99=A8?=
=?UTF-8?q?=E4=BF=9D=E9=99=A9=E8=AE=B0=E5=BD=95=E9=99=84=E4=BB=B6=E6=97=A0?=
=?UTF-8?q?=E6=B3=95=E6=9F=A5=E7=9C=8B=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/InsuranceRecord.vue | 45 ++++++++++++++++++-
1 file changed, 43 insertions(+), 2 deletions(-)
diff --git a/src/views/aircraft/aircraftDetail/components/InsuranceRecord.vue b/src/views/aircraft/aircraftDetail/components/InsuranceRecord.vue
index da847cd..8a3523c 100644
--- a/src/views/aircraft/aircraftDetail/components/InsuranceRecord.vue
+++ b/src/views/aircraft/aircraftDetail/components/InsuranceRecord.vue
@@ -116,7 +116,7 @@
:auto-upload="false"
:on-change="handleFileChange"
:on-remove="handleFileRemove"
- list-type="text"
+ :on-preview="handlePreview"
multiple
:disabled="isView"
>
@@ -132,6 +132,16 @@
确 定
+
+
+
+
@@ -169,6 +179,9 @@ export default {
dialogTitle: "新增保险",
uploadDisabled: false,
isView: false, // 是否为查看模式
+ previewVisible: false, // 图片预览弹窗显示状态
+ previewUrl: '', // 预览图片的URL
+ previewTitle: '', // 预览图片的标题
form: {
id: null,
name: "",
@@ -209,7 +222,7 @@ export default {
value: item.dictSort,
label: item.value
}))
- console.log(this.insuranceTypes)
+ // console.log(this.insuranceTypes)
} catch (error) {
console.error('获取保险类型失败:', error)
this.$message.error('获取保险类型失败')
@@ -284,6 +297,30 @@ export default {
this.$message.error('获取保险详情失败');
}
},
+ // 处理文件预览
+ handlePreview(file) {
+ // 获取文件扩展名(转换为小写)
+ const fileExt = file.name.split('.').pop().toLowerCase();
+
+ // 判断文件类型
+ if(['jpg', 'jpeg', 'png', 'gif'].includes(fileExt)) {
+ // 图片预览
+ this.previewUrl = file.url;
+ this.previewTitle = file.name;
+ this.previewVisible = true;
+ } else if (fileExt === 'pdf') {
+ // PDF预览 - 在新窗口打开
+ window.open(file.url, '_blank');
+ } else {
+ // 其他文件类型 - 提示下载
+ this.$message.info('该文件类型不支持在线预览,请下载后查看');
+ const link = document.createElement('a');
+ link.href = file.url;
+ link.download = file.name;
+ link.click();
+ }
+ },
+
handleDelete(row) {
this.$confirm('此操作将永久删除该保险记录, 是否继续?', '提示', {
confirmButtonText: '确定',
@@ -461,6 +498,10 @@ export default {
margin-left: 2px;
}
+::v-deep .el-dialog__body{
+ padding: 0 20px 10px 20px !important;
+}
+
.dialog-footer {
text-align: right;
padding-top: 20px;