优化体验:清理管理端技术化与AI化文案
This commit is contained in:
1 parent
08b8abe778
commit
5871731edd
10 files changed
+85
-70
No files matched your search
@@ -37,7 +37,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询分析</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -77,7 +77,7 @@
|
||||
<div class="kpi-box rate-box">
|
||||
<div class="kpi-title">
|
||||
综合出勤率
|
||||
<el-tooltip :content="summary.metricDefinitionNotice || '出勤率分母采用开课所属班级参训学员应到人次,业务标准待甲方确认'" placement="top">
|
||||
<el-tooltip :content="formattedMetricNotice" placement="top">
|
||||
<i class="el-icon-question" style="color: #E6A23C; cursor: pointer; margin-left: 4px;" />
|
||||
</el-tooltip>
|
||||
</div>
|
||||
@@ -89,7 +89,8 @@
|
||||
|
||||
<!-- 业务口径状态警示条 -->
|
||||
<el-alert
|
||||
:title="summary.metricDefinitionNotice"
|
||||
v-if="summary.metricDefinitionNotice"
|
||||
:title="formattedMetricNotice"
|
||||
type="warning"
|
||||
:closable="false"
|
||||
show-icon
|
||||
@@ -101,7 +102,7 @@
|
||||
<el-col :xs="24" :sm="24" :lg="15">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-data-line" style="color: #409EFF; margin-right: 6px;"></i>每日考勤打卡趋势走势 (Daily Attendance Trend)</span>
|
||||
<span><i class="el-icon-data-line" style="color: #409EFF; margin-right: 6px;"></i>每日考勤趋势</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="dailyTrendChart" style="height: 320px; width: 100%;" />
|
||||
@@ -114,7 +115,7 @@
|
||||
<el-col :xs="24" :sm="24" :lg="9">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-pie-chart" style="color: #E6A23C; margin-right: 6px;"></i>考勤打卡状态构成 (含未签到独立统计)</span>
|
||||
<span><i class="el-icon-pie-chart" style="color: #E6A23C; margin-right: 6px;"></i>考勤打卡状态构成</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="statusDistChart" style="height: 320px; width: 100%;" />
|
||||
@@ -131,7 +132,7 @@
|
||||
<el-col :xs="24" :sm="24" :lg="12">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-s-cooperation" style="color: #409EFF; margin-right: 6px;"></i>培训计划出勤对比 (Top 10)</span>
|
||||
<span><i class="el-icon-s-cooperation" style="color: #409EFF; margin-right: 6px;"></i>培训班级出勤对比 (前 10)</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="planCompChart" style="height: 300px; width: 100%;" />
|
||||
@@ -144,7 +145,7 @@
|
||||
<el-col :xs="24" :sm="24" :lg="12">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-notebook-2" style="color: #67C23A; margin-right: 6px;"></i>课程考勤对比 (Top 10)</span>
|
||||
<span><i class="el-icon-notebook-2" style="color: #67C23A; margin-right: 6px;"></i>课程考勤对比 (前 10)</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="courseCompChart" style="height: 300px; width: 100%;" />
|
||||
@@ -159,8 +160,8 @@
|
||||
<!-- 5. 异常学员 Top 10 列表与柱图穿透 -->
|
||||
<el-card shadow="never" class="mt16" v-loading="loadingCharts">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-user" style="color: #F56C6C; margin-right: 6px;"></i>考勤异常重点学员排行 Top 10 (异常出勤频次预警)</span>
|
||||
<span class="tip-text">点击学员或操作栏可直接穿透至【学员360画像】</span>
|
||||
<span><i class="el-icon-user" style="color: #F56C6C; margin-right: 6px;"></i>考勤异常重点学员 (前 10)</span>
|
||||
<span class="tip-text">点击学员姓名或操作栏可查看【学员档案】</span>
|
||||
</div>
|
||||
<el-row :gutter="20">
|
||||
<el-col :xs="24" :sm="24" :lg="10">
|
||||
@@ -202,7 +203,7 @@
|
||||
<el-table-column label="操作" width="90" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" icon="el-icon-view" @click="drillToPortrait(scope.row)">
|
||||
画像
|
||||
学员档案
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -273,6 +274,13 @@ export default {
|
||||
abnormalInstance: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formattedMetricNotice() {
|
||||
const notice = this.summary.metricDefinitionNotice
|
||||
if (!notice) return '口径说明:当前综合出勤率采用开班参训学员应到人次计算,请假与未签到等口径待业务方确认。'
|
||||
return notice.replace(/^BUSINESS_METRIC_DEFINITION_PENDING_CONFIRMATION:\s*/, '口径说明:')
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initDefaultDates()
|
||||
this.loadFilterOptions()
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<!-- 1. 顶部标题与数据更新状态 -->
|
||||
<div class="dashboard-header">
|
||||
<div class="header-title">
|
||||
<h2>SYFJGYD学员管理系统 · 管理驾驶舱</h2>
|
||||
<span class="subtitle">全校培训教学运行、排课调度、学员考勤与生活保障综合宏观指挥大盘</span>
|
||||
<h2>SYFJGYD学员管理系统 · 教学运行概览</h2>
|
||||
<span class="subtitle">全校培训计划、课次调度、学员考勤与生活保障概览</span>
|
||||
</div>
|
||||
<div class="header-action">
|
||||
<el-button icon="el-icon-refresh" size="mini" type="primary" plain :loading="loading" @click="refreshAll">刷新数据</el-button>
|
||||
@@ -108,8 +108,8 @@
|
||||
<el-col :xs="24" :sm="12" :md="14">
|
||||
<el-card shadow="never" class="status-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-warning-outline" style="color: #E6A23C; margin-right: 6px;"></i>业务运行待办与治理提醒</span>
|
||||
<span class="tip-text">{{ hasAnyClickableReminder ? '点击具备权限的卡片可直接跳转业务处理' : '业务客观运行指标提示' }}</span>
|
||||
<span><i class="el-icon-warning-outline" style="color: #E6A23C; margin-right: 6px;"></i>待办事项</span>
|
||||
<span class="tip-text">{{ hasAnyClickableReminder ? '点击卡片可快速进入相关业务处理' : '业务客观运行指标提示' }}</span>
|
||||
</div>
|
||||
<div class="alert-grid" v-loading="loadingOverview">
|
||||
<div
|
||||
@@ -138,7 +138,7 @@
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-data-line" style="color: #409EFF; margin-right: 6px;"></i>近 30 天考勤打卡情况走势</span>
|
||||
<span class="tip-text">正常签到 vs 异常考勤人次</span>
|
||||
<span class="tip-text">正常出勤与异常出勤对比</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="trendChart" style="height: 320px; width: 100%;" />
|
||||
@@ -171,8 +171,8 @@
|
||||
<el-col :xs="24" :sm="24" :lg="10">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-pie-chart" style="color: #E6A23C; margin-right: 6px;"></i>全校考勤状态构成分布</span>
|
||||
<span class="tip-text">含未签到独立统计</span>
|
||||
<span><i class="el-icon-pie-chart" style="color: #E6A23C; margin-right: 6px;"></i>考勤状态分布</span>
|
||||
<span class="tip-text">含未签到</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="statusChart" style="height: 300px; width: 100%;" />
|
||||
@@ -187,8 +187,8 @@
|
||||
<el-col :xs="24" :sm="24" :lg="14">
|
||||
<el-card shadow="never" class="chart-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-school" style="color: #909399; margin-right: 6px;"></i>教学场地使用频次与累计课时 Top 5</span>
|
||||
<span class="tip-text">依排课记录客观统计,不推算无分母利用率</span>
|
||||
<span><i class="el-icon-school" style="color: #909399; margin-right: 6px;"></i>教学场地使用频次与课时 Top 5</span>
|
||||
<span class="tip-text">依据课表排课记录统计</span>
|
||||
</div>
|
||||
<div v-loading="loadingCharts" class="chart-wrapper">
|
||||
<div ref="venueChart" style="height: 300px; width: 100%;" />
|
||||
@@ -229,7 +229,7 @@ export default {
|
||||
const items = [
|
||||
{
|
||||
key: 'attendance',
|
||||
label: '异常考勤人次',
|
||||
label: '考勤异常记录',
|
||||
count: o.abnormalAttendanceCount || 0,
|
||||
route: '/analysis/attendance',
|
||||
permission: 'train:analysis:attendance',
|
||||
@@ -239,7 +239,7 @@ export default {
|
||||
},
|
||||
{
|
||||
key: 'report',
|
||||
label: '待报到参训学员',
|
||||
label: '待报到学员',
|
||||
count: o.pendingReportCount || 0,
|
||||
route: '/analysis/report',
|
||||
permission: 'train:report:list',
|
||||
@@ -249,7 +249,7 @@ export default {
|
||||
},
|
||||
{
|
||||
key: 'accommodation',
|
||||
label: '住宿预分配待入住',
|
||||
label: '待办理入住',
|
||||
count: o.preallocatedAccommodationCount || 0,
|
||||
route: '/equip/accommodation',
|
||||
permission: 'train:accommodation:list',
|
||||
@@ -259,7 +259,7 @@ export default {
|
||||
},
|
||||
{
|
||||
key: 'auth',
|
||||
label: '门禁授权异常数',
|
||||
label: '门禁授权待处理',
|
||||
count: o.abnormalAuthCount || 0,
|
||||
route: '/equip/extra',
|
||||
permission: null,
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<el-card shadow="never" style="margin-top: 20px; text-align: center; padding: 40px 20px;">
|
||||
<el-result
|
||||
icon="info"
|
||||
title="图谱时空分析功能已归档"
|
||||
sub-title="该功能系其他知识图谱项目历史原型代码,不属于 SYFJGYD学员管理系统核心业务闭环。"
|
||||
title="时空分析功能升级中"
|
||||
sub-title="该功能正在升级维护中,敬请期待。"
|
||||
>
|
||||
<template slot="extra">
|
||||
<el-button type="primary" size="medium" @click="$router.push('/')">返回管理驾驶舱</el-button>
|
||||
<el-button type="primary" size="medium" @click="$router.push('/')">返回首页</el-button>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<el-card shadow="never" style="margin-top: 20px; text-align: center; padding: 40px 20px;">
|
||||
<el-result
|
||||
icon="info"
|
||||
title="课程成绩旧查询入口已下线"
|
||||
sub-title="该页面原依赖旧表 train_score_info 且包含前端硬编码分级逻辑。当前新一代课程考勤与教学调度分析已上线至【考勤专题分析】。"
|
||||
title="课程成绩功能整合中"
|
||||
sub-title="课程教学调度与考勤记录已上线至【考勤统计】。"
|
||||
>
|
||||
<template slot="extra">
|
||||
<el-button type="primary" size="medium" @click="$router.push('/analysis/attendance')">前往考勤专题分析</el-button>
|
||||
<el-button size="medium" @click="$router.push('/')">返回管理驾驶舱</el-button>
|
||||
<el-button type="primary" size="medium" @click="$router.push('/analysis/attendance')">前往考勤统计</el-button>
|
||||
<el-button size="medium" @click="$router.push('/')">返回首页</el-button>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<el-form-item label="课程编码" prop="cCode">
|
||||
<el-input
|
||||
v-model="queryParams.cCode"
|
||||
placeholder="请输入课程统一业务编码"
|
||||
placeholder="请输入课程编码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
<el-tab-pane label="我的培训" name="enrollments">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-guide" /> 我参与的培训班级与当前参训流转状态
|
||||
<i class="el-icon-guide" /> 我参与的培训班级与参训状态
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadEnrollments">刷新</el-button>
|
||||
</div>
|
||||
@@ -134,7 +134,7 @@
|
||||
<el-tab-pane label="我的课表" name="timetable">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-date" /> 所在班级培训排课日程明细(严格由当前学员会话推导,无需传参)
|
||||
<i class="el-icon-date" /> 所在班级排课日程明细
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadTimetable">刷新</el-button>
|
||||
</div>
|
||||
@@ -164,7 +164,7 @@
|
||||
<el-tab-pane label="我的报到" name="report">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-document-checked" /> 开班报到确认凭据与回执信息(只读查询)
|
||||
<i class="el-icon-document-checked" /> 开班报到确认凭据与回执信息
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadReport">刷新</el-button>
|
||||
</div>
|
||||
@@ -196,7 +196,7 @@
|
||||
<el-tab-pane label="我的考勤" name="attendance">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-check" /> 课堂出勤打卡流水(状态严格遵循:0 缺勤, 1 正常, 2 迟到, 3 早退, 4 请假)
|
||||
<i class="el-icon-check" /> 课堂考勤打卡记录
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadAttendance">刷新</el-button>
|
||||
</div>
|
||||
@@ -227,11 +227,11 @@
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
|
||||
<!-- Tab 5: 学员客观概况 (取代无量纲依据的伪雷达图) -->
|
||||
<!-- Tab 5: 学员客观概况 -->
|
||||
<el-tab-pane label="学业与纪律概况" name="portrait">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-data-analysis" /> 个人培训全生命周期客观表现全景(严格展示真实事实,无算法虚假评分)
|
||||
<i class="el-icon-data-analysis" /> 个人培训表现与纪律概况
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadPortrait">刷新</el-button>
|
||||
</div>
|
||||
@@ -242,11 +242,11 @@
|
||||
<el-col :xs="24" :sm="12">
|
||||
<el-card shadow="never" class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span><i class="el-icon-time" style="color: #67C23A;" /> 课堂考勤打卡事实</span>
|
||||
<span><i class="el-icon-time" style="color: #67C23A;" /> 考勤打卡记录</span>
|
||||
</div>
|
||||
<div style="padding: 10px 0;">
|
||||
<p><b>正常出勤打卡:</b>{{ attendanceNormalCount }} 次</p>
|
||||
<p><b>异常打卡流水:</b>{{ attendanceAbnormalCount }} 次(迟到/早退/请假/缺勤)</p>
|
||||
<p><b>正常出勤:</b>{{ attendanceNormalCount }} 次</p>
|
||||
<p><b>异常考勤:</b>{{ attendanceAbnormalCount }} 次(迟到/早退/请假/缺勤)</p>
|
||||
<p><b>应出勤总课次:</b>{{ timetableList.length }} 节</p>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -277,9 +277,9 @@
|
||||
<div slot="header" class="clearfix">
|
||||
<span><i class="el-icon-medal" style="color: #E6A23C;" /> 考核成绩状态</span>
|
||||
</div>
|
||||
<el-result icon="info" title="成绩暂未发布" sub-title="培训班级各考核项成绩正在录入评定中,待教务处审核后发布。">
|
||||
<el-result icon="info" title="成绩暂未发布" sub-title="当前班级成绩正在录入中。">
|
||||
<template slot="extra">
|
||||
<el-tag size="small" type="info">待考务录入</el-tag>
|
||||
<el-tag size="small" type="info">录入中</el-tag>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
@@ -290,9 +290,9 @@
|
||||
<div slot="header" class="clearfix">
|
||||
<span><i class="el-icon-reading" style="color: #67C23A;" /> 自主实训与学习平台</span>
|
||||
</div>
|
||||
<el-result icon="info" title="外部自学待同步" sub-title="在线学习与 VR 实训设备平台正在联调数据通道,学时流水将自动同步。">
|
||||
<el-result icon="info" title="暂无自主学习记录" sub-title="暂无外部自主学习记录。">
|
||||
<template slot="extra">
|
||||
<el-tag size="small" type="warning">待平台联调</el-tag>
|
||||
<el-tag size="small" type="info">暂无记录</el-tag>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<el-tab-pane label="我的培训班" name="plans">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-collection" /> 当前已分配任教的培训班级列表(支持直接查看班级学员花名册)
|
||||
<i class="el-icon-collection" /> 当前任教培训班级
|
||||
</div>
|
||||
<el-button icon="el-icon-refresh" size="mini" plain @click="loadMyPlans">刷新</el-button>
|
||||
</div>
|
||||
@@ -133,7 +133,7 @@
|
||||
<el-tab-pane label="我的课表" name="timetable">
|
||||
<div class="tab-header">
|
||||
<div class="header-desc">
|
||||
<i class="el-icon-date" /> 教师授课日程课表(支持日期范围检索与课次考勤实时查验)
|
||||
<i class="el-icon-date" /> 教师授课日程课表
|
||||
</div>
|
||||
<div class="filter-controls">
|
||||
<el-date-picker
|
||||
@@ -197,7 +197,7 @@
|
||||
<div class="drawer-content" style="padding: 20px;">
|
||||
<div class="drawer-tip">
|
||||
<el-alert
|
||||
title="该名册仅面向任课教师授权查看,学员联系电话已依法执行隐私掩码脱敏。"
|
||||
title="学员联系电话已做脱敏保护。"
|
||||
type="info"
|
||||
show-icon
|
||||
:closable="false"
|
||||
@@ -224,14 +224,14 @@
|
||||
|
||||
<!-- 抽屉 2: 课次考勤打卡流水 (只读查验) -->
|
||||
<el-drawer
|
||||
:title="'课次考勤流水 · ' + (currentLesson.courseName || '')"
|
||||
:title="'课次考勤记录 · ' + (currentLesson.courseName || '')"
|
||||
:visible.sync="attendanceDrawerVisible"
|
||||
size="60%"
|
||||
direction="rtl"
|
||||
>
|
||||
<div class="drawer-content" style="padding: 20px;">
|
||||
<div class="lesson-meta-bar" style="margin-bottom: 15px;">
|
||||
<el-tag size="small" type="primary">课次ID: {{ currentLesson.lessonId }}</el-tag>
|
||||
<el-tag size="small" type="primary">课次编号: {{ currentLesson.lessonId }}</el-tag>
|
||||
<span style="margin-left: 15px; font-weight: bold; color: #303133;">
|
||||
{{ currentLesson.lessonDate }} {{ currentLesson.startTime }}~{{ currentLesson.endTime }}
|
||||
</span>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</el-autocomplete>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearch">加载画像</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearch">查询档案</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="handleReset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -33,7 +33,7 @@
|
||||
<!-- A. 基础档案卡片 -->
|
||||
<el-card shadow="never" class="section-card">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-user" style="color: #409EFF; margin-right: 6px;"></i>学员基础主档档案 (Basic Profile)</span>
|
||||
<span><i class="el-icon-user" style="color: #409EFF; margin-right: 6px;"></i>基本信息</span>
|
||||
<el-tag size="mini" :type="profile.userBindingStatus === '已绑定' ? 'success' : 'info'">
|
||||
账号:{{ profile.userBindingStatus }}
|
||||
</el-tag>
|
||||
@@ -60,8 +60,8 @@
|
||||
<!-- B. 考勤客观纪律画像 -->
|
||||
<el-card shadow="never" class="section-card mt16">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-time" style="color: #67C23A; margin-right: 6px;"></i>考勤纪律客观履历 (Attendance Discipline)</span>
|
||||
<el-tooltip :content="profile.metricDefinitionNotice" placement="top">
|
||||
<span><i class="el-icon-time" style="color: #67C23A; margin-right: 6px;"></i>考勤记录</span>
|
||||
<el-tooltip :content="formattedMetricNotice" placement="top">
|
||||
<i class="el-icon-info" style="color: #E6A23C; cursor: pointer;" />
|
||||
</el-tooltip>
|
||||
</div>
|
||||
@@ -99,7 +99,7 @@
|
||||
<el-col :xs="12" :sm="8" :md="3">
|
||||
<div class="stat-cell">
|
||||
<div class="val text-danger">{{ profile.absentCount || 0 }}</div>
|
||||
<div class="label">明确缺勤</div>
|
||||
<div class="label">缺勤</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="8" :md="3">
|
||||
@@ -120,7 +120,7 @@
|
||||
<!-- C. 培训履历时间轴 -->
|
||||
<el-card shadow="never" class="section-card mt16">
|
||||
<div slot="header" class="card-header">
|
||||
<span><i class="el-icon-tickets" style="color: #409EFF; margin-right: 6px;"></i>参训培训班履历 (Enrollment History)</span>
|
||||
<span><i class="el-icon-tickets" style="color: #409EFF; margin-right: 6px;"></i>培训经历</span>
|
||||
</div>
|
||||
<el-table
|
||||
v-if="profile.enrollmentTimeline && profile.enrollmentTimeline.length > 0"
|
||||
@@ -132,7 +132,7 @@
|
||||
>
|
||||
<el-table-column prop="planId" label="培训班编号" width="130" align="center" />
|
||||
<el-table-column prop="planName" label="培训班名称" min-width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="enrollmentStatusName" label="参训流转状态" width="120" align="center">
|
||||
<el-table-column prop="enrollmentStatusName" label="参训状态" width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="mini">{{ scope.row.enrollmentStatusName }}</el-tag>
|
||||
</template>
|
||||
@@ -154,7 +154,7 @@
|
||||
<el-empty v-else description="暂无参训记录" :image-size="60" />
|
||||
</el-card>
|
||||
|
||||
<!-- D. 学习、成绩与生活保障状态 (客观真实,无虚构评分) -->
|
||||
<!-- D. 学习、成绩与生活保障状态 -->
|
||||
<el-row :gutter="16" class="mt16">
|
||||
<!-- 考核成绩状态 -->
|
||||
<el-col :xs="24" :sm="12" :md="8">
|
||||
@@ -163,9 +163,9 @@
|
||||
<span><i class="el-icon-medal" style="color: #E6A23C; margin-right: 6px;"></i>课程考核成绩</span>
|
||||
</div>
|
||||
<div class="card-body-box">
|
||||
<el-result icon="info" title="暂无成绩数据" sub-title="数据库V2架构成绩分项与学员成绩表尚未完成考务录入,不展示虚假0分。">
|
||||
<el-result icon="info" title="暂无成绩数据" sub-title="当前课程暂未录入考核成绩。">
|
||||
<template slot="extra">
|
||||
<el-tag size="small" type="info">待考务数据入库</el-tag>
|
||||
<el-tag size="small" type="info">暂未录入</el-tag>
|
||||
</template>
|
||||
</el-result>
|
||||
</div>
|
||||
@@ -179,9 +179,9 @@
|
||||
<span><i class="el-icon-reading" style="color: #67C23A; margin-right: 6px;"></i>自主学习学时</span>
|
||||
</div>
|
||||
<div class="card-body-box">
|
||||
<el-result icon="info" title="暂无自学记录" sub-title="外部 VR / 在线实训系统尚未同步学习流水,当前学时数据保持待同步状态。">
|
||||
<el-result icon="info" title="暂无自学记录" sub-title="暂无自主学习学时记录。">
|
||||
<template slot="extra">
|
||||
<el-tag size="small" type="warning">待外部平台同步</el-tag>
|
||||
<el-tag size="small" type="info">暂无记录</el-tag>
|
||||
</template>
|
||||
</el-result>
|
||||
</div>
|
||||
@@ -226,7 +226,7 @@
|
||||
|
||||
<!-- 3. 未选中学员时的空状态提示 -->
|
||||
<el-card v-else shadow="never" class="mt16 empty-card">
|
||||
<el-empty description="请在上方输入学员姓名或学号,检索并加载学员 360 全景客观画像" :image-size="100" />
|
||||
<el-empty description="请在上方输入学员姓名或学号,查询学员档案" :image-size="100" />
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
@@ -245,6 +245,13 @@ export default {
|
||||
profile: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
formattedMetricNotice() {
|
||||
const notice = this.profile && this.profile.metricDefinitionNotice
|
||||
if (!notice) return '口径说明:当前个人出勤率采用学员参训应到课次计算,请假与未签到等口径待业务方确认。'
|
||||
return notice.replace(/^BUSINESS_METRIC_DEFINITION_PENDING_CONFIRMATION:\s*/, '口径说明:')
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 允许从 URL 参数(如考勤分析跳转携带 ?studentId=xxx)自动加载
|
||||
const sid = this.$route.query.studentId
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<el-card shadow="never" style="margin-top: 20px; text-align: center; padding: 40px 20px;">
|
||||
<el-result
|
||||
icon="info"
|
||||
title="成绩管理旧模块已停用下线 (V2架构升级)"
|
||||
sub-title="底层 train_score_info 旧表已在数据库V2结构治理中彻底停用。新一代成绩体系已升级至 train_score_item 与 train_student_score。"
|
||||
title="成绩管理模块维护中"
|
||||
sub-title="成绩管理功能正在升级维护中,您可前往查看考勤统计或学员档案。"
|
||||
>
|
||||
<template slot="extra">
|
||||
<el-button type="primary" size="medium" @click="$router.push('/analysis/attendance')">前往考勤分析</el-button>
|
||||
<el-button size="medium" @click="$router.push('/portrait')">查看学员画像</el-button>
|
||||
<el-button type="primary" size="medium" @click="$router.push('/analysis/attendance')">前往考勤统计</el-button>
|
||||
<el-button size="medium" @click="$router.push('/portrait')">查看学员档案</el-button>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<el-card shadow="never" style="margin-top: 20px; text-align: center; padding: 40px 20px;">
|
||||
<el-result
|
||||
icon="info"
|
||||
title="学员成绩旧查询入口已下线"
|
||||
sub-title="该页面原依赖旧表 train_score_info。学员全景档案及各模块综合表现已统一收拢至【学员 360 画像】。"
|
||||
title="学员成绩功能整合中"
|
||||
sub-title="学员综合表现与培训经历已统一整合至【学员档案】。"
|
||||
>
|
||||
<template slot="extra">
|
||||
<el-button type="primary" size="medium" @click="$router.push('/portrait')">前往学员 360 画像</el-button>
|
||||
<el-button size="medium" @click="$router.push('/')">返回管理驾驶舱</el-button>
|
||||
<el-button type="primary" size="medium" @click="$router.push('/portrait')">查看学员档案</el-button>
|
||||
<el-button size="medium" @click="$router.push('/')">返回首页</el-button>
|
||||
</template>
|
||||
</el-result>
|
||||
</el-card>
|
||||
|
||||
Reference in new issue
Block a user