| src/api/helpCenter/helpCenter.js | ●●●●● patch | view | raw | blame | history | |
| src/page/index/top/top-qna.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/system/helpCenter.vue | ●●●●● patch | view | raw | blame | history |
src/api/helpCenter/helpCenter.js
@@ -6,4 +6,22 @@ method: 'post', data,params }) }; }; // 列表 export const listDataAPI = () => { return request({ url: `/blade-system/helpCenter/list`, method: 'get', }) }; //更新 export const updataDataAPI = (data,params) => { return request({ url: `/blade-system/helpCenter/update`, method: 'put', data,params }) }; src/page/index/top/top-qna.vue
@@ -1,29 +1,88 @@ <template> <div class="top-qna"> <el-dropdown @command="dropdownClick" > <img alt="" src="@/assets/images/helpCenter/helpIcon.png" /> <template #dropdown> <el-dropdown-menu> <el-dropdown-item command="guide">入门指南</el-dropdown-item> <el-dropdown-item command="systemupdate">系统更新</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> <el-dropdown @command="dropdownClick"> <img alt="" src="@/assets/images/helpCenter/helpIcon.png" /> <template #dropdown> <el-dropdown-menu> <el-dropdown-item command="guide">入门指南</el-dropdown-item> <el-dropdown-item command="systemupdate">系统更新</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> </div> </template> <script setup> import { useRouter } from 'vue-router' import { listDataAPI } from '@/api/helpCenter/helpCenter'; import { useRouter } from 'vue-router'; import { ElMessage } from 'element-plus'; const router = useRouter() const dropdownClick =(val)=>{ if(val ==='guide'){ ElMessage.warning('加急开发中...'); }else{ router.push('/helpCenter') const router = useRouter(); const systemupdateFilePath = ref(null); const rumenPath = ref(null); const fileData = ref([]); // 存储所有文件数据 const loading = ref(false); const getlistDataAPI = async () => { loading.value = true; try { const res = await listDataAPI(); if (res.data.code === 200 && res.data.data) { fileData.value = res.data.data; // 使用 find 方法查找特定条目 const systemUpdateItem = res.data.data.find(item => item.id === 4); const rumenItem = res.data.data.find(item => item.id === 2); if (systemUpdateItem) { systemupdateFilePath.value = systemUpdateItem.filePath; } else { console.warn('未找到系统更新条目'); } if (rumenItem) { rumenPath.value = rumenItem.filePath; } else { console.warn('未找到入门指南条目'); } console.log('数据加载完成', { systemupdateFilePath: systemupdateFilePath.value, rumenPath: rumenPath.value }); } else { ElMessage.error('获取帮助数据失败'); } } catch (error) { console.error('获取数据出错:', error); ElMessage.error('请求失败'); } finally { loading.value = false; } }; const dropdownClick = val => { // 确保数据已加载 if (loading.value) { ElMessage.warning('数据正在加载,请稍后'); return; } if (val === 'guide') { if (!rumenPath.value) { ElMessage.warning('入门指南文件未找到'); return; } window.open(rumenPath.value, '_blank'); } else if (val === 'systemupdate') { if (!systemupdateFilePath.value) { ElMessage.warning('系统更新文件未找到'); return; } window.open(systemupdateFilePath.value, '_blank'); } }; } } onMounted(() => { getlistDataAPI(); }); </script> <style lang="scss" scoped> src/views/system/helpCenter.vue
@@ -3,7 +3,7 @@ <div class="helpContainer"> <el-table class="custom-table" :data="tableData" :data="helpData" style="width: 100%" :row-class-name="tableRowClassName" > @@ -12,17 +12,17 @@ {{ $index + 1 }} </template> </el-table-column> <el-table-column prop="jibie1" label="一级类别" /> <el-table-column prop="jibie2" label="二级类别" /> <el-table-column prop="name" label="上传者" /> <el-table-column prop="date" label="上传时间" /> <el-table-column prop="levelOneType" label="一级类别" /> <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">查看</span> <span class="look" @click="clickDetail(scope.row)">查看</span> <el-upload style="display: inline-block" :show-file-list="false" :before-upload="onUploadFileBefore" :before-upload="(file) => onUploadFileBefore(file, scope.row)" :limit="1" > <span class="uploads">上传</span> @@ -35,35 +35,11 @@ </template> <script setup> import { uploadFileAPI } from '@/api/helpCenter/helpCenter'; import { uploadFileAPI, listDataAPI, updataDataAPI } from '@/api/helpCenter/helpCenter'; import { ElMessage } from 'element-plus'; const helpData = ref([{}]); const tableData = [ { jibie1: '入门指南', jibie2: '指挥调度平台', name: 'cdsfsdf', date: '2025/05/03 14:10', }, { jibie1: '入门指南', jibie2: '综合管理平台', name: 'cdsfsdf', date: '2025/05/03 14:10', }, { jibie1: '入门指南', jibie2: 'AISKY算法平台', name: 'cdsfsdf', date: '2025/05/03 14:10', }, { jibie1: '一级类别', jibie2: '7.6.35版本更新', name: 'cdsfsdf', date: '2025/05/03 14:10', }, ]; import { onMounted } from 'vue'; const helpData = ref([]); // 表格隔行变色 const tableRowClassName = ({ row, rowIndex }) => { if (rowIndex % 2 === 1) { @@ -72,18 +48,43 @@ return 'success-row'; } }; const onUploadFileBefore = file => { 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) return ElMessage.error('上传失败') ElMessage.success('上传成功') }) const getlistDataAPI = () => { listDataAPI().then(res => { helpData.value = res.data.data; }); }; // 查看 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 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) { ElMessage.success('上传成功'); updataDataAPI(params) } else { ElMessage.error('上传失败'); } }); }; onMounted(() => { getlistDataAPI(); }); </script> <style lang="scss"> .helpContainer {