Files
education/frontend/node_modules/.cache/babel-loader/6931fc3adfc591f09f187d9b107cad14.json
T

1 line
13 KiB
JSON

{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\ExcelImportDialog\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\ExcelImportDialog\\index.vue","mtime":1787567871498},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5lbmRzLXdpdGguanMiKTsKdmFyIF9hdXRoID0gcmVxdWlyZSgiQC91dGlscy9hdXRoIik7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IGV4cG9ydHMuZGVmYXVsdCA9IHsKICBwcm9wczogewogICAgLy8g5a+56K+d5qGG5qCH6aKYCiAgICB0aXRsZTogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICfmlbDmja7lr7zlhaUnCiAgICB9LAogICAgLy8g5a+56K+d5qGG5a695bqmCiAgICB3aWR0aDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICc0MDBweCcKICAgIH0sCiAgICAvLyDkuIrkvKDmjqXlj6PlnLDlnYDvvIjlv4XkvKDvvIkKICAgIGFjdGlvbjogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgLy8g5qih5p2/5LiL6L295o6l5Y+j5Zyw5Z2A77yM5LiN5Lyg5YiZ5LiN5pi+56S65LiL6L295qih5p2/6ZO+5o6lCiAgICB0ZW1wbGF0ZUFjdGlvbjogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcnCiAgICB9LAogICAgLy8g5qih5p2/5paH5Lu25ZCNCiAgICB0ZW1wbGF0ZUZpbGVOYW1lOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJ3RlbXBsYXRlJwogICAgfSwKICAgIC8vIOimhuebluabtOaWsOWLvumAieahhueahOivtOaYjuaWh+WtlwogICAgdXBkYXRlU3VwcG9ydExhYmVsOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJ+aYr+WQpuabtOaWsOW3sue7j+WtmOWcqOeahOaVsOaNricKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgaXNVcGxvYWRpbmc6IGZhbHNlLAogICAgICB1cGRhdGVTdXBwb3J0OiBmYWxzZSwKICAgICAgaGVhZGVyczogewogICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArICgwLCBfYXV0aC5nZXRUb2tlbikoKQogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHVwbG9hZFVybDogZnVuY3Rpb24gdXBsb2FkVXJsKCkgewogICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArIHRoaXMuYWN0aW9uICsgJz91cGRhdGVTdXBwb3J0PScgKyAodGhpcy51cGRhdGVTdXBwb3J0ID8gMSA6IDApOwogICAgfSwKICAgIHRlbXBsYXRlVXJsOiBmdW5jdGlvbiB0ZW1wbGF0ZVVybCgpIHsKICAgICAgcmV0dXJuICEhdGhpcy50ZW1wbGF0ZUFjdGlvbjsKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIC8vIOaJk+W8gOWvueivneahhu+8iOS+m+eItue7hOS7tumAmui/hyByZWYg6LCD55So77yJCiAgICBvcGVuOiBmdW5jdGlvbiBvcGVuKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB0aGlzLnVwZGF0ZVN1cHBvcnQgPSBmYWxzZTsKICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLnZpc2libGUgPSB0cnVlOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKF90aGlzLiRyZWZzLnVwbG9hZFJlZikgewogICAgICAgICAgX3RoaXMuJHJlZnMudXBsb2FkUmVmLmNsZWFyRmlsZXMoKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWFs+mXreaXtua4heeQhgogICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKCkgewogICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7CiAgICAgIGlmICh0aGlzLiRyZWZzLnVwbG9hZFJlZikgewogICAgICAgIHRoaXMuJHJlZnMudXBsb2FkUmVmLmNsZWFyRmlsZXMoKTsKICAgICAgfQogICAgfSwKICAgIC8vIOS4i+i9veaooeadvwogICAgaGFuZGxlRG93bmxvYWRUZW1wbGF0ZTogZnVuY3Rpb24gaGFuZGxlRG93bmxvYWRUZW1wbGF0ZSgpIHsKICAgICAgdGhpcy5kb3dubG9hZCh0aGlzLnRlbXBsYXRlQWN0aW9uLCB7fSwgIiIuY29uY2F0KHRoaXMudGVtcGxhdGVGaWxlTmFtZSwgIl8iKS5jb25jYXQobmV3IERhdGUoKS5nZXRUaW1lKCksICIueGxzeCIpKTsKICAgIH0sCiAgICAvLyDkuIrkvKDov5vluqYKICAgIGhhbmRsZVByb2dyZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9ncmVzcygpIHsKICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IHRydWU7CiAgICB9LAogICAgLy8g5LiK5Lyg5oiQ5YqfCiAgICBoYW5kbGVTdWNjZXNzOiBmdW5jdGlvbiBoYW5kbGVTdWNjZXNzKHJlc3BvbnNlKSB7CiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOwogICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7CiAgICAgIGlmICh0aGlzLiRyZWZzLnVwbG9hZFJlZikgewogICAgICAgIHRoaXMuJHJlZnMudXBsb2FkUmVmLmNsZWFyRmlsZXMoKTsKICAgICAgfQogICAgICB0aGlzLiRhbGVydCgiPGRpdiBzdHlsZT0nb3ZlcmZsb3c6YXV0bztvdmVyZmxvdy14OmhpZGRlbjttYXgtaGVpZ2h0Ojcwdmg7cGFkZGluZzoxMHB4IDIwcHggMDsnPiIgKyByZXNwb25zZS5tc2cgKyAnPC9kaXY+JywgJ+WvvOWFpee7k+aenCcsIHsKICAgICAgICBkYW5nZXJvdXNseVVzZUhUTUxTdHJpbmc6IHRydWUKICAgICAgfSk7CiAgICAgIHRoaXMuJGVtaXQoJ3N1Y2Nlc3MnKTsKICAgIH0sCiAgICAvLyDmj5DkuqTkuIrkvKAKICAgIGhhbmRsZVN1Ym1pdDogZnVuY3Rpb24gaGFuZGxlU3VibWl0KCkgewogICAgICB2YXIgZmlsZXMgPSB0aGlzLiRyZWZzLnVwbG9hZFJlZi51cGxvYWRGaWxlczsKICAgICAgaWYgKCFmaWxlcyB8fCBmaWxlcy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcign6K+36YCJ5oup6KaB5LiK5Lyg55qE5paH5Lu244CCJyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBuYW1lID0gZmlsZXNbMF0ubmFtZS50b0xvd2VyQ2FzZSgpOwogICAgICBpZiAoIW5hbWUuZW5kc1dpdGgoJy54bHMnKSAmJiAhbmFtZS5lbmRzV2l0aCgnLnhsc3gnKSkgewogICAgICAgIHRoaXMuJG1vZGFsLm1zZ0Vycm9yKCfor7fpgInmi6nlkI7nvIDkuLogInhscyIg5oiWICJ4bHN4IiDnmoTmlofku7bjgIInKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy4kcmVmcy51cGxvYWRSZWYuc3VibWl0KCk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["_auth","require","props","title","type","String","default","width","action","required","templateAction","templateFileName","updateSupportLabel","data","visible","isUploading","updateSupport","headers","Authorization","getToken","computed","uploadUrl","process","env","VUE_APP_BASE_API","templateUrl","methods","open","_this","$nextTick","$refs","uploadRef","clearFiles","handleClose","handleDownloadTemplate","download","concat","Date","getTime","handleProgress","handleSuccess","response","$alert","msg","dangerouslyUseHTMLString","$emit","handleSubmit","files","uploadFiles","length","$modal","msgError","name","toLowerCase","endsWith","submit"],"sources":["src/components/ExcelImportDialog/index.vue"],"sourcesContent":["<template>\r\n <el-dialog :title=\"title\" :visible.sync=\"visible\" :width=\"width\" append-to-body @close=\"handleClose\">\r\n <el-upload ref=\"uploadRef\" :limit=\"1\" accept=\".xlsx, .xls\" :headers=\"headers\" :action=\"uploadUrl\" :disabled=\"isUploading\" :on-progress=\"handleProgress\" :on-success=\"handleSuccess\" :auto-upload=\"false\" drag>\r\n <i class=\"el-icon-upload\"></i>\r\n <div class=\"el-upload__text\">将文件拖到此处,或<em>点击上传</em></div>\r\n <div class=\"el-upload__tip text-center\" slot=\"tip\">\r\n <div class=\"el-upload__tip\" slot=\"tip\">\r\n <el-checkbox v-model=\"updateSupport\"> {{ updateSupportLabel }} </el-checkbox>\r\n </div>\r\n <span>仅允许导入xls、xlsx格式文件。</span>\r\n <el-link v-if=\"templateUrl\" type=\"primary\" :underline=\"false\" style=\"font-size: 12px; vertical-align: baseline\" @click=\"handleDownloadTemplate\">下载模板</el-link>\r\n </div>\r\n </el-upload>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"handleSubmit\">确 定</el-button>\r\n <el-button @click=\"visible = false\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { getToken } from '@/utils/auth'\r\n\r\nexport default {\r\n props: {\r\n // 对话框标题\r\n title: {\r\n type: String,\r\n default: '数据导入'\r\n },\r\n // 对话框宽度\r\n width: {\r\n type: String,\r\n default: '400px'\r\n },\r\n // 上传接口地址(必传)\r\n action: {\r\n type: String,\r\n required: true\r\n },\r\n // 模板下载接口地址,不传则不显示下载模板链接\r\n templateAction: {\r\n type: String,\r\n default: ''\r\n },\r\n // 模板文件名\r\n templateFileName: {\r\n type: String,\r\n default: 'template'\r\n },\r\n // 覆盖更新勾选框的说明文字\r\n updateSupportLabel: {\r\n type: String,\r\n default: '是否更新已经存在的数据'\r\n }\r\n },\r\n data() {\r\n return {\r\n visible: false,\r\n isUploading: false,\r\n updateSupport: false,\r\n headers: { Authorization: 'Bearer ' + getToken() }\r\n }\r\n },\r\n computed: {\r\n uploadUrl() {\r\n return process.env.VUE_APP_BASE_API + this.action + '?updateSupport=' + (this.updateSupport ? 1 : 0)\r\n },\r\n templateUrl() {\r\n return !!this.templateAction\r\n }\r\n },\r\n methods: {\r\n // 打开对话框(供父组件通过 ref 调用)\r\n open() {\r\n this.updateSupport = false\r\n this.isUploading = false\r\n this.visible = true\r\n this.$nextTick(() => {\r\n if (this.$refs.uploadRef) {\r\n this.$refs.uploadRef.clearFiles()\r\n }\r\n })\r\n },\r\n // 关闭时清理\r\n handleClose() {\r\n this.isUploading = false\r\n if (this.$refs.uploadRef) {\r\n this.$refs.uploadRef.clearFiles()\r\n }\r\n },\r\n // 下载模板\r\n handleDownloadTemplate() {\r\n this.download(this.templateAction, {}, `${this.templateFileName}_${new Date().getTime()}.xlsx`)\r\n },\r\n // 上传进度\r\n handleProgress() {\r\n this.isUploading = true\r\n },\r\n // 上传成功\r\n handleSuccess(response) {\r\n this.visible = false\r\n this.isUploading = false\r\n if (this.$refs.uploadRef) {\r\n this.$refs.uploadRef.clearFiles()\r\n }\r\n this.$alert(\"<div style='overflow:auto;overflow-x:hidden;max-height:70vh;padding:10px 20px 0;'>\" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })\r\n this.$emit('success')\r\n },\r\n // 提交上传\r\n handleSubmit() {\r\n const files = this.$refs.uploadRef.uploadFiles\r\n if (!files || files.length === 0) {\r\n this.$modal.msgError('请选择要上传的文件。')\r\n return\r\n }\r\n const name = files[0].name.toLowerCase()\r\n if (!name.endsWith('.xls') && !name.endsWith('.xlsx')) {\r\n this.$modal.msgError('请选择后缀为 \"xls\" 或 \"xlsx\" 的文件。')\r\n return\r\n }\r\n this.$refs.uploadRef.submit()\r\n }\r\n }\r\n}\r\n</script>\r\n"],"mappings":";;;;;;;;;AAqBA,IAAAA,KAAA,GAAAC,OAAA;;;;;;;;;;;;;;;;;;;;;iCAEA;EACAC,KAAA;IACA;IACAC,KAAA;MACAC,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAC,KAAA;MACAH,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAE,MAAA;MACAJ,IAAA,EAAAC,MAAA;MACAI,QAAA;IACA;IACA;IACAC,cAAA;MACAN,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAK,gBAAA;MACAP,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAM,kBAAA;MACAR,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;EACA;EACAO,IAAA,WAAAA,KAAA;IACA;MACAC,OAAA;MACAC,WAAA;MACAC,aAAA;MACAC,OAAA;QAAAC,aAAA,kBAAAC,cAAA;MAAA;IACA;EACA;EACAC,QAAA;IACAC,SAAA,WAAAA,UAAA;MACA,OAAAC,OAAA,CAAAC,GAAA,CAAAC,gBAAA,QAAAhB,MAAA,6BAAAQ,aAAA;IACA;IACAS,WAAA,WAAAA,YAAA;MACA,cAAAf,cAAA;IACA;EACA;EACAgB,OAAA;IACA;IACAC,IAAA,WAAAA,KAAA;MAAA,IAAAC,KAAA;MACA,KAAAZ,aAAA;MACA,KAAAD,WAAA;MACA,KAAAD,OAAA;MACA,KAAAe,SAAA;QACA,IAAAD,KAAA,CAAAE,KAAA,CAAAC,SAAA;UACAH,KAAA,CAAAE,KAAA,CAAAC,SAAA,CAAAC,UAAA;QACA;MACA;IACA;IACA;IACAC,WAAA,WAAAA,YAAA;MACA,KAAAlB,WAAA;MACA,SAAAe,KAAA,CAAAC,SAAA;QACA,KAAAD,KAAA,CAAAC,SAAA,CAAAC,UAAA;MACA;IACA;IACA;IACAE,sBAAA,WAAAA,uBAAA;MACA,KAAAC,QAAA,MAAAzB,cAAA,SAAA0B,MAAA,MAAAzB,gBAAA,OAAAyB,MAAA,KAAAC,IAAA,GAAAC,OAAA;IACA;IACA;IACAC,cAAA,WAAAA,eAAA;MACA,KAAAxB,WAAA;IACA;IACA;IACAyB,aAAA,WAAAA,cAAAC,QAAA;MACA,KAAA3B,OAAA;MACA,KAAAC,WAAA;MACA,SAAAe,KAAA,CAAAC,SAAA;QACA,KAAAD,KAAA,CAAAC,SAAA,CAAAC,UAAA;MACA;MACA,KAAAU,MAAA,wFAAAD,QAAA,CAAAE,GAAA;QAAAC,wBAAA;MAAA;MACA,KAAAC,KAAA;IACA;IACA;IACAC,YAAA,WAAAA,aAAA;MACA,IAAAC,KAAA,QAAAjB,KAAA,CAAAC,SAAA,CAAAiB,WAAA;MACA,KAAAD,KAAA,IAAAA,KAAA,CAAAE,MAAA;QACA,KAAAC,MAAA,CAAAC,QAAA;QACA;MACA;MACA,IAAAC,IAAA,GAAAL,KAAA,IAAAK,IAAA,CAAAC,WAAA;MACA,KAAAD,IAAA,CAAAE,QAAA,aAAAF,IAAA,CAAAE,QAAA;QACA,KAAAJ,MAAA,CAAAC,QAAA;QACA;MACA;MACA,KAAArB,KAAA,CAAAC,SAAA,CAAAwB,MAAA;IACA;EACA;AACA","ignoreList":[]}]}