Json2File.vue

<template>
  <span></span>
</template>
<script>
import common from "../utils/common.js";
export default {
  methods: {
    // myfilter 处理请求结果的数据
    gettabelList(url, data, title, tHeader, filterVal, myfilter) {
      this.$url.MUrl(url, data).then(res => {
        if (common.isNotNull(res.data.list)) {
          this.Filtration(res.data.list, myfilter);
          this.export2Excel(title, tHeader, filterVal, res.data.list);
        } else if (res.data instanceof Array && common.isNotNull(res.data)) {
          this.Filtration(res.data, myfilter);
          this.export2Excel(title, tHeader, filterVal, res.data);
        } else {
          common.MyNotify(this, "1000", "您没有可以导出的数据!");
        }
      });
    },
    // 默认过滤处理时间
    Filtration(list, myfilter) {
      try {
        list.forEach(e => {
          e.updateTime = common.formatDate(e.updateTime);
          e.createTime = common.formatDate(e.createTime);
        });
        if (common.isNotNull(myfilter)) {
          myfilter(list);
        }
      } catch (error) {}
    },
    export2Excel(title, tHeader, filterVal, list) {
      require.ensure([], () => {
        // eslint-disable-next-line
        const { export_json_to_excel } = require("./Export2Excel");
        const data = this.formatJson(filterVal, list);
        export_json_to_excel(tHeader, data, title);
      });
    },
    formatJson(filterVal, jsonData) {
      return jsonData.map(v => filterVal.map(j => v[j]));
    }
  }
};
</script>

<style></style>
posted @ 2021-11-12 17:30  何云泽  阅读(46)  评论(0)    收藏  举报