Blame view

src/views/basic/ask/components/interact.vue 2.71 KB
d01c5799   梁保满   随堂问 报表开发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  <template>
    <el-table :data="resultData" border style="width: 100%">
      <el-table-column prop="studentCode" label="学号" align="center"></el-table-column>
      <el-table-column prop="studentName" label="姓名" align="center"></el-table-column>
      <template v-if="types != 3">
        <el-table-column prop="rushAnswerTimes" label="抢答成功次数" sortable align="center"></el-table-column>
        <el-table-column prop="rushAnswerCorrectTimes" label="答对次数" sortable align="center"></el-table-column>
        <el-table-column prop="checkAnswerTimes" label="抽答次数" sortable align="center"></el-table-column>
        <el-table-column prop="checkAnswerCorrectTimes" label="抽答答对次数" sortable align="center"></el-table-column>
        <el-table-column prop="interactionsNum" label="参与得分" sortable align="center"></el-table-column>
        <el-table-column prop="interactionsCorrectNum" label="对错得分" sortable align="center"></el-table-column>
      </template>
      <template v-else>
        <el-table-column v-for="(item, index) in phaseInter" :key="index" :label="item" align="center">
          <el-table-column align="center" v-if="index == 0" label="参与分" sortable :prop="'interactionsNum' + item">
          </el-table-column>
          <el-table-column v-else align="center" label="互动数" :prop="'interactionsNum' + item">
          </el-table-column>
          <el-table-column v-if="index == 0" align="center" label="对错分" sortable :prop="'interactionsCorrectNum' + item">
          </el-table-column>
          <el-table-column v-else align="center" label="参与数" :prop="'interactionsCorrectNum' + item">
          </el-table-column>
        </el-table-column>
      </template>
    </el-table>
  </template>
  <script>
  export default {
    props: {
      tableData: Array,
      types: Number,
    },
    data() {
      return {
        phaseInter: [], //互动补充数据
      }
    },
    computed: {
      resultData: function () {
        let resultData = []
        if (this.tableData.length) {
e17ec739   梁保满   随堂问,即时测导出爆表修改
42
43
44
45
46
47
48
49
50
51
52
53
  
          let subjectName = [];
          resultData = this.tableData?.map((item) => {
            let params = {};
            item.dataList?.map((items, index) => {
              if (!subjectName.includes(items.subjectName)) {
                subjectName.push(items.subjectName);
              }
              params["interactionsNum" + items.subjectName] =
                items.interactionsNum;
              params["interactionsCorrectNum" + items.subjectName] =
                items.interactionsCorrectNum;
d01c5799   梁保满   随堂问 报表开发
54
            });
e17ec739   梁保满   随堂问,即时测导出爆表修改
55
56
57
58
59
60
            return {
              ...item,
              ...params,
            };
          });
          this.phaseInter = [...subjectName];
d01c5799   梁保满   随堂问 报表开发
61
62
63
64
65
66
67
68
69
        } else {
          resultData = []
          this.optionsList = []
        }
        return resultData
      }
    },
  };
  </script>