执行过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\\export-excel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\excel\\export-excel.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:aW1wb3J0IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIGZyb20gIkQ6L1x1NkU5MFx1NzgwMS92dWUtZWxlbWVudC1hZG1pbi1tYXN0ZXIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2ludGVyb3BSZXF1aXJlV2lsZGNhcmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCB7IGZldGNoTGlzdCB9IGZyb20gJ0AvYXBpL2FydGljbGUnOwppbXBvcnQgeyBwYXJzZVRpbWUgfSBmcm9tICdAL3V0aWxzJzsgLy8gb3B0aW9ucyBjb21wb25lbnRzCgppbXBvcnQgRmlsZW5hbWVPcHRpb24gZnJvbSAnLi9jb21wb25lbnRzL0ZpbGVuYW1lT3B0aW9uJzsKaW1wb3J0IEF1dG9XaWR0aE9wdGlvbiBmcm9tICcuL2NvbXBvbmVudHMvQXV0b1dpZHRoT3B0aW9uJzsKaW1wb3J0IEJvb2tUeXBlT3B0aW9uIGZyb20gJy4vY29tcG9uZW50cy9Cb29rVHlwZU9wdGlvbic7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRXhwb3J0RXhjZWwnLAogIGNvbXBvbmVudHM6IHsKICAgIEZpbGVuYW1lT3B0aW9uOiBGaWxlbmFtZU9wdGlvbiwKICAgIEF1dG9XaWR0aE9wdGlvbjogQXV0b1dpZHRoT3B0aW9uLAogICAgQm9va1R5cGVPcHRpb246IEJvb2tUeXBlT3B0aW9uCiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGlzdDogbnVsbCwKICAgICAgbGlzdExvYWRpbmc6IHRydWUsCiAgICAgIGRvd25sb2FkTG9hZGluZzogZmFsc2UsCiAgICAgIGZpbGVuYW1lOiAnJywKICAgICAgYXV0b1dpZHRoOiB0cnVlLAogICAgICBib29rVHlwZTogJ3hsc3gnCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZmV0Y2hEYXRhKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBmZXRjaERhdGE6IGZ1bmN0aW9uIGZldGNoRGF0YSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHRoaXMubGlzdExvYWRpbmcgPSB0cnVlOwogICAgICBmZXRjaExpc3QoKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzLmxpc3QgPSByZXNwb25zZS5kYXRhLml0ZW1zOwogICAgICAgIF90aGlzLmxpc3RMb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZURvd25sb2FkOiBmdW5jdGlvbiBoYW5kbGVEb3dubG9hZCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICB0aGlzLmRvd25sb2FkTG9hZGluZyA9IHRydWU7CiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChyZXF1aXJlKCdAL3ZlbmRvci9FeHBvcnQyRXhjZWwnKSk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGV4Y2VsKSB7CiAgICAgICAgdmFyIHRIZWFkZXIgPSBbJ0lkJywgJ1RpdGxlJywgJ0F1dGhvcicsICdSZWFkaW5ncycsICdEYXRlJ107CiAgICAgICAgdmFyIGZpbHRlclZhbCA9IFsnaWQnLCAndGl0bGUnLCAnYXV0aG9yJywgJ3BhZ2V2aWV3cycsICdkaXNwbGF5X3RpbWUnXTsKICAgICAgICB2YXIgbGlzdCA9IF90aGlzMi5saXN0OwoKICAgICAgICB2YXIgZGF0YSA9IF90aGlzMi5mb3JtYXRKc29uKGZpbHRlclZhbCwgbGlzdCk7CgogICAgICAgIGV4Y2VsLmV4cG9ydF9qc29uX3RvX2V4Y2VsKHsKICAgICAgICAgIGhlYWRlcjogdEhlYWRlciwKICAgICAgICAgIGRhdGE6IGRhdGEsCiAgICAgICAgICBmaWxlbmFtZTogX3RoaXMyLmZpbGVuYW1lLAogICAgICAgICAgYXV0b1dpZHRoOiBfdGhpczIuYXV0b1dpZHRoLAogICAgICAgICAgYm9va1R5cGU6IF90aGlzMi5ib29rVHlwZQogICAgICAgIH0pOwogICAgICAgIF90aGlzMi5kb3dubG9hZExvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgZm9ybWF0SnNvbjogZnVuY3Rpb24gZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGpzb25EYXRhKSB7CiAgICAgIHJldHVybiBqc29uRGF0YS5tYXAoZnVuY3Rpb24gKHYpIHsKICAgICAgICByZXR1cm4gZmlsdGVyVmFsLm1hcChmdW5jdGlvbiAoaikgewogICAgICAgICAgaWYgKGogPT09ICd0aW1lc3RhbXAnKSB7CiAgICAgICAgICAgIHJldHVybiBwYXJzZVRpbWUodltqXSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gdltqXTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA;AACA,oC,CACA;;AACA;AACA;AACA;AAEA;EACAA,mBADA;EAEAC;IAAAC;IAAAC;IAAAC;EAAA,CAFA;EAGAC,IAHA,kBAGA;IACA;MACAC,UADA;MAEAC,iBAFA;MAGAC,sBAHA;MAIAC,YAJA;MAKAC,eALA;MAMAC;IANA;EAQA,CAZA;EAaAC,OAbA,qBAaA;IACA;EACA,CAfA;EAgBAC;IACAC,SADA,uBACA;MAAA;;MACA;MACAC;QACA;QACA;MACA,CAHA;IAIA,CAPA;IAQAC,cARA,4BAQA;MAAA;;MACA;MACA;QAAA;MAAA;QACA;QACA;QACA;;QACA;;QACAC;UACAC,eADA;UAEAb,UAFA;UAGAI,yBAHA;UAIAC,2BAJA;UAKAC;QALA;QAOA;MACA,CAbA;IAcA,CAxBA;IAyBAQ,UAzBA,sBAyBAC,SAzBA,EAyBAC,QAzBA,EAyBA;MACA;QAAA;UACA;YACA;UACA,CAFA,MAEA;YACA;UACA;QACA,CANA;MAAA;IAOA;EAjCA;AAhBA","names":["name","components","FilenameOption","AutoWidthOption","BookTypeOption","data","list","listLoading","downloadLoading","filename","autoWidth","bookType","created","methods","fetchData","fetchList","handleDownload","excel","header","formatJson","filterVal","jsonData"],"sourceRoot":"src/views/excel","sources":["export-excel.vue"],"sourcesContent":["<template>\n  <div class=\"app-container\">\n\n    <div>\n      <FilenameOption v-model=\"filename\" />\n      <AutoWidthOption v-model=\"autoWidth\" />\n      <BookTypeOption v-model=\"bookType\" />\n      <el-button :loading=\"downloadLoading\" style=\"margin:0 0 20px 20px;\" type=\"primary\" icon=\"el-icon-document\" @click=\"handleDownload\">\n        Export Excel\n      </el-button>\n      <a href=\"https://panjiachen.github.io/vue-element-admin-site/feature/component/excel.html\" target=\"_blank\" style=\"margin-left:15px;\">\n        <el-tag type=\"info\">Documentation</el-tag>\n      </a>\n    </div>\n\n    <el-table v-loading=\"listLoading\" :data=\"list\" element-loading-text=\"Loading...\" border fit highlight-current-row>\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=\"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 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  </div>\n</template>\n\n<script>\nimport { fetchList } from '@/api/article'\nimport { parseTime } from '@/utils'\n// options components\nimport FilenameOption from './components/FilenameOption'\nimport AutoWidthOption from './components/AutoWidthOption'\nimport BookTypeOption from './components/BookTypeOption'\n\nexport default {\n  name: 'ExportExcel',\n  components: { FilenameOption, AutoWidthOption, BookTypeOption },\n  data() {\n    return {\n      list: null,\n      listLoading: true,\n      downloadLoading: false,\n      filename: '',\n      autoWidth: true,\n      bookType: 'xlsx'\n    }\n  },\n  created() {\n    this.fetchData()\n  },\n  methods: {\n    fetchData() {\n      this.listLoading = true\n      fetchList().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 tHeader = ['Id', 'Title', 'Author', 'Readings', 'Date']\n        const filterVal = ['id', 'title', 'author', 'pageviews', 'display_time']\n        const list = this.list\n        const data = this.formatJson(filterVal, list)\n        excel.export_json_to_excel({\n          header: tHeader,\n          data,\n          filename: this.filename,\n          autoWidth: this.autoWidth,\n          bookType: this.bookType\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\n<style>\n.radio-label {\n  font-size: 14px;\n  color: #606266;\n  line-height: 40px;\n  padding: 0 12px 0 30px;\n}\n</style>\n"]}]}