feat(menu): 添加菜单完整路径功能和待写病历管理
- 在SysMenu实体类中新增fullPath字段用于存储完整路径 - 实现buildMenuTreeWithFullPath方法构建带完整路径的菜单树 - 添加getMenuFullPath和generateFullPath服务方法获取和生成完整路径 - 在菜单控制器中增加获取完整路径的API接口 - 前端菜单组件显示完整路径并在新增修改时使用后端返回的路径 - 添加待写病历管理功能包括获取待写病历列表、数量统计和检查接口 - 在医生工作站界面集成待写病历选项卡和相关处理逻辑 - 更新首页统计数据接口路径并添加待写病历数量获取功能 - 重构首页快捷功能配置为动态从数据库获取用户自定义配置 - 优化菜单列表查询使用异步方式处理带完整路径的菜单数据 - 添加菜单完整路径的数据库映射配置和前端API调用支持
This commit is contained in:
@@ -74,6 +74,12 @@
|
||||
<el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
|
||||
<el-table-column prop="perms" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
|
||||
<el-table-column prop="path" label="路由地址" :show-overflow-tooltip="true"></el-table-column>
|
||||
<el-table-column prop="fullPath" label="完整路径" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.fullPath">{{ scope.row.fullPath }}</span>
|
||||
<span v-else-if="scope.row.path">{{ scope.row.path }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="component" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
|
||||
<el-table-column prop="status" label="状态" width="80">
|
||||
<template #default="scope">
|
||||
@@ -186,6 +192,11 @@
|
||||
<el-input v-model="form.path" placeholder="请输入路由地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="form.menuType != 'F' && form.fullPath">
|
||||
<el-form-item label="完整路径">
|
||||
<el-input v-model="form.fullPath" readonly placeholder="完整路径" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="form.menuType == 'C'">
|
||||
<el-form-item prop="component">
|
||||
<template #label>
|
||||
@@ -325,12 +336,17 @@ const data = reactive({
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/** 查询菜单列表 */
|
||||
function getList() {
|
||||
async function getList() {
|
||||
loading.value = true;
|
||||
listMenu(queryParams.value).then(response => {
|
||||
menuList.value = proxy.handleTree(response.data, "menuId");
|
||||
try {
|
||||
const response = await listMenu(queryParams.value);
|
||||
// 后端已经返回了带完整路径的菜单树,直接使用即可
|
||||
menuList.value = response.data;
|
||||
} catch (error) {
|
||||
console.error('获取菜单列表失败:', error);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
/** 查询菜单下拉树结构 */
|
||||
function getTreeselect() {
|
||||
@@ -380,13 +396,16 @@ function resetQuery() {
|
||||
handleQuery();
|
||||
}
|
||||
/** 新增按钮操作 */
|
||||
function handleAdd(row) {
|
||||
async function handleAdd(row) {
|
||||
reset();
|
||||
getTreeselect();
|
||||
await getTreeselect();
|
||||
if (row != null && row.menuId) {
|
||||
form.value.parentId = row.menuId;
|
||||
// 使用后端返回的完整路径
|
||||
form.value.parentFullPath = row.fullPath || row.path;
|
||||
} else {
|
||||
form.value.parentId = 0;
|
||||
form.value.parentFullPath = '';
|
||||
}
|
||||
open.value = true;
|
||||
title.value = "添加菜单";
|
||||
@@ -403,11 +422,16 @@ function toggleExpandAll() {
|
||||
async function handleUpdate(row) {
|
||||
reset();
|
||||
await getTreeselect();
|
||||
getMenu(row.menuId).then(response => {
|
||||
try {
|
||||
const response = await getMenu(row.menuId);
|
||||
form.value = response.data;
|
||||
// 使用后端返回的完整路径
|
||||
form.value.fullPath = row.fullPath || row.path;
|
||||
open.value = true;
|
||||
title.value = "修改菜单";
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('获取菜单信息失败:', error);
|
||||
}
|
||||
}
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
|
||||
Reference in New Issue
Block a user