1 line
5.0 KiB
JSON
1 line
5.0 KiB
JSON
{"remainingRequest":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\components\\UploadExcel\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\components\\UploadExcel\\index.vue","mtime":1732871026484},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\babel.config.js","mtime":1732871025888},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1732872825017},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1732872825835}],"contextDependencies":[],"result":["\"use strict\";\n\nvar _interopRequireDefault = require(\"D:/data/hanguodoushan/acs2/nladmin-ui/node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nrequire(\"core-js/modules/es6.function.name\");\nvar _xlsx = _interopRequireDefault(require(\"xlsx\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = exports.default = {\n props: {\n beforeUpload: Function,\n // eslint-disable-line\n onSuccess: Function // eslint-disable-line\n },\n data: function data() {\n return {\n loading: false,\n excelData: {\n header: null,\n results: null\n }\n };\n },\n methods: {\n generateData: function generateData(_ref) {\n var header = _ref.header,\n results = _ref.results;\n this.excelData.header = header;\n this.excelData.results = results;\n this.onSuccess && this.onSuccess(this.excelData);\n },\n handleDrop: function handleDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n if (this.loading) return;\n var files = e.dataTransfer.files;\n if (files.length !== 1) {\n this.$message.error('只支持单个文件上传!');\n return;\n }\n var rawFile = files[0];\n if (!this.isExcel(rawFile)) {\n this.$message.error('只支持.xlsx, .xls, .csv 格式文件');\n return false;\n }\n this.upload(rawFile);\n e.stopPropagation();\n e.preventDefault();\n },\n handleDragover: function handleDragover(e) {\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy';\n },\n handleUpload: function handleUpload() {\n this.$refs['excel-upload-input'].click();\n },\n handleClick: function handleClick(e) {\n var files = e.target.files;\n var rawFile = files[0]; // only use files[0]\n if (!rawFile) return;\n this.upload(rawFile);\n },\n upload: function upload(rawFile) {\n this.$refs['excel-upload-input'].value = null; // fix can't select the same excel\n\n if (!this.beforeUpload) {\n this.readerData(rawFile);\n return;\n }\n var before = this.beforeUpload(rawFile);\n if (before) {\n this.readerData(rawFile);\n }\n },\n readerData: function readerData(rawFile) {\n var _this = this;\n this.loading = true;\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var data = e.target.result;\n var workbook = _xlsx.default.read(data, {\n type: 'array'\n });\n var firstSheetName = workbook.SheetNames[0];\n var worksheet = workbook.Sheets[firstSheetName];\n var header = _this.getHeaderRow(worksheet);\n var results = _xlsx.default.utils.sheet_to_json(worksheet);\n _this.generateData({\n header: header,\n results: results\n });\n _this.loading = false;\n resolve();\n };\n reader.readAsArrayBuffer(rawFile);\n });\n },\n getHeaderRow: function getHeaderRow(sheet) {\n var headers = [];\n var range = _xlsx.default.utils.decode_range(sheet['!ref']);\n var C;\n var R = range.s.r;\n /* start in the first row */\n for (C = range.s.c; C <= range.e.c; ++C) {\n /* walk every column in the range */\n var cell = sheet[_xlsx.default.utils.encode_cell({\n c: C,\n r: R\n })];\n /* find the cell in the first row */\n var hdr = 'UNKNOWN ' + C; // <-- replace with your desired default\n if (cell && cell.t) hdr = _xlsx.default.utils.format_cell(cell);\n headers.push(hdr);\n }\n return headers;\n },\n isExcel: function isExcel(file) {\n return /\\.(xlsx|xls|csv)$/.test(file.name);\n }\n }\n};",null]} |