This commit is contained in:
lik
2026-05-31 19:43:16 +08:00
parent 13a61896db
commit 87c852b6a9
11 changed files with 824 additions and 44 deletions

104
pages/hospital/ranking.wxml Normal file
View File

@@ -0,0 +1,104 @@
<!--pages/hospital/ranking.wxml-->
<view class="container">
<!-- 顶部标题 -->
<view class="header">
<text class="header-title">{{rankingYear}}复旦中国医院排行榜</text>
<text class="header-note">{{rankingNote}}</text>
</view>
<!-- Tab 切换 -->
<view class="tab-bar">
<view class="tab-item {{activeTab === 'overall' ? 'active' : ''}}" bindtap="switchTab" data-tab="overall">
<text class="tab-text">综合榜</text>
<view class="tab-line" wx:if="{{activeTab === 'overall'}}"></view>
</view>
<view class="tab-item {{activeTab === 'department' ? 'active' : ''}}" bindtap="switchTab" data-tab="department">
<text class="tab-text">专科榜</text>
<view class="tab-line" wx:if="{{activeTab === 'department'}}"></view>
</view>
</view>
<!-- 综合榜内容 -->
<view class="content" wx:if="{{activeTab === 'overall'}}">
<!-- 医院列表 -->
<view class="hospital-list">
<view class="hospital-card" wx:for="{{filteredHospitals}}" wx:key="name" bindtap="toggleHospital" data-name="{{item.name}}">
<view class="hospital-rank-badge">
<text class="rank-grade {{item.gradeClass}}">{{item.grade}}</text>
</view>
<view class="hospital-header">
<view class="hospital-info">
<text class="hospital-name">{{item.name}}</text>
<view class="hospital-tags">
<text class="tag" wx:for="{{item.topDepartments}}" wx:for-item="dep" wx:key="name">{{dep.name}}</text>
</view>
</view>
<view class="hospital-arrow">
<t-icon name="chevron-down" size="36rpx" color="#999" class="{{item.expanded ? 'arrow-up' : ''}}"/>
</view>
</view>
<!-- 展开详情 -->
<view class="hospital-detail" wx:if="{{item.expanded}}">
<view class="detail-title">专科排名详情</view>
<view class="dept-grid">
<view class="dept-item" wx:for="{{item.depart}}" wx:for-item="dep" wx:key="name">
<text class="dept-name">{{dep.name}}</text>
<view class="dept-rank">
<text class="rank-num">第{{dep.rank}}名</text>
<text class="rank-score">{{dep.score}}分</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 专科榜内容 -->
<view class="content" wx:if="{{activeTab === 'department'}}">
<!-- 科室筛选 -->
<scroll-view class="dept-filter" scroll-y enhanced show-scrollbar="{{true}}" style="height: calc(100vh - 340rpx);">
<view class="dept-sidebar">
<view class="sidebar-item {{selectedDepartment === item ? 'active' : ''}}" wx:for="{{departmentList}}" wx:key="*this" bindtap="selectDepartment" data-dept="{{item}}">
<text class="sidebar-text">{{item}}</text>
</view>
</view>
</scroll-view>
<!-- 科室排名详情 -->
<view class="dept-ranking-content">
<view class="dept-ranking-header">
<text class="dept-ranking-title">{{selectedDepartment}}</text>
<text class="dept-ranking-subtitle">{{rankingYear}}年度专科声誉排名</text>
</view>
<!-- Top10 列表 -->
<view class="top10-list">
<view class="top10-item {{index < 3 ? 'top3' : ''}}" wx:for="{{currentDepartmentRanking.top10}}" wx:key="name">
<view class="top10-rank">
<text class="rank-badge" wx:if="{{index < 3}}">{{item.rank}}</text>
<text class="rank-num" wx:else>{{item.rank}}</text>
</view>
<view class="top10-info">
<text class="top10-name">{{item.name}}</text>
<text class="top10-score">{{item.score}}分</text>
</view>
</view>
</view>
<!-- 获提名医院 -->
<view class="nominated-section" wx:if="{{currentDepartmentRanking.nominated && currentDepartmentRanking.nominated.length > 0}}">
<view class="nominated-title">获提名医院</view>
<view class="nominated-list">
<text class="nominated-item" wx:for="{{currentDepartmentRanking.nominated}}" wx:key="*this">{{item}}</text>
</view>
</view>
</view>
</view>
<!-- 空状态 -->
<view class="empty-state" wx:if="{{activeTab === 'overall' && filteredHospitals.length === 0}}">
<t-icon name="info-circle" size="80rpx" color="#ccc"/>
<text class="empty-text">未找到匹配的医院</text>
</view>
</view>