Files
MBTI_wang/miniprogram/pages/history/index.wxml
Ghost 6fec2965aa feat: SBTI 测评接入与管理端题目/财务/用户联动
1、修复了用户详情、定价与题目管理、财务与分销等管理端展示与接口问题。

2、新增 SBTI 小程序测评/结果页、sbtiData 引擎、题库 SQL 与脚本;admin sbtiDisplay。

3、优化 AppConfig/CrmReport/Test、历史与个人中心、test-select 与支付相关逻辑。

Made-with: Cursor
2026-04-11 16:16:32 +08:00

76 lines
3.3 KiB
Plaintext

<!--pages/history/index.wxml - 测试历史记录(按旧版模板重构)-->
<view class="container">
<!-- 测试类型标签 -->
<view class="tabs-container">
<scroll-view scroll-x class="tabs-scroll">
<view class="tabs">
<view class="tab-item {{activeTab === 'all' ? 'active' : ''}}" bindtap="changeTab" data-tab="all">
<text class="tab-text">全部</text>
</view>
<view wx:if="{{permMbti}}" class="tab-item {{activeTab === 'mbti' ? 'active' : ''}}" bindtap="changeTab" data-tab="mbti">
<text class="tab-text">MBTI</text>
</view>
<view wx:if="{{permSbti}}" class="tab-item {{activeTab === 'sbti' ? 'active' : ''}}" bindtap="changeTab" data-tab="sbti">
<text class="tab-text">SBTI</text>
</view>
<view wx:if="{{permPdp}}" class="tab-item {{activeTab === 'pdp' ? 'active' : ''}}" bindtap="changeTab" data-tab="pdp">
<text class="tab-text">PDP</text>
</view>
<view wx:if="{{permDisc}}" class="tab-item {{activeTab === 'disc' ? 'active' : ''}}" bindtap="changeTab" data-tab="disc">
<text class="tab-text">DISC</text>
</view>
<view wx:if="{{!reviewMode && permFace}}" class="tab-item {{activeTab === 'ai' ? 'active' : ''}}" bindtap="changeTab" data-tab="ai">
<text class="tab-text">面相</text>
</view>
</view>
</scroll-view>
</view>
<!-- 空状态 -->
<view class="empty-container" wx:if="{{list.length === 0 && !loading}}">
<text class="empty-icon">📋</text>
<text class="empty-text">暂无{{activeTab === 'all' ? '' : tabName}}历史记录</text>
<view class="primary-button" bindtap="goToTest">
<text class="button-text">开始测试</text>
</view>
</view>
<!-- 测试记录列表 -->
<view class="test-list" wx:if="{{list.length > 0}}">
<view class="test-card" wx:for="{{list}}" wx:key="key" bindtap="viewDetail" data-type="{{item.type}}" data-index="{{index}}" data-id="{{item.id}}">
<view class="card-content">
<view class="icon-circle icon-{{item.type}}">
<text class="icon-emoji">{{item.emoji}}</text>
</view>
<view class="test-details">
<view class="test-header-row">
<text class="test-title">{{item.typeName}}</text>
<view class="result-badge badge-{{item.type}}">
<text class="badge-text">{{item.resultText}}</text>
</view>
</view>
<view class="test-time-row">
<text class="test-time">{{item.testTime}}</text>
<text class="test-enterprise" wx:if="{{item.enterpriseName}}">{{item.enterpriseName}}</text>
</view>
</view>
</view>
</view>
<view class="load-more-row" wx:if="{{loadingMore}}">
<text class="load-more-text">加载更多...</text>
</view>
<view wx:elif="{{hasMore && list.length > 0}}" class="load-more-row">
<text class="load-more-text">上拉或继续滑动加载更多</text>
</view>
<view wx:elif="{{list.length > 0}}" class="load-more-row">
<text class="load-more-text no-more">共 {{total}} 条</text>
</view>
</view>
<!-- 首次加载骨架 -->
<view class="empty-container" wx:if="{{loading && list.length === 0}}">
<text class="load-more-text">加载中...</text>
</view>
</view>