Просмотр исходного кода

feat(wisdom): radar chart dual-line support (avg + user cognitive scores)

- Pass mock avg scores to RadarChart component
- Shows gray dashed avg line behind user's indigo filled polygon
- 6 dims: perception/focus/memory/logic/spatial/processing speed
Xiaogang Liao 2 месяцев назад
Родитель
Сommit
fcc7c145b9

+ 3 - 0
cfc-frontend/pages/wisdom/index.vue

@@ -35,6 +35,7 @@
       <RadarChart
       <RadarChart
         :dimensions="cognitiveDimensions"
         :dimensions="cognitiveDimensions"
         :scores="cognitiveScores"
         :scores="cognitiveScores"
+        :avg-scores="cognitiveAvgScores"
         :childName="activeChildName"
         :childName="activeChildName"
         fillColor="#6366F1"
         fillColor="#6366F1"
         gridColor="#E0E7FF"
         gridColor="#E0E7FF"
@@ -181,6 +182,8 @@ export default {
       dimensionProducts: [],
       dimensionProducts: [],
       articles: [],
       articles: [],
       wisdomTips: [],
       wisdomTips: [],
+      /** Mock 平均值(6维认知):感知/专注/记忆/逻辑/空间/加工速度 */
+      cognitiveAvgScores: [70, 65, 72, 68, 66, 71],
       contactList: [],
       contactList: [],
       healthAlerts: [],
       healthAlerts: [],
       milestones: [],
       milestones: [],

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-68f83e7bcda9677089ce6223324996f62307d370
+0d42b8f1680b2b55f46867cbd1e4747a4c177011

+ 27 - 0
cfc-web/CHANGELOG.md

@@ -1,6 +1,33 @@
 # 更新日志 (Changelog)
 # 更新日志 (Changelog)
 
 
 此文件记录所有构建版本的变更。
 此文件记录所有构建版本的变更。
+## v1.0.19 (2026-07-08)
+
+### 新功能
+- radar chart dual-line support (avg + user scores)
+
+### 其他
+- - New _drawAvgScoreArea() method renders average as background layer
+- - Body page passes mock avg scores alongside user dimension scores
+- - Avg scores: [72,68,75,70,73,69,71] for 7 dimensions
+- - Without user data, only avg line shows; with data, both lines visible
+- 
+- - Add console logs for tracking dimension data loading flow
+- - Helps diagnose radar chart not rendering when no child selected or API fails
+- 
+- - Bump package.json version 1.0.11 → 1.0.17
+- - Update .last_build_commit to latest build
+- - web/index.html: update Clarity tracking ID, remove duplicate inline script
+- 
+
+### Bug 修复
+- guard loadHealthDimensions on activeChildId + debug logs
+- add table overflow scroll to admin pages
+
+### 工程化
+- clean CHANGELOG, bump version to 1.0.17, update Clarity tracking ID
+
+
 ## v1.0.18 (2026-07-08)
 ## v1.0.18 (2026-07-08)
 
 
 ## v1.0.18 (2026-07-08)
 ## v1.0.18 (2026-07-08)

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "cfc-web",
   "name": "cfc-web",
-  "version": "1.0.18",
+  "version": "1.0.19",
   "private": true,
   "private": true,
   "scripts": {
   "scripts": {
     "dev": "vue-cli-service serve",
     "dev": "vue-cli-service serve",

+ 2 - 2
cfc-web/src/views/admin/ActivityRegistrationReview.vue

@@ -16,7 +16,7 @@
       </div>
       </div>
     </div>
     </div>
 
 
-    <el-table :data="filteredList" v-loading="loading" border stripe>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);"><el-table style="max-height:calc(100vh - 300px);" :data="filteredList" v-loading="loading" border stripe>
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column prop="userId" label="用户ID" width="70" />
       <el-table-column prop="userId" label="用户ID" width="70" />
       <el-table-column prop="childId" label="孩子ID" width="70" />
       <el-table-column prop="childId" label="孩子ID" width="70" />
@@ -39,7 +39,7 @@
           <span v-else style="color: #999;">已处理</span>
           <span v-else style="color: #999;">已处理</span>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-    </el-table>
+    </el-table></div>
 
 
     <el-dialog title="拒绝原因" :visible.sync="rejectDialogVisible" width="400px">
     <el-dialog title="拒绝原因" :visible.sync="rejectDialogVisible" width="400px">
       <el-input v-model="rejectReason" type="textarea" :rows="3" placeholder="请输入拒绝原因" />
       <el-input v-model="rejectReason" type="textarea" :rows="3" placeholder="请输入拒绝原因" />

+ 4 - 4
cfc-web/src/views/admin/BloodTypeConfigs.vue

@@ -5,8 +5,8 @@
         <span>血型配置管理</span>
         <span>血型配置管理</span>
         <el-input v-model="keyword" placeholder="搜索血型..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-input v-model="keyword" placeholder="搜索血型..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-button style="float: right" type="primary" size="small" @click="handleCreate">+ 添加配置</el-button>
         <el-button style="float: right" type="primary" size="small" @click="handleCreate">+ 添加配置</el-button>
-      </div>
-      <el-table :data="filteredData" stripe>
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);"><el-table style="max-height:calc(100vh - 300px);" :data="filteredData" stripe>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="bloodType" label="血型" width="80"></el-table-column>
         <el-table-column prop="bloodType" label="血型" width="80"></el-table-column>
         <el-table-column prop="description" label="性格描述" min-width="200"></el-table-column>
         <el-table-column prop="description" label="性格描述" min-width="200"></el-table-column>
@@ -25,8 +25,8 @@
             </el-dropdown>
             </el-dropdown>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
-    </el-card>
+    </el-table></div>
+  </el-card>
 
 
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑血型配置' : '添加血型配置'" width="500px">
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑血型配置' : '添加血型配置'" width="500px">
       <el-form :model="form" label-width="100px">
       <el-form :model="form" label-width="100px">

+ 4 - 4
cfc-web/src/views/admin/EducationSystems.vue

@@ -5,8 +5,8 @@
         <span>教育体系管理</span>
         <span>教育体系管理</span>
         <el-input v-model="keyword" placeholder="搜索体系..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-input v-model="keyword" placeholder="搜索体系..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-button style="float: right" type="primary" size="small" @click="handleCreate">+ 添加体系</el-button>
         <el-button style="float: right" type="primary" size="small" @click="handleCreate">+ 添加体系</el-button>
-      </div>
-      <el-table :data="filteredData" stripe>
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);"><el-table style="max-height:calc(100vh - 300px);" :data="filteredData" stripe>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="name" label="编码" width="120"></el-table-column>
         <el-table-column prop="name" label="编码" width="120"></el-table-column>
         <el-table-column prop="label" label="显示名称"></el-table-column>
         <el-table-column prop="label" label="显示名称"></el-table-column>
