yh-pub 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.MD +19 -19
- package/layout/admin/adminIndex.vue +104 -104
- package/layout/admin/api/loginApi.js +24 -24
- package/layout/admin/api/routers.js +93 -93
- package/layout/admin/api/tenantApi.js +123 -123
- package/layout/admin/home/homeIndex.vue +25 -25
- package/layout/admin/login/login.vue +161 -161
- package/layout/admin/menu/MenuIndex.vue +648 -648
- package/layout/admin/menu/icon.vue +108 -108
- package/layout/admin/menu/iconList.js +934 -934
- package/layout/admin/saTenant/saTenant.vue +173 -173
- package/layout/admin/saTenant/saTenantForm.js +80 -80
- package/layout/admin/saTenant/saTenantForm.vue +61 -61
- package/layout/admin/saTenant/saTenantRoleManage.js +417 -417
- package/layout/admin/saTenant/saTenantRoleManage.vue +99 -99
- package/layout/admin/user/saUser.less +6 -6
- package/layout/admin/user/saUser.vue +72 -72
- package/layout/main/components/console/console.vue +205 -205
- package/layout/main/components/error-store/error-store.vue +72 -72
- package/layout/main/components/error-store/index.js +2 -2
- package/layout/main/components/fullscreen/fullscreen.vue +57 -57
- package/layout/main/components/fullscreen/index.js +2 -2
- package/layout/main/components/language/language.vue +71 -71
- package/layout/main/components/side-menu/side-menu.less +73 -73
- package/layout/main/components/side-menu/side-menu.vue +75 -75
- package/layout/main/components/tags-nav/tags-nav.less +44 -44
- package/layout/main/components/tags-nav/tags-nav.vue +144 -144
- package/layout/main/components/user/user.less +12 -12
- package/layout/main/components/user/user.vue +185 -185
- package/layout/main/home/home.vue +480 -480
- package/layout/main/home/index.js +2 -2
- package/layout/main/home/toDoList.vue +32 -32
- package/layout/main/login/login.less +93 -93
- package/layout/main/login/login.vue +151 -151
- package/layout/main/main.less +81 -81
- package/layout/main/main.vue +254 -202
- package/layout/main/system/dict.vue +64 -64
- package/layout/main/system/orgManage.vue +473 -473
- package/layout/main/system/roleManage.js +807 -755
- package/layout/main/system/roleManage.vue +424 -399
- package/package.json +11 -11
- package/view/basic/error-logger.vue +74 -74
- package/view/basic/error-page/401.vue +22 -22
- package/view/basic/error-page/404.vue +22 -22
- package/view/basic/error-page/500.vue +22 -22
- package/view/basic/error-page/back-btn-group.vue +48 -48
- package/view/basic/error-page/error-content.vue +28 -28
- package/view/basic/error-page/error.less +46 -46
- package/view/config/component/confFormItem.vue +49 -49
- package/view/config/config.scss +45 -45
- package/view/config/configIndex.vue +150 -150
- package/view/config/subPage/router-config.vue +4 -4
- package/view/config/subPage/sys-config.vue +249 -249
- package/view/window/IframeFReportView.vue +27 -27
- package/view/window/windowIndex.vue +22 -22
package/README.MD
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
## 注意
|
|
2
|
-
在项目使用中
|
|
3
|
-
请不要修改当前文件夹代码
|
|
4
|
-
请不要修改当前文件夹代码
|
|
5
|
-
请不要修改当前文件夹代码
|
|
6
|
-
|
|
7
|
-
当前仓库存放了前端项目框架的公共代码部分,有专门的仓库统一维护,方便更新后各个项目同步。
|
|
8
|
-
|
|
9
|
-
代码存放地址
|
|
10
|
-
[https://codeup.aliyun.com/60765e0161a945067837bb5f/ForntEnd/pub](https://codeup.aliyun.com/60765e0161a945067837bb5f/ForntEnd/pub)
|
|
11
|
-
|
|
12
|
-
**上面仓库地址对企业内人员开放,只要注册云效即可访问**
|
|
13
|
-
|
|
14
|
-
## 开发
|
|
15
|
-
前端人员在开发的过程中将通过一个完整的模板来对这个部分的代码进行开发
|
|
16
|
-
开发代码仓库地址为
|
|
17
|
-
[https://codeup.aliyun.com/60765e0161a945067837bb5f/master/BASE/tree/master/forntEnd/web-new](https://codeup.aliyun.com/60765e0161a945067837bb5f/master/BASE/tree/master/forntEnd/web-new)
|
|
18
|
-
|
|
19
|
-
**上面仓库地址只对指定人员开发,如遇权限问题请联系管理员**
|
|
1
|
+
## 注意
|
|
2
|
+
在项目使用中
|
|
3
|
+
请不要修改当前文件夹代码
|
|
4
|
+
请不要修改当前文件夹代码
|
|
5
|
+
请不要修改当前文件夹代码
|
|
6
|
+
|
|
7
|
+
当前仓库存放了前端项目框架的公共代码部分,有专门的仓库统一维护,方便更新后各个项目同步。
|
|
8
|
+
|
|
9
|
+
代码存放地址
|
|
10
|
+
[https://codeup.aliyun.com/60765e0161a945067837bb5f/ForntEnd/pub](https://codeup.aliyun.com/60765e0161a945067837bb5f/ForntEnd/pub)
|
|
11
|
+
|
|
12
|
+
**上面仓库地址对企业内人员开放,只要注册云效即可访问**
|
|
13
|
+
|
|
14
|
+
## 开发
|
|
15
|
+
前端人员在开发的过程中将通过一个完整的模板来对这个部分的代码进行开发
|
|
16
|
+
开发代码仓库地址为
|
|
17
|
+
[https://codeup.aliyun.com/60765e0161a945067837bb5f/master/BASE/tree/master/forntEnd/web-new](https://codeup.aliyun.com/60765e0161a945067837bb5f/master/BASE/tree/master/forntEnd/web-new)
|
|
18
|
+
|
|
19
|
+
**上面仓库地址只对指定人员开发,如遇权限问题请联系管理员**
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section class="main">
|
|
3
|
-
<aside
|
|
4
|
-
class="left-sider"
|
|
5
|
-
:class="{ 'is-collapse': collapse }">
|
|
6
|
-
<!-- 需要放在菜单上面的内容,如Logo,写在side-menu标签内部,如下 -->
|
|
7
|
-
<div class="logo-con">
|
|
8
|
-
<img
|
|
9
|
-
v-show="!collapse"
|
|
10
|
-
class="max-logo"
|
|
11
|
-
src="@/assets/images/logo.png"
|
|
12
|
-
key="max-logo" />
|
|
13
|
-
<img
|
|
14
|
-
v-show="collapse"
|
|
15
|
-
class="mini-logo"
|
|
16
|
-
src="@/assets/images/logo-min.png"
|
|
17
|
-
key="min-logo" />
|
|
18
|
-
</div>
|
|
19
|
-
<side-menu
|
|
20
|
-
:active-name="route?.name"
|
|
21
|
-
:collapse="collapse"
|
|
22
|
-
@select="turnToPage"
|
|
23
|
-
:menu-list="menuList"></side-menu>
|
|
24
|
-
</aside>
|
|
25
|
-
<section
|
|
26
|
-
class="right-container"
|
|
27
|
-
:class="{ 'is-collapse': collapse }">
|
|
28
|
-
<header class="header-con">
|
|
29
|
-
<i
|
|
30
|
-
:class="`iconfont class-collapsed ${collapse ? 'icon-indent' : 'icon-outdent'}`"
|
|
31
|
-
@click="handleCollapsedChange"></i>
|
|
32
|
-
<sa-user
|
|
33
|
-
:message-unread-count="unreadCount"
|
|
34
|
-
:user-name="userName" />
|
|
35
|
-
<fullscreen v-model="isFullScreen" />
|
|
36
|
-
</header>
|
|
37
|
-
<main class="main-layout-con">
|
|
38
|
-
<tags-nav />
|
|
39
|
-
<section class="main-container">
|
|
40
|
-
<router-view v-slot="{ Component }">
|
|
41
|
-
<KeepAlive ref="kpAliveRef">
|
|
42
|
-
<component
|
|
43
|
-
:is="Component"
|
|
44
|
-
:key="route?.path"
|
|
45
|
-
:max="10" />
|
|
46
|
-
</KeepAlive>
|
|
47
|
-
</router-view>
|
|
48
|
-
</section>
|
|
49
|
-
</main>
|
|
50
|
-
</section>
|
|
51
|
-
</section>
|
|
52
|
-
</template>
|
|
53
|
-
|
|
54
|
-
<script setup>
|
|
55
|
-
import { ref, onMounted } from "vue";
|
|
56
|
-
import { storeToRefs } from "pinia";
|
|
57
|
-
import "../main/main.less";
|
|
58
|
-
import { getStorage } from "@/libs/util.js";
|
|
59
|
-
import { useRouter, useRoute } from "vue-router";
|
|
60
|
-
|
|
61
|
-
import { useAppStore } from "@/store/app.js";
|
|
62
|
-
import { useUserStore } from "@/store/user.js";
|
|
63
|
-
|
|
64
|
-
import SideMenu from "yh-pub/layout/main/components/side-menu/side-menu.vue";
|
|
65
|
-
import TagsNav from "yh-pub/layout/main/components/tags-nav/tags-nav.vue";
|
|
66
|
-
import saUser from "./user/saUser.vue";
|
|
67
|
-
import Fullscreen from "yh-pub/layout/main/components/fullscreen/fullscreen.vue";
|
|
68
|
-
|
|
69
|
-
import saRouter from "yh-pub/layout/admin/api/routers.js";
|
|
70
|
-
|
|
71
|
-
const userStore = useUserStore();
|
|
72
|
-
const appStore = useAppStore();
|
|
73
|
-
const router = useRouter();
|
|
74
|
-
const route = useRoute();
|
|
75
|
-
|
|
76
|
-
const { menuList } = storeToRefs(appStore);
|
|
77
|
-
const { unreadCount } = storeToRefs(userStore);
|
|
78
|
-
|
|
79
|
-
const collapse = ref(false);
|
|
80
|
-
const userName = ref("");
|
|
81
|
-
const isFullScreen = ref(false);
|
|
82
|
-
const kpAliveRef = ref();
|
|
83
|
-
|
|
84
|
-
function turnToPage(routeName) {
|
|
85
|
-
if (routeName === "首页") {
|
|
86
|
-
router.push("/admin");
|
|
87
|
-
} else {
|
|
88
|
-
let r = saRouter.urlMap[routeName];
|
|
89
|
-
if (r) {
|
|
90
|
-
router.push(r);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function handleCollapsedChange() {
|
|
95
|
-
collapse.value = !collapse.value;
|
|
96
|
-
}
|
|
97
|
-
onMounted(() => {
|
|
98
|
-
try {
|
|
99
|
-
userName.value = getStorage("userName").name;
|
|
100
|
-
} catch (error) {
|
|
101
|
-
console.error("菜单加载异常:", error);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<section class="main">
|
|
3
|
+
<aside
|
|
4
|
+
class="left-sider"
|
|
5
|
+
:class="{ 'is-collapse': collapse }">
|
|
6
|
+
<!-- 需要放在菜单上面的内容,如Logo,写在side-menu标签内部,如下 -->
|
|
7
|
+
<div class="logo-con">
|
|
8
|
+
<img
|
|
9
|
+
v-show="!collapse"
|
|
10
|
+
class="max-logo"
|
|
11
|
+
src="@/assets/images/logo.png"
|
|
12
|
+
key="max-logo" />
|
|
13
|
+
<img
|
|
14
|
+
v-show="collapse"
|
|
15
|
+
class="mini-logo"
|
|
16
|
+
src="@/assets/images/logo-min.png"
|
|
17
|
+
key="min-logo" />
|
|
18
|
+
</div>
|
|
19
|
+
<side-menu
|
|
20
|
+
:active-name="route?.name"
|
|
21
|
+
:collapse="collapse"
|
|
22
|
+
@select="turnToPage"
|
|
23
|
+
:menu-list="menuList"></side-menu>
|
|
24
|
+
</aside>
|
|
25
|
+
<section
|
|
26
|
+
class="right-container"
|
|
27
|
+
:class="{ 'is-collapse': collapse }">
|
|
28
|
+
<header class="header-con">
|
|
29
|
+
<i
|
|
30
|
+
:class="`iconfont class-collapsed ${collapse ? 'icon-indent' : 'icon-outdent'}`"
|
|
31
|
+
@click="handleCollapsedChange"></i>
|
|
32
|
+
<sa-user
|
|
33
|
+
:message-unread-count="unreadCount"
|
|
34
|
+
:user-name="userName" />
|
|
35
|
+
<fullscreen v-model="isFullScreen" />
|
|
36
|
+
</header>
|
|
37
|
+
<main class="main-layout-con">
|
|
38
|
+
<tags-nav />
|
|
39
|
+
<section class="main-container">
|
|
40
|
+
<router-view v-slot="{ Component }">
|
|
41
|
+
<KeepAlive ref="kpAliveRef">
|
|
42
|
+
<component
|
|
43
|
+
:is="Component"
|
|
44
|
+
:key="route?.path"
|
|
45
|
+
:max="10" />
|
|
46
|
+
</KeepAlive>
|
|
47
|
+
</router-view>
|
|
48
|
+
</section>
|
|
49
|
+
</main>
|
|
50
|
+
</section>
|
|
51
|
+
</section>
|
|
52
|
+
</template>
|
|
53
|
+
|
|
54
|
+
<script setup>
|
|
55
|
+
import { ref, onMounted } from "vue";
|
|
56
|
+
import { storeToRefs } from "pinia";
|
|
57
|
+
import "../main/main.less";
|
|
58
|
+
import { getStorage } from "@/libs/util.js";
|
|
59
|
+
import { useRouter, useRoute } from "vue-router";
|
|
60
|
+
|
|
61
|
+
import { useAppStore } from "@/store/app.js";
|
|
62
|
+
import { useUserStore } from "@/store/user.js";
|
|
63
|
+
|
|
64
|
+
import SideMenu from "yh-pub/layout/main/components/side-menu/side-menu.vue";
|
|
65
|
+
import TagsNav from "yh-pub/layout/main/components/tags-nav/tags-nav.vue";
|
|
66
|
+
import saUser from "./user/saUser.vue";
|
|
67
|
+
import Fullscreen from "yh-pub/layout/main/components/fullscreen/fullscreen.vue";
|
|
68
|
+
|
|
69
|
+
import saRouter from "yh-pub/layout/admin/api/routers.js";
|
|
70
|
+
|
|
71
|
+
const userStore = useUserStore();
|
|
72
|
+
const appStore = useAppStore();
|
|
73
|
+
const router = useRouter();
|
|
74
|
+
const route = useRoute();
|
|
75
|
+
|
|
76
|
+
const { menuList } = storeToRefs(appStore);
|
|
77
|
+
const { unreadCount } = storeToRefs(userStore);
|
|
78
|
+
|
|
79
|
+
const collapse = ref(false);
|
|
80
|
+
const userName = ref("");
|
|
81
|
+
const isFullScreen = ref(false);
|
|
82
|
+
const kpAliveRef = ref();
|
|
83
|
+
|
|
84
|
+
function turnToPage(routeName) {
|
|
85
|
+
if (routeName === "首页") {
|
|
86
|
+
router.push("/admin");
|
|
87
|
+
} else {
|
|
88
|
+
let r = saRouter.urlMap[routeName];
|
|
89
|
+
if (r) {
|
|
90
|
+
router.push(r);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function handleCollapsedChange() {
|
|
95
|
+
collapse.value = !collapse.value;
|
|
96
|
+
}
|
|
97
|
+
onMounted(() => {
|
|
98
|
+
try {
|
|
99
|
+
userName.value = getStorage("userName").name;
|
|
100
|
+
} catch (error) {
|
|
101
|
+
console.error("菜单加载异常:", error);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
</script>
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import axios from "@/libs/api.request";
|
|
2
|
-
import { errorHandler } from "@/libs/axios.handler";
|
|
3
|
-
|
|
4
|
-
export const saLogin = (param) => {
|
|
5
|
-
return axios
|
|
6
|
-
.request({
|
|
7
|
-
url: "admin/login",
|
|
8
|
-
data: param,
|
|
9
|
-
method: "post",
|
|
10
|
-
type: "json",
|
|
11
|
-
})
|
|
12
|
-
.catch(errorHandler);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export const getSaUserInfo = (param) => {
|
|
16
|
-
return axios
|
|
17
|
-
.request({
|
|
18
|
-
url: "admin/getSaUserInfo",
|
|
19
|
-
data: param,
|
|
20
|
-
method: "post",
|
|
21
|
-
type: "json",
|
|
22
|
-
})
|
|
23
|
-
.catch(errorHandler);
|
|
24
|
-
};
|
|
1
|
+
import axios from "@/libs/api.request";
|
|
2
|
+
import { errorHandler } from "@/libs/axios.handler";
|
|
3
|
+
|
|
4
|
+
export const saLogin = (param) => {
|
|
5
|
+
return axios
|
|
6
|
+
.request({
|
|
7
|
+
url: "admin/login",
|
|
8
|
+
data: param,
|
|
9
|
+
method: "post",
|
|
10
|
+
type: "json",
|
|
11
|
+
})
|
|
12
|
+
.catch(errorHandler);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const getSaUserInfo = (param) => {
|
|
16
|
+
return axios
|
|
17
|
+
.request({
|
|
18
|
+
url: "admin/getSaUserInfo",
|
|
19
|
+
data: param,
|
|
20
|
+
method: "post",
|
|
21
|
+
type: "json",
|
|
22
|
+
})
|
|
23
|
+
.catch(errorHandler);
|
|
24
|
+
};
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
const saRouter = {
|
|
2
|
-
urlMap: {
|
|
3
|
-
saTenant: {
|
|
4
|
-
name: "租户",
|
|
5
|
-
id: "saTenant",
|
|
6
|
-
sort: 9,
|
|
7
|
-
path: "/admin/saTenant",
|
|
8
|
-
meta: {
|
|
9
|
-
id: "saTenant",
|
|
10
|
-
title: "租户",
|
|
11
|
-
icon: "iconfont icon-s-custom",
|
|
12
|
-
keepAlive: true,
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
1: {
|
|
16
|
-
name: "模块管理",
|
|
17
|
-
id: "1",
|
|
18
|
-
sort: 9,
|
|
19
|
-
path: "/admin/window/1",
|
|
20
|
-
meta: {
|
|
21
|
-
id: "1",
|
|
22
|
-
title: "模块管理",
|
|
23
|
-
icon: "iconfont icon-block",
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
2: {
|
|
27
|
-
name: "JDBC管理",
|
|
28
|
-
id: "2",
|
|
29
|
-
sort: 9,
|
|
30
|
-
path: "/admin/window/2",
|
|
31
|
-
meta: {
|
|
32
|
-
id: "2",
|
|
33
|
-
title: "JDBC管理",
|
|
34
|
-
icon: "iconfont icon-s-tools",
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
3: {
|
|
38
|
-
name: "数据源管理",
|
|
39
|
-
id: "3",
|
|
40
|
-
sort: 9,
|
|
41
|
-
path: "/admin/window/3",
|
|
42
|
-
meta: {
|
|
43
|
-
id: "3",
|
|
44
|
-
title: "数据源管理",
|
|
45
|
-
icon: "iconfont icon-database",
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
4: {
|
|
49
|
-
name: "数据选项",
|
|
50
|
-
id: "4",
|
|
51
|
-
sort: 9,
|
|
52
|
-
path: "/admin/window/4",
|
|
53
|
-
meta: {
|
|
54
|
-
id: "4",
|
|
55
|
-
title: "数据选项",
|
|
56
|
-
icon: "iconfont icon-s-data",
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
5: {
|
|
60
|
-
name: "窗口管理",
|
|
61
|
-
id: "5",
|
|
62
|
-
sort: 2,
|
|
63
|
-
path: "/admin/window/5",
|
|
64
|
-
meta: {
|
|
65
|
-
id: "5",
|
|
66
|
-
title: "窗口管理",
|
|
67
|
-
icon: "iconfont icon-windows",
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
menu: {
|
|
71
|
-
name: "菜单管理",
|
|
72
|
-
id: "menu",
|
|
73
|
-
sort: 1,
|
|
74
|
-
path: "/admin/menu",
|
|
75
|
-
meta: {
|
|
76
|
-
id: "menu",
|
|
77
|
-
icon: "iconfont icon-menu1",
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
Statement: {
|
|
81
|
-
name: "报表管理",
|
|
82
|
-
id: "Statement",
|
|
83
|
-
sort: 1,
|
|
84
|
-
path: "/admin/statement/list",
|
|
85
|
-
meta: {
|
|
86
|
-
id: "Statement",
|
|
87
|
-
icon: "iconfont icon-menu1",
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export default saRouter;
|
|
1
|
+
const saRouter = {
|
|
2
|
+
urlMap: {
|
|
3
|
+
saTenant: {
|
|
4
|
+
name: "租户",
|
|
5
|
+
id: "saTenant",
|
|
6
|
+
sort: 9,
|
|
7
|
+
path: "/admin/saTenant",
|
|
8
|
+
meta: {
|
|
9
|
+
id: "saTenant",
|
|
10
|
+
title: "租户",
|
|
11
|
+
icon: "iconfont icon-s-custom",
|
|
12
|
+
keepAlive: true,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
1: {
|
|
16
|
+
name: "模块管理",
|
|
17
|
+
id: "1",
|
|
18
|
+
sort: 9,
|
|
19
|
+
path: "/admin/window/1",
|
|
20
|
+
meta: {
|
|
21
|
+
id: "1",
|
|
22
|
+
title: "模块管理",
|
|
23
|
+
icon: "iconfont icon-block",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
2: {
|
|
27
|
+
name: "JDBC管理",
|
|
28
|
+
id: "2",
|
|
29
|
+
sort: 9,
|
|
30
|
+
path: "/admin/window/2",
|
|
31
|
+
meta: {
|
|
32
|
+
id: "2",
|
|
33
|
+
title: "JDBC管理",
|
|
34
|
+
icon: "iconfont icon-s-tools",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
3: {
|
|
38
|
+
name: "数据源管理",
|
|
39
|
+
id: "3",
|
|
40
|
+
sort: 9,
|
|
41
|
+
path: "/admin/window/3",
|
|
42
|
+
meta: {
|
|
43
|
+
id: "3",
|
|
44
|
+
title: "数据源管理",
|
|
45
|
+
icon: "iconfont icon-database",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
4: {
|
|
49
|
+
name: "数据选项",
|
|
50
|
+
id: "4",
|
|
51
|
+
sort: 9,
|
|
52
|
+
path: "/admin/window/4",
|
|
53
|
+
meta: {
|
|
54
|
+
id: "4",
|
|
55
|
+
title: "数据选项",
|
|
56
|
+
icon: "iconfont icon-s-data",
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
5: {
|
|
60
|
+
name: "窗口管理",
|
|
61
|
+
id: "5",
|
|
62
|
+
sort: 2,
|
|
63
|
+
path: "/admin/window/5",
|
|
64
|
+
meta: {
|
|
65
|
+
id: "5",
|
|
66
|
+
title: "窗口管理",
|
|
67
|
+
icon: "iconfont icon-windows",
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
menu: {
|
|
71
|
+
name: "菜单管理",
|
|
72
|
+
id: "menu",
|
|
73
|
+
sort: 1,
|
|
74
|
+
path: "/admin/menu",
|
|
75
|
+
meta: {
|
|
76
|
+
id: "menu",
|
|
77
|
+
icon: "iconfont icon-menu1",
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
Statement: {
|
|
81
|
+
name: "报表管理",
|
|
82
|
+
id: "Statement",
|
|
83
|
+
sort: 1,
|
|
84
|
+
path: "/admin/statement/list",
|
|
85
|
+
meta: {
|
|
86
|
+
id: "Statement",
|
|
87
|
+
icon: "iconfont icon-menu1",
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export default saRouter;
|