vue-element-admin/node_modules/.cache/vue-loader/003e41689babfc0d77e22556b61b3aa6.json
2025-08-05 23:51:42 +08:00

1 line
7.2 KiB
JSON

{"remainingRequest":"/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/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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGZldGNoTGlzdCB9IGZyb20gJ0AvYXBpL2FydGljbGUnCmltcG9ydCB7IHBhcnNlVGltZSB9IGZyb20gJ0AvdXRpbHMnCi8vIG9wdGlvbnMgY29tcG9uZW50cwppbXBvcnQgRmlsZW5hbWVPcHRpb24gZnJvbSAnLi9jb21wb25lbnRzL0ZpbGVuYW1lT3B0aW9uJwppbXBvcnQgQXV0b1dpZHRoT3B0aW9uIGZyb20gJy4vY29tcG9uZW50cy9BdXRvV2lkdGhPcHRpb24nCmltcG9ydCBCb29rVHlwZU9wdGlvbiBmcm9tICcuL2NvbXBvbmVudHMvQm9va1R5cGVPcHRpb24nCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRXhwb3J0RXhjZWwnLAogIGNvbXBvbmVudHM6IHsgRmlsZW5hbWVPcHRpb24sIEF1dG9XaWR0aE9wdGlvbiwgQm9va1R5cGVPcHRpb24gfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGlzdDogbnVsbCwKICAgICAgbGlzdExvYWRpbmc6IHRydWUsCiAgICAgIGRvd25sb2FkTG9hZGluZzogZmFsc2UsCiAgICAgIGZpbGVuYW1lOiAnJywKICAgICAgYXV0b1dpZHRoOiB0cnVlLAogICAgICBib29rVHlwZTogJ3hsc3gnCiAgICB9CiAgfSwKICBjcmVhdGVkKCkgewogICAgdGhpcy5mZXRjaERhdGEoKQogIH0sCiAgbWV0aG9kczogewogICAgZmV0Y2hEYXRhKCkgewogICAgICB0aGlzLmxpc3RMb2FkaW5nID0gdHJ1ZQogICAgICBmZXRjaExpc3QoKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICB0aGlzLmxpc3QgPSByZXNwb25zZS5kYXRhLml0ZW1zCiAgICAgICAgdGhpcy5saXN0TG9hZGluZyA9IGZhbHNlCiAgICAgIH0pCiAgICB9LAogICAgaGFuZGxlRG93bmxvYWQoKSB7CiAgICAgIHRoaXMuZG93bmxvYWRMb2FkaW5nID0gdHJ1ZQogICAgICBpbXBvcnQoJ0AvdmVuZG9yL0V4cG9ydDJFeGNlbCcpLnRoZW4oZXhjZWwgPT4gewogICAgICAgIGNvbnN0IHRIZWFkZXIgPSBbJ0lkJywgJ1RpdGxlJywgJ0F1dGhvcicsICdSZWFkaW5ncycsICdEYXRlJ10KICAgICAgICBjb25zdCBmaWx0ZXJWYWwgPSBbJ2lkJywgJ3RpdGxlJywgJ2F1dGhvcicsICdwYWdldmlld3MnLCAnZGlzcGxheV90aW1lJ10KICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0CiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGxpc3QpCiAgICAgICAgZXhjZWwuZXhwb3J0X2pzb25fdG9fZXhjZWwoewogICAgICAgICAgaGVhZGVyOiB0SGVhZGVyLAogICAgICAgICAgZGF0YSwKICAgICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLAogICAgICAgICAgYXV0b1dpZHRoOiB0aGlzLmF1dG9XaWR0aCwKICAgICAgICAgIGJvb2tUeXBlOiB0aGlzLmJvb2tUeXBlCiAgICAgICAgfSkKICAgICAgICB0aGlzLmRvd25sb2FkTG9hZGluZyA9IGZhbHNlCiAgICAgIH0pCiAgICB9LAogICAgZm9ybWF0SnNvbihmaWx0ZXJWYWwsIGpzb25EYXRhKSB7CiAgICAgIHJldHVybiBqc29uRGF0YS5tYXAodiA9PiBmaWx0ZXJWYWwubWFwKGogPT4gewogICAgICAgIGlmIChqID09PSAndGltZXN0YW1wJykgewogICAgICAgICAgcmV0dXJuIHBhcnNlVGltZSh2W2pdKQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXR1cm4gdltqXQogICAgICAgIH0KICAgICAgfSkpCiAgICB9CiAgfQp9Cg=="},{"version":3,"sources":["export-excel.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"export-excel.vue","sourceRoot":"src/views/excel","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"]}]}