执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\excel\\select-excel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\excel\\select-excel.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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGZldGNoTGlzdCB9IGZyb20gJ0AvYXBpL2FydGljbGUnCgpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1NlbGVjdEV4Y2VsJywKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGlzdDogbnVsbCwKICAgICAgbGlzdExvYWRpbmc6IHRydWUsCiAgICAgIG11bHRpcGxlU2VsZWN0aW9uOiBbXSwKICAgICAgZG93bmxvYWRMb2FkaW5nOiBmYWxzZSwKICAgICAgZmlsZW5hbWU6ICcnCiAgICB9CiAgfSwKICBjcmVhdGVkKCkgewogICAgdGhpcy5mZXRjaERhdGEoKQogIH0sCiAgbWV0aG9kczogewogICAgZmV0Y2hEYXRhKCkgewogICAgICB0aGlzLmxpc3RMb2FkaW5nID0gdHJ1ZQogICAgICBmZXRjaExpc3QodGhpcy5saXN0UXVlcnkpLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgIHRoaXMubGlzdCA9IHJlc3BvbnNlLmRhdGEuaXRlbXMKICAgICAgICB0aGlzLmxpc3RMb2FkaW5nID0gZmFsc2UKICAgICAgfSkKICAgIH0sCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMubXVsdGlwbGVTZWxlY3Rpb24gPSB2YWwKICAgIH0sCiAgICBoYW5kbGVEb3dubG9hZCgpIHsKICAgICAgaWYgKHRoaXMubXVsdGlwbGVTZWxlY3Rpb24ubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5kb3dubG9hZExvYWRpbmcgPSB0cnVlCiAgICAgICAgaW1wb3J0KCdAL3ZlbmRvci9FeHBvcnQyRXhjZWwnKS50aGVuKGV4Y2VsID0+IHsKICAgICAgICAgIGNvbnN0IHRIZWFkZXIgPSBbJ0lkJywgJ1RpdGxlJywgJ0F1dGhvcicsICdSZWFkaW5ncycsICdEYXRlJ10KICAgICAgICAgIGNvbnN0IGZpbHRlclZhbCA9IFsnaWQnLCAndGl0bGUnLCAnYXV0aG9yJywgJ3BhZ2V2aWV3cycsICdkaXNwbGF5X3RpbWUnXQogICAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMubXVsdGlwbGVTZWxlY3Rpb24KICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmZvcm1hdEpzb24oZmlsdGVyVmFsLCBsaXN0KQogICAgICAgICAgZXhjZWwuZXhwb3J0X2pzb25fdG9fZXhjZWwoewogICAgICAgICAgICBoZWFkZXI6IHRIZWFkZXIsCiAgICAgICAgICAgIGRhdGEsCiAgICAgICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lCiAgICAgICAgICB9KQogICAgICAgICAgdGhpcy4kcmVmcy5tdWx0aXBsZVRhYmxlLmNsZWFyU2VsZWN0aW9uKCkKICAgICAgICAgIHRoaXMuZG93bmxvYWRMb2FkaW5nID0gZmFsc2UKICAgICAgICB9KQogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgbWVzc2FnZTogJ1BsZWFzZSBzZWxlY3QgYXQgbGVhc3Qgb25lIGl0ZW0nLAogICAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgICAgfSkKICAgICAgfQogICAgfSwKICAgIGZvcm1hdEpzb24oZmlsdGVyVmFsLCBqc29uRGF0YSkgewogICAgICByZXR1cm4ganNvbkRhdGEubWFwKHYgPT4gZmlsdGVyVmFsLm1hcChqID0+IHZbal0pKQogICAgfQogIH0KfQo="},{"version":3,"sources":["select-excel.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;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;AACA;AACA;AACA;AACA","file":"select-excel.vue","sourceRoot":"src/views/excel","sourcesContent":["<template>\n  <div class=\"app-container\">\n    <el-input v-model=\"filename\" placeholder=\"Please enter the file name (default excel-list)\" style=\"width:350px;\" prefix-icon=\"el-icon-document\" />\n    <el-button :loading=\"downloadLoading\" style=\"margin-bottom:20px\" type=\"primary\" icon=\"el-icon-document\" @click=\"handleDownload\">\n      Export Selected Items\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    <el-table\n      ref=\"multipleTable\"\n      v-loading=\"listLoading\"\n      :data=\"list\"\n      element-loading-text=\"拼命加载中\"\n      border\n      fit\n      highlight-current-row\n      @selection-change=\"handleSelectionChange\"\n    >\n      <el-table-column type=\"selection\" align=\"center\" />\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=\"PDate\" width=\"220\">\n        <template slot-scope=\"scope\">\n          <i class=\"el-icon-time\" />\n          <span>{{ scope.row.display_time }}</span>\n        </template>\n      </el-table-column>\n    </el-table>\n  </div>\n</template>\n\n<script>\nimport { fetchList } from '@/api/article'\n\nexport default {\n  name: 'SelectExcel',\n  data() {\n    return {\n      list: null,\n      listLoading: true,\n      multipleSelection: [],\n      downloadLoading: false,\n      filename: ''\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    handleSelectionChange(val) {\n      this.multipleSelection = val\n    },\n    handleDownload() {\n      if (this.multipleSelection.length) {\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.multipleSelection\n          const data = this.formatJson(filterVal, list)\n          excel.export_json_to_excel({\n            header: tHeader,\n            data,\n            filename: this.filename\n          })\n          this.$refs.multipleTable.clearSelection()\n          this.downloadLoading = false\n        })\n      } else {\n        this.$message({\n          message: 'Please select at least one item',\n          type: 'warning'\n        })\n      }\n    },\n    formatJson(filterVal, jsonData) {\n      return jsonData.map(v => filterVal.map(j => v[j]))\n    }\n  }\n}\n</script>\n"]}]}