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\";",
+ },
+ },
},
- },
- },
- };
+ };
});