You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"remainingRequest":"D:\\code\\vue\\admin\\node_modules\\babel-loader\\lib\\index.js!D:\\code\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\code\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\code\\vue\\admin\\src\\components\\common\\ExcelFileUpload.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\code\\vue\\admin\\src\\components\\common\\ExcelFileUpload.vue","mtime":1709633786000},{"path":"D:\\code\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZm9yLWVhY2giOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZSI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnNwbGl0IjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnN0YXJ0cy13aXRoIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaCI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCBzdG9yYWdlIGZyb20gIkAvdXRpbHMvc3RvcmFnZSI7CmltcG9ydCBiYXNlIGZyb20gIkAvdXRpbHMvYmFzZSI7CmV4cG9ydCBkZWZhdWx0IHsKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgLy8g5p+l55yL5aSn5Zu+CiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICAvLyDmn6XnnIvlpKflm74KICAgICAgZGlhbG9nSW1hZ2VVcmw6ICIiLAogICAgICAvLyDnu4Tku7bmuLLmn5Plm77niYfnmoTmlbDnu4TlrZfmrrXvvIzmnInnibnmrormoLzlvI/opoHmsYIKICAgICAgZmlsZUxpc3Q6IFtdLAogICAgICBmaWxlVXJsTGlzdDogW10sCiAgICAgIG15SGVhZGVyczoge30KICAgIH07CiAgfSwKICBwcm9wczogWyJ0aXAiLCAiYWN0aW9uIiwgImxpbWl0IiwgIm11bHRpcGxlIiwgImZpbGVVcmxzIl0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuaW5pdCgpOwogICAgdGhpcy5teUhlYWRlcnMgPSB7CiAgICAgICdUb2tlbic6IHN0b3JhZ2UuZ2V0KCJUb2tlbiIpCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGZpbGVVcmxzOiBmdW5jdGlvbiBmaWxlVXJscyh2YWwsIG9sZFZhbCkgewogICAgICAvLyAgIGNvbnNvbGUubG9nKCJuZXc6ICVzLCBvbGQ6ICVzIiwgdmFsLCBvbGRWYWwpOwogICAgICB0aGlzLmluaXQoKTsKICAgIH0KICB9LAogIGNvbXB1dGVkOiB7CiAgICAvLyDorqHnrpflsZ7mgKfnmoQgZ2V0dGVyCiAgICBnZXRBY3Rpb25Vcmw6IGZ1bmN0aW9uIGdldEFjdGlvblVybCgpIHsKICAgICAgY29uc29sZS5sb2coMTIzKTsKICAgICAgdGhpcy5maWxlTGlzdCA9IFtdOyAvLyByZXR1cm4gYmFzZS51cmwgKyB0aGlzLmFjdGlvbiArICI/dG9rZW49IiArIHN0b3JhZ2UuZ2V0KCJ0b2tlbiIpOwoKICAgICAgcmV0dXJuICIvIi5jb25jYXQodGhpcy4kYmFzZS5uYW1lLCAiLyIpICsgdGhpcy5hY3Rpb247CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDliJ3lp4vljJYKICAgIGluaXQ6IGZ1bmN0aW9uIGluaXQoKSB7CiAgICAgIC8vICAgY29uc29sZS5sb2codGhpcy5maWxlVXJscyk7CiAgICAgIGlmICh0aGlzLmZpbGVVcmxzKSB7CiAgICAgICAgdGhpcy5maWxlVXJsTGlzdCA9IHRoaXMuZmlsZVVybHMuc3BsaXQoIiwiKTsKICAgICAgICB2YXIgZmlsZUFycmF5ID0gW107CiAgICAgICAgdGhpcy5maWxlVXJsTGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgdmFyIHVybCA9IGl0ZW07CiAgICAgICAgICB2YXIgbmFtZSA9IGluZGV4OwogICAgICAgICAgdmFyIGZpbGUgPSB7CiAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgICAgIHVybDogdXJsCiAgICAgICAgICB9OwogICAgICAgICAgZmlsZUFycmF5LnB1c2goZmlsZSk7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5zZXRGaWxlTGlzdChmaWxlQXJyYXkpOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlQmVmb3JlVXBsb2FkOiBmdW5jdGlvbiBoYW5kbGVCZWZvcmVVcGxvYWQoZmlsZSkge30sCiAgICAvLyDkuIrkvKDmlofku7bmiJDlip/lkI7miafooYwKICAgIGhhbmRsZVVwbG9hZFN1Y2Nlc3M6IGZ1bmN0aW9uIGhhbmRsZVVwbG9hZFN1Y2Nlc3MocmVzLCBmaWxlLCBmaWxlTGlzdCkgewogICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAwKSB7CiAgICAgICAgZmlsZUxpc3RbZmlsZUxpc3QubGVuZ3RoIC0gMV1bInVybCJdID0gInVwbG9hZC8iICsgZmlsZS5yZXNwb25zZS5maWxlOwogICAgICAgIHRoaXMuc2V0RmlsZUxpc3QoZmlsZUxpc3QpOwogICAgICAgIHRoaXMuJGVtaXQoImNoYW5nZSIsIHRoaXMuZmlsZVVybExpc3Quam9pbigiLCIpKTsKICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuaWh+S7tuWvvOWFpeaIkOWKnyIpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDlm77niYfkuIrkvKDlpLHotKUKICAgIGhhbmRsZVVwbG9hZEVycjogZnVuY3Rpb24gaGFuZGxlVXBsb2FkRXJyKGVyciwgZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcigi5paH5Lu25a+85YWl5aSx6LSlIik7CiAgICB9LAogICAgLy8g56e76Zmk5Zu+54mHCiAgICBoYW5kbGVSZW1vdmU6IGZ1bmN0aW9uIGhhbmRsZVJlbW92ZShmaWxlLCBmaWxlTGlzdCkgewogICAgICB0aGlzLnNldEZpbGVMaXN0KGZpbGVMaXN0KTsKICAgICAgdGhpcy4kZW1pdCgiY2hhbmdlIiwgdGhpcy5maWxlVXJsTGlzdC5qb2luKCIsIikpOwogICAgfSwKICAgIC8vIOafpeeci+Wkp+WbvgogICAgaGFuZGxlVXBsb2FkUHJldmlldzogZnVuY3Rpb24gaGFuZGxlVXBsb2FkUHJldmlldyhmaWxlKSB7CiAgICAgIHRoaXMuZGlhbG9nSW1hZ2VVcmwgPSBmaWxlLnVybDsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDpmZDliLblm77niYfmlbDph48KICAgIGhhbmRsZUV4Y2VlZDogZnVuY3Rpb24gaGFuZGxlRXhjZWVkKGZpbGVzLCBmaWxlTGlzdCkgewogICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIlx1NjcwMFx1NTkxQVx1NEUwQVx1NEYyMCIuY29uY2F0KHRoaXMubGltaXQsICJcdTVGMjBcdTU2RkVcdTcyNDciKSk7CiAgICB9LAogICAgLy8g6YeN5paw5a+5ZmlsZUxpc3Tov5vooYzotYvlgLwKICAgIHNldEZpbGVMaXN0OiBmdW5jdGlvbiBzZXRGaWxlTGlzdChmaWxlTGlzdCkgewogICAgICB2YXIgZmlsZUFycmF5ID0gW107CiAgICAgIHZhciBmaWxlVXJsQXJyYXkgPSBbXTsgLy8g5pyJ5Lqb5Zu+54mH5LiN5piv5YWs5byA55qE77yM5omA5Lul6ZyA6KaB5pC65bimdG9rZW7kv6Hmga/lgZrmnYPpmZDmoKHpqowKCiAgICAgIHZhciB0b2tlbiA9IHN0b3JhZ2UuZ2V0KCJ0b2tlbiIpOwoKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIGZpbGVMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgdmFyIHVybCA9IGl0ZW0udXJsLnNwbGl0KCI/IilbMF07CgogICAgICAgIGlmICghdXJsLnN0YXJ0c1dpdGgoImh0dHAiKSkgewogICAgICAgICAgdXJsID0gX3RoaXMuJGJhc2UudXJsICsgdXJsOwogICAgICAgIH0KCiAgICAgICAgdmFyIG5hbWUgPSBpdGVtLm5hbWU7CiAgICAgICAgdmFyIGZpbGUgPSB7CiAgICAgICAgICBuYW1lOiBuYW1lLAogICAgICAgICAgdXJsOiB1cmwgKyAiP3Rva2VuPSIgKyB0b2tlbgogICAgICAgIH07CiAgICAgICAgZmlsZUFycmF5LnB1c2goZmlsZSk7CiAgICAgICAgZmlsZVVybEFycmF5LnB1c2godXJsKTsKICAgICAgfSk7CiAgICAgIHRoaXMuZmlsZUxpc3QgPSBmaWxlQXJyYXk7CiAgICAgIHRoaXMuZmlsZVVybExpc3QgPSBmaWxlVXJsQXJyYXk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"sources":["ExcelFileUpload.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div>\r\n <!-- 上传文件组件 -->\r\n <el-upload\r\n ref=\"upload\"\r\n :action=\"getActionUrl\"\r\n list-type=\"picture-card\"\r\n accept=\".xls,.xlsx\"\r\n :limit=\"limit\"\r\n :headers=\"myHeaders\"\r\n :on-exceed=\"handleExceed\"\r\n :on-preview=\"handleUploadPreview\"\r\n :on-remove=\"handleRemove\"\r\n :on-success=\"handleUploadSuccess\"\r\n :on-error=\"handleUploadErr\"\r\n :before-upload=\"handleBeforeUpload\"\r\n :show-file-list=\"false\"\r\n >\r\n <i class=\"el-icon-plus\"></i>\r\n <div slot=\"tip\" class=\"el-upload__tip\" style=\"color:#838fa1;\">{{tip}}</div>\r\n </el-upload>\r\n <el-dialog :visible.sync=\"dialogVisible\" size=\"tiny\" append-to-body>\r\n <img width=\"100%\" :src=\"dialogImageUrl\" alt>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script>\r\nimport storage from \"@/utils/storage\";\r\nimport base from \"@/utils/base\";\r\nexport default {\r\n data() {\r\n return {\r\n // 查看大图\r\n dialogVisible: false,\r\n // 查看大图\r\n dialogImageUrl: \"\",\r\n // 组件渲染图片的数组字段,有特殊格式要求\r\n fileList: [],\r\n fileUrlList: [],\r\n myHeaders:{}\r\n };\r\n },\r\n props: [\"tip\", \"action\", \"limit\", \"multiple\", \"fileUrls\"],\r\n mounted() {\r\n this.init();\r\n this.myHeaders= {\r\n 'Token':storage.get(\"Token\")\r\n }\r\n },\r\n watch: {\r\n fileUrls: function(val, oldVal) {\r\n // console.log(\"new: %s, old: %s\", val, oldVal);\r\n this.init();\r\n }\r\n },\r\n computed: {\r\n // 计算属性的 getter\r\n getActionUrl: function() {\r\n\t\tconsole.log(123)\r\n\t\tthis.fileList = []\r\n // return base.url + this.action + \"?token=\" + storage.get(\"token\");\r\n return `/${this.$base.name}/` + this.action;\r\n }\r\n },\r\n methods: {\r\n // 初始化\r\n init() {\r\n // console.log(this.fileUrls);\r\n if (this.fileUrls) {\r\n this.fileUrlList = this.fileUrls.split(\",\");\r\n let fileArray = [];\r\n this.fileUrlList.forEach(function(item, index) {\r\n var url = item;\r\n var name = index;\r\n var file = {\r\n name: name,\r\n url: url\r\n };\r\n fileArray.push(file);\r\n });\r\n this.setFileList(fileArray);\r\n }\r\n },\r\n handleBeforeUpload(file) {\r\n \r\n },\r\n // 上传文件成功后执行\r\n handleUploadSuccess(res, file, fileList) {\r\n if (res && res.code === 0) {\r\n fileList[fileList.length - 1][\"url\"] = \"upload/\" + file.response.file;\r\n this.setFileList(fileList);\r\n this.$emit(\"change\", this.fileUrlList.join(\",\"));\r\n this.$message.success(\"文件导入成功\");\r\n } else {\r\n this.$message.error(res.msg);\r\n }\r\n },\r\n // 图片上传失败\r\n handleUploadErr(err, file, fileList) {\r\n this.$message.error(\"文件导入失败\");\r\n },\r\n // 移除图片\r\n handleRemove(file, fileList) {\r\n this.setFileList(fileList);\r\n this.$emit(\"change\", this.fileUrlList.join(\",\"));\r\n },\r\n // 查看大图\r\n handleUploadPreview(file) {\r\n this.dialogImageUrl = file.url;\r\n this.dialogVisible = true;\r\n },\r\n // 限制图片数量\r\n handleExceed(files, fileList) {\r\n this.$message.warning(`最多上传${this.limit}张图片`);\r\n },\r\n // 重新对fileList进行赋值\r\n setFileList(fileList) {\r\n var fileArray = [];\r\n var fileUrlArray = [];\r\n // 有些图片不是公开的所以需要携带token信息做权限校验\r\n var token = storage.get(\"token\");\r\n let _this = this;\r\n fileList.forEach(function(item, index) {\r\n var url = item.url.split(\"?\")[0];\r\n if(!url.startsWith(\"http\")) {\r\n url = _this.$base.url+url\r\n }\r\n var name = item.name;\r\n var file = {\r\n name: name,\r\n url: url + \"?token=\" + token\r\n };\r\n fileArray.push(file);\r\n fileUrlArray.push(url);\r\n });\r\n this.fileList = fileArray;\r\n this.fileUrlList = fileUrlArray;\r\n }\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n</style>\r\n\r\n"],"sourceRoot":"src/components/common"}]}