xiangpei
2024-06-11 6c7e308453d1955506db6f24dd9b1e65caadfdaf
src/views/Manage/ScoreInquiry/list.vue
@@ -14,25 +14,31 @@
              </el-form-item>
              <el-form-item>
                <el-button style="width:100px;" type="primary" size="small" @click="search()">查询</el-button>
                <el-button style="width:100px;" type="danger" size="small" @click="handleExport()">导出</el-button>
              </el-form-item>
            </el-form>
          </div>
          <!-- 表格 -->
          <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
            <el-table-column prop="paperName" label="试卷名称" />
            <el-table-column prop="userName" label="用户名称" />
            <el-table-column prop="paperName" label="试卷名称" align="center" />
            <el-table-column prop="userName" label="用户名称" align="center" />
            <el-table-column label="得分" width="100px">
              <template slot-scope="{row}">
                {{ row.userScore }} / {{ row.paperScore }}
              </template>
            </el-table-column>
            <el-table-column label="题目对错" width="80px">
            <el-table-column label="题目对错" width="100px" align="center">
              <template slot-scope="{row}">
                {{ row.questionCorrect }} / {{ row.questionCount }}
              </template>
            </el-table-column>
            <el-table-column prop="doTime" label="耗时" width="100px" />
            <el-table-column prop="createTime" label="提交时间" width="160px" />
            <el-table-column prop="doTime" label="耗时" width="80px" align="center" />
            <el-table-column prop="createTime" label="提交时间" width="160px" align="center" />
            <el-table-column label="操作" width="200px" align="center">
              <template slot-scope="{row}">
                <el-button size="mini" @click="view(row)">详情</el-button>
              </template>
            </el-table-column>
          </el-table>
          <pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex"
            :limit.sync="queryParam.pageSize" @pagination="search" />
@@ -85,6 +91,21 @@
    },
    view(row) {
      this.$router.push({ path: '/manage/answer-detail', query: { id: row.id } });
    },
    handleExport() {
      let that = this
      let url = '/api/admin/examPaperAnswer/exportExcel?examPaperId=' + this.queryParam.examPaperId + '&userName=' + this.queryParam.userName
      var x = new XMLHttpRequest();
      x.open("POST", url, true);
      x.responseType = "blob";
      x.onload = function () {
        var url = window.URL.createObjectURL(x.response);
        var a = document.createElement("a");
        a.href = url;
        a.download = that.tableData[0].paperName + '.xlsx';
        a.click();
      };
      x.send();
    }
  }
};