Blame view

src/views/basic/ask/components/detail.vue 2.72 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  <template>
    <ul class="info" v-if="types == 1">
      <li class="info-item">科目:{{ detail.subjectName }}</li>
      <li class="info-item">课时:{{ detail.title }}</li>
      <li class="info-item">上课时间:{{ detail.startTime }}</li>
      <li class="info-item">下课时间:{{ detail.endTime }}</li>
      <li class="info-item">签到人数:{{ detail.answeredNum }}</li>
      <li class="info-item">题目总数:{{ detail.questionNum }}</li>
      <li class="info-item">答题总数:{{ detail.totalAnswersNum }}</li>
      <li class="info-item">课时时长:{{ detail.duration }}分钟</li>
      <li class="info-item">
        总参与度::{{ detail.participationRate }}%
      </li>
      <li class="info-item">
        班级总正确率:{{ detail.classCorrectRate }}%
      </li>
      <li class="info-item">
        已答总正确率:{{ detail.answerCorrectRate }}%
      </li>
      <li class="info-item">
        反馈时长:{{ setDuration(detail.consumingDuration) }}
      </li>
    </ul>
    <ul class="info" v-else-if="types == 2">
      <li class="info-item">科目:{{ detail.subjectName }}</li>
      <li class="info-item">课时总数:{{ detail.title }}</li>
      <li class="info-item">课时时长:{{ detail.duration }}分钟</li>
      <li class="info-item">
        反馈时长:{{ setDuration(detail.consumingDuration) }}
      </li>
      <li class="info-item">题目总数:{{ detail.questionNum }}</li>
      <li class="info-item">答题总数:{{ detail.totalAnswersNum }}</li>
      <li class="info-item">
        班级总正确率:{{ detail.classCorrectRate }}%
      </li>
      <li class="info-item">
        已答总正确率:{{ detail.answerCorrectRate }}%
      </li>
      <li class="info-item">
        总参与度::{{ detail.participationRate }}%
      </li>
  
    </ul>
  </template>
  <script>
  export default {
    props: {
      types: Number,
      detail: Object,
    },
    methods: {
      setDuration(times) {
        let m = parseInt(times / 1000 / 60);
        let s = parseInt((times / 1000) % 60);
        let ms = times;
        let aTime;
        if (times == 0) {
          aTime = `0`;
        } else {
          if (m == 0 && s == 0) {
            aTime = `${ms}毫秒`;
          } else if (m == 0 && s != 0) {
            aTime = `${s}秒`;
          } else if (m != 0 && s != 0) {
            aTime = `${m}分${s}秒`;
          }
        }
        return aTime;
      },
    }
  }
  </script>
  <style lang="scss" scoped>
  .info {
    display: flex;
    flex-wrap: wrap;
    border-left: 1px solid #e2e2e2;
    border-top: 1px solid #e2e2e2;
    margin-bottom: 12px;
  
    .info-item {
      width: 25%;
      height: 50px;
      box-sizing: border-box;
      flex-shrink: 0;
      background: #f8f8f8;
      border-right: 1px solid #e2e2e2;
      border-bottom: 1px solid #e2e2e2;
      line-height: 50px;
      text-align: center;
    }
  }
  </style>