|
@@ -65,28 +65,28 @@ let chartData: DashboardData = reactive({
|
|
|
frontProportion: { num: [], percentage: [] }, // 初期分期占比分析
|
|
|
afterProportion: { num: [], percentage: [] }, // 近期分期占比分析
|
|
|
});
|
|
|
-async function getChartData(gradeId: number) {
|
|
|
- getDashboardData(gradeId)
|
|
|
+async function getChartData(schoolId:number, gradeId: number) {
|
|
|
+ getDashboardData(schoolId, gradeId)
|
|
|
.then(({ data }) => {
|
|
|
chartData = <DashboardData>{ ...data };
|
|
|
if (chartData.frontAverage > 0) {
|
|
|
chartStatus.value = true;
|
|
|
dataStatus.value = 1;
|
|
|
- } else {
|
|
|
- dataStatus.value = 2;
|
|
|
}
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
- console.log(error.toString());
|
|
|
- dataStatus.value = 2;
|
|
|
+ dataStatus.value = 5;
|
|
|
+ dataMessage.value = error.message;
|
|
|
+ console.log(error.message);
|
|
|
});
|
|
|
}
|
|
|
-// 数据状态:1正常,2训练次数小于3,3过期,4缺省
|
|
|
+// 数据状态:1正常,2训练次数小于3,3过期,4缺省,5接口直接返回缺省信息error.message
|
|
|
const dataStatus = ref(5);
|
|
|
+const dataMessage = ref("加载中...");
|
|
|
// 改变班级重新加载图表数据
|
|
|
function changeGrade() {
|
|
|
dataStatus.value = 5;
|
|
|
- getChartData(gradeId.value);
|
|
|
+ getChartData(userStore.schoolId, gradeId.value);
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
// 获取班级
|
|
@@ -94,7 +94,7 @@ onMounted(() => {
|
|
|
// 数据卡片
|
|
|
getDataCard(userStore.schoolId);
|
|
|
// 图表数据
|
|
|
- getChartData(gradeId.value);
|
|
|
+ getChartData(userStore.schoolId, gradeId.value);
|
|
|
});
|
|
|
watch(
|
|
|
() => userStore.schoolId,
|
|
@@ -105,7 +105,7 @@ watch(
|
|
|
dataStatus.value = 5;
|
|
|
getGradeData(newValue);
|
|
|
getDataCard(newValue);
|
|
|
- getChartData(0);
|
|
|
+ getChartData(newValue,0);
|
|
|
}
|
|
|
);
|
|
|
</script>
|
|
@@ -260,36 +260,38 @@ watch(
|
|
|
<el-col :md="24" :lg="8">
|
|
|
<div class="charts-item">
|
|
|
<p class="title">学员专注力平均值整体对比分析</p>
|
|
|
- <div v-if="dataStatus == 2" class="empty">
|
|
|
- <p>筛选条件的学生人群训练3次以上才能进行训练数据分析,</p>
|
|
|
- <p>当前训练数据不足以进行数据分析!</p>
|
|
|
- </div>
|
|
|
- <div v-if="dataStatus == 3" class="empty">
|
|
|
- <p class="red">合作已过期,无法进行数据看板的查看!</p>
|
|
|
- </div>
|
|
|
- <div v-if="dataStatus == 4" class="empty">
|
|
|
- <p>您的学校还没有任何训练数据!</p>
|
|
|
- </div>
|
|
|
+<!-- <div v-if="dataStatus == 2" class="empty">-->
|
|
|
+<!-- <p>筛选条件的学生人群训练3次以上才能进行训练数据分析,</p>-->
|
|
|
+<!-- <p>当前训练数据不足以进行数据分析!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-if="dataStatus == 3" class="empty">-->
|
|
|
+<!-- <p class="red">合作已过期,无法进行数据看板的查看!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-if="dataStatus == 4" class="empty">-->
|
|
|
+<!-- <p>您的学校还没有任何训练数据!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
<div v-if="dataStatus == 5" class="empty">
|
|
|
- <p>加载中...</p>
|
|
|
+ <img src="../../assets/empty.png" alt="数据为空">
|
|
|
+ <p>{{ dataMessage }}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :md="24" :lg="16">
|
|
|
<div class="charts-item">
|
|
|
<p class="title">学员专注力评分分级占比分析</p>
|
|
|
- <div v-if="dataStatus == 2" class="empty">
|
|
|
- <p>筛选条件的学生人群训练3次以上才能进行训练数据分析,</p>
|
|
|
- <p>当前训练数据不足以进行数据分析!</p>
|
|
|
- </div>
|
|
|
- <div v-if="dataStatus == 3" class="empty">
|
|
|
- <p class="red">合作已过期,无法进行数据看板的查看!</p>
|
|
|
- </div>
|
|
|
- <div v-if="dataStatus == 4" class="empty">
|
|
|
- <p>您的学校还没有任何训练数据!</p>
|
|
|
- </div>
|
|
|
+<!-- <div v-if="dataStatus == 2" class="empty">-->
|
|
|
+<!-- <p>筛选条件的学生人群训练3次以上才能进行训练数据分析,</p>-->
|
|
|
+<!-- <p>当前训练数据不足以进行数据分析!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-if="dataStatus == 3" class="empty">-->
|
|
|
+<!-- <p class="red">合作已过期,无法进行数据看板的查看!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-if="dataStatus == 4" class="empty">-->
|
|
|
+<!-- <p>您的学校还没有任何训练数据!</p>-->
|
|
|
+<!-- </div>-->
|
|
|
<div v-if="dataStatus == 5" class="empty">
|
|
|
- <p>加载中...</p>
|
|
|
+ <img src="../../assets/empty.png" alt="数据为空">
|
|
|
+ <p>{{ dataMessage }}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -367,20 +369,7 @@ watch(
|
|
|
margin-top: 60px;
|
|
|
}
|
|
|
.empty {
|
|
|
- box-sizing: border-box;
|
|
|
- height: 400px;
|
|
|
- padding-top: 200px;
|
|
|
- text-align: center;
|
|
|
- background-image: url("../../assets/empty.png");
|
|
|
- background-repeat: no-repeat;
|
|
|
- background-position: center 30%;
|
|
|
- p {
|
|
|
- font-size: 14px;
|
|
|
- color: #a1a1a1;
|
|
|
- &.red {
|
|
|
- color: #e04962;
|
|
|
- }
|
|
|
- }
|
|
|
+ padding: 200px 0;
|
|
|
}
|
|
|
}
|
|
|
</style>
|