From fa61713f7efa9d48a662141591afc9a2441ed597 Mon Sep 17 00:00:00 2001 From: 13404089107 <puwei@sinata.cn> Date: 星期一, 24 三月 2025 17:54:24 +0800 Subject: [PATCH] 大屏下方统计图页面 --- src/components/datascreen/CenterPanel.vue | 218 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 215 insertions(+), 3 deletions(-) diff --git a/src/components/datascreen/CenterPanel.vue b/src/components/datascreen/CenterPanel.vue index ece6430..86b9401 100644 --- a/src/components/datascreen/CenterPanel.vue +++ b/src/components/datascreen/CenterPanel.vue @@ -15,14 +15,16 @@ <img src="@/assets/center-top-right.png" alt=""> <div> <div class="label">本月应补偿总额(万元)</div> - <div class="value">{{ data.monthCompensationAmount }} <span>环比</span><span class="value-change value-change-down">{{ data.monthCompensationAmountRate }}</span></div> + <div class="value">{{ data.monthCompensationAmount }} <span>环比</span><span + class="value-change value-change-down">{{ data.monthCompensationAmountRate }}</span></div> </div> </div> <div class="data-item"> <img src="@/assets/center-top-right.png" alt=""> <div> <div class="label">下月应补偿总额(万元)</div> - <div class="value">{{ data.nextMonthCompensationAmount }} <span>环比</span><span class="value-change value-change-up">{{ data.nextMonthCompensationAmountRate }}</span></div> + <div class="value">{{ data.nextMonthCompensationAmount }} <span>环比</span><span + class="value-change value-change-up">{{ data.nextMonthCompensationAmountRate }}</span></div> </div> </div> </div> @@ -35,7 +37,29 @@ <!-- 中间下部数据 --> <div class="center-bottom panel-item"> - + <div class="compensation-table"> + <div class="table-header"> + <div class="batch-number txt-center">安置批次</div> + <div class="household-count txt-center">安置户数</div> + <div class="people-count txt-center">安置人数</div> + <div class="progress-wrapper txt-center">补偿阶段</div> + </div> + <div class="table-content"> + <div class="table-row" v-for="(item, index) in compensationList" :key="index"> + <div class="batch-number pl-20">{{ item.batchNumber }}</div> + <div class="household-count">{{ item.householdCount }}</div> + <div class="people-count">{{ item.peopleCount }}</div> + <div class="progress-wrapper"> + <div class="progress-bar"> + <div class="progress-fill"> + <div class="progress-color" :class="item.point>=25?'progress-yellow':item.point>=50?'progress-green':item.point>=75?'progress-blue':'progress-gray'"></div> + </div> + </div> + <div class="progress-text">{{ item.stage }}/20</div> + </div> + </div> + </div> + </div> </div> </div> </template> @@ -59,6 +83,44 @@ { label: '已受理', value: '2021103000001', percentage: 90 }, { label: '已审核', value: '2021103000002', percentage: 70 }, { label: '已完成', value: '2021103000003', percentage: 50 } + ], + compensationList: [ + { + batchNumber: '2021103000001', + householdCount: '8355', + peopleCount: '238355', + progress: 50, + yellowProgress: 20, + blueProgress: 30, + stage: '1' + }, + { + batchNumber: '2021103000001', + householdCount: '8355', + peopleCount: '238355', + progress: 60, + yellowProgress: 25, + blueProgress: 35, + stage: '2' + }, + { + batchNumber: '2021103000001', + householdCount: '8355', + peopleCount: '238355', + progress: 75, + yellowProgress: 30, + blueProgress: 45, + stage: '2' + }, + { + batchNumber: '2021103000001', + householdCount: '8355', + peopleCount: '238355', + progress: 90, + yellowProgress: 35, + blueProgress: 55, + stage: '2' + } ] }; } @@ -66,6 +128,10 @@ </script> <style lang="less" scoped> +.pl-20 { + padding-left: 20px; +} + .center-panel { position: absolute; left: 481px; @@ -95,7 +161,152 @@ height: 245px; background: url('@/assets/center-bottom-bg.png') no-repeat center center; background-size: 100% 100%; + padding: 20px; + .compensation-table { + height: 100%; + display: flex; + flex-direction: column; + + .table-header { + display: flex; + align-items: center; + color: rgba(255, 255, 255, 0.6); + font-size: 12px; + // margin-top: 20px; + margin-bottom: 15px; + + >div { + margin-right: 40px; + } + + .batch-number { + width: 150px; + } + + .household-count { + width: 80px; + text-align: center; + } + + .people-count { + width: 100px; + text-align: center; + } + + .progress-wrapper { + flex: 1; + padding-right: 20px; + padding-left: 20px; + } + } + + .table-content { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; + + .table-row { + display: flex; + align-items: center; + color: #fff; + font-size: 14px; + padding: 8px 0; + margin-bottom: 5px; + box-sizing: border-box; + + >div { + margin-right: 40px; + } + + .batch-number { + width: 150px; + } + + .household-count { + width: 80px; + text-align: center; + } + + .people-count { + width: 100px; + text-align: center; + } + + .progress-wrapper { + flex: 1; + display: flex; + align-items: center; + + .progress-bar { + flex: 1; + height: 10px; + background: rgba(255, 255, 255, 0.1); + border-radius: 5px; + margin-right: 15px; + overflow: hidden; + + .progress-fill { + height: 100%; + display: flex; + + .progress-yellow { + height: 100%; + background: #FEDB65; + } + + .progress-blue { + height: 100%; + background: #00C6FF; + } + + .progress-green { + height: 100%; + background: rgba(0, 220, 171, 1); + } + + .progress-gray { + height: 100%; + background: rgba(0, 242, 240, 1); + } + + + + } + } + + .progress-text { + width: 50px; + text-align: right; + } + } + + &:nth-child(2n + 1) { + background: url('@/assets/bg.png') no-repeat center center; + border: 2px solid; + border-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(1, 10, 40, 0), rgba(255, 255, 255, 0.6)) 2 2; + } + + &:nth-child(2n) { + background: url('@/assets/unbg.png') no-repeat center center; + border: 2px solid; + border-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(1, 10, 40, 0), rgba(255, 255, 255, 0.2)) 2 2; + } + + &:last-child { + margin-bottom: 0; + } + } + } + } + } + + .txt-center { + text-align: center; + font-size: 12px; + color: #19ECFF; + line-height: 18px; } .map-data { @@ -109,6 +320,7 @@ .data-item { display: flex; flex-shrink: 0; + img { width: 94px; height: 80px; -- Gitblit v1.7.1