执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js!D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\excel\\merge-header.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\excel\\merge-header.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\babel.config.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIGZyb20gIkQ6L1x1NkU5MFx1NzgwMS92dWUtZWxlbWVudC1hZG1pbi1tYXN0ZXIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2ludGVyb3BSZXF1aXJlV2lsZGNhcmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCB7IGZldGNoTGlzdCB9IGZyb20gJ0AvYXBpL2FydGljbGUnOwppbXBvcnQgeyBwYXJzZVRpbWUgfSBmcm9tICdAL3V0aWxzJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdNZXJnZUhlYWRlcicsCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGxpc3Q6IG51bGwsCiAgICAgIGxpc3RMb2FkaW5nOiB0cnVlLAogICAgICBkb3dubG9hZExvYWRpbmc6IGZhbHNlCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZmV0Y2hEYXRhKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBmZXRjaERhdGE6IGZ1bmN0aW9uIGZldGNoRGF0YSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHRoaXMubGlzdExvYWRpbmcgPSB0cnVlOwogICAgICBmZXRjaExpc3QodGhpcy5saXN0UXVlcnkpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMubGlzdCA9IHJlc3BvbnNlLmRhdGEuaXRlbXM7CiAgICAgICAgX3RoaXMubGlzdExvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgaGFuZGxlRG93bmxvYWQ6IGZ1bmN0aW9uIGhhbmRsZURvd25sb2FkKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHRoaXMuZG93bmxvYWRMb2FkaW5nID0gdHJ1ZTsKICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoJ0AvdmVuZG9yL0V4cG9ydDJFeGNlbCcpKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoZXhjZWwpIHsKICAgICAgICB2YXIgbXVsdGlIZWFkZXIgPSBbWydJZCcsICdNYWluIEluZm9ybWF0aW9uJywgJycsICcnLCAnRGF0ZSddXTsKICAgICAgICB2YXIgaGVhZGVyID0gWycnLCAnVGl0bGUnLCAnQXV0aG9yJywgJ1JlYWRpbmdzJywgJyddOwogICAgICAgIHZhciBmaWx0ZXJWYWwgPSBbJ2lkJywgJ3RpdGxlJywgJ2F1dGhvcicsICdwYWdldmlld3MnLCAnZGlzcGxheV90aW1lJ107CiAgICAgICAgdmFyIGxpc3QgPSBfdGhpczIubGlzdDsKCiAgICAgICAgdmFyIGRhdGEgPSBfdGhpczIuZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGxpc3QpOwoKICAgICAgICB2YXIgbWVyZ2VzID0gWydBMTpBMicsICdCMTpEMScsICdFMTpFMiddOwogICAgICAgIGV4Y2VsLmV4cG9ydF9qc29uX3RvX2V4Y2VsKHsKICAgICAgICAgIG11bHRpSGVhZGVyOiBtdWx0aUhlYWRlciwKICAgICAgICAgIGhlYWRlcjogaGVhZGVyLAogICAgICAgICAgbWVyZ2VzOiBtZXJnZXMsCiAgICAgICAgICBkYXRhOiBkYXRhCiAgICAgICAgfSk7CiAgICAgICAgX3RoaXMyLmRvd25sb2FkTG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCiAgICBmb3JtYXRKc29uOiBmdW5jdGlvbiBmb3JtYXRKc29uKGZpbHRlclZhbCwganNvbkRhdGEpIHsKICAgICAgcmV0dXJuIGpzb25EYXRhLm1hcChmdW5jdGlvbiAodikgewogICAgICAgIHJldHVybiBmaWx0ZXJWYWwubWFwKGZ1bmN0aW9uIChqKSB7CiAgICAgICAgICBpZiAoaiA9PT0gJ3RpbWVzdGFtcCcpIHsKICAgICAgICAgICAgcmV0dXJuIHBhcnNlVGltZSh2W2pdKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB2W2pdOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0KICB9Cn07"},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA;AACA;AAEA;EACAA,mBADA;EAEAC,IAFA,kBAEA;IACA;MACAC,UADA;MAEAC,iBAFA;MAGAC;IAHA;EAKA,CARA;EASAC,OATA,qBASA;IACA;EACA,CAXA;EAYAC;IACAC,SADA,uBACA;MAAA;;MACA;MACAC;QACA;QACA;MACA,CAHA;IAIA,CAPA;IAQAC,cARA,4BAQA;MAAA;;MACA;MACA;QAAA;MAAA;QACA;QACA;QACA;QACA;;QACA;;QACA;QACAC;UACAC,wBADA;UAEAC,cAFA;UAGAC,cAHA;UAIAZ;QAJA;QAMA;MACA,CAdA;IAeA,CAzBA;IA0BAa,UA1BA,sBA0BAC,SA1BA,EA0BAC,QA1BA,EA0BA;MACA;QAAA;UACA;YACA;UACA,CAFA,MAEA;YACA;UACA;QACA,CANA;MAAA;IAOA;EAlCA;AAZA","names":["name","data","list","listLoading","downloadLoading","created","methods","fetchData","fetchList","handleDownload","excel","multiHeader","header","merges","formatJson","filterVal","jsonData"],"sourceRoot":"src/views/excel","sources":["merge-header.vue"],"sourcesContent":["<template>\n  <div class=\"app-container\">\n\n    <el-button :loading=\"downloadLoading\" style=\"margin-bottom:20px\" type=\"primary\" icon=\"el-icon-document\" @click=\"handleDownload\">Export</el-button>\n\n    <el-table\n      ref=\"multipleTable\"\n      v-loading=\"listLoading\"\n      :data=\"list\"\n      element-loading-text=\"Loading\"\n      border\n      fit\n      highlight-current-row\n    >\n      <el-table-column align=\"center\" label=\"Id\" width=\"95\">\n        <template slot-scope=\"scope\">\n          {{ scope.$index }}\n        </template>\n      </el-table-column>\n      <el-table-column label=\"Main Information\" align=\"center\">\n        <el-table-column label=\"Title\">\n          <template slot-scope=\"scope\">\n            {{ scope.row.title }}\n          </template>\n        </el-table-column>\n        <el-table-column label=\"Author\" width=\"110\" align=\"center\">\n          <template slot-scope=\"scope\">\n            <el-tag>{{ scope.row.author }}</el-tag>\n          </template>\n        </el-table-column>\n        <el-table-column label=\"Readings\" width=\"115\" align=\"center\">\n          <template slot-scope=\"scope\">\n            {{ scope.row.pageviews }}\n          </template>\n        </el-table-column>\n      </el-table-column>\n      <el-table-column align=\"center\" label=\"Date\" width=\"220\">\n        <template slot-scope=\"scope\">\n          <i class=\"el-icon-time\" />\n          <span>{{ scope.row.timestamp | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>\n        </template>\n      </el-table-column>\n    </el-table>\n\n  </div>\n</template>\n\n<script>\nimport { fetchList } from '@/api/article'\nimport { parseTime } from '@/utils'\n\nexport default {\n  name: 'MergeHeader',\n  data() {\n    return {\n      list: null,\n      listLoading: true,\n      downloadLoading: false\n    }\n  },\n  created() {\n    this.fetchData()\n  },\n  methods: {\n    fetchData() {\n      this.listLoading = true\n      fetchList(this.listQuery).then(response => {\n        this.list = response.data.items\n        this.listLoading = false\n      })\n    },\n    handleDownload() {\n      this.downloadLoading = true\n      import('@/vendor/Export2Excel').then(excel => {\n        const multiHeader = [['Id', 'Main Information', '', '', 'Date']]\n        const header = ['', 'Title', 'Author', 'Readings', '']\n        const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time']\n        const list = this.list\n        const data = this.formatJson(filterVal, list)\n        const merges = ['A1:A2', 'B1:D1', 'E1:E2']\n        excel.export_json_to_excel({\n          multiHeader,\n          header,\n          merges,\n          data\n        })\n        this.downloadLoading = false\n      })\n    },\n    formatJson(filterVal, jsonData) {\n      return jsonData.map(v => filterVal.map(j => {\n        if (j === 'timestamp') {\n          return parseTime(v[j])\n        } else {\n          return v[j]\n        }\n      }))\n    }\n  }\n}\n</script>\n"]}]}