<el-button
v-waves
:loading="downloadLoading"
class="filter-item"
type="primary"
icon="el-icon-download"
@click="handleDownload"
>
导出
</el-button> ,
// 导出
handleDownload() {
this.downloadLoading = true;
//插件 import("@/vendor/Export2Excel").then((excel) => {
// 字段需要进行对应 const tHeader = ["姓名", "手机", "车牌号码/车位信息/开始日期/结束日期"];
const filterVal = ["name", "phone", "plateAndPacking"];
// all 表示全部的数据 ,根据自己不同自己更改 ,下面是发送请求的参数 ,用的搜索的接口 this.tableQuery["all"] = "all";
plateTable({
type: ["car", "car", "plateTableNew"],
data: this.tableQuery,
})
.then((res) => {
delete this.tableQuery["all"];
if (res.data.length) {
const data = this.formatJson(res.data, filterVal);
excel.export_json_to_excel({
header: tHeader,
data,
filename: "车牌管理",
autoWidth: this.autoWidth,
});
this.downloadLoading = false;
} else {
this.$message.error("没有查到相关记录!");
this.downloadLoading = false;
}
})
.catch((error) => {
this.$message.error(error);
this.downloadLoading = false;
});
});
},
//数据中是类型 状态 0 1之类的数据进行转换成
formatJson(data, filterVal) {
return data.map((v) =>
filterVal.map((j) => {
if (j === "plateAndPacking") {
return this.formatPlates1(v[j]);
} else {
return v[j];
}
})
);
},
//表格显示类型等数据 formatOwnerType(ownerType) {
let carType = "";
switch (ownerType) {
case "0":
carType = "未知";
break;
case "1":
carType = "产权车位";
break;
case "2":
carType = "月租固定车位";
break;
case "3":
carType = "月租非固定车位";
break;
}
return carType;
},
// 表格上不需要用v-if 来判断 ,引入上面的函数 <el-table-column label="产权类别" prop="packing" align="center">
<template slot-scope="{ row }">
{{ formatOwnerType(row.ownerType) }}
</template>
</el-table-column>