|
|
@@ -0,0 +1,227 @@
|
|
|
+<!-- 自主练习——查看练习结果 -->
|
|
|
+<template>
|
|
|
+ <div class="target_item">
|
|
|
+ <div class="page_search">
|
|
|
+ <div class="search_content">
|
|
|
+ <div class="content_left">
|
|
|
+ <div class="grade_title">练习记录</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <FiltersItem :filtersData="filtersData" @selectItem="ChangeFilters"/>
|
|
|
+
|
|
|
+ <Table class="practice_table"
|
|
|
+ :currentPage="currentPage" :pageSize="pageSize" :totalNum="totalNum"
|
|
|
+ :tableData="tableData" :tableColumns="tableColumns">
|
|
|
+ <template v-slot:gradingStatus="{row}">
|
|
|
+ <TableRowStatus :useStatus="row.gradingStatus"
|
|
|
+ :statusMsg="[
|
|
|
+ {
|
|
|
+ statusFlag:0,
|
|
|
+ title:'未批阅',
|
|
|
+ themeClass:'need_summary_icon'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ statusFlag:1,
|
|
|
+ title:'已批阅',
|
|
|
+ themeClass:'normal_icon'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ statusFlag:2,
|
|
|
+ title:'批阅中',
|
|
|
+ themeClass:'no_release_icon'
|
|
|
+ },
|
|
|
+ ]">
|
|
|
+ </TableRowStatus>
|
|
|
+ </template>
|
|
|
+ <template v-slot:action="{row}">
|
|
|
+ <div class="table_row_operation">
|
|
|
+ <el-button type="text" @click="viewDetails(scope.row)">查看</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import FiltersItem from "@/components/FiltersItem_ruoyan.vue"//筛选组件
|
|
|
+import Table from "../components/Table.vue";
|
|
|
+import TableRowStatus from "../components/TableRowStatus.vue";
|
|
|
+export default ({
|
|
|
+ components: {
|
|
|
+ FiltersItem,
|
|
|
+ Table,
|
|
|
+ TableRowStatus
|
|
|
+ },
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ currentPage:1,
|
|
|
+ pageSize:20,
|
|
|
+ totalNum:0,
|
|
|
+ tableColumns: [
|
|
|
+ {
|
|
|
+ name: 'practiceTime',
|
|
|
+ label: '练习时间',
|
|
|
+ minWidth: '180',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'practiceType',
|
|
|
+ label: '练习类型',
|
|
|
+ minWidth: '120',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'knowledgeName',
|
|
|
+ label: '知识点名称',
|
|
|
+ minWidth: '150',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'questionCount',
|
|
|
+ label: '试题数量',
|
|
|
+ minWidth: '100',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'gradingStatus',
|
|
|
+ label: '批阅状态',
|
|
|
+ minWidth: '120',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'preScoreRate',
|
|
|
+ label: '练前得分率',
|
|
|
+ minWidth: '120',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'postScoreRate',
|
|
|
+ label: '练后得分率',
|
|
|
+ minWidth: '120',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'improvement',
|
|
|
+ label: '提升情况',
|
|
|
+ minWidth: '120',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'action',
|
|
|
+ label: '操作',
|
|
|
+ minWidth: '100',
|
|
|
+ fixed: 'right',
|
|
|
+ align: 'center',
|
|
|
+ hidden: false,
|
|
|
+ custom: true,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ tableData: [
|
|
|
+ {
|
|
|
+ practiceTime: '2023-08-09 16:00:00',
|
|
|
+ practiceType: '指定练习',
|
|
|
+ knowledgeName: '一般词语',
|
|
|
+ questionCount: 3,
|
|
|
+ // 状态对象,方便 custom 插槽渲染绿点和文字
|
|
|
+ gradingStatus: 0,
|
|
|
+ preScoreRate: '64.37%',
|
|
|
+ postScoreRate: '54.38%',
|
|
|
+ // 提升情况对象,方便 custom 插槽判断箭头颜色
|
|
|
+ improvement: { type: 'up', value: '80.37%' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 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%' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ practiceTime: '2023-08-09 14:15:00',
|
|
|
+ practiceType: '指定练习',
|
|
|
+ knowledgeName: '现代诗歌',
|
|
|
+ questionCount: 3,
|
|
|
+ gradingStatus: 2,
|
|
|
+ preScoreRate: '64.29%',
|
|
|
+ postScoreRate: '89.36%',
|
|
|
+ improvement: { type: 'none', value: '0' },
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ filtersData: [
|
|
|
+ {
|
|
|
+ name: '时间',
|
|
|
+ value: 'all', // 默认选中项
|
|
|
+ list: [
|
|
|
+ { label: '全部', value: 'all' },
|
|
|
+ { label: '本周', value: 'this_week' },
|
|
|
+ { label: '最近1月', value: 'last_1_month' },
|
|
|
+ { label: '最近3月', value: 'last_3_months' },
|
|
|
+ { label: '自定义', value: 'custom' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '类型',
|
|
|
+ value: 'all', // 默认选中项
|
|
|
+ list: [
|
|
|
+ { label: '全部', value: 'all' },
|
|
|
+ { label: '指定练习', value: 'assigned_practice' },
|
|
|
+ { label: '自主练习', value: 'self_practice' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 筛选组件回调
|
|
|
+ ChangeFilters(e) {
|
|
|
+ // console.log('当前选中的信息',e)
|
|
|
+ this.filtersData[e.index].value = e.value;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed:{},
|
|
|
+ mounted() {},
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+
|
|
|
+.page_search{
|
|
|
+ margin-bottom: 16px;
|
|
|
+}
|
|
|
+.practice_table{
|
|
|
+ margin-top: 2px;
|
|
|
+ ::v-deep .el-table {
|
|
|
+ thead{
|
|
|
+ height: 40px !important;
|
|
|
+ }
|
|
|
+ .el-table__cell {
|
|
|
+ height: 40px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+</style>
|