Kaynağa Gözat

修复节假日BUG

wukai 4 ay önce
ebeveyn
işleme
90c1e7fc4e
1 değiştirilmiş dosya ile 54 ekleme ve 38 silme
  1. 54 38
      src/views/biz/anal/holiday.vue

+ 54 - 38
src/views/biz/anal/holiday.vue

@@ -17,8 +17,8 @@
       </el-form-item>
     </el-form>
 
-    <!-- 图表和统计卡片布局 -->
-    <div class="chart-and-stats-container">
+    <!-- 图表和统计卡片布局 - 仅在有节假日数据时显示 -->
+    <div v-if="holidayStats.length > 0" class="chart-and-stats-container">
       <div class="chart-section">
         <h3 class="section-title">节假日出入境统计</h3>
         <div ref="chartRef" class="chart-container"></div>
@@ -47,44 +47,51 @@
         </el-row>
       </div>
     </div>
-
-    <!-- 表格标题显示当前节日 -->
-    <div class="table-header">
-      <h3>
-        明细数据 -
-        <span class="selected-holiday">{{ selectedHolidayName || '请选择节假日' }}</span>
-      </h3>
+    
+    <!-- 没有节假日数据时的提示 -->
+    <div v-else class="no-data-container">
+      <el-empty description="暂无节假日数据" :image-size="100"></el-empty>
     </div>
 
-    <el-table v-loading="loading" :data="list" style="margin-top: 20px;" @row-click="handleRowClick">
-      <el-table-column label="姓名" align="center" prop="fullName" width="300"/>
-      <el-table-column label="性别" align="center" prop="genderCn"/>
-      <el-table-column label="出生日期" align="center" prop="birthDate" width="100">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.birthDate, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="国家/地区" align="center" prop="countryName"/>
-      <el-table-column label="民族" align="center" prop="ethnicityName"/>
-      <el-table-column label="出入标识" align="center" prop="inOutFlag"/>
-      <el-table-column label="出入时间" align="center" prop="inOutTime" width="180">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.inOutTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="出入口岸" align="center" prop="portCode">
-        <template #default="scope">
-          <span>{{ scope.row.portCode}}-{{scope.row.portName}}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="前往地/出发地" align="center" prop="destinationName"/>
-      <el-table-column label="节假日" align="center" prop="holidayName"/>
-      <el-table-column label="导入时间" align="center" prop="createTime" width="150">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
-        </template>
-      </el-table-column>
-    </el-table>
+    <!-- 表格标题显示当前节日和明细表格 - 仅在有节假日数据时显示 -->
+    <div v-if="holidayStats.length > 0">
+      <div class="table-header">
+        <h3>
+          明细数据 -
+          <span class="selected-holiday">{{ selectedHolidayName || '请选择节假日' }}</span>
+        </h3>
+      </div>
+
+      <el-table v-loading="loading" :data="list" style="margin-top: 20px;" @row-click="handleRowClick">
+        <el-table-column label="姓名" align="center" prop="fullName" width="300"/>
+        <el-table-column label="性别" align="center" prop="genderCn"/>
+        <el-table-column label="出生日期" align="center" prop="birthDate" width="100">
+          <template #default="scope">
+            <span>{{ parseTime(scope.row.birthDate, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="国家/地区" align="center" prop="countryName"/>
+        <el-table-column label="民族" align="center" prop="ethnicityName"/>
+        <el-table-column label="出入标识" align="center" prop="inOutFlag"/>
+        <el-table-column label="出入时间" align="center" prop="inOutTime" width="180">
+          <template #default="scope">
+            <span>{{ parseTime(scope.row.inOutTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出入口岸" align="center" prop="portCode">
+          <template #default="scope">
+            <span>{{ scope.row.portCode}}-{{scope.row.portName}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="前往地/出发地" align="center" prop="destinationName"/>
+        <el-table-column label="节假日" align="center" prop="holidayName"/>
+        <el-table-column label="导入时间" align="center" prop="createTime" width="150">
+          <template #default="scope">
+            <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
 
     <!-- 出入境记录明细对话框 -->
     <el-dialog :title="detailTitle" v-model="recordDetailOpen" width="900px" append-to-body>
@@ -655,6 +662,15 @@ onUnmounted(() => {
   font-size: 16px;
 }
 
+.no-data-container {
+  text-align: center;
+  padding: 40px 0;
+  margin: 40px 0;
+  border: 1px dashed #d9d9d9;
+  border-radius: 8px;
+  background-color: #fafafa;
+}
+
 /* 高亮选中的表格行 */
 :deep(.selected-row) {
   background-color: #f5f7fa !important;