diff --git a/src/apis/system/userList.js b/src/apis/system/userList.js
new file mode 100644
index 0000000..2d48698
--- /dev/null
+++ b/src/apis/system/userList.js
@@ -0,0 +1,13 @@
+import request from "@/utils/request.js";
+
+/**
+ * @description 获取用户列表
+ * @param sex ,pageNum,pageSize
+ * @returns data
+ */
+export function modeListApi(sex, pageNum, pageSize, videoType) {
+ return request({
+ url: `/api/personPatch/list?sex=${sex}&pageNum=${pageNum}&pageSize=${pageSize}&videoType=${videoType}`,
+ method: 'get'
+ })
+}
\ No newline at end of file
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 3d7b41a..afccd79 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -11,47 +11,69 @@
+
+
+
+
+ {{ item.name }}
+
+
+ {{ childrens.name }}
+
+
+
+ {{ $t("modelMangage.title") }}
- {{ $t("modelMangage.title") }}
+ {{ $t("businessMangage.title") }}
- {{ $t("businessMangage.title") }}
+ {{ $t("keyMangage.title") }}
- {{ $t("keyMangage.title") }}
+ {{ $t("priceMangage.title") }}
- {{ $t("priceMangage.title") }}
+ {{ $t("dataCount.title") }}
- {{ $t("dataCount.title") }}
+ {{ $t("apiMangage.title") }}
- {{ $t("apiMangage.title") }}
@@ -177,7 +199,7 @@ const updateShowTalkUsDialog = (newValue: any) => {
//#endregion ------------------------------------
//#region 获取路由列表
-const MenuList = ref([]);
+const MenuList = ref([{ id: "", name: "" }]);
async function getMenuNavFunc() {
try {
const res = await getMenuNavApi();
@@ -186,6 +208,11 @@ async function getMenuNavFunc() {
console.log(error);
}
}
+//#endregion ------------------------------------
+
+//#region 路由及子路由
+const showChildrenRouter = ref("");
+
//#endregion ------------------------------------
@@ -221,10 +248,10 @@ async function getMenuNavFunc() {
bottom: 30px;
}
&-item {
- display: flex;
+ // display: flex;
width: 100%;
- height: 50px;
- padding-left: 10px;
+ // height: 50px;
+ // padding-left: 10px;
font-size: 20px;
font-weight: 500;
line-height: 50px;
@@ -235,14 +262,20 @@ async function getMenuNavFunc() {
border-radius: 5px;
margin-bottom: 20px;
margin-right: 20px;
-
+ overflow: hidden;
.icon {
- width: 40px;
- height: 40px;
+ display: flex;
color: #fff;
border-radius: 50%;
+ margin-right: 10px;
+ width: 100%;
+ height: 50px;
+ line-height: 50px;
.el-icon {
+ margin-left: 10px;
+ margin-top: 12px;
+ margin-right: 10px;
width: 25px;
height: 25px;
font-size: 25px;
@@ -252,11 +285,20 @@ async function getMenuNavFunc() {
vertical-align: sub;
}
}
-
+ .childrenRouter {
+ cursor: pointer;
+ }
+ .childrenRouter:hover {
+ background-color: #304156;
+ }
&:hover {
// background: rgba(255, 255, 255, 0.2);
+
color: #000;
background: #fff;
+ .icon {
+ color: #000;
+ }
.el-icon {
// color: #d4d0ff;
color: #000;
diff --git a/src/router/index.ts b/src/router/index.ts
index cbd1ad7..70ff4ab 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -37,6 +37,7 @@ export const constantRoutes: RouteRecordRaw[] = [
},
],
},
+
{
path: "/",
component: Layout,
@@ -55,6 +56,43 @@ export const constantRoutes: RouteRecordRaw[] = [
},
],
},
+ // 系统设置路由
+ {
+ path: "/",
+ component: Layout,
+ redirect: "/userList",
+ children: [
+ {
+ path: "userList",
+ component: () => import("@/views/dict/index.vue"),
+ name: "userList",
+ meta: {
+ title: "userList",
+ icon: "homepage",
+ affix: true,
+ name: "userListMangage.title",
+ },
+ },
+ ],
+ },
+ {
+ path: "/",
+ component: Layout,
+ redirect: "/ruleList",
+ children: [
+ {
+ path: "ruleList",
+ component: () => import("@/views/mangage/ruleList.vue"),
+ name: "ruleList",
+ meta: {
+ title: "ruleList",
+ icon: "homepage",
+ affix: true,
+ name: "ruleListMangage.title",
+ },
+ },
+ ],
+ },
];
/**
diff --git a/src/types/components.d.ts b/src/types/components.d.ts
index 6fa6b5c..a5771ae 100644
--- a/src/types/components.d.ts
+++ b/src/types/components.d.ts
@@ -14,6 +14,7 @@ declare module '@vue/runtime-core' {
EditPosition: typeof import('./../components/EditPosition.vue')['default']
'EditPosition copy': typeof import('./../components/EditPosition copy.vue')['default']
ElButton: typeof import('element-plus/es')['ElButton']
+ ElCard: typeof import('element-plus/es')['ElCard']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDropdown: typeof import('element-plus/es')['ElDropdown']
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
@@ -24,15 +25,26 @@ declare module '@vue/runtime-core' {
ElInput: typeof import('element-plus/es')['ElInput']
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
ElOption: typeof import('element-plus/es')['ElOption']
+ ElPagination: typeof import('element-plus/es')['ElPagination']
+ ElRadio: typeof import('element-plus/es')['ElRadio']
+ ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
+ ElTable: typeof import('element-plus/es')['ElTable']
+ ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
+ ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElUpload: typeof import('element-plus/es')['ElUpload']
GithubCorner: typeof import('./../components/GithubCorner/index.vue')['default']
Hamburger: typeof import('./../components/Hamburger/index.vue')['default']
IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
+ IEpCollection: typeof import('~icons/ep/collection')['default']
+ IEpDelete: typeof import('~icons/ep/delete')['default']
IEpDocumentAdd: typeof import('~icons/ep/document-add')['default']
IEpEdit: typeof import('~icons/ep/edit')['default']
+ IEpPlus: typeof import('~icons/ep/plus')['default']
+ IEpRefresh: typeof import('~icons/ep/refresh')['default']
+ IEpSearch: typeof import('~icons/ep/search')['default']
LangSelect: typeof import('./../components/LangSelect/index.vue')['default']
MultiUpload: typeof import('./../components/Upload/MultiUpload.vue')['default']
MyLoading: typeof import('./../components/myLoading.vue')['default']
@@ -48,5 +60,6 @@ declare module '@vue/runtime-core' {
}
export interface ComponentCustomProperties {
vInfiniteScroll: typeof import('element-plus/es')['ElInfiniteScroll']
+ vLoading: typeof import('element-plus/es')['ElLoadingDirective']
}
}
diff --git a/src/views/dict/components/dict-item.vue b/src/views/dict/components/dict-item.vue
new file mode 100644
index 0000000..329db35
--- /dev/null
+++ b/src/views/dict/components/dict-item.vue
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+
+
+
+ 启用
+ 禁用
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+ {{ typeName }}
+
+
+
+
+
+
+
+
+
+
+
+ 正常
+ 停用
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dict/index.vue b/src/views/dict/index.vue
new file mode 100644
index 0000000..f4b9721
--- /dev/null
+++ b/src/views/dict/index.vue
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+
+ 启用
+ 禁用
+
+
+
+
+
+ 字典数据
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 正常
+ 停用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mangage/ruleList.vue b/src/views/mangage/ruleList.vue
new file mode 100644
index 0000000..8ab1611
--- /dev/null
+++ b/src/views/mangage/ruleList.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/mangage/userList.vue b/src/views/mangage/userList.vue
new file mode 100644
index 0000000..8ab1611
--- /dev/null
+++ b/src/views/mangage/userList.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+