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 @@ + + + + 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 @@ + + + + + +