|
@@ -20,6 +20,7 @@
|
|
|
start-placeholder="开始日期"
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
end-placeholder="结束日期"
|
|
|
size="default"
|
|
size="default"
|
|
|
|
|
+ @change="GetTargetExerciseResult"
|
|
|
/>
|
|
/>
|
|
|
</template>
|
|
</template>
|
|
|
</FiltersItem>
|
|
</FiltersItem>
|
|
@@ -28,30 +29,44 @@
|
|
|
:currentPage="currentPage" :pageSize="pageSize" :totalNum="totalNum"
|
|
:currentPage="currentPage" :pageSize="pageSize" :totalNum="totalNum"
|
|
|
:tableData="tableData" :tableColumns="tableColumns"
|
|
:tableData="tableData" :tableColumns="tableColumns"
|
|
|
@paginationChange="HandlePaginationChange">
|
|
@paginationChange="HandlePaginationChange">
|
|
|
- <template v-slot:gradingStatus="{row}">
|
|
|
|
|
- <TableRowStatus :useStatus="row.gradingStatus"
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <template v-slot:exerciseType="{row}">
|
|
|
|
|
+ {{ HandlePracticeNumTypeToStr(row.exerciseType) }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:exerciseStatus="{row}">
|
|
|
|
|
+ <TableRowStatus :useStatus="row.exerciseStatus"
|
|
|
:statusMsg="[
|
|
:statusMsg="[
|
|
|
{
|
|
{
|
|
|
- statusFlag:0,
|
|
|
|
|
|
|
+ statusFlag:1,
|
|
|
title:'未批阅',
|
|
title:'未批阅',
|
|
|
themeClass:'need_summary_icon'
|
|
themeClass:'need_summary_icon'
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- statusFlag:1,
|
|
|
|
|
- title:'已批阅',
|
|
|
|
|
- themeClass:'normal_icon'
|
|
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
statusFlag:2,
|
|
statusFlag:2,
|
|
|
title:'批阅中',
|
|
title:'批阅中',
|
|
|
themeClass:'no_release_icon'
|
|
themeClass:'no_release_icon'
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ statusFlag:3,
|
|
|
|
|
+ title:'已批阅',
|
|
|
|
|
+ themeClass:'normal_icon'
|
|
|
|
|
+ },
|
|
|
]">
|
|
]">
|
|
|
</TableRowStatus>
|
|
</TableRowStatus>
|
|
|
</template>
|
|
</template>
|
|
|
- <template v-slot:improvement="{row}">
|
|
|
|
|
- <img v-if="['up','down'].includes(row.improvement.type)" width="16px" height="16px" style="margin-right: 2px;" :src="row.improvement.type == 'up' ? upIcon : downIcon" alt="" />
|
|
|
|
|
- {{ row.improvement.value }}
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <template v-slot:frontRate="{row}">
|
|
|
|
|
+ {{ row.frontRate === '-' ? row.frontRate : row.frontRate + '%' }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:afterRate="{row}">
|
|
|
|
|
+ {{ row.afterRate === '-' ? row.afterRate : row.afterRate + '%' }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-slot:difference="{row}">
|
|
|
|
|
+ <img v-if="row.difference!== '-'"
|
|
|
|
|
+ width="16px" height="16px" style="margin-right: 2px;"
|
|
|
|
|
+ :src="Number(row.afterRate) > Number(row.frontRate) ? upIcon : downIcon" alt="" />
|
|
|
|
|
+ {{ row.difference }}
|
|
|
</template>
|
|
</template>
|
|
|
<template v-slot:action="{row}">
|
|
<template v-slot:action="{row}">
|
|
|
<div class="table_row_operation">
|
|
<div class="table_row_operation">
|
|
@@ -94,19 +109,19 @@ export default ({
|
|
|
totalNum:0,
|
|
totalNum:0,
|
|
|
tableColumns: [
|
|
tableColumns: [
|
|
|
{
|
|
{
|
|
|
- name: 'practiceTime',
|
|
|
|
|
|
|
+ name: 'submitTime',
|
|
|
label: '练习时间',
|
|
label: '练习时间',
|
|
|
minWidth: '180',
|
|
minWidth: '180',
|
|
|
hidden: false,
|
|
hidden: false,
|
|
|
custom: false,
|
|
custom: false,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'practiceType',
|
|
|
|
|
|
|
+ name: 'exerciseType',
|
|
|
label: '练习类型',
|
|
label: '练习类型',
|
|
|
minWidth: '120',
|
|
minWidth: '120',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
|
hidden: false,
|
|
hidden: false,
|
|
|
- custom: false,
|
|
|
|
|
|
|
+ custom: true,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: 'knowledgeName',
|
|
name: 'knowledgeName',
|
|
@@ -116,7 +131,7 @@ export default ({
|
|
|
custom: false,
|
|
custom: false,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'questionCount',
|
|
|
|
|
|
|
+ name: 'questionNum',
|
|
|
label: '试题数量',
|
|
label: '试题数量',
|
|
|
minWidth: '100',
|
|
minWidth: '100',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
@@ -124,7 +139,7 @@ export default ({
|
|
|
custom: false,
|
|
custom: false,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'gradingStatus',
|
|
|
|
|
|
|
+ name: 'exerciseStatus',
|
|
|
label: '批阅状态',
|
|
label: '批阅状态',
|
|
|
minWidth: '120',
|
|
minWidth: '120',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
@@ -132,23 +147,23 @@ export default ({
|
|
|
custom: true,
|
|
custom: true,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'preScoreRate',
|
|
|
|
|
|
|
+ name: 'frontRate',
|
|
|
label: '练前得分率',
|
|
label: '练前得分率',
|
|
|
minWidth: '120',
|
|
minWidth: '120',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
|
hidden: false,
|
|
hidden: false,
|
|
|
- custom: false,
|
|
|
|
|
|
|
+ custom: true,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'postScoreRate',
|
|
|
|
|
|
|
+ name: 'afterRate',
|
|
|
label: '练后得分率',
|
|
label: '练后得分率',
|
|
|
minWidth: '120',
|
|
minWidth: '120',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
|
hidden: false,
|
|
hidden: false,
|
|
|
- custom: false,
|
|
|
|
|
|
|
+ custom: true,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: 'improvement',
|
|
|
|
|
|
|
+ name: 'difference',
|
|
|
label: '提升情况',
|
|
label: '提升情况',
|
|
|
minWidth: '120',
|
|
minWidth: '120',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
@@ -165,47 +180,12 @@ export default ({
|
|
|
custom: true,
|
|
custom: true,
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
- tableData: [
|
|
|
|
|
- {
|
|
|
|
|
- id:'1',
|
|
|
|
|
- practiceTime: '2023-08-09 16:00:00',
|
|
|
|
|
- practiceType: '指定练习',
|
|
|
|
|
- knowledgeName: '一般词语',
|
|
|
|
|
- questionCount: 3,
|
|
|
|
|
- gradingStatus: 0,
|
|
|
|
|
- preScoreRate: '64.37%',
|
|
|
|
|
- postScoreRate: '54.38%',
|
|
|
|
|
- // 提升情况对象,方便 custom 插槽判断箭头颜色
|
|
|
|
|
- improvement: { type: 'up', value: '80.37%' },
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- id:'2',
|
|
|
|
|
- practiceTime: '2023-08-09 15:30:00',
|
|
|
|
|
- practiceType: '指定练习',
|
|
|
|
|
- knowledgeName: '句式仿写',
|
|
|
|
|
- questionCount: 3,
|
|
|
|
|
- gradingStatus: 1,
|
|
|
|
|
- preScoreRate: '91.29%',
|
|
|
|
|
- postScoreRate: '64.37%',
|
|
|
|
|
- improvement: { type: 'down', value: '89.36%' },
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- id:'3',
|
|
|
|
|
- practiceTime: '2023-08-09 14:15:00',
|
|
|
|
|
- practiceType: '指定练习',
|
|
|
|
|
- knowledgeName: '现代诗歌',
|
|
|
|
|
- questionCount: 3,
|
|
|
|
|
- gradingStatus: 2,
|
|
|
|
|
- preScoreRate: '64.29%',
|
|
|
|
|
- postScoreRate: '89.36%',
|
|
|
|
|
- improvement: { type: 'none', value: '0' },
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ tableData: [],
|
|
|
filtersData: [
|
|
filtersData: [
|
|
|
{
|
|
{
|
|
|
key:'time',
|
|
key:'time',
|
|
|
name: '时间',
|
|
name: '时间',
|
|
|
- value: 'custom', // 默认选中项
|
|
|
|
|
|
|
+ value: 'all', // 默认选中项
|
|
|
list: [
|
|
list: [
|
|
|
{ label: '全部', value: 'all' },
|
|
{ label: '全部', value: 'all' },
|
|
|
{ label: '本周', value: 'this_week' },
|
|
{ label: '本周', value: 'this_week' },
|
|
@@ -229,19 +209,32 @@ export default ({
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ // 处理练习类型转换
|
|
|
|
|
+ HandlePracticeNumTypeToStr(num){
|
|
|
|
|
+ switch(Number(num)){
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ return '自主练习'
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ return '指定练习'
|
|
|
|
|
+ default:
|
|
|
|
|
+ return ''
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
// 筛选组件回调
|
|
// 筛选组件回调
|
|
|
ChangeFilters(e) {
|
|
ChangeFilters(e) {
|
|
|
// console.log('当前选中的信息',e)
|
|
// console.log('当前选中的信息',e)
|
|
|
this.filtersData[e.index].value = e.value;
|
|
this.filtersData[e.index].value = e.value;
|
|
|
|
|
+ this.GetTargetExerciseResult()
|
|
|
},
|
|
},
|
|
|
// 处理表格分页变化
|
|
// 处理表格分页变化
|
|
|
HandlePaginationChange(params){
|
|
HandlePaginationChange(params){
|
|
|
const {type, val} = params
|
|
const {type, val} = params
|
|
|
if(type == 'currentPage'){
|
|
if(type == 'currentPage'){
|
|
|
- this.currentPage = val
|
|
|
|
|
|
|
+ this.currentPage = Number(val)
|
|
|
}else if(type == 'pageSize'){
|
|
}else if(type == 'pageSize'){
|
|
|
- this.pageSize = val
|
|
|
|
|
|
|
+ this.pageSize = Number(val)
|
|
|
}
|
|
}
|
|
|
|
|
+ this.GetTargetExerciseResult()
|
|
|
},
|
|
},
|
|
|
// 获取本周一(本周起始日)的 00:00:00
|
|
// 获取本周一(本周起始日)的 00:00:00
|
|
|
getCurrentWeekStart(){
|
|
getCurrentWeekStart(){
|
|
@@ -278,8 +271,8 @@ export default ({
|
|
|
endDate = dayjs().format("YYYY-MM-DD HH:mm:ss")
|
|
endDate = dayjs().format("YYYY-MM-DD HH:mm:ss")
|
|
|
break
|
|
break
|
|
|
case 'custom':
|
|
case 'custom':
|
|
|
- startDate = dayjs(this.startAndEndTime?.[0]).format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
- endDate = dayjs(this.startAndEndTime?.[1]).format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
|
|
+ startDate = this.startAndEndTime?.[0] ? dayjs(this.startAndEndTime?.[0]).format("YYYY-MM-DD HH:mm:ss") : ''
|
|
|
|
|
+ endDate = this.startAndEndTime?.[1] ? dayjs(this.startAndEndTime?.[1]).format("YYYY-MM-DD HH:mm:ss") : ''
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
let prams = {
|
|
let prams = {
|
|
@@ -294,11 +287,16 @@ export default ({
|
|
|
subjectCode: this.$store.state.target.subjectCode //学科code
|
|
subjectCode: this.$store.state.target.subjectCode //学科code
|
|
|
}
|
|
}
|
|
|
this.$api.target.getTargetExerciseResult(prams).then(res=>{
|
|
this.$api.target.getTargetExerciseResult(prams).then(res=>{
|
|
|
|
|
+ if(res?.code == 200){
|
|
|
|
|
+ this.tableData = res.data.records
|
|
|
|
|
+ this.totalNum = Number(res.data.total)
|
|
|
|
|
+ this.currentPage = Number( res.data.current)
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
// 跳转练习结果详情
|
|
// 跳转练习结果详情
|
|
|
viewDetails(row){
|
|
viewDetails(row){
|
|
|
- this.$router.push(`/targetImprove/praciceResultDetail?id=${row.id}`);
|
|
|
|
|
|
|
+ this.$router.push(`/targetImprove/praciceResultDetail?id=${row.exerciseId}`);
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
computed:{},
|
|
computed:{},
|