@@ -32,8 +32,8 @@
             </el-dropdown>
             </el-dropdown>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
-    </el-card>
+    </el-table></div>
+  </el-card>
 
 
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑教育体系' : '添加教育体系'" width="500px">
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑教育体系' : '添加教育体系'" width="500px">
       <el-form :model="form" label-width="80px">
       <el-form :model="form" label-width="80px">

+ 12 - 8
cfc-web/src/views/admin/PromotionManagement.vue

@@ -5,8 +5,9 @@
         <el-tab-pane label="邀请里程碑" name="milestone">
         <el-tab-pane label="邀请里程碑" name="milestone">
           <div style="margin-bottom: 16px">
           <div style="margin-bottom: 16px">
             <el-input v-model="milestoneKeyword" placeholder="搜索里程碑..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleMilestoneSearch" @clear="handleMilestoneSearch" />
             <el-input v-model="milestoneKeyword" placeholder="搜索里程碑..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleMilestoneSearch" @clear="handleMilestoneSearch" />
-          </div>
-          <el-table :data="filteredMilestones" v-loading="milestoneLoading" border stripe>
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+    <el-table :data="filteredMilestones" v-loading="milestoneLoading" border stripe style="max-height:calc(100vh - 300px);">
             <el-table-column prop="milestone" label="里程碑" min-width="180" show-overflow-tooltip />
             <el-table-column prop="milestone" label="里程碑" min-width="180" show-overflow-tooltip />
             <el-table-column prop="rewardPoints" label="奖励积分" width="120" />
             <el-table-column prop="rewardPoints" label="奖励积分" width="120" />
             <el-table-column prop="rewardEnergy" label="奖励能量" width="120" />
             <el-table-column prop="rewardEnergy" label="奖励能量" width="120" />
