Compare commits
8 Commits
main
...
feature-we
Author | SHA1 | Date | |
---|---|---|---|
ef1b43436b | |||
79db808657 | |||
6c9ee92750 | |||
907997b145 | |||
a561bc0eaa | |||
253fc25489 | |||
9859570704 | |||
676c1bbb7d |
14
README.md
14
README.md
@@ -1,3 +1,13 @@
|
|||||||
# desktop_task_schedule
|
<h1 style="text-align:center;font-size:4rem;" title>桌面任务进度展示</h1>
|
||||||
|
|
||||||
桌面任务进度展现。
|
|
||||||
|
|
||||||
|
用于在员工电脑桌面展示业务进度。
|
||||||
|
|
||||||
|
# 基本架构
|
||||||
|
|
||||||
|
初步架构设计如下:
|
||||||
|
|
||||||
|
1. 员工电脑使用 Lively Wallpaper,将壁纸设置为一个web页面。
|
||||||
|
2. 前端使用vite + vue3;
|
||||||
|
3. 后端使用 Java + springMVC;
|
@@ -9,11 +9,21 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/eslint-parser": "^7.19.1",
|
||||||
|
"@element-plus/icons-vue": "^2.0.10",
|
||||||
"element-plus": "^2.2.30",
|
"element-plus": "^2.2.30",
|
||||||
"vue": "^3.2.45"
|
"moment": "^2.29.4",
|
||||||
|
"vue": "^3.2.45",
|
||||||
|
"vue-router": "^4.1.6",
|
||||||
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/eslint-parser": "^7.19.1",
|
||||||
"@vitejs/plugin-vue": "^4.0.0",
|
"@vitejs/plugin-vue": "^4.0.0",
|
||||||
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
|
"eslint": "^8.35.0",
|
||||||
|
"eslint-config-recommended": "^4.1.0",
|
||||||
|
"eslint-plugin-vue": "^9.9.0",
|
||||||
"vite": "^4.1.0"
|
"vite": "^4.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2023-02-15 09:25:52
|
* @Date: 2023-02-15 09:25:52
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2023-02-15 14:40:33
|
* @LastEditTime: 2023-02-28 01:15:01
|
||||||
* @FilePath: /task_schedule/src/App.vue
|
* @FilePath: /task_schedule/src/App.vue
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
@@ -10,12 +10,7 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-config-provider :locale="this.locale">
|
<el-config-provider :locale="this.locale">
|
||||||
<div class="app_wrapper">
|
<router-view></router-view>
|
||||||
<div class="counter_wrapper">
|
|
||||||
<span>s{{ ui.counter }}</span>
|
|
||||||
<!-- <el-button type="danger" @click="onCount">点击</el-button> -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -40,16 +35,16 @@ export default {
|
|||||||
console.log(ui.counter);
|
console.log(ui.counter);
|
||||||
};
|
};
|
||||||
|
|
||||||
setInterval(() =>
|
// setInterval(() =>
|
||||||
{
|
// {
|
||||||
ui.counter += 1;
|
// ui.counter += 1;
|
||||||
// console.log(counter);
|
// // console.log(counter);
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
|
|
||||||
setInterval(() =>
|
// setInterval(() =>
|
||||||
{
|
// {
|
||||||
location.reload();
|
// location.reload();
|
||||||
}, 60000);
|
// }, 5000);
|
||||||
|
|
||||||
return { locale, ui, onCount };
|
return { locale, ui, onCount };
|
||||||
},
|
},
|
||||||
@@ -69,8 +64,12 @@ export default {
|
|||||||
|
|
||||||
.counter_wrapper {
|
.counter_wrapper {
|
||||||
width: 500px;
|
width: 500px;
|
||||||
|
margin-top: 1cm;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: 20px;
|
margin-right: 1cm;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: rgb(250 250 250 / 75%);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.counter_wrapper:hover {
|
.counter_wrapper:hover {
|
||||||
|
BIN
code/web/task_schedule/src/assets/img/bg/bg_01.jpg
Normal file
BIN
code/web/task_schedule/src/assets/img/bg/bg_01.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.9 MiB |
24
code/web/task_schedule/src/components/login/Login.vue
Normal file
24
code/web/task_schedule/src/components/login/Login.vue
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-02-28 00:57:21
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/components/login/Login.vue
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
登录页面
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
export default {
|
||||||
|
name: "Login",
|
||||||
|
setup(): void
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
@@ -9,9 +9,12 @@
|
|||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
import { createApp } from 'vue';
|
import { createApp } from 'vue';
|
||||||
import './style.css';
|
import { router } from "./router/index.js";
|
||||||
|
|
||||||
import App from './App.vue';
|
import App from './App.vue';
|
||||||
|
|
||||||
|
import './style.css';
|
||||||
|
|
||||||
//css
|
//css
|
||||||
import("element-plus/dist/index.css");
|
import("element-plus/dist/index.css");
|
||||||
|
|
||||||
@@ -28,4 +31,5 @@ for (const [key, component,] of Object.entries(ElementPlusIconsVue))
|
|||||||
}
|
}
|
||||||
|
|
||||||
app.use(ElementPlus);
|
app.use(ElementPlus);
|
||||||
|
app.use(router);
|
||||||
app.mount('#app');
|
app.mount('#app');
|
||||||
|
34
code/web/task_schedule/src/router/index.js
Normal file
34
code/web/task_schedule/src/router/index.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-02-28 00:20:48
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/router/index.js
|
||||||
|
* @Description: 路由配置文件
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
import { createRouter, createWebHashHistory } from "vue-router";
|
||||||
|
|
||||||
|
const routes = [
|
||||||
|
{
|
||||||
|
path: "/",
|
||||||
|
name: "Root",
|
||||||
|
redirect: "Login",
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/login",
|
||||||
|
name: "Login",
|
||||||
|
hidden: true,
|
||||||
|
component: () => import("@/components/login/login.vue"),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const router = createRouter(
|
||||||
|
{
|
||||||
|
history: createWebHashHistory(),
|
||||||
|
routes,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export { router };
|
@@ -1,11 +1,19 @@
|
|||||||
html {
|
html {
|
||||||
background-color: #8796a6;
|
/* background-color: #8796a6; */
|
||||||
|
background-image: url("./assets/img/bg/bg_01.jpg");
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-size: contain;
|
||||||
|
/* background-position: center; */
|
||||||
|
/* background-repeat: no-repeat; */
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #8796a6;
|
/* background-color: #8796a6; */
|
||||||
width: calc(100vw - 20px);
|
width: 100vw;
|
||||||
height: calc(100vh - 60px);
|
height: 100vh;
|
||||||
/* border: 1px solid red; */
|
/* border: 1px solid red; */
|
||||||
|
/* overflow: hidden; */
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2,17 +2,31 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2023-02-15 09:25:52
|
* @Date: 2023-02-15 09:25:52
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2023-02-15 10:40:43
|
* @LastEditTime: 2023-02-28 01:06:12
|
||||||
* @FilePath: /task_schedule/vite.config.js
|
* @FilePath: /task_schedule/vite.config.js
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite';
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue()],
|
||||||
base: './',
|
base: './',
|
||||||
})
|
resolve: {
|
||||||
|
//配置别名
|
||||||
|
alias: [
|
||||||
|
{
|
||||||
|
find: /^~/,
|
||||||
|
replacement: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
find: '@',
|
||||||
|
replacement: path.resolve(__dirname, 'src'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
Reference in New Issue
Block a user