{"remainingRequest":"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\\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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGZldGNoTGlzdCB9IGZyb20gJ0AvYXBpL2FydGljbGUnCmltcG9ydCB7IHBhcnNlVGltZSB9IGZyb20gJ0AvdXRpbHMnCgpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ01lcmdlSGVhZGVyJywKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGlzdDogbnVsbCwKICAgICAgbGlzdExvYWRpbmc6IHRydWUsCiAgICAgIGRvd25sb2FkTG9hZGluZzogZmFsc2UKICAgIH0KICB9LAogIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmZldGNoRGF0YSgpCiAgfSwKICBtZXRob2RzOiB7CiAgICBmZXRjaERhdGEoKSB7CiAgICAgIHRoaXMubGlzdExvYWRpbmcgPSB0cnVlCiAgICAgIGZldGNoTGlzdCh0aGlzLmxpc3RRdWVyeSkudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5saXN0ID0gcmVzcG9uc2UuZGF0YS5pdGVtcwogICAgICAgIHRoaXMubGlzdExvYWRpbmcgPSBmYWxzZQogICAgICB9KQogICAgfSwKICAgIGhhbmRsZURvd25sb2FkKCkgewogICAgICB0aGlzLmRvd25sb2FkTG9hZGluZyA9IHRydWUKICAgICAgaW1wb3J0KCdAL3ZlbmRvci9FeHBvcnQyRXhjZWwnKS50aGVuKGV4Y2VsID0+IHsKICAgICAgICBjb25zdCBtdWx0aUhlYWRlciA9IFtbJ0lkJywgJ01haW4gSW5mb3JtYXRpb24nLCAnJywgJycsICdEYXRlJ11dCiAgICAgICAgY29uc3QgaGVhZGVyID0gWycnLCAnVGl0bGUnLCAnQXV0aG9yJywgJ1JlYWRpbmdzJywgJyddCiAgICAgICAgY29uc3QgZmlsdGVyVmFsID0gWydpZCcsICd0aXRsZScsICdhdXRob3InLCAncGFnZXZpZXdzJywgJ2Rpc3BsYXlfdGltZSddCiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdAogICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm1hdEpzb24oZmlsdGVyVmFsLCBsaXN0KQogICAgICAgIGNvbnN0IG1lcmdlcyA9IFsnQTE6QTInLCAnQjE6RDEnLCAnRTE6RTInXQogICAgICAgIGV4Y2VsLmV4cG9ydF9qc29uX3RvX2V4Y2VsKHsKICAgICAgICAgIG11bHRpSGVhZGVyLAogICAgICAgICAgaGVhZGVyLAogICAgICAgICAgbWVyZ2VzLAogICAgICAgICAgZGF0YQogICAgICAgIH0pCiAgICAgICAgdGhpcy5kb3dubG9hZExvYWRpbmcgPSBmYWxzZQogICAgICB9KQogICAgfSwKICAgIGZvcm1hdEpzb24oZmlsdGVyVmFsLCBqc29uRGF0YSkgewogICAgICByZXR1cm4ganNvbkRhdGEubWFwKHYgPT4gZmlsdGVyVmFsLm1hcChqID0+IHsKICAgICAgICBpZiAoaiA9PT0gJ3RpbWVzdGFtcCcpIHsKICAgICAgICAgIHJldHVybiBwYXJzZVRpbWUodltqXSkKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIHZbal0KICAgICAgICB9CiAgICAgIH0pKQogICAgfQogIH0KfQo="},{"version":3,"sources":["merge-header.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA;AACA;;AAEA;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":"merge-header.vue","sourceRoot":"src/views/excel","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"]}]}
|