From 89ab2ec7f8790c5cc184de98682af032c69c2afc Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 11 九月 2024 15:13:27 +0800 Subject: [PATCH] 2024.9.11 --- src/components/inspection/TaskItem.vue | 125 +++++++++++++++++++++++++---------------- 1 files changed, 76 insertions(+), 49 deletions(-) diff --git a/src/components/inspection/TaskItem.vue b/src/components/inspection/TaskItem.vue index be50b89..f508784 100644 --- a/src/components/inspection/TaskItem.vue +++ b/src/components/inspection/TaskItem.vue @@ -1,42 +1,52 @@ <template> - <div class="demo-progress border-r-small f-b"> - <el-row> - <el-col span="8"> - <el-progress :width="100" type="dashboard" :percentage="(finish / total) * 100"> + <!-- <div class="demo-progress border-r-small"> --> + <el-row justify="end"> + <el-text type="info">{{ name }}</el-text> + </el-row> + <el-row justify="space-evenly"> + <el-col span="12"> + <div class="v-center"> + <el-text>鎬婚噺</el-text> + <el-progress + :width="100" + type="circle" + status="warning" + :percentage="percentFormat(completetask, totaltask)" + > <template #default="{ percentage }"> <span class="percentage-value">{{ percentage }}%</span> - <span class="percentage-label">{{ finish + '/' + total }}</span> + <!-- <span class="percentage-label">{{ finish + '/' + total }}</span> --> </template> </el-progress> - </el-col> - <el-col span="16"> - <div>{{ name }}</div> - <!-- <div>{{ planTime }}</div> --> - <div>{{ userName }}</div> - <el-row style="gap: 10px"> - <div class="v-center" v-for="item in count" :key="item.sceneType"> - <el-progress - :width="50" - :stroke-width="3" - type="dashboard" - :percentage="(item.finish / item.total) * 100" - > - <template #default="{ percentage }"> - <span class="percentage-value-small">{{ percentage }}%</span> - </template> - </el-progress> - <div> - <el-text size="small">{{ item.sceneType }}</el-text> - <el-text size="small">{{ item.finish + '/' + item.total }}</el-text> - </div> - <div></div> - <!-- <div class="percentage-label-small">{{ item.sceneType }}</div> --> - <!-- <span class="percentage-label-small">{{ item.finish + '/' + item.total }} </span> --> - </div> - </el-row> - </el-col> - </el-row> - </div> + <el-text size="small">{{ completetask + '/' + totaltask }}</el-text> + </div> + </el-col> + <el-col span="12" class="flex-bottom"> + <!-- <div>{{ name }}</div> --> + <!-- <div>{{ planTime }}</div> --> + <!-- <div>{{ userName }}</div> --> + <el-row style="gap: 40px" justify="space-between"> + <div class="v-center" v-for="item in count" :key="item.sceneType"> + <el-text size="small">{{ item.sceneType }}</el-text> + <el-progress + :width="50" + :stroke-width="3" + type="circle" + status="warning" + :percentage="percentFormat(item.finish, item.total)" + > + <template #default="{ percentage }"> + <span class="percentage-value-small">{{ percentage }}%</span> + </template> + </el-progress> + <el-text size="small">{{ item.finish + '/' + item.total }}</el-text> + <!-- <div class="percentage-label-small">{{ item.sceneType }}</div> --> + <!-- <span class="percentage-label-small">{{ item.finish + '/' + item.total }} </span> --> + </div> + </el-row> + </el-col> + </el-row> + <!-- </div> --> </template> <script> @@ -46,12 +56,15 @@ export default { props: { name: String, + province: String, district: String, planTime: String, startTime: String, endTime: String, userName: String, status: String, + totaltask: Number, + completetask: Number, count: Array }, @@ -60,22 +73,30 @@ }, watch: {}, computed: { - total() { - let t = 0 - this.count.forEach((c) => { - t += c.total - }) - return t - }, - finish() { - let t = 0 - this.count.forEach((c) => { - t += c.finish - }) - return t - } + // total() { + // let t = 0 + // this.count.forEach((c) => { + // t += c.total + // }) + // return t + // }, + // finish() { + // let t = 0 + // this.count.forEach((c) => { + // t += c.finish + // }) + // return t + // } }, - methods: {} + methods: { + percentFormat(finish, total) { + if (total == 0) { + return 0 + } else { + return Math.round((finish / total) * 100) + } + } + } } </script> @@ -85,6 +106,12 @@ border-radius: var(--el-border-radius-base); } +.flex-bottom { + display: flex; + flex-direction: column; + justify-content: end; +} + .percentage-value { display: block; margin-top: 10px; -- Gitblit v1.9.3