zhouwx
昨天 0a7829811f6df7a6eb4e32ba5ba53b1db9f10e9c
修改
已修改2个文件
53 ■■■■ 文件已修改
src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/onlineEducation/offlineEducation/index.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/onlineEducation/offlineEducation/components/recordDialog.vue
@@ -69,13 +69,28 @@
<!--          <el-input v-model.trim="state.form.level" :disabled="disabled" placeholder="请输入培训等级" ></el-input>-->
        </el-form-item>
        <el-form-item label="要求课时(分):"  prop="period" >
          <el-input v-model.trim="state.form.period" :disabled="disabled" placeholder="请输入要求课时(分)" ></el-input>
          <el-input v-model.trim="state.form.period"
                    @input="state.form.period = state.form.period
                    .replace(/[^0-9.]/g, '')
                    .replace(/(\..*)\./g, '$1')
                    .replace(/^(-?\d+\.?\d*).*/, '$1')"
                    :disabled="disabled" placeholder="请输入要求课时(分)" ></el-input>
        </el-form-item>
        <el-form-item label="实际课时(分):"  prop="actualPeriod" >
          <el-input v-model.trim="state.form.actualPeriod" :disabled="disabled" placeholder="请输入实际课时(分)" ></el-input>
          <el-input v-model.trim="state.form.actualPeriod"
                    @input="state.form.actualPeriod = state.form.actualPeriod
                    .replace(/[^0-9.]/g, '')
                    .replace(/(\..*)\./g, '$1')
                    .replace(/^(-?\d+\.?\d*).*/, '$1')"
                    :disabled="disabled" placeholder="请输入实际课时(分)" ></el-input>
        </el-form-item>
        <el-form-item label="考试成绩:"  prop="score" >
          <el-input v-model.trim="state.form.score" :disabled="disabled" placeholder="请输入考试成绩" ></el-input>
          <el-input v-model.trim="state.form.score"
                    @input="state.form.score = state.form.score
                    .replace(/[^0-9.]/g, '')
                    .replace(/(\..*)\./g, '$1')
                    .replace(/^(-?\d+\.?\d*).*/, '$1')"
                    :disabled="disabled" placeholder="请输入考试成绩" ></el-input>
        </el-form-item>
        <el-form-item label="是否合格:"  prop="passed" >
          <el-radio-group v-model="state.form.passed"  :disabled="disabled">
@@ -369,7 +384,7 @@
    // state.form.files = []
    ElMessage({
      type: 'warning',
      message: res.message
      message: response.message
    })
  }
}
src/views/work/onlineEducation/offlineEducation/index.vue
@@ -73,10 +73,14 @@
          <span>{{scope.row.passed == 0 ? '不合格':'合格'}}</span>
        </template>
      </el-table-column>
      <el-table-column label="培训记录" prop="passed" align="center" width="130">
      <el-table-column label="培训记录" prop="passed" align="center" width="180">
        <template #default="scope">
          <div v-for="item in scope.row.files" style="display: flex;flex-direction: column">
            <el-link type="primary" @click="openFile(item.filePath)">{{item.fileName}}</el-link>
            <div style="display: flex;flex-direction: column;align-items: center">
              <el-link type="primary" @click="openFile(item.filePath)">{{item.fileName}}</el-link>
              <el-button style="width: 50px;margin-bottom: 5px" size="small" @click="downloadFile(item)">下载</el-button>
            </div>
          </div>
        </template>
@@ -111,6 +115,8 @@
import {delStudent, getStudent} from "@/api/onlineEducation/student";
import {delRecord, getRecord} from "@/api/onlineEducation/examRecord";
import {renderAsync} from "docx-preview";
import axios from "axios";
import {getToken} from "@/utils/auth";
const { proxy } = getCurrentInstance();
@@ -236,5 +242,23 @@
    }
  }
}
const downloadFile = (e)=>{
  axios.get(import.meta.env.VITE_APP_BASE_API + '/' +e.filePath,{headers:{'Content-Type': 'application/json','Authorization': `${getToken()}`},responseType: 'blob'}).then(res=>{
    if (res) {
      const link = document.createElement('a')
      let blob = new Blob([res.data],{type: res.data.type})
      link.style.display = "none";
      link.href = URL.createObjectURL(blob); // 创建URL
      link.setAttribute("download", e.fileName);
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    } else {
      ElMessage({
        type: 'warning',
        message: '文件读取失败'
      });
    }
  })
}
</script>