|
@@ -0,0 +1,165 @@
|
|
|
+<template>
|
|
|
+ <div id="app">
|
|
|
+ <download-excel
|
|
|
+ class="export-excel-wrapper"
|
|
|
+ :data="json_data"
|
|
|
+ :fields="headerList"
|
|
|
+ type="xlsx"
|
|
|
+ :title="excelTitle"
|
|
|
+ :name="fileName"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ plain
|
|
|
+ icon="el-icon-download"
|
|
|
+ size="mini"
|
|
|
+ v-hasPermi="['system:process:export']"
|
|
|
+ >
|
|
|
+ 导出已选
|
|
|
+ </el-button>
|
|
|
+ </download-excel>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import moment from "moment";
|
|
|
+export default {
|
|
|
+ name: "ExcelDownLoad",
|
|
|
+ props: ["headerList", "fieldList", "excelTitle"],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ fileName: "",
|
|
|
+ json_data: [], //导出的数据
|
|
|
+ json_fields: {}, // 转化导出的字段名
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ dataList: {
|
|
|
+ handler(val) {
|
|
|
+ let temp = JSON.parse(JSON.stringify(val));
|
|
|
+ this.json_data = this.dataHandler(temp);
|
|
|
+ },
|
|
|
+ immediate: true,
|
|
|
+ deep: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ dataList() {
|
|
|
+ return this.fieldList || [];
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ dataHandler(list) {
|
|
|
+ console.log("list", list);
|
|
|
+ this.fileName = this.excelTitle + "_" + new Date().getTime() + ".xlsx";
|
|
|
+ switch (this.excelTitle) {
|
|
|
+ case "process":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.processType == "0"
|
|
|
+ ? (item.processType = "OA类型")
|
|
|
+ : (item.processType = "mes类型");
|
|
|
+ if (item.processDeployTime) {
|
|
|
+ let date = new Date(item.processDeployTime);
|
|
|
+ item.processDeployTime = moment(date).format("YYYY-MM-DD") || "";
|
|
|
+ }
|
|
|
+ // 版本状态
|
|
|
+ item.processVersion == 0
|
|
|
+ ? (item.processVersion = "最新版本")
|
|
|
+ : (item.processVersion = "历史版本");
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "form":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.dfHtmlTemplate = item.dfHtmlTemplate.replace(/\n/g, "");
|
|
|
+ console.log(item.dfHtmlTemplate);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "tenant":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.isDel = item.isDel == 0 ? "未删除" : "已删除";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "user":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.sex = item.sex == 0 ? "男" : item.sex == 1 ? "女" : "未知";
|
|
|
+ item.status = item.status == 0 ? "正常" : "禁用";
|
|
|
+ item.loginDate = moment(new Date(item.loginDate)).format(
|
|
|
+ "YYYY-MM-DD HH:mm:ss"
|
|
|
+ );
|
|
|
+ item.deptName = item.dept?.deptName;
|
|
|
+ item.leader = item.dept?.leader;
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "role":
|
|
|
+ list.forEach((item) => {
|
|
|
+ switch (item.dataScope) {
|
|
|
+ case "1":
|
|
|
+ item.dataScope = "所有数据权限";
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ item.dataScope = "自定义数据权限";
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ item.dataScope = "本部门数据权限";
|
|
|
+ break;
|
|
|
+ case "4":
|
|
|
+ item.dataScope = "本部门及以下数据权限";
|
|
|
+ break;
|
|
|
+ case "5":
|
|
|
+ item.dataScope = "仅本人数据权限";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ item.status = item.status == 0 ? "正常" : "停用";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "post":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.status = item.status == 0 ? "正常" : "停用";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "type":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.status = item.status == 0 ? "正常" : "停用";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "config":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.configType = item.configType == "Y" ? "是" : "否";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "style":
|
|
|
+ list.forEach((item) => {
|
|
|
+ item.styleStatus = item.styleStatus == "0" ? "正常" : "停用";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "job":
|
|
|
+ list.forEach((item) => {
|
|
|
+ switch (item.misfirePolicy) {
|
|
|
+ case "0":
|
|
|
+ item.misfirePolicy = "默认";
|
|
|
+ break;
|
|
|
+ case "1":
|
|
|
+ item.misfirePolicy = "立即触发执行";
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ item.misfirePolicy = "触发一次执行";
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ item.misfirePolicy = "不触发立即执行";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ item.misfirePolicy = "未知";
|
|
|
+ }
|
|
|
+ item.concurrent = item.concurrent == 0 ? "允许" : "禁止";
|
|
|
+ item.status = item.status == 0 ? "正常" : "暂停";
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|