79632d7786bda0d885bd79f1f4c897ba.json 15 KB

1
  1. {"remainingRequest":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\extra\\VabUpload\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\extra\\VabUpload\\index.vue","mtime":1678954023479},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\babel.config.js","mtime":1681371897685},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1681371912860},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1681371925849}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgYmFzZVVSTCwgdG9rZW5OYW1lIH0gZnJvbSAiQC9jb25maWcvc2V0dGluZ3MiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIlZhYlVwbG9hZCIsCiAgcHJvcHM6IHsKICAgIHVybDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICIvdXBsb2FkIiwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBuYW1lOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogImZpbGUiLAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfSwKICAgIGxpbWl0OiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogNTAsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgc2l6ZTogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IDEsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9CiAgfSwKCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNob3c6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsCiAgICAgIGRpYWxvZ0ltYWdlVXJsOiAiIiwKICAgICAgYWN0aW9uOiAiaHR0cHM6Ly92YWItdW5pY2xvdWQtM2E5ZGE5LnNlcnZpY2UudGNsb3VkYmFzZS5jb20vdXBsb2FkIiwKICAgICAgaGVhZGVyczoge30sCiAgICAgIGZpbGVMaXN0OiBbXSwKICAgICAgcGljdHVyZTogInBpY3R1cmUiLAogICAgICBpbWdOdW06IDAsCiAgICAgIGltZ1N1Y2Nlc3NOdW06IDAsCiAgICAgIGltZ0Vycm9yTnVtOiAwLAogICAgICB0eXBlTGlzdDogbnVsbCwKICAgICAgdGl0bGU6ICLkuIrkvKAiLAogICAgICBkaWFsb2dGb3JtVmlzaWJsZTogZmFsc2UsCiAgICAgIGRhdGE6IHt9CiAgICB9OwogIH0sCgogIGNvbXB1dGVkOiB7CiAgICBwZXJjZW50YWdlKCkgewogICAgICBpZiAodGhpcy5hbGxJbWdOdW0gPT0gMCkgcmV0dXJuIDA7CiAgICAgIHJldHVybiB0aGlzLiRiYXNlTG9kYXNoLnJvdW5kKHRoaXMuaW1nTnVtIC8gdGhpcy5hbGxJbWdOdW0sIDIpICogMTAwOwogICAgfQoKICB9LAoKICBjcmVhdGVkKCkgewogICAgLyogIGlmICgiZGV2ZWxvcG1lbnQiID09PSBwcm9jZXNzLmVudi5OT0RFX0VOVikgewogICAgICB0aGlzLmFwaSA9IGJhc2VVUkw7CiAgICB9IGVsc2UgewogICAgICB0aGlzLmFwaSA9IGAke3dpbmRvdy5sb2NhdGlvbi5wcm90b2NvbH0vLyR7d2luZG93LmxvY2F0aW9uLmhvc3R9YDsKICAgIH0KICAgIHRoaXMuYWN0aW9uID0gdGhpcy5hcGkgKyB0aGlzLnVybDsgKi8KICAgIHRoaXMuaGVhZGVyc1t0b2tlbk5hbWVdID0gdGhpcy4kYmFzZUFjY2Vzc1Rva2VuKCk7CiAgfSwKCiAgbWV0aG9kczogewogICAgc3VibWl0VXBsb2FkKCkgewogICAgICB0aGlzLiRyZWZzLnVwbG9hZC5zdWJtaXQoKTsKICAgIH0sCgogICAgaGFuZGxlUHJvZ3Jlc3MoZXZlbnQsIGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIHRoaXMuc2hvdyA9IHRydWU7CiAgICB9LAoKICAgIGhhbmRsZUNoYW5nZShmaWxlLCBmaWxlTGlzdCkgewogICAgICBpZiAoZmlsZS5zaXplID4gMTA0ODU3NiAqIHRoaXMuc2l6ZSkgewogICAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHsKICAgICAgICAgIGlmIChpdGVtID09PSBmaWxlKSB7CiAgICAgICAgICAgIGZpbGVMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5maWxlTGlzdCA9IGZpbGVMaXN0OwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuYWxsSW1nTnVtID0gZmlsZUxpc3QubGVuZ3RoOwogICAgICB9CiAgICB9LAoKICAgIGhhbmRsZVN1Y2Nlc3MocmVzcG9uc2UsIGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMuaW1nTnVtID0gdGhpcy5pbWdOdW0gKyAxOwogICAgICB0aGlzLmltZ1N1Y2Nlc3NOdW0gPSB0aGlzLmltZ1N1Y2Nlc3NOdW0gKyAxOwoKICAgICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA9PT0gdGhpcy5pbWdOdW0pIHsKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgIHRoaXMuJGVtaXQoImZldGNoRGF0YXMiKTsKICAgICAgICAgIHRoaXMuJGJhc2VNZXNzYWdlKGDkuIrkvKDlrozmiJAhIOWFseS4iuS8oCR7ZmlsZUxpc3QubGVuZ3RofeW8oOWbvueJh2AsICJzdWNjZXNzIik7CiAgICAgICAgfSwgMTAwMCk7CiAgICAgIH0KCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgIHRoaXMuc2hvdyA9IGZhbHNlOwogICAgICB9LCAxMDAwKTsKICAgIH0sCgogICAgaGFuZGxlRXJyb3IoZXJyLCBmaWxlLCBmaWxlTGlzdCkgewogICAgICB0aGlzLmltZ051bSA9IHRoaXMuaW1nTnVtICsgMTsKICAgICAgdGhpcy5pbWdFcnJvck51bSA9IHRoaXMuaW1nRXJyb3JOdW0gKyAxOwogICAgICB0aGlzLiRiYXNlTWVzc2FnZShg5paH5Lu2WyR7ZmlsZS5yYXcubmFtZX1d5LiK5Lyg5aSx6LSlLOaWh+S7tuWkp+Wwj+S4uiR7dGhpcy4kYmFzZUxvZGFzaC5yb3VuZChmaWxlLnJhdy5zaXplIC8gMTAyNCwgMCl9S0JgLCAiZXJyb3IiKTsKICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7CiAgICAgIH0sIDEwMDApOwogICAgfSwKCiAgICBoYW5kbGVSZW1vdmUoZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgdGhpcy5pbWdOdW0gPSB0aGlzLmltZ051bSAtIDE7CiAgICAgIHRoaXMuYWxsTnVtID0gdGhpcy5hbGxOdW0gLSAxOwogICAgfSwKCiAgICBoYW5kbGVQcmV2aWV3KGZpbGUpIHsKICAgICAgdGhpcy5kaWFsb2dJbWFnZVVybCA9IGZpbGUudXJsOwogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKCiAgICBoYW5kbGVFeGNlZWQoZmlsZXMsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMuJGJhc2VNZXNzYWdlKGDlvZPliY3pmZDliLbpgInmi6kgJHt0aGlzLmxpbWl0fSDkuKrmlofku7bvvIzmnKzmrKHpgInmi6nkuoYKICAgICAgICAgICAke2ZpbGVzLmxlbmd0aH0KICAgICAgICAgICDkuKrmlofku7ZgLCAiZXJyb3IiKTsKICAgIH0sCgogICAgaGFuZGxlU2hvdyhkYXRhKSB7CiAgICAgIHRoaXMudGl0bGUgPSAi5LiK5LygIjsKICAgICAgdGhpcy5kYXRhID0gZGF0YTsKICAgICAgdGhpcy5kaWFsb2dGb3JtVmlzaWJsZSA9IHRydWU7CiAgICB9LAoKICAgIGhhbmRsZUNsb3NlKCkgewogICAgICB0aGlzLmZpbGVMaXN0ID0gW107CiAgICAgIHRoaXMucGljdHVyZSA9ICJwaWN0dXJlIjsKICAgICAgdGhpcy5hbGxJbWdOdW0gPSAwOwogICAgICB0aGlzLmltZ051bSA9IDA7CiAgICAgIHRoaXMuaW1nU3VjY2Vzc051bSA9IDA7CiAgICAgIHRoaXMuaW1nRXJyb3JOdW0gPSAwOwoKICAgICAgaWYgKCJkZXZlbG9wbWVudCIgPT09IHByb2Nlc3MuZW52Lk5PREVfRU5WKSB7CiAgICAgICAgdGhpcy5hcGkgPSBwcm9jZXNzLmVudi5WVUVfQVBQX0JBU0VfQVBJOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuYXBpID0gYCR7d2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHt3aW5kb3cubG9jYXRpb24uaG9zdH1gOwogICAgICB9CgogICAgICB0aGlzLmFjdGlvbiA9IHRoaXMuYXBpICsgdGhpcy51cmw7CiAgICAgIHRoaXMuaGVhZGVyc1t0b2tlbk5hbWVdID0gdGhpcy4kYmFzZUFjY2Vzc1Rva2VuKCk7CiAgICAgIHRoaXMuZGlhbG9nRm9ybVZpc2libGUgPSBmYWxzZTsKICAgIH0KCiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA;AAEA;EACAA,iBADA;EAEAC;IACAC;MACAC,YADA;MAEAC,kBAFA;MAGAC;IAHA,CADA;IAMAL;MACAG,YADA;MAEAC,eAFA;MAGAC;IAHA,CANA;IAWAC;MACAH,YADA;MAEAC,WAFA;MAGAC;IAHA,CAXA;IAgBAE;MACAJ,YADA;MAEAC,UAFA;MAGAC;IAHA;EAhBA,CAFA;;EAwBAG;IACA;MACAC,WADA;MAEAC,cAFA;MAGAC,oBAHA;MAIAC,kBAJA;MAKAC,mEALA;MAMAC,WANA;MAOAC,YAPA;MAQAC,kBARA;MASAC,SATA;MAUAC,gBAVA;MAWAC,cAXA;MAYAC,cAZA;MAaAC,WAbA;MAcAC,wBAdA;MAeAd;IAfA;EAiBA,CA1CA;;EA2CAe;IACAC;MACA;MACA;IACA;;EAJA,CA3CA;;EAiDAC;IACA;AACA;AACA;AACA;AACA;AACA;IACA;EACA,CAzDA;;EA0DAC;IACAC;MACA;IACA,CAHA;;IAIAC;MACA;MACA;IACA,CAPA;;IAQAC;MACA;QACAd;UACA;YACAA;UACA;QACA,CAJA;QAKA;MACA,CAPA,MAOA;QACA;MACA;IACA,CAnBA;;IAoBAe;MACA;MACA;;MACA;QACAC;UACA;UACA,kBACA,gCADA,EAEA,SAFA;QAIA,CANA,EAMA,IANA;MAOA;;MAEAA;QACA;QACA;MACA,CAHA,EAGA,IAHA;IAIA,CArCA;;IAsCAC;MACA;MACA;MACA,kBACA,wDACAC,oBADA,EAEA,CAFA,CAGA,IAJA,EAKA,OALA;MAOAF;QACA;QACA;MACA,CAHA,EAGA,IAHA;IAIA,CApDA;;IAqDAG;MACA;MACA;IACA,CAxDA;;IAyDAC;MACA;MACA;IACA,CA5DA;;IA6DAC;MACA,kBACA;AACA;AACA,eAHA,EAIA,OAJA;IAMA,CApEA;;IAqEAC;MACA;MACA;MACA;IACA,CAzEA;;IA0EAC;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;;MAEA;MACA;MACA;IACA;;EA1FA;AA1DA","names":["name","props","url","type","default","required","limit","size","data","show","loading","dialogVisible","dialogImageUrl","action","headers","fileList","picture","imgNum","imgSuccessNum","imgErrorNum","typeList","title","dialogFormVisible","computed","percentage","created","methods","submitUpload","handleProgress","handleChange","handleSuccess","setTimeout","handleError","file","handleRemove","handlePreview","handleExceed","handleShow","handleClose"],"sourceRoot":"src/extra/VabUpload","sources":["index.vue"],"sourcesContent":["<template>\n <el-dialog\n :before-close=\"handleClose\"\n :title=\"title\"\n :visible.sync=\"dialogFormVisible\"\n width=\"909px\"\n :close-on-press-escape=\"false\"\n :close-on-click-modal=\"false\"\n >\n <div class=\"upload\">\n <el-alert\n :closable=\"false\"\n :title=\"`支持jpg、jpeg、png格式,单次可最多选择${limit}张图片,每张不可大于${size}M,如果大于${size}M会自动为您过滤`\"\n type=\"info\"\n ></el-alert>\n <br />\n <el-upload\n ref=\"upload\"\n :action=\"action\"\n :auto-upload=\"false\"\n :close-on-click-modal=\"false\"\n :data=\"data\"\n :file-list=\"fileList\"\n :headers=\"headers\"\n :limit=\"limit\"\n :multiple=\"true\"\n :name=\"name\"\n :on-change=\"handleChange\"\n :on-error=\"handleError\"\n :on-exceed=\"handleExceed\"\n :on-preview=\"handlePreview\"\n :on-progress=\"handleProgress\"\n :on-remove=\"handleRemove\"\n :on-success=\"handleSuccess\"\n accept=\"image/png, image/jpeg\"\n class=\"upload-content\"\n list-type=\"picture-card\"\n >\n <i slot=\"trigger\" class=\"el-icon-plus\"></i>\n <el-dialog\n :visible.sync=\"dialogVisible\"\n append-to-body\n title=\"查看大图\"\n >\n <div>\n <img :src=\"dialogImageUrl\" alt=\"\" width=\"100%\" />\n </div>\n </el-dialog>\n </el-upload>\n </div>\n <div\n slot=\"footer\"\n class=\"dialog-footer\"\n style=\"position: relative; padding-right: 15px; text-align: right\"\n >\n <div\n v-if=\"show\"\n style=\"position: absolute; top: 10px; left: 15px; color: #999\"\n >\n 正在上传中... 当前上传成功数:{{ imgSuccessNum }}张 当前上传失败数:{{\n imgErrorNum\n }}张\n </div>\n <el-button type=\"primary\" @click=\"handleClose\">关闭</el-button>\n <el-button\n :loading=\"loading\"\n size=\"small\"\n style=\"margin-left: 10px\"\n type=\"success\"\n @click=\"submitUpload\"\n >\n 开始上传\n </el-button>\n </div>\n </el-dialog>\n</template>\n\n<script>\n import { baseURL, tokenName } from \"@/config/settings\";\n\n export default {\n name: \"VabUpload\",\n props: {\n url: {\n type: String,\n default: \"/upload\",\n required: true,\n },\n name: {\n type: String,\n default: \"file\",\n required: true,\n },\n limit: {\n type: Number,\n default: 50,\n required: true,\n },\n size: {\n type: Number,\n default: 1,\n required: true,\n },\n },\n data() {\n return {\n show: false,\n loading: false,\n dialogVisible: false,\n dialogImageUrl: \"\",\n action: \"https://vab-unicloud-3a9da9.service.tcloudbase.com/upload\",\n headers: {},\n fileList: [],\n picture: \"picture\",\n imgNum: 0,\n imgSuccessNum: 0,\n imgErrorNum: 0,\n typeList: null,\n title: \"上传\",\n dialogFormVisible: false,\n data: {},\n };\n },\n computed: {\n percentage() {\n if (this.allImgNum == 0) return 0;\n return this.$baseLodash.round(this.imgNum / this.allImgNum, 2) * 100;\n },\n },\n created() {\n /* if (\"development\" === process.env.NODE_ENV) {\n this.api = baseURL;\n } else {\n this.api = `${window.location.protocol}//${window.location.host}`;\n }\n this.action = this.api + this.url; */\n this.headers[tokenName] = this.$baseAccessToken();\n },\n methods: {\n submitUpload() {\n this.$refs.upload.submit();\n },\n handleProgress(event, file, fileList) {\n this.loading = true;\n this.show = true;\n },\n handleChange(file, fileList) {\n if (file.size > 1048576 * this.size) {\n fileList.map((item, index) => {\n if (item === file) {\n fileList.splice(index, 1);\n }\n });\n this.fileList = fileList;\n } else {\n this.allImgNum = fileList.length;\n }\n },\n handleSuccess(response, file, fileList) {\n this.imgNum = this.imgNum + 1;\n this.imgSuccessNum = this.imgSuccessNum + 1;\n if (fileList.length === this.imgNum) {\n setTimeout(() => {\n this.$emit(\"fetchDatas\");\n this.$baseMessage(\n `上传完成! 共上传${fileList.length}张图片`,\n \"success\"\n );\n }, 1000);\n }\n\n setTimeout(() => {\n this.loading = false;\n this.show = false;\n }, 1000);\n },\n handleError(err, file, fileList) {\n this.imgNum = this.imgNum + 1;\n this.imgErrorNum = this.imgErrorNum + 1;\n this.$baseMessage(\n `文件[${file.raw.name}]上传失败,文件大小为${this.$baseLodash.round(\n file.raw.size / 1024,\n 0\n )}KB`,\n \"error\"\n );\n setTimeout(() => {\n this.loading = false;\n this.show = false;\n }, 1000);\n },\n handleRemove(file, fileList) {\n this.imgNum = this.imgNum - 1;\n this.allNum = this.allNum - 1;\n },\n handlePreview(file) {\n this.dialogImageUrl = file.url;\n this.dialogVisible = true;\n },\n handleExceed(files, fileList) {\n this.$baseMessage(\n `当前限制选择 ${this.limit} 个文件,本次选择了\n ${files.length}\n 个文件`,\n \"error\"\n );\n },\n handleShow(data) {\n this.title = \"上传\";\n this.data = data;\n this.dialogFormVisible = true;\n },\n handleClose() {\n this.fileList = [];\n this.picture = \"picture\";\n this.allImgNum = 0;\n this.imgNum = 0;\n this.imgSuccessNum = 0;\n this.imgErrorNum = 0;\n if (\"development\" === process.env.NODE_ENV) {\n this.api = process.env.VUE_APP_BASE_API;\n } else {\n this.api = `${window.location.protocol}//${window.location.host}`;\n }\n\n this.action = this.api + this.url;\n this.headers[tokenName] = this.$baseAccessToken();\n this.dialogFormVisible = false;\n },\n },\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .upload {\n height: 500px;\n\n .upload-content {\n .el-upload__tip {\n display: block;\n height: 30px;\n line-height: 30px;\n }\n\n ::v-deep {\n .el-upload--picture-card {\n width: 128px;\n height: 128px;\n margin: 3px 8px 8px 8px;\n border: 2px dashed #c0ccda;\n }\n\n .el-upload-list--picture {\n margin-bottom: 20px;\n }\n\n .el-upload-list--picture-card {\n .el-upload-list__item {\n width: 128px;\n height: 128px;\n margin: 3px 8px 8px 8px;\n }\n }\n }\n }\n }\n</style>\n"]}]}