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