examtest/test_client/src/views/analyse/candidate.vue

167 lines
4.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-row :gutter="6">
<el-col :xs="24" :md="8">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>查询报告单</span>
</div>
<div class="clearfix" style="color:gray">
可从excel复制过来,手动输入用回车间隔
</div>
<el-form
ref="elForm"
:model="formData"
:rules="rules"
size="medium"
label-width="80px"
style="margin-top:2px"
label-position="left"
>
<el-row>
<el-form-item label="姓名列" prop="names">
<el-input
v-model="formData.names"
type="textarea"
:autosize="{ minRows: 8, maxRows: 12}"
></el-input>
</el-form-item>
</el-row>
<el-row >
<el-form-item label="身份证列" prop="numbers">
<el-input
v-model="formData.numbers"
type="textarea"
:autosize="{ minRows: 8, maxRows: 12}"
></el-input>
</el-form-item>
</el-row>
<div style="text-align:center">
<el-button type="primary" @click="searchB" >开始查询</el-button>
</div>
</el-form>
</el-card>
</el-col>
<el-col :xs="24" :md="16">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>查询结果</span>
</div>
<el-button type="primary" @click="exportExcel" >导出结果</el-button>
<el-table
:data="tableData"
border
fit
highlight-current-row
style="margin-top:2px"
id="out-table"
>
<el-table-column label="姓名">
<template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column>
<el-table-column label="身份证号">
<template slot-scope="scope">{{ scope.row.ID_number }}</template>
</el-table-column>
<el-table-column label="报告单号">
<template slot-scope="scope">
<el-link :href="scope.row.url" target="_blank" type="primary">{{ scope.row.report_number }}</el-link>
</template>
</el-table-column>
<el-table-column label="获得时间">
<template slot-scope="scope">{{ scope.row.issue_date }}</template>
</el-table-column>
<el-table-column label="报告单网址" show-overflow-tooltip>
<template slot-scope="scope">
<el-link :href="scope.row.url" target="_blank" type="primary">{{ scope.row.url }}</el-link>
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { searchCandidates } from "@/api/analyse"
import { genTree, deepClone } from "@/utils";
import checkPermission from "@/utils/permission";
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
import FileSaver from "file-saver";
import XLSX from "xlsx";
export default {
components: { Pagination },
watch: {
},
data() {
return {
formData:{},
rules:{
names: [
{
required: true,
message: "请填写姓名列",
trigger: "change",
},
],
numbers: [
{
required: true,
message: "请填写身份证列",
trigger: "change",
},
],
},
tableData:[]
};
},
computed: {},
watch: {
},
created() {
},
methods: {
searchB(){
const loading = this.$loading({
text: '拼命查询中..',
});
searchCandidates(this.formData).then(res=>{
this.tableData = res.data
loading.close()
}).catch(e=>{
loading.close()
})
},
exportExcel() {
var xlsxParam = { raw: true };//转换成excel时使用原始的格式
var wb = XLSX.utils.table_to_book(document.querySelector("#out-table"),xlsxParam);
var wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array"
});
try {
FileSaver.saveAs(
new Blob([wbout], { type: "application/octet-stream;charset=utf-8" }),
"报告单.xlsx"
);
} catch (e) {
if (typeof console !== "undefined") console.log(e, wbout);
}
return wbout;
}
},
};
</script>