@@ -17,8 +18,9 @@
                 </el-button>
                 </el-button>
               </template>
               </template>
             </el-table-column>
             </el-table-column>
-          </el-table>
-        </el-tab-pane>
+    </el-table>
+    </div>
+    </el-tab-pane>
         <el-tab-pane label="排行榜" name="leaderboard">
         <el-tab-pane label="排行榜" name="leaderboard">
           <div style="margin-bottom: 16px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap">
           <div style="margin-bottom: 16px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap">
             <el-date-picker
             <el-date-picker
@@ -38,8 +40,9 @@
             />
             />
             <el-button type="primary" @click="handleSearch">搜索</el-button>
             <el-button type="primary" @click="handleSearch">搜索</el-button>
             <el-button @click="resetLeaderboard">重置</el-button>
             <el-button @click="resetLeaderboard">重置</el-button>
-          </div>
-          <el-table :data="leaderboardList" v-loading="leaderboardLoading" border stripe>
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+    <el-table :data="leaderboardList" v-loading="leaderboardLoading" border stripe style="max-height:calc(100vh - 300px);">
             <el-table-column label="排名" width="80" type="index" :index="leaderboardIndex" />
             <el-table-column label="排名" width="80" type="index" :index="leaderboardIndex" />
             <el-table-column label="头像" width="80">
             <el-table-column label="头像" width="80">
               <template slot-scope="{ row }">
               <template slot-scope="{ row }">
@@ -48,8 +51,9 @@
             </el-table-column>
             </el-table-column>
             <el-table-column prop="nickname" label="昵称" min-width="140" show-overflow-tooltip />
             <el-table-column prop="nickname" label="昵称" min-width="140" show-overflow-tooltip />
             <el-table-column prop="referralCount" label="邀请数" width="100" />
             <el-table-column prop="referralCount" label="邀请数" width="100" />
-          </el-table>
-          <el-pagination
+    </el-table>
+    </div>
+    <el-pagination
             v-if="leaderboardTotal > leaderboardSize"
             v-if="leaderboardTotal > leaderboardSize"
             @current-change="onLeaderboardPageChange"
             @current-change="onLeaderboardPageChange"
             :current-page="leaderboardPage"
             :current-page="leaderboardPage"

+ 4 - 4
cfc-web/src/views/admin/ServiceContents.vue

@@ -21,8 +21,8 @@
         <el-form-item>
         <el-form-item>
           <el-button @click="handleQuery">查询</el-button>
           <el-button @click="handleQuery">查询</el-button>
         </el-form-item>
         </el-form-item>
-      </el-form>
-      <el-table :data="filteredData" stripe>
+    </el-form>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);"><el-table style="max-height:calc(100vh - 300px);" :data="filteredData" stripe>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="title" label="标题"></el-table-column>
         <el-table-column prop="title" label="标题"></el-table-column>
         <el-table-column prop="typeId" label="类型" width="120">
         <el-table-column prop="typeId" label="类型" width="120">
