1 line
9.9 KiB
JSON
1 line
9.9 KiB
JSON
{"remainingRequest":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/babel-loader/lib/index.js!/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/kang/Gitea/vue-element-admin-i18n/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/kang/Gitea/vue-element-admin-i18n/src/views/excel/export-excel.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/kang/Gitea/vue-element-admin-i18n/src/views/excel/export-excel.vue","mtime":1599486365000},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/babel.config.js","mtime":1599486365000},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js","mtime":1754408227855},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/babel-loader/lib/index.js","mtime":1754408228132},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js","mtime":1754408227855},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/vue-loader/lib/index.js","mtime":1754408228175}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIGZyb20gIi9Vc2Vycy9rYW5nL0dpdGVhL3Z1ZS1lbGVtZW50LWFkbWluLWkxOG4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2ludGVyb3BSZXF1aXJlV2lsZGNhcmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IHsgZmV0Y2hMaXN0IH0gZnJvbSAnQC9hcGkvYXJ0aWNsZSc7CmltcG9ydCB7IHBhcnNlVGltZSB9IGZyb20gJ0AvdXRpbHMnOwovLyBvcHRpb25zIGNvbXBvbmVudHMKaW1wb3J0IEZpbGVuYW1lT3B0aW9uIGZyb20gJy4vY29tcG9uZW50cy9GaWxlbmFtZU9wdGlvbic7CmltcG9ydCBBdXRvV2lkdGhPcHRpb24gZnJvbSAnLi9jb21wb25lbnRzL0F1dG9XaWR0aE9wdGlvbic7CmltcG9ydCBCb29rVHlwZU9wdGlvbiBmcm9tICcuL2NvbXBvbmVudHMvQm9va1R5cGVPcHRpb24nOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ0V4cG9ydEV4Y2VsJywKICBjb21wb25lbnRzOiB7CiAgICBGaWxlbmFtZU9wdGlvbjogRmlsZW5hbWVPcHRpb24sCiAgICBBdXRvV2lkdGhPcHRpb246IEF1dG9XaWR0aE9wdGlvbiwKICAgIEJvb2tUeXBlT3B0aW9uOiBCb29rVHlwZU9wdGlvbgogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGxpc3Q6IG51bGwsCiAgICAgIGxpc3RMb2FkaW5nOiB0cnVlLAogICAgICBkb3dubG9hZExvYWRpbmc6IGZhbHNlLAogICAgICBmaWxlbmFtZTogJycsCiAgICAgIGF1dG9XaWR0aDogdHJ1ZSwKICAgICAgYm9va1R5cGU6ICd4bHN4JwogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmZldGNoRGF0YSgpOwogIH0sCiAgbWV0aG9kczogewogICAgZmV0Y2hEYXRhOiBmdW5jdGlvbiBmZXRjaERhdGEoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHRoaXMubGlzdExvYWRpbmcgPSB0cnVlOwogICAgICBmZXRjaExpc3QoKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzLmxpc3QgPSByZXNwb25zZS5kYXRhLml0ZW1zOwogICAgICAgIF90aGlzLmxpc3RMb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIGhhbmRsZURvd25sb2FkOiBmdW5jdGlvbiBoYW5kbGVEb3dubG9hZCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuZG93bmxvYWRMb2FkaW5nID0gdHJ1ZTsKICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoJ0AvdmVuZG9yL0V4cG9ydDJFeGNlbCcpKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoZXhjZWwpIHsKICAgICAgICB2YXIgdEhlYWRlciA9IFsnSWQnLCAnVGl0bGUnLCAnQXV0aG9yJywgJ1JlYWRpbmdzJywgJ0RhdGUnXTsKICAgICAgICB2YXIgZmlsdGVyVmFsID0gWydpZCcsICd0aXRsZScsICdhdXRob3InLCAncGFnZXZpZXdzJywgJ2Rpc3BsYXlfdGltZSddOwogICAgICAgIHZhciBsaXN0ID0gX3RoaXMyLmxpc3Q7CiAgICAgICAgdmFyIGRhdGEgPSBfdGhpczIuZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGxpc3QpOwogICAgICAgIGV4Y2VsLmV4cG9ydF9qc29uX3RvX2V4Y2VsKHsKICAgICAgICAgIGhlYWRlcjogdEhlYWRlciwKICAgICAgICAgIGRhdGE6IGRhdGEsCiAgICAgICAgICBmaWxlbmFtZTogX3RoaXMyLmZpbGVuYW1lLAogICAgICAgICAgYXV0b1dpZHRoOiBfdGhpczIuYXV0b1dpZHRoLAogICAgICAgICAgYm9va1R5cGU6IF90aGlzMi5ib29rVHlwZQogICAgICAgIH0pOwogICAgICAgIF90aGlzMi5kb3dubG9hZExvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgZm9ybWF0SnNvbjogZnVuY3Rpb24gZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGpzb25EYXRhKSB7CiAgICAgIHJldHVybiBqc29uRGF0YS5tYXAoZnVuY3Rpb24gKHYpIHsKICAgICAgICByZXR1cm4gZmlsdGVyVmFsLm1hcChmdW5jdGlvbiAoaikgewogICAgICAgICAgaWYgKGogPT09ICd0aW1lc3RhbXAnKSB7CiAgICAgICAgICAgIHJldHVybiBwYXJzZVRpbWUodltqXSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gdltqXTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["fetchList","parseTime","FilenameOption","AutoWidthOption","BookTypeOption","name","components","data","list","listLoading","downloadLoading","filename","autoWidth","bookType","created","fetchData","methods","_this","then","response","items","handleDownload","_this2","Promise","resolve","_interopRequireWildcard","require","excel","tHeader","filterVal","formatJson","export_json_to_excel","header","jsonData","map","v","j"],"sources":["src/views/excel/export-excel.vue"],"sourcesContent":["<template>\n <!-- $t is vue-i18n global function to translate lang -->\n <div class=\"app-container\">\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 {{ $t('excel.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'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,SAAAA,SAAA;AACA,SAAAC,SAAA;AACA;AACA,OAAAC,cAAA;AACA,OAAAC,eAAA;AACA,OAAAC,cAAA;AACA;EACAC,IAAA;EACAC,UAAA;IAAAJ,cAAA,EAAAA,cAAA;IAAAC,eAAA,EAAAA,eAAA;IAAAC,cAAA,EAAAA;EAAA;EACAG,IAAA,WAAAA,KAAA;IACA;MACAC,IAAA;MACAC,WAAA;MACAC,eAAA;MACAC,QAAA;MACAC,SAAA;MACAC,QAAA;IACA;EACA;EACAC,OAAA,WAAAA,QAAA;IACA,KAAAC,SAAA;EACA;EACAC,OAAA;IACAD,SAAA,WAAAA,UAAA;MAAA,IAAAE,KAAA;MACA,KAAAR,WAAA;MACAT,SAAA,GAAAkB,IAAA,WAAAC,QAAA;QACAF,KAAA,CAAAT,IAAA,GAAAW,QAAA,CAAAZ,IAAA,CAAAa,KAAA;QACAH,KAAA,CAAAR,WAAA;MACA;IACA;IACAY,cAAA,WAAAA,eAAA;MAAA,IAAAC,MAAA;MACA,KAAAZ,eAAA;MACAa,OAAA,CAAAC,OAAA,GAAAN,IAAA;QAAA,OAAAO,uBAAA,CAAAC,OAAA;MAAA,GAAAR,IAAA,WAAAS,KAAA;QACA,IAAAC,OAAA;QACA,IAAAC,SAAA;QACA,IAAArB,IAAA,GAAAc,MAAA,CAAAd,IAAA;QACA,IAAAD,IAAA,GAAAe,MAAA,CAAAQ,UAAA,CAAAD,SAAA,EAAArB,IAAA;QACAmB,KAAA,CAAAI,oBAAA;UACAC,MAAA,EAAAJ,OAAA;UACArB,IAAA,EAAAA,IAAA;UACAI,QAAA,EAAAW,MAAA,CAAAX,QAAA;UACAC,SAAA,EAAAU,MAAA,CAAAV,SAAA;UACAC,QAAA,EAAAS,MAAA,CAAAT;QACA;QACAS,MAAA,CAAAZ,eAAA;MACA;IACA;IACAoB,UAAA,WAAAA,WAAAD,SAAA,EAAAI,QAAA;MACA,OAAAA,QAAA,CAAAC,GAAA,WAAAC,CAAA;QAAA,OAAAN,SAAA,CAAAK,GAAA,WAAAE,CAAA;UACA,IAAAA,CAAA;YACA,OAAAnC,SAAA,CAAAkC,CAAA,CAAAC,CAAA;UACA;YACA,OAAAD,CAAA,CAAAC,CAAA;UACA;QACA;MAAA;IACA;EACA;AACA","ignoreList":[]}]} |