|
|
@@ -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;
|