@@ -56,8 +56,8 @@
             </el-dropdown>
             </el-dropdown>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
-    </el-card>
+    </el-table></div>
+  </el-card>
 
 
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑服务内容' : '添加服务内容'" width="800px">
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑服务内容' : '添加服务内容'" width="800px">
       <el-form :model="form" label-width="100px">
       <el-form :model="form" label-width="100px">

+ 4 - 4
cfc-web/src/views/admin/VirtualTeamList.vue

@@ -18,9 +18,9 @@
           @keyup.enter.native="loadData"
           @keyup.enter.native="loadData"
         ></el-input>
         ></el-input>
         <el-button size="small" type="primary" @click="loadData">查询</el-button>
         <el-button size="small" type="primary" @click="loadData">查询</el-button>
-      </div>
+    </div>
 
 
-      <el-table :data="pagedData" stripe v-loading="loading">
+    <div style="overflow:auto;max-height:calc(100vh - 300px);"><el-table style="max-height:calc(100vh - 300px);" :data="pagedData" stripe v-loading="loading">
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
         <el-table-column prop="name" label="团队名称" width="160"></el-table-column>
         <el-table-column prop="name" label="团队名称" width="160"></el-table-column>
         <el-table-column prop="description" label="描述" show-overflow-tooltip></el-table-column>
         <el-table-column prop="description" label="描述" show-overflow-tooltip></el-table-column>
@@ -56,9 +56,9 @@
             </el-dropdown>
             </el-dropdown>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
+    </el-table></div>
 
 
-      <el-pagination
+    <el-pagination
         v-if="filteredData.length > pageSize"
         v-if="filteredData.length > pageSize"
         style="margin-top: 16px; text-align: right"
         style="margin-top: 16px; text-align: right"
         background
         background

+ 3 - 1
cfc-web/src/views/admin/components/ProductSkuEditor.vue

@@ -5,7 +5,8 @@
       <el-button type="primary" size="mini" icon="el-icon-plus" @click="showDialog(null)">添加SKU</el-button>
       <el-button type="primary" size="mini" icon="el-icon-plus" @click="showDialog(null)">添加SKU</el-button>
     </div>
     </div>
 
 
-    <el-table :data="skus" border stripe size="small">
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+    <el-table :data="skus" border stripe size="small" style="max-height:calc(100vh - 300px);">
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column label="规格" min-width="120">
       <el-table-column label="规格" min-width="120">
         <template slot-scope="{ row }">
         <template slot-scope="{ row }">
@@ -43,6 +44,7 @@
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
+  </div>
 
 
     <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="500px" @close="resetForm">
     <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="500px" @close="resetForm">
       <el-form ref="skuForm" :model="skuForm" :rules="skuRules" label-width="80px">
       <el-form ref="skuForm" :model="skuForm" :rules="skuRules" label-width="80px">

+ 6 - 4
cfc-web/src/views/admin/data-source-config.vue

@@ -5,8 +5,9 @@
         <span>健康数据源配置</span>
         <span>健康数据源配置</span>
         <el-input v-model="keyword" placeholder="搜索数据源..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-input v-model="keyword" placeholder="搜索数据源..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-button style="float: right; margin-left: 10px" type="primary" size="small" @click="handleCreate">+ 添加数据源</el-button>
         <el-button style="float: right; margin-left: 10px" type="primary" size="small" @click="handleCreate">+ 添加数据源</el-button>
-      </div>
-      <el-table :data="records" stripe v-loading="loading">
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+    <el-table :data="records" stripe v-loading="loading" style="max-height:calc(100vh - 300px);">
         <el-table-column prop="id" label="ID" width="60"></el-table-column>
         <el-table-column prop="id" label="ID" width="60"></el-table-column>
         <el-table-column prop="memberId" label="成员ID" width="80"></el-table-column>
         <el-table-column prop="memberId" label="成员ID" width="80"></el-table-column>
         <el-table-column prop="sourceType" label="类型" width="100">
         <el-table-column prop="sourceType" label="类型" width="100">
