Преглед изворни кода

添加自主练习——查看练习结果页面

lm пре 4 дана
родитељ
комит
76479e3dd7
1 измењених фајлова са 227 додато и 0 уклоњено
  1. 227 0
      src/views/targetImprove/practice/practiceResults.vue

+ 227 - 0
src/views/targetImprove/practice/practiceResults.vue

@@ -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>