312 lines
6.8 KiB
TypeScript
312 lines
6.8 KiB
TypeScript
import { defineMock } from "./base";
|
|
|
|
export default defineMock([
|
|
{
|
|
url: "menus/routes",
|
|
method: ["GET"],
|
|
body: {
|
|
code: "00000",
|
|
data: [
|
|
{
|
|
path: "/Home",
|
|
component: "@/pages/HomePage.vue",
|
|
name: "Home",
|
|
meta: {
|
|
title: "首页",
|
|
icon: "home-icon",
|
|
hidden: false,
|
|
alwaysShow: true,
|
|
keepAlive: true,
|
|
params: null
|
|
},
|
|
children: [
|
|
{
|
|
path: "/menjizhen-item",
|
|
component: "@/pages/zl-station/menjizhenItemView.vue",
|
|
name: "MenjizhenItem",
|
|
meta: {
|
|
title: "门急诊医生站",
|
|
icon: "doctor-icon",
|
|
hidden: false,
|
|
alwaysShow: true,
|
|
keepAlive: true,
|
|
params: null
|
|
}
|
|
},
|
|
{
|
|
path: "/zhuyuan-item",
|
|
component: "@/pages/zl-station/zhuyuanItemView.vue",
|
|
name: "ZhuyuanItem",
|
|
meta: {
|
|
title: "住院医生站",
|
|
icon: "hospital-icon",
|
|
hidden: false,
|
|
alwaysShow: true,
|
|
keepAlive: true,
|
|
params: null
|
|
},
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: "/login",
|
|
component: "@/pages/LoginPage.vue",
|
|
name: "LoginView",
|
|
meta: {
|
|
title: "登录",
|
|
icon: "login-icon",
|
|
hidden: true,
|
|
alwaysShow: false,
|
|
keepAlive: false,
|
|
params: null
|
|
},
|
|
children: []
|
|
},
|
|
{
|
|
path: "/:pathMatch(.*)*",
|
|
component: "@/pages/404/notFoundPage.vue",
|
|
name: "NotFound",
|
|
meta: {
|
|
title: "404",
|
|
icon: "error-icon",
|
|
hidden: true,
|
|
alwaysShow: false,
|
|
keepAlive: false,
|
|
params: null
|
|
},
|
|
children: []
|
|
}
|
|
],
|
|
msg: "获取菜单路由成功"
|
|
}
|
|
},
|
|
|
|
// 获取菜单树形表格列表
|
|
{
|
|
url: "menus",
|
|
method: ["GET"],
|
|
body: {
|
|
code: "00000",
|
|
"data": [
|
|
{
|
|
"id": 1,
|
|
"parentId": 0,
|
|
"name": "首页",
|
|
"type": "CATALOG",
|
|
"routeName": "Home",
|
|
"routePath": "/Home",
|
|
"component": "@/pages/HomePage.vue",
|
|
"sort": 1,
|
|
"visible": 1,
|
|
"icon": "home-icon",
|
|
"redirect": null,
|
|
"perm": null,
|
|
"children": [
|
|
{
|
|
"id": 11,
|
|
"parentId": 1,
|
|
"name": "门急诊医生站",
|
|
"type": "MENU",
|
|
"routeName": "MenjizhenItem",
|
|
"routePath": "/menjizhen-item",
|
|
"component": "@/pages/zl-station/menjizhenItemView.vue",
|
|
"sort": 1,
|
|
"visible": 1,
|
|
"icon": "doctor-icon",
|
|
"redirect": null,
|
|
"perm": null,
|
|
"children": []
|
|
},
|
|
{
|
|
"id": 12,
|
|
"parentId": 1,
|
|
"name": "住院医生站",
|
|
"type": "MENU",
|
|
"routeName": "ZhuyuanItem",
|
|
"routePath": "/zhuyuan-item",
|
|
"component": "@/pages/zl-station/zhuyuanItemView.vue",
|
|
"sort": 2,
|
|
"visible": 1,
|
|
"icon": "hospital-icon",
|
|
"redirect": null,
|
|
"perm": null,
|
|
"children": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"parentId": 0,
|
|
"name": "登录",
|
|
"type": "MENU",
|
|
"routeName": "LoginView",
|
|
"routePath": "/login",
|
|
"component": "@/pages/LoginPage.vue",
|
|
"sort": 99,
|
|
"visible": 0, // 对应hidden: true
|
|
"icon": "login-icon",
|
|
"redirect": null,
|
|
"perm": null,
|
|
"children": []
|
|
}
|
|
],
|
|
msg: "一切ok",
|
|
},
|
|
},
|
|
|
|
// 获取菜单树形下拉列表
|
|
{
|
|
url: "menus/options",
|
|
method: ["GET"],
|
|
body: {
|
|
code: "00000",
|
|
"data": [
|
|
{
|
|
"value": 1,
|
|
"label": "首页",
|
|
"children": [
|
|
{
|
|
"value": 11,
|
|
"label": "门急诊医生站",
|
|
},
|
|
{
|
|
"value": 12,
|
|
"label": "住院医生站",
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"value": 2,
|
|
"label": "登录",
|
|
"children": []
|
|
}
|
|
],
|
|
msg: "一切ok",
|
|
}
|
|
},
|
|
|
|
// 新增菜单
|
|
{
|
|
url: "menus",
|
|
method: ["POST"],
|
|
body({ body }) {
|
|
return {
|
|
code: "00000",
|
|
data: null,
|
|
msg: "新增菜单" + body.name + "成功",
|
|
};
|
|
},
|
|
},
|
|
|
|
// 获取菜单表单数据
|
|
{
|
|
url: "menus/:id/form",
|
|
method: ["GET"],
|
|
body: ({ params }) => {
|
|
return {
|
|
code: "00000",
|
|
data: menuMap[params.id],
|
|
msg: "一切ok",
|
|
};
|
|
},
|
|
},
|
|
|
|
// 修改菜单
|
|
{
|
|
url: "menus/:id",
|
|
method: ["PUT"],
|
|
body({ body }) {
|
|
return {
|
|
code: "00000",
|
|
data: null,
|
|
msg: "修改菜单" + body.name + "成功",
|
|
};
|
|
},
|
|
},
|
|
|
|
// 删除菜单
|
|
{
|
|
url: "menus/:id",
|
|
method: ["DELETE"],
|
|
body({ params }) {
|
|
return {
|
|
code: "00000",
|
|
data: null,
|
|
msg: "删除菜单" + params.id + "成功",
|
|
};
|
|
},
|
|
},
|
|
]);
|
|
|
|
// 菜单映射表数据
|
|
|
|
const menuMap: Record<string, any> = {
|
|
1: {
|
|
id: 1,
|
|
parentId: 0,
|
|
name: "首页",
|
|
type: "CATALOG",
|
|
routeName: "Home",
|
|
routePath: "/Home",
|
|
component: "@/pages/HomePage.vue",
|
|
perm: null,
|
|
visible: 1,
|
|
sort: 1,
|
|
icon: "home-icon",
|
|
redirect: null,
|
|
keepAlive: 1,
|
|
alwaysShow: 1,
|
|
params: null
|
|
},
|
|
11: {
|
|
id: 11,
|
|
parentId: 1,
|
|
name: "门急诊医生站",
|
|
type: "MENU",
|
|
routeName: "MenjizhenItem",
|
|
routePath: "/menjizhen-item",
|
|
component: "@/pages/zl-station/menjizhenItemView.vue",
|
|
perm: null,
|
|
visible: 1,
|
|
sort: 1,
|
|
icon: "doctor-icon",
|
|
redirect: null,
|
|
keepAlive: 1,
|
|
alwaysShow: 1,
|
|
params: null
|
|
},
|
|
12: {
|
|
id: 12,
|
|
parentId: 1,
|
|
name: "住院医生站",
|
|
type: "MENU",
|
|
routeName: "ZhuyuanItem",
|
|
routePath: "/zhuyuan-item",
|
|
component: "@/pages/zl-station/zhuyuanItemView.vue",
|
|
perm: null,
|
|
visible: 1,
|
|
sort: 2,
|
|
icon: "hospital-icon",
|
|
redirect: null,
|
|
keepAlive: 1,
|
|
alwaysShow: 1,
|
|
params: null
|
|
},
|
|
2: {
|
|
id: 2,
|
|
parentId: 0,
|
|
name: "登录",
|
|
type: "MENU",
|
|
routeName: "LoginView",
|
|
routePath: "/login",
|
|
component: "@/pages/LoginPage.vue",
|
|
perm: null,
|
|
visible: 0,
|
|
sort: 99,
|
|
icon: "login-icon",
|
|
redirect: null,
|
|
keepAlive: 0,
|
|
alwaysShow: 0,
|
|
params: null
|
|
}
|
|
}; |