From 5808f76456ca0d40de5074f132b73a5a488e3e13 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 09 Dec 2025 09:12:03 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v9.0/9.0.1' into test
---
src/views/system/helpCenter.vue | 128 ++++++++++++++++++++++++++++--------------
1 files changed, 86 insertions(+), 42 deletions(-)
diff --git a/src/views/system/helpCenter.vue b/src/views/system/helpCenter.vue
index 13b9d15..8860f3c 100644
--- a/src/views/system/helpCenter.vue
+++ b/src/views/system/helpCenter.vue
@@ -2,7 +2,8 @@
<basic-container>
<div class="helpContainer">
<el-table
- class="custom-table"
+ border
+ class="custom-header"
:data="helpData"
style="width: 100%"
:row-class-name="tableRowClassName"
@@ -16,20 +17,37 @@
<el-table-column prop="levelTwoType" label="二级类别" />
<el-table-column prop="uploadUser" label="上传者" />
<el-table-column prop="createTime" label="上传时间" />
- <el-table-column label="操作" width="150" align="center">
- <template #default="scope">
- <span class="look" @click="clickDetail(scope.row)">查看</span>
- <el-upload
- style="display: inline-block"
- :show-file-list="false"
- :before-upload="(file) => onUploadFileBefore(file, scope.row)"
- :limit="1"
- accept=".pdf"
- >
- <span class="uploads" v-if="permission.helpCenterUpload">上传</span>
- </el-upload>
- </template>
- </el-table-column>
+ <el-table-column label="操作" width="200" align="center">
+ <template #default="scope">
+ <div class="actionBar" >
+ <el-button
+ class="look"
+ icon="el-icon-view"
+ type="text"
+ @click="clickDetail(scope.row)"
+ v-if="permission.helpCenterLook"
+ >
+ 查看
+ </el-button>
+ <el-upload
+ style="display: inline-block"
+ :show-file-list="false"
+ :before-upload="file => onUploadFileBefore(file, scope.row)"
+ :limit="1"
+ accept=".pdf"
+ >
+ <el-button
+ class="uploads"
+ icon="el-icon-upload"
+ type="text"
+ v-if="permission.helpCenterUpload"
+ >
+ 上传
+ </el-button>
+ </el-upload>
+ </div>
+ </template>
+</el-table-column>
</el-table>
</div>
</basic-container>
@@ -41,9 +59,9 @@
import { computed, onMounted } from 'vue';
const helpData = ref([]);
-import { useStore } from 'vuex'
+import { useStore } from 'vuex';
const store = useStore();
-const permission = computed(() => store.state.user.permission);
+const permission = computed(() => store.state.user.permission);
// 表格隔行变色
const tableRowClassName = ({ row, rowIndex }) => {
if (rowIndex % 2 === 1) {
@@ -55,37 +73,51 @@
const getlistDataAPI = () => {
listDataAPI().then(res => {
helpData.value = res.data.data;
-
});
};
// 查看
-const clickDetail = (val) => {
- const filePath = val.filePath
- if (!val.filePath) {
+// const clickDetail = row => {
+// if (!row.filePath) {
+// ElMessage.warning('没有可预览的文件');
+// return;
+// }
+// fetch(row.filePath)
+// .then(response => response.blob())
+// .then(res => {
+// let blob = new Blob([res], { type: 'application/pdf' });
+// // pdfurl即转化后的结果
+// let pdfurl = window.URL.createObjectURL(blob);
+// // 新标签页打开,即可预览并下载
+// window.open(pdfurl);
+// });
+// };
+const clickDetail = val => {
+ const filePath = val.filePath;
+ if (!val.filePath) {
ElMessage.warning('没有可预览的文件');
return;
}
window.open(filePath, '_blank');
};
// 文件上传
-const onUploadFileBefore = (file,row) => {
-
-const params={
- id:row.id,
- filePath:row.filePath
-}
+const onUploadFileBefore = (file, row) => {
const fileFormat = file.name?.split('.')[1];
if (fileFormat !== 'pdf') return ElMessage.error('请上传pdf格式的文件');
const formData = new FormData();
formData.append('file', file, file.name);
+
uploadFileAPI(formData).then(res => {
if (res.data.code === 200) {
+ const params = {
+ id: row.id,
+ filePath: res.data.data.link,
+ };
ElMessage.success('上传成功');
- updataDataAPI(params)
+ updataDataAPI(params);
} else {
ElMessage.error('上传失败');
}
- getlistDataAPI();
+ getlistDataAPI();
});
};
onMounted(() => {
@@ -94,12 +126,12 @@
</script>
<style lang="scss">
.helpContainer {
- .el-table .success-row {
- --el-table-tr-bg-color: #fff;
- }
- .el-table .warning-row {
- --el-table-tr-bg-color: #f3f6ff;
- }
+ // .el-table .success-row {
+ // --el-table-tr-bg-color: #fff;
+ // }
+ // .el-table .warning-row {
+ // --el-table-tr-bg-color: #f3f6ff;
+ // }
}
</style>
<style scoped lang="scss">
@@ -129,18 +161,30 @@
.helpContainer {
height: 100%;
.look {
- font-family: Source Han Sans CN, Source Han Sans CN;
- color: #1c5cff;
+ // font-family: Source Han Sans CN, Source Han Sans CN;
+ // color: #1c5cff;
cursor: pointer;
margin-right: 15px;
- font-size: 14px;
+ // font-size: 14px;
}
.uploads {
- font-family: Source Han Sans CN, Source Han Sans CN;
- font-weight: 400;
- font-size: 14px;
- color: #19876d;
+ // font-family: Source Han Sans CN, Source Han Sans CN;
+ // font-weight: 400;
+ // font-size: 14px;
+ // color: #19876d;
cursor: pointer;
+
}
+ .actionBar {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 8px;
+ }
+ :deep(.custom-header th.el-table__cell) {
+ color: rgba(0, 0, 0, 0.85);
+ background: #fafafa;
+
+}
}
</style>
--
Gitblit v1.9.3