xiangpei
2024-12-03 8c3eaeddeff2c9c5a92352e6bf830e5000ff5882
src/views/answer/dataStatistics.vue
@@ -1,15 +1,15 @@
<template>
  <div style="padding: 10px" ref="pageContent">
  <div class="app-container" ref="pageContent">
    <el-form :model="queryParam" ref="queryForm" :inline="true" style="display: flex">
      <el-form-item label="试卷:">
        <el-select v-model="queryParam.id" filterable placeholder="试卷" @change="getType">
        <el-select v-model="queryParam.id" filterable placeholder="试卷" @change="getType" size="small">
          <el-option v-for="item,index in examPaperList" :key="index" :value="item.id" :label="item.name" />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="submitForm">查询</el-button>
        <el-button type="danger"  @click="handleExport" class="link-left">导出</el-button>
        <el-button type="danger"  @click="downloadUrlFile" class="link-left">截图</el-button>
        <el-button type="primary" @click="submitForm" size="small">查询</el-button>
        <el-button type="danger"  @click="handleExport" size="small" class="link-left">导出</el-button>
        <el-button type="success"  @click="downloadUrlFile" size="small" class="link-left">截图</el-button>
      </el-form-item>
    </el-form>
@@ -157,15 +157,18 @@
    });
  },
  methods: {
    downloadUrlFile(url, fileName) {
      // 获取base64图片
      const chartImgUrl = this.myChart.getDataURL({
          pixelRatio: 2,
          backgroundColor: '#fff'
      })
      console.log(chartImgUrl)
      // 下载base64图片
      this.downloadUrlFile(chartImgUrl, 'ECharts 2倍图')
    downloadUrlFile() {
      var fileName = this.queryParam.name + '.png';
      var canvasElement  = document.getElementsByTagName('canvas')[0];
      var MIME_TYPE = "image/png";
      var imgURL = canvasElement.toDataURL(MIME_TYPE);
      var dlLink = document.createElement('a');
      dlLink.download = fileName;
      dlLink.href = imgURL;
      dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');
      document.body.appendChild(dlLink);
      dlLink.click();
      document.body.removeChild(dlLink);
    },
    handleExport(){
      let that = this