From 14101bd42ce17dfb9d951d0738abe9d303fb3fe5 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期一, 11 十二月 2023 10:41:39 +0800 Subject: [PATCH] 机器开机率、人员技能比饼图优化 --- src/views/cockpitPage/components/OrderCompleteRadio.vue | 89 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 69 insertions(+), 20 deletions(-) diff --git a/src/views/cockpitPage/components/OrderCompleteRadio.vue b/src/views/cockpitPage/components/OrderCompleteRadio.vue index c90a781..2e0c45d 100644 --- a/src/views/cockpitPage/components/OrderCompleteRadio.vue +++ b/src/views/cockpitPage/components/OrderCompleteRadio.vue @@ -4,25 +4,27 @@ <ChartTitle name="璁㈠崟瀹屾垚姣旂巼"></ChartTitle> </div> <div class="list-view"> - <!-- <ul> --> <template v-for="item in tableList"> <div class="table-bg-view"> <div class="left">{{ item.title }}</div> <div class="middle" ref="middle"> <el-progress - :stroke-width="20" + :stroke-width="18" :text-inside="true" :percentage="item.radio" :define-back-color="'#083f55'" :text-color="'#fec718'" + :class=" + item.radio < 90 + ? 'setTitle-right' + : item.radio == 100 + ? 'setTitle-complete' + : 'setTitle-left' + " ></el-progress> - <!-- <div class="container"> - <div class="item" v-for="i in 40" :key="i"></div> - </div> --> </div> </div> </template> - <!-- </ul> --> </div> </div> </template> @@ -33,21 +35,48 @@ components: { ChartTitle, }, - props: {}, + props: { + orderCompleteObject: { + type: Object, + default: () => { + return { + startIndex: 0, + orderCompleteList: [], + }; + }, + }, + }, data() { return { - tableList: [ - { title: "DD19070047", radio: 50.6 }, - { title: "DD19070048", radio: 70 }, - { title: "DD19070049", radio: 85 }, - { title: "DD19070050", radio: 30 }, - ], + startIndex: 0, + time: 0, }; }, mounted() { - console.log(this.$refs.middle.$el, "sssssssss"); + setInterval(() => { + this.startIndex += 4; + }, 5000); }, - watch: {}, + computed: { + tableList: { + get() { + if ( + this.startIndex >= this.orderCompleteObject.orderCompleteList.length + ) { + this.startIndex = 0; + } + return this.orderCompleteObject.orderCompleteList.slice( + this.startIndex, + this.startIndex + 4 + ); + }, + }, + }, + watch: { + "orderCompleteObject.orderCompleteList"(val) { + this.startIndex = this.orderCompleteObject.startIndex; + }, + }, methods: {}, }; </script> @@ -62,6 +91,7 @@ } .list-view { height: calc(100% - 20px); + padding-right: 5px; .table-bg-view { display: flex; align-items: center; @@ -69,15 +99,20 @@ background: #083f55; height: calc(20% - 10px); width: 100%; + padding-right: 5px; border-radius: 50px; + transition: all 1s ease-in-out 0s; .left { - width: 20%; + width: 23%; margin: 0 10px; color: #02f1fc; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .middle { flex: 1; - margin: 0 10px; + margin-right: 5px; } } } @@ -89,17 +124,31 @@ } .el-progress-bar__inner { position: relative; - // background: #552d08; background: url("../../../../public/cockpitPage/order-bg.png") no-repeat center center / cover; } - .el-progress-bar__innerText { + .setTitle-complete .el-progress-bar__inner { + position: relative; + background: url("../../../../public/cockpitPage/order-complete.png") + no-repeat center center / cover; + } + .setTitle-right .el-progress-bar__innerText { position: absolute; top: 2px; - right: -70px; + right: -66px; text-align: left; font-size: 18px; width: 60px; } + .setTitle-left .el-progress-bar__innerText { + color: #fffb00 !important; + font-size: 18px; + width: 60px; + } + .setTitle-complete .el-progress-bar__innerText { + color: #fff !important; + font-size: 16px; + width: 60px; + } } </style> -- Gitblit v1.8.0