保存进度!

This commit is contained in:
Kane 2023-03-08 00:56:38 +08:00
parent 330f5fa1e4
commit 3313414c70
4 changed files with 84 additions and 9 deletions

View File

@ -0,0 +1,76 @@
<!--
* @Author: Kane
* @Date: 2023-03-07 23:22:13
* @LastEditors: Kane
* @FilePath: /task_schedule/src/components/ArchievementCompleteRateComponent.vue
* @Description: 业绩完成率组件
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div class="complete-rate-wrapper">
<el-progress type="circle" :percentage="72">
<template #default="{ percentage }">
<span class="percentage-label">续保完成率</span>
<span class="percentage-value">{{ percentage }}%</span>
</template>
</el-progress>
<el-progress type="circle" :percentage="93">
<template #default="{ percentage }">
<span class="percentage-label">车非完成率</span>
<span class="percentage-value">{{ percentage }}%</span>
</template>
</el-progress>
</div>
</template>
<script lang="ts">
import { onMounted } from "vue";
export default {
name: "ArchievementCompleteRateComponent",
setup()
{
onMounted(() =>
{
});
return {};
},
};
</script>
<style lang="scss">
.complete-rate-wrapper {
// width: 150px;
// height: 150px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
span {
display: block;
width: 100%;
color: #fff;
}
.percentage-value {
display: block;
margin-top: 10px;
font-size: 28px;
}
.percentage-label {
display: block;
margin-top: 10px;
font-size: 12px;
}
.el-progress {
margin-bottom: 15px;
}
}
</style>

View File

@ -3,7 +3,7 @@
* @Date: 2023-03-01 23:38:12 * @Date: 2023-03-01 23:38:12
* @LastEditors: Kane * @LastEditors: Kane
* @FilePath: /task_schedule/src/test/tsconfig.json * @FilePath: /task_schedule/src/test/tsconfig.json
* @Description: tsconfig * @Description: tsconfig使
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ */

View File

@ -12,7 +12,9 @@
<div class="center-wrapper"> <div class="center-wrapper">
<span class="slogan">对标先进&nbsp;比学赶超</span> <span class="slogan">对标先进&nbsp;比学赶超</span>
<div class="total-archievement-wrapper"> <div class="total-archievement-wrapper">
<div class="total-archievement-rate-wrapper"></div> <div class="total-archievement-rate-wrapper">
<ArchievementCompleteRateComponent />
</div>
<div class="total-archievement-charts-wrapper"> <div class="total-archievement-charts-wrapper">
<Archievement /> <Archievement />
</div> </div>
@ -26,16 +28,15 @@
</template> </template>
<script lang="ts"> <script lang="ts">
// import { reactive, onBeforeMount } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
// import { StaffInfo } from "@/data/cpicxim/StaffInfo";
import { loadStaffInfo } from "@/utils/api/localStorage.js"; import { loadStaffInfo } from "@/utils/api/localStorage.js";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import Archievement from "@/components/ArchievementComponent.vue"; import Archievement from "@/components/ArchievementComponent.vue";
import ArchievementCompleteRateComponent from "@/components/ArchievementCompleteRateComponent.vue";
export default { export default {
name: "DesktopArchievement", name: "DesktopArchievement",
components: { Archievement, }, components: { Archievement, ArchievementCompleteRateComponent, },
setup() setup()
{ {
const router = useRouter(); const router = useRouter();
@ -120,10 +121,10 @@ export default {
.total-archievement-rate-wrapper { .total-archievement-rate-wrapper {
// //
width: 25%; width: 25%;
min-width: 180px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: end;
} }
.total-archievement-charts-wrapper { .total-archievement-charts-wrapper {

View File

@ -12,10 +12,8 @@
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"useDefineForClassFields": true, "useDefineForClassFields": true,
"target": "ESNext", "target": "ESNext",
// "module": "ESNext",
"module": "CommonJS", "module": "CommonJS",
"moduleResolution": "node", "moduleResolution": "node",
// "moduleResolution": "nodenext",
"strict": true, "strict": true,
"jsx": "preserve", "jsx": "preserve",
"sourceMap": true, "sourceMap": true,