@@ -40,8 +41,9 @@
             </el-dropdown>
             </el-dropdown>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
-      <el-pagination
+    </el-table>
+    </div>
+    <el-pagination
         v-if="total > 0"
         v-if="total > 0"
         style="margin-top:16px;text-align:right"
         style="margin-top:16px;text-align:right"
         :total="total"
         :total="total"

+ 9 - 7
cfc-web/src/views/admin/dimension-config.vue

@@ -5,8 +5,9 @@
         <span>健康维度常模配置</span>
         <span>健康维度常模配置</span>
         <el-input v-model="keyword" placeholder="搜索维度/来源..." prefix-icon="el-icon-search" style="width:200px;float:right;margin-right:8px" clearable @keyup.enter.native="loadData" @clear="loadData" />
         <el-input v-model="keyword" placeholder="搜索维度/来源..." prefix-icon="el-icon-search" style="width:200px;float:right;margin-right:8px" clearable @keyup.enter.native="loadData" @clear="loadData" />
         <el-button style="float: right;margin-right:8px" type="primary" size="small" @click="handleCreate">+ 添加常模</el-button>
         <el-button style="float: right;margin-right:8px" type="primary" size="small" @click="handleCreate">+ 添加常模</el-button>
-      </div>
-      <el-table :data="filteredNorms" stripe v-loading="loading">
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+    <el-table :data="filteredNorms" stripe v-loading="loading" style="max-height:calc(100vh - 300px);">
         <el-table-column prop="id" label="ID" width="60"></el-table-column>
         <el-table-column prop="id" label="ID" width="60"></el-table-column>
         <el-table-column prop="dimension" label="维度" width="100">
         <el-table-column prop="dimension" label="维度" width="100">
           <template slot-scope="scope">
           <template slot-scope="scope">
@@ -48,11 +49,12 @@
               <el-dropdown-menu slot="dropdown">
               <el-dropdown-menu slot="dropdown">
                 <el-dropdown-item command="delete" icon="el-icon-delete">删除</el-dropdown-item>
                 <el-dropdown-item command="delete" icon="el-icon-delete">删除</el-dropdown-item>
               </el-dropdown-menu>
               </el-dropdown-menu>
-            </el-dropdown>
-          </template>
-        </el-table-column>
-      </el-table>
-    </el-card>
+        </el-dropdown>
+        </template>
+      </el-table-column>
+    </el-table>
+    </div>
+  </el-card>
 
 
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑常模' : '添加常模'" width="600px">
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑常模' : '添加常模'" width="600px">
       <el-form :model="form" label-width="100px">
       <el-form :model="form" label-width="100px">

+ 6 - 4
cfc-web/src/views/admin/dimension/index.vue

@@ -5,9 +5,10 @@
         <span>维度配置管理</span>
         <span>维度配置管理</span>
         <el-input v-model="keyword" placeholder="搜索维度..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-input v-model="keyword" placeholder="搜索维度..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-button style="float: right; margin-left: 10px" type="primary" size="small" @click="handleCreate">+ 新增维度</el-button>
         <el-button style="float: right; margin-left: 10px" type="primary" size="small" @click="handleCreate">+ 新增维度</el-button>
-      </div>
+</div>
 
 
-      <el-table :data="filteredData" stripe v-loading="loading">
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+      <el-table :data="filteredData" stripe v-loading="loading" style="max-height:calc(100vh - 300px);">
         <el-table-column prop="id" label="ID" width="80" />
         <el-table-column prop="id" label="ID" width="80" />
         <el-table-column prop="dimensionCode" label="代码" width="120" />
         <el-table-column prop="dimensionCode" label="代码" width="120" />
         <el-table-column prop="dimensionName" label="名称" width="160" />
         <el-table-column prop="dimensionName" label="名称" width="160" />
@@ -33,8 +34,9 @@
             <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
             <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
-    </el-card>
+    </el-table>
+    </div>
+  </el-card>
 
 
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑维度' : '新增维度'" width="500px">
     <el-dialog :visible.sync="dialogVisible" :title="isEdit ? '编辑维度' : '新增维度'" width="500px">
       <el-form :model="form" label-width="120px">
       <el-form :model="form" label-width="120px">

+ 3 - 1
cfc-web/src/views/admin/indicators/index.vue

@@ -16,7 +16,8 @@
     </div>
     </div>
 
 
     <!-- 表格 -->
     <!-- 表格 -->
-    <el-table :data="list" border stripe v-loading="loading">
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+      <el-table :data="list" border stripe v-loading="loading" style="max-height:calc(100vh - 300px);">
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column prop="id" label="ID" width="60" />
       <el-table-column prop="domain" label="领域" width="100" />
       <el-table-column prop="domain" label="领域" width="100" />
       <el-table-column prop="category" label="分类" width="100" />
       <el-table-column prop="category" label="分类" width="100" />
@@ -43,6 +44,7 @@
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
+    </div>
 
 
     <!-- 编辑弹窗 -->
     <!-- 编辑弹窗 -->
     <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="500px">
     <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="500px">

+ 6 - 4
cfc-web/src/views/admin/supply-manage/List.vue

@@ -22,9 +22,10 @@
         <el-form-item>
         <el-form-item>
           <el-button type="primary" @click="loadData" :loading="loading">查询</el-button>
           <el-button type="primary" @click="loadData" :loading="loading">查询</el-button>
         </el-form-item>
         </el-form-item>
-      </el-form>
+    </el-form>
 
 
-      <el-table :data="suppliers" stripe v-loading="loading">
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+      <el-table :data="suppliers" stripe v-loading="loading" style="max-height:calc(100vh - 300px);">
         <el-table-column prop="id" label="ID" width="70"></el-table-column>
         <el-table-column prop="id" label="ID" width="70"></el-table-column>
         <el-table-column prop="nickname" label="昵称" width="130"></el-table-column>
         <el-table-column prop="nickname" label="昵称" width="130"></el-table-column>
         <el-table-column prop="realName" label="真实姓名" width="120"></el-table-column>
         <el-table-column prop="realName" label="真实姓名" width="120"></el-table-column>
@@ -51,9 +52,10 @@
             <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
             <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-      </el-table>
+    </el-table>
+    </div>
 
 
-      <el-pagination
+    <el-pagination
         v-if="total > 0"
         v-if="total > 0"
         style="margin-top: 15px; text-align: right"
         style="margin-top: 15px; text-align: right"
         background
         background

+ 3 - 2
cfc-web/src/views/teacher/TeacherTeam.vue

@@ -82,8 +82,9 @@
         <span class="card-title">团队成员</span>
         <span class="card-title">团队成员</span>
         <el-input v-model="keyword" placeholder="搜索成员..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <el-input v-model="keyword" placeholder="搜索成员..." prefix-icon="el-icon-search" style="width:200px" clearable @keyup.enter.native="handleSearch" @clear="handleSearch" />
         <span class="card-count">共 {{ filteredMembers.length }} 人</span>
         <span class="card-count">共 {{ filteredMembers.length }} 人</span>
-      </div>
-      <el-table :data="filteredMembers" stripe style="width: 100%" v-loading="loading">
+    </div>
+    <div style="overflow:auto;max-height:calc(100vh - 300px);">
+      <el-table :data="filteredMembers" stripe style="width: 100%; max-height:calc(100vh - 300px);" v-loading="loading">
         <el-table-column label="成员信息" min-width="200">
         <el-table-column label="成员信息" min-width="200">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div class="member-cell">
             <div class="member-cell">