From cca2f449acf1902402252da340182a4a61853ae9 Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Thu, 23 Mar 2023 18:39:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=90=8E=E5=8F=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/db/常用语句.sql | 3 + .../src/assets/css/public/color.scss | 4 +- code/web/task_schedule/src/layout/Index.vue | 85 ++++++++++ .../src/layout/components/Aside.vue | 157 ++++++++++++++++++ .../src/layout/components/Header.vue | 76 +++++++++ .../src/layout/components/Main.vue | 47 ++++++ code/web/task_schedule/src/main.js | 4 +- code/web/task_schedule/src/router/index.js | 81 ++++++++- code/web/task_schedule/src/style.css | 4 +- .../src/utils/api/localStorage.ts | 21 ++- .../src/views/DataManagement.vue | 26 +++ code/web/task_schedule/src/views/Desktop.vue | 24 +++ code/web/task_schedule/src/views/Login.vue | 100 ++++++----- .../src/views/StaffManagement.vue | 26 +++ code/web/task_schedule/vite.config.js | 50 +++--- 15 files changed, 626 insertions(+), 82 deletions(-) create mode 100644 code/web/task_schedule/src/layout/Index.vue create mode 100644 code/web/task_schedule/src/layout/components/Aside.vue create mode 100644 code/web/task_schedule/src/layout/components/Header.vue create mode 100644 code/web/task_schedule/src/layout/components/Main.vue create mode 100644 code/web/task_schedule/src/views/DataManagement.vue create mode 100644 code/web/task_schedule/src/views/Desktop.vue create mode 100644 code/web/task_schedule/src/views/StaffManagement.vue diff --git a/code/db/常用语句.sql b/code/db/常用语句.sql index 517040e..0aa9eb4 100644 --- a/code/db/常用语句.sql +++ b/code/db/常用语句.sql @@ -7,3 +7,6 @@ SELECT b.reward_name, FROM reward_gainers a, reward_projects b WHERE a.reward_index = b.reward_index; + +SELECT * + FROM ÿձ; diff --git a/code/web/task_schedule/src/assets/css/public/color.scss b/code/web/task_schedule/src/assets/css/public/color.scss index 7bc31ed..d63b25e 100644 --- a/code/web/task_schedule/src/assets/css/public/color.scss +++ b/code/web/task_schedule/src/assets/css/public/color.scss @@ -6,4 +6,6 @@ $color-bg-04: #da3703; $color-bg-05: #ba1800; $color-charts-bg:#ffffff9f; -$color-honorlist-bg: rgba(255, 255, 255, 0.3); \ No newline at end of file +$color-honorlist-bg: rgba(255, 255, 255, 0.3); + +$banner-background-color: #1d74b2; \ No newline at end of file diff --git a/code/web/task_schedule/src/layout/Index.vue b/code/web/task_schedule/src/layout/Index.vue new file mode 100644 index 0000000..211ea8d --- /dev/null +++ b/code/web/task_schedule/src/layout/Index.vue @@ -0,0 +1,85 @@ + + + + diff --git a/code/web/task_schedule/src/layout/components/Aside.vue b/code/web/task_schedule/src/layout/components/Aside.vue new file mode 100644 index 0000000..3fa7c3a --- /dev/null +++ b/code/web/task_schedule/src/layout/components/Aside.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/code/web/task_schedule/src/layout/components/Header.vue b/code/web/task_schedule/src/layout/components/Header.vue new file mode 100644 index 0000000..d632051 --- /dev/null +++ b/code/web/task_schedule/src/layout/components/Header.vue @@ -0,0 +1,76 @@ + + + + + + diff --git a/code/web/task_schedule/src/layout/components/Main.vue b/code/web/task_schedule/src/layout/components/Main.vue new file mode 100644 index 0000000..1eb252c --- /dev/null +++ b/code/web/task_schedule/src/layout/components/Main.vue @@ -0,0 +1,47 @@ + + + + + + + diff --git a/code/web/task_schedule/src/main.js b/code/web/task_schedule/src/main.js index bd121a5..1c88fe9 100644 --- a/code/web/task_schedule/src/main.js +++ b/code/web/task_schedule/src/main.js @@ -2,7 +2,7 @@ * @Author: Kane * @Date: 2023-02-15 09:25:52 * @LastEditors: Kane - * @LastEditTime: 2023-03-17 12:07:48 + * @LastEditTime: 2023-03-23 16:32:01 * @FilePath: /task_schedule/src/main.js * @Description: * @@ -28,7 +28,7 @@ const app = createApp(App); // 注册element-plus的图标 for (const [key, component,] of Object.entries(ElementPlusIconsVue)) { - app.component(key, component); + app.component(key, component); } app.use(ElementPlus); diff --git a/code/web/task_schedule/src/router/index.js b/code/web/task_schedule/src/router/index.js index 0d50f62..44bcbbf 100644 --- a/code/web/task_schedule/src/router/index.js +++ b/code/web/task_schedule/src/router/index.js @@ -23,18 +23,64 @@ const routes = [ hidden: true, component: async () => await import( "@/views/Login.vue" ), }, - { - path: "/public", - name: "Public", - hidden: true, - component: async () => await import( "@/views/Public.vue" ), - }, + // 桌面霸屏 { path: "/desktop_archievement", name: "DesktopArchievement", hidden: true, component: async () => await import( "@/views/DesktopArchievement.vue" ), }, + // 工作台 + { + path:"/console", + name:"Console", + meta: { + title: "总览", + icon: "house", + }, + component: ()=> import("../layout/Index.vue"), + children:[ + { + path:"/desktop", + name:"Desktop", + meta: { + title:"工作台", + icon: "house", + }, + component: ()=> import("../views/Desktop.vue"), + }, + ], + }, + //数据管理 + { + path:"/data", + name:"Data", + meta:{ + title:"数据管理", + icon: "document", + }, + component: ()=> import("../layout/Index.vue"), + children:[ + { + path:"/staff_data", + name:"StaffDataManagement", + meta: { + title:"坐席管理", + icon: "user", + }, + component: ()=> import("../views/StaffManagement.vue"), + }, + { + path:"/archievement_data", + name:"ArchievementDataManagement", + meta: { + title:"数据管理", + icon: "document", + }, + component: ()=> import("../views/DataManagement.vue"), + }, + ], + }, ]; const router = createRouter( @@ -50,4 +96,25 @@ const router = createRouter( // }); -export { router }; +// 工具函数 +function hasOnlyChild( children ) +{ + if ( !children ) + { + return false; + } + + const routes = children.filter((item)=> + { + return !item.hidden; + }); + + if ( routes.length === 1) + { + return true; + } + + return false; +} + +export { router, hasOnlyChild }; diff --git a/code/web/task_schedule/src/style.css b/code/web/task_schedule/src/style.css index 692da45..4fca6df 100644 --- a/code/web/task_schedule/src/style.css +++ b/code/web/task_schedule/src/style.css @@ -1,8 +1,8 @@ -html { +/* html { background-image: url("@/assets/img/bg/bg_01.jpg"); background-attachment: fixed; background-size: contain; -} +} */ body { width: 100vw; diff --git a/code/web/task_schedule/src/utils/api/localStorage.ts b/code/web/task_schedule/src/utils/api/localStorage.ts index fd3e257..bfd174b 100644 --- a/code/web/task_schedule/src/utils/api/localStorage.ts +++ b/code/web/task_schedule/src/utils/api/localStorage.ts @@ -10,6 +10,7 @@ import { StaffInfo } from "@/data/cpicxim/StaffInfo.js"; const STUFF_ITEM = "stuff_info"; +const USER_TYPE_ITEM = "user_type"; function loadStaffInfo(): StaffInfo { @@ -48,4 +49,22 @@ function cleanStaffInfo(): void window.localStorage.removeItem( STUFF_ITEM ); } -export { loadStaffInfo, saveStaffInfo, cleanStaffInfo }; +function saveUserType( userType: string ): void +{ + window.localStorage.setItem( USER_TYPE_ITEM, userType ); +} + +function getUserType(): string +{ + const userType = window.localStorage.getItem( USER_TYPE_ITEM ) ?? ""; + + return userType; +} + +export { + loadStaffInfo, + saveStaffInfo, + cleanStaffInfo, + saveUserType, + getUserType +}; diff --git a/code/web/task_schedule/src/views/DataManagement.vue b/code/web/task_schedule/src/views/DataManagement.vue new file mode 100644 index 0000000..38ce593 --- /dev/null +++ b/code/web/task_schedule/src/views/DataManagement.vue @@ -0,0 +1,26 @@ + + + + diff --git a/code/web/task_schedule/src/views/Desktop.vue b/code/web/task_schedule/src/views/Desktop.vue new file mode 100644 index 0000000..beacd35 --- /dev/null +++ b/code/web/task_schedule/src/views/Desktop.vue @@ -0,0 +1,24 @@ + + + + diff --git a/code/web/task_schedule/src/views/Login.vue b/code/web/task_schedule/src/views/Login.vue index 95f22c4..d4e2b0a 100644 --- a/code/web/task_schedule/src/views/Login.vue +++ b/code/web/task_schedule/src/views/Login.vue @@ -67,7 +67,7 @@ + diff --git a/code/web/task_schedule/vite.config.js b/code/web/task_schedule/vite.config.js index b319cb7..06b2ba2 100644 --- a/code/web/task_schedule/vite.config.js +++ b/code/web/task_schedule/vite.config.js @@ -15,33 +15,33 @@ import path from "path"; // https://vitejs.dev/config/ export default defineConfig((command, mode) => { - const env = loadEnv(mode, process.cwd(), ""); + const env = loadEnv(mode, process.cwd(), ""); - return { - plugins: [vue(),], - base: "./", - resolve: { - //配置别名 - alias: [ - { - find: /^~/, - replacement: "", + return { + plugins: [vue(),], + base: "./", + resolve: { + //配置别名 + alias: [ + { + find: /^~/, + replacement: "", + }, + { + find: "@", + replacement: path.resolve(__dirname, "src"), + }, + ], }, - { - find: "@", - replacement: path.resolve(__dirname, "src"), + define: { + __APP_ENV__: env.APP_ENV, }, - ], - }, - define: { - __APP_ENV__: env.APP_ENV, - }, - css: { - preprocessorOptions: { - scss: { - additionalData: "@import \"./src/assets/css/public/color.scss\";", + css: { + preprocessorOptions: { + scss: { + additionalData: "@import \"./src/assets/css/public/color.scss\";", + }, + }, }, - }, - }, - }; + }; });