feige
2024-02-02 bd40473c9c634005bc7e62e7fc901bcd8b598fa0
1
{"remainingRequest":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\components\\FileUpload\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\components\\FileUpload\\index.vue","mtime":1676881540000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\babel.config.js","mtime":1676881540000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzIik7CnZhciBfYXV0aCA9IHJlcXVpcmUoIkAvdXRpbHMvYXV0aCIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQyID0gewogIG5hbWU6ICJGaWxlVXBsb2FkIiwKICBwcm9wczogewogICAgLy8g5YC8CiAgICB2YWx1ZTogW1N0cmluZywgT2JqZWN0LCBBcnJheV0sCiAgICAvLyDmlbDph4/pmZDliLYKICAgIGxpbWl0OiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogNQogICAgfSwKICAgIC8vIOWkp+Wwj+mZkOWItihNQikKICAgIGZpbGVTaXplOiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogNQogICAgfSwKICAgIC8vIOaWh+S7tuexu+Weiywg5L6L5aaCWydwbmcnLCAnanBnJywgJ2pwZWcnXQogICAgZmlsZVR5cGU6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbImRvYyIsICJ4bHMiLCAicHB0IiwgInR4dCIsICJwZGYiXTsKICAgICAgfQogICAgfSwKICAgIC8vIOaYr+WQpuaYvuekuuaPkOekugogICAgaXNTaG93VGlwOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBudW1iZXI6IDAsCiAgICAgIHVwbG9hZExpc3Q6IFtdLAogICAgICBiYXNlVXJsOiBwcm9jZXNzLmVudi5WVUVfQVBQX0JBU0VfQVBJLAogICAgICB1cGxvYWRGaWxlVXJsOiBwcm9jZXNzLmVudi5WVUVfQVBQX0JBU0VfQVBJICsgIi9jb21tb24vdXBsb2FkIiwKICAgICAgLy8g5LiK5Lyg5paH5Lu25pyN5Yqh5Zmo5Zyw5Z2ACiAgICAgIGhlYWRlcnM6IHsKICAgICAgICBBdXRob3JpemF0aW9uOiAiQmVhcmVyICIgKyAoMCwgX2F1dGguZ2V0VG9rZW4pKCkKICAgICAgfSwKICAgICAgZmlsZUxpc3Q6IFtdCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIHZhbHVlOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIodmFsKSB7CiAgICAgICAgaWYgKHZhbCkgewogICAgICAgICAgdmFyIHRlbXAgPSAxOwogICAgICAgICAgLy8g6aaW5YWI5bCG5YC86L2s5Li65pWw57uECiAgICAgICAgICB2YXIgbGlzdCA9IEFycmF5LmlzQXJyYXkodmFsKSA/IHZhbCA6IHRoaXMudmFsdWUuc3BsaXQoJywnKTsKICAgICAgICAgIC8vIOeEtuWQjuWwhuaVsOe7hOi9rOS4uuWvueixoeaVsOe7hAogICAgICAgICAgdGhpcy5maWxlTGlzdCA9IGxpc3QubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICAgICBpdGVtID0gewogICAgICAgICAgICAgICAgbmFtZTogaXRlbSwKICAgICAgICAgICAgICAgIHVybDogaXRlbQogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaXRlbS51aWQgPSBpdGVtLnVpZCB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHRlbXArKzsKICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy5maWxlTGlzdCA9IFtdOwogICAgICAgICAgcmV0dXJuIFtdOwogICAgICAgIH0KICAgICAgfSwKICAgICAgZGVlcDogdHJ1ZSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBjb21wdXRlZDogewogICAgLy8g5piv5ZCm5pi+56S65o+Q56S6CiAgICBzaG93VGlwOiBmdW5jdGlvbiBzaG93VGlwKCkgewogICAgICByZXR1cm4gdGhpcy5pc1Nob3dUaXAgJiYgKHRoaXMuZmlsZVR5cGUgfHwgdGhpcy5maWxlU2l6ZSk7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDkuIrkvKDliY3moKHmo4DmoLzlvI/lkozlpKflsI8KICAgIGhhbmRsZUJlZm9yZVVwbG9hZDogZnVuY3Rpb24gaGFuZGxlQmVmb3JlVXBsb2FkKGZpbGUpIHsKICAgICAgLy8g5qCh5qOA5paH5Lu257G75Z6LCiAgICAgIGlmICh0aGlzLmZpbGVUeXBlKSB7CiAgICAgICAgdmFyIGZpbGVOYW1lID0gZmlsZS5uYW1lLnNwbGl0KCcuJyk7CiAgICAgICAgdmFyIGZpbGVFeHQgPSBmaWxlTmFtZVtmaWxlTmFtZS5sZW5ndGggLSAxXTsKICAgICAgICB2YXIgaXNUeXBlT2sgPSB0aGlzLmZpbGVUeXBlLmluZGV4T2YoZmlsZUV4dCkgPj0gMDsKICAgICAgICBpZiAoIWlzVHlwZU9rKSB7CiAgICAgICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcigiXHU2NTg3XHU0RUY2XHU2ODNDXHU1RjBGXHU0RTBEXHU2QjYzXHU3ODZFLCBcdThCRjdcdTRFMEFcdTRGMjAiLmNvbmNhdCh0aGlzLmZpbGVUeXBlLmpvaW4oIi8iKSwgIlx1NjgzQ1x1NUYwRlx1NjU4N1x1NEVGNiEiKSk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIOagoeajgOaWh+S7tuWkp+WwjwogICAgICBpZiAodGhpcy5maWxlU2l6ZSkgewogICAgICAgIHZhciBpc0x0ID0gZmlsZS5zaXplIC8gMTAyNCAvIDEwMjQgPCB0aGlzLmZpbGVTaXplOwogICAgICAgIGlmICghaXNMdCkgewogICAgICAgICAgdGhpcy4kbW9kYWwubXNnRXJyb3IoIlx1NEUwQVx1NEYyMFx1NjU4N1x1NEVGNlx1NTkyN1x1NUMwRlx1NEUwRFx1ODBGRFx1OEQ4NVx1OEZDNyAiLmNvbmNhdCh0aGlzLmZpbGVTaXplLCAiIE1CISIpKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy4kbW9kYWwubG9hZGluZygi5q2j5Zyo5LiK5Lyg5paH5Lu277yM6K+356iN5YCZLi4uIik7CiAgICAgIHRoaXMubnVtYmVyKys7CiAgICAgIHJldHVybiB0cnVlOwogICAgfSwKICAgIC8vIOaWh+S7tuS4quaVsOi2heWHugogICAgaGFuZGxlRXhjZWVkOiBmdW5jdGlvbiBoYW5kbGVFeGNlZWQoKSB7CiAgICAgIHRoaXMuJG1vZGFsLm1zZ0Vycm9yKCJcdTRFMEFcdTRGMjBcdTY1ODdcdTRFRjZcdTY1NzBcdTkxQ0ZcdTRFMERcdTgwRkRcdThEODVcdThGQzcgIi5jb25jYXQodGhpcy5saW1pdCwgIiBcdTRFMkEhIikpOwogICAgfSwKICAgIC8vIOS4iuS8oOWksei0pQogICAgaGFuZGxlVXBsb2FkRXJyb3I6IGZ1bmN0aW9uIGhhbmRsZVVwbG9hZEVycm9yKGVycikgewogICAgICB0aGlzLiRtb2RhbC5tc2dFcnJvcigi5LiK5Lyg5paH5Lu25aSx6LSl77yM6K+36YeN6K+VIik7CiAgICAgIHRoaXMuJG1vZGFsLmNsb3NlTG9hZGluZygpOwogICAgfSwKICAgIC8vIOS4iuS8oOaIkOWKn+WbnuiwgwogICAgaGFuZGxlVXBsb2FkU3VjY2VzczogZnVuY3Rpb24gaGFuZGxlVXBsb2FkU3VjY2VzcyhyZXMsIGZpbGUpIHsKICAgICAgaWYgKHJlcy5jb2RlID09PSAyMDApIHsKICAgICAgICB0aGlzLnVwbG9hZExpc3QucHVzaCh7CiAgICAgICAgICBuYW1lOiByZXMuZmlsZU5hbWUsCiAgICAgICAgICB1cmw6IHJlcy5maWxlTmFtZQogICAgICAgIH0pOwogICAgICAgIHRoaXMudXBsb2FkZWRTdWNjZXNzZnVsbHkoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLm51bWJlci0tOwogICAgICAgIHRoaXMuJG1vZGFsLmNsb3NlTG9hZGluZygpOwogICAgICAgIHRoaXMuJG1vZGFsLm1zZ0Vycm9yKHJlcy5tc2cpOwogICAgICAgIHRoaXMuJHJlZnMuZmlsZVVwbG9hZC5oYW5kbGVSZW1vdmUoZmlsZSk7CiAgICAgICAgdGhpcy51cGxvYWRlZFN1Y2Nlc3NmdWxseSgpOwogICAgICB9CiAgICB9LAogICAgLy8g5Yig6Zmk5paH5Lu2CiAgICBoYW5kbGVEZWxldGU6IGZ1bmN0aW9uIGhhbmRsZURlbGV0ZShpbmRleCkgewogICAgICB0aGlzLmZpbGVMaXN0LnNwbGljZShpbmRleCwgMSk7CiAgICAgIHRoaXMuJGVtaXQoImlucHV0IiwgdGhpcy5saXN0VG9TdHJpbmcodGhpcy5maWxlTGlzdCkpOwogICAgfSwKICAgIC8vIOS4iuS8oOe7k+adn+WkhOeQhgogICAgdXBsb2FkZWRTdWNjZXNzZnVsbHk6IGZ1bmN0aW9uIHVwbG9hZGVkU3VjY2Vzc2Z1bGx5KCkgewogICAgICBpZiAodGhpcy5udW1iZXIgPiAwICYmIHRoaXMudXBsb2FkTGlzdC5sZW5ndGggPT09IHRoaXMubnVtYmVyKSB7CiAgICAgICAgdGhpcy5maWxlTGlzdCA9IHRoaXMuZmlsZUxpc3QuY29uY2F0KHRoaXMudXBsb2FkTGlzdCk7CiAgICAgICAgdGhpcy51cGxvYWRMaXN0ID0gW107CiAgICAgICAgdGhpcy5udW1iZXIgPSAwOwogICAgICAgIHRoaXMuJGVtaXQoImlucHV0IiwgdGhpcy5saXN0VG9TdHJpbmcodGhpcy5maWxlTGlzdCkpOwogICAgICAgIHRoaXMuJG1vZGFsLmNsb3NlTG9hZGluZygpOwogICAgICB9CiAgICB9LAogICAgLy8g6I635Y+W5paH5Lu25ZCN56ewCiAgICBnZXRGaWxlTmFtZTogZnVuY3Rpb24gZ2V0RmlsZU5hbWUobmFtZSkgewogICAgICBpZiAobmFtZS5sYXN0SW5kZXhPZigiLyIpID4gLTEpIHsKICAgICAgICByZXR1cm4gbmFtZS5zbGljZShuYW1lLmxhc3RJbmRleE9mKCIvIikgKyAxKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gIiI7CiAgICAgIH0KICAgIH0sCiAgICAvLyDlr7nosaHovazmiJDmjIflrprlrZfnrKbkuLLliIbpmpQKICAgIGxpc3RUb1N0cmluZzogZnVuY3Rpb24gbGlzdFRvU3RyaW5nKGxpc3QsIHNlcGFyYXRvcikgewogICAgICB2YXIgc3RycyA9ICIiOwogICAgICBzZXBhcmF0b3IgPSBzZXBhcmF0b3IgfHwgIiwiOwogICAgICBmb3IgKHZhciBpIGluIGxpc3QpIHsKICAgICAgICBzdHJzICs9IGxpc3RbaV0udXJsICsgc2VwYXJhdG9yOwogICAgICB9CiAgICAgIHJldHVybiBzdHJzICE9ICcnID8gc3Rycy5zdWJzdHIoMCwgc3Rycy5sZW5ndGggLSAxKSA6ICcnOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQyOw=="},{"version":3,"names":["_auth","require","name","props","value","String","Object","Array","limit","type","Number","default","fileSize","fileType","_default","isShowTip","Boolean","data","number","uploadList","baseUrl","process","env","VUE_APP_BASE_API","uploadFileUrl","headers","Authorization","getToken","fileList","watch","handler","val","temp","list","isArray","split","map","item","url","uid","Date","getTime","deep","immediate","computed","showTip","methods","handleBeforeUpload","file","fileName","fileExt","length","isTypeOk","indexOf","$modal","msgError","concat","join","isLt","size","loading","handleExceed","handleUploadError","err","closeLoading","handleUploadSuccess","res","code","push","uploadedSuccessfully","msg","$refs","fileUpload","handleRemove","handleDelete","index","splice","$emit","listToString","getFileName","lastIndexOf","slice","separator","strs","i","substr","exports","_default2"],"sources":["src/components/FileUpload/index.vue"],"sourcesContent":["<template>\n  <div class=\"upload-file\">\n    <el-upload\n      multiple\n      :action=\"uploadFileUrl\"\n      :before-upload=\"handleBeforeUpload\"\n      :file-list=\"fileList\"\n      :limit=\"limit\"\n      :on-error=\"handleUploadError\"\n      :on-exceed=\"handleExceed\"\n      :on-success=\"handleUploadSuccess\"\n      :show-file-list=\"false\"\n      :headers=\"headers\"\n      class=\"upload-file-uploader\"\n      ref=\"fileUpload\"\n    >\n      <!-- 上传按钮 -->\n      <el-button size=\"mini\" type=\"primary\">选取文件</el-button>\n      <!-- 上传提示 -->\n      <div class=\"el-upload__tip\" slot=\"tip\" v-if=\"showTip\">\n        请上传\n        <template v-if=\"fileSize\"> 大小不超过 <b style=\"color: #f56c6c\">{{ fileSize }}MB</b> </template>\n        <template v-if=\"fileType\"> 格式为 <b style=\"color: #f56c6c\">{{ fileType.join(\"/\") }}</b> </template>\n        的文件\n      </div>\n    </el-upload>\n\n    <!-- 文件列表 -->\n    <transition-group class=\"upload-file-list el-upload-list el-upload-list--text\" name=\"el-fade-in-linear\" tag=\"ul\">\n      <li :key=\"file.url\" class=\"el-upload-list__item ele-upload-list__item-content\" v-for=\"(file, index) in fileList\">\n        <el-link :href=\"`${baseUrl}${file.url}`\" :underline=\"false\" target=\"_blank\">\n          <span class=\"el-icon-document\"> {{ getFileName(file.name) }} </span>\n        </el-link>\n        <div class=\"ele-upload-list__item-content-action\">\n          <el-link :underline=\"false\" @click=\"handleDelete(index)\" type=\"danger\">删除</el-link>\n        </div>\n      </li>\n    </transition-group>\n  </div>\n</template>\n\n<script>\nimport { getToken } from \"@/utils/auth\";\n\nexport default {\n  name: \"FileUpload\",\n  props: {\n    // 值\n    value: [String, Object, Array],\n    // 数量限制\n    limit: {\n      type: Number,\n      default: 5,\n    },\n    // 大小限制(MB)\n    fileSize: {\n      type: Number,\n      default: 5,\n    },\n    // 文件类型, 例如['png', 'jpg', 'jpeg']\n    fileType: {\n      type: Array,\n      default: () => [\"doc\", \"xls\", \"ppt\", \"txt\", \"pdf\"],\n    },\n    // 是否显示提示\n    isShowTip: {\n      type: Boolean,\n      default: true\n    }\n  },\n  data() {\n    return {\n      number: 0,\n      uploadList: [],\n      baseUrl: process.env.VUE_APP_BASE_API,\n      uploadFileUrl: process.env.VUE_APP_BASE_API + \"/common/upload\", // 上传文件服务器地址\n      headers: {\n        Authorization: \"Bearer \" + getToken(),\n      },\n      fileList: [],\n    };\n  },\n  watch: {\n    value: {\n      handler(val) {\n        if (val) {\n          let temp = 1;\n          // 首先将值转为数组\n          const list = Array.isArray(val) ? val : this.value.split(',');\n          // 然后将数组转为对象数组\n          this.fileList = list.map(item => {\n            if (typeof item === \"string\") {\n              item = { name: item, url: item };\n            }\n            item.uid = item.uid || new Date().getTime() + temp++;\n            return item;\n          });\n        } else {\n          this.fileList = [];\n          return [];\n        }\n      },\n      deep: true,\n      immediate: true\n    }\n  },\n  computed: {\n    // 是否显示提示\n    showTip() {\n      return this.isShowTip && (this.fileType || this.fileSize);\n    },\n  },\n  methods: {\n    // 上传前校检格式和大小\n    handleBeforeUpload(file) {\n      // 校检文件类型\n      if (this.fileType) {\n        const fileName = file.name.split('.');\n        const fileExt = fileName[fileName.length - 1];\n        const isTypeOk = this.fileType.indexOf(fileExt) >= 0;\n        if (!isTypeOk) {\n          this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join(\"/\")}格式文件!`);\n          return false;\n        }\n      }\n      // 校检文件大小\n      if (this.fileSize) {\n        const isLt = file.size / 1024 / 1024 < this.fileSize;\n        if (!isLt) {\n          this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`);\n          return false;\n        }\n      }\n      this.$modal.loading(\"正在上传文件,请稍候...\");\n      this.number++;\n      return true;\n    },\n    // 文件个数超出\n    handleExceed() {\n      this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);\n    },\n    // 上传失败\n    handleUploadError(err) {\n      this.$modal.msgError(\"上传文件失败,请重试\");\n      this.$modal.closeLoading()\n    },\n    // 上传成功回调\n    handleUploadSuccess(res, file) {\n      if (res.code === 200) {\n        this.uploadList.push({ name: res.fileName, url: res.fileName });\n        this.uploadedSuccessfully();\n      } else {\n        this.number--;\n        this.$modal.closeLoading();\n        this.$modal.msgError(res.msg);\n        this.$refs.fileUpload.handleRemove(file);\n        this.uploadedSuccessfully();\n      }\n    },\n    // 删除文件\n    handleDelete(index) {\n      this.fileList.splice(index, 1);\n      this.$emit(\"input\", this.listToString(this.fileList));\n    },\n    // 上传结束处理\n    uploadedSuccessfully() {\n      if (this.number > 0 && this.uploadList.length === this.number) {\n        this.fileList = this.fileList.concat(this.uploadList);\n        this.uploadList = [];\n        this.number = 0;\n        this.$emit(\"input\", this.listToString(this.fileList));\n        this.$modal.closeLoading();\n      }\n    },\n    // 获取文件名称\n    getFileName(name) {\n      if (name.lastIndexOf(\"/\") > -1) {\n        return name.slice(name.lastIndexOf(\"/\") + 1);\n      } else {\n        return \"\";\n      }\n    },\n    // 对象转成指定字符串分隔\n    listToString(list, separator) {\n      let strs = \"\";\n      separator = separator || \",\";\n      for (let i in list) {\n        strs += list[i].url + separator;\n      }\n      return strs != '' ? strs.substr(0, strs.length - 1) : '';\n    }\n  }\n};\n</script>\n\n<style scoped lang=\"scss\">\n.upload-file-uploader {\n  margin-bottom: 5px;\n}\n.upload-file-list .el-upload-list__item {\n  border: 1px solid #e4e7ed;\n  line-height: 2;\n  margin-bottom: 10px;\n  position: relative;\n}\n.upload-file-list .ele-upload-list__item-content {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  color: inherit;\n}\n.ele-upload-list__item-content-action .el-link {\n  margin-right: 10px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;AA0CA,IAAAA,KAAA,GAAAC,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAEA;EACAC,IAAA;EACAC,KAAA;IACA;IACAC,KAAA,GAAAC,MAAA,EAAAC,MAAA,EAAAC,KAAA;IACA;IACAC,KAAA;MACAC,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAC,QAAA;MACAH,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;IACAE,QAAA;MACAJ,IAAA,EAAAF,KAAA;MACAI,OAAA,WAAAG,SAAA;QAAA;MAAA;IACA;IACA;IACAC,SAAA;MACAN,IAAA,EAAAO,OAAA;MACAL,OAAA;IACA;EACA;EACAM,IAAA,WAAAA,KAAA;IACA;MACAC,MAAA;MACAC,UAAA;MACAC,OAAA,EAAAC,OAAA,CAAAC,GAAA,CAAAC,gBAAA;MACAC,aAAA,EAAAH,OAAA,CAAAC,GAAA,CAAAC,gBAAA;MAAA;MACAE,OAAA;QACAC,aAAA,kBAAAC,cAAA;MACA;MACAC,QAAA;IACA;EACA;EACAC,KAAA;IACAzB,KAAA;MACA0B,OAAA,WAAAA,QAAAC,GAAA;QACA,IAAAA,GAAA;UACA,IAAAC,IAAA;UACA;UACA,IAAAC,IAAA,GAAA1B,KAAA,CAAA2B,OAAA,CAAAH,GAAA,IAAAA,GAAA,QAAA3B,KAAA,CAAA+B,KAAA;UACA;UACA,KAAAP,QAAA,GAAAK,IAAA,CAAAG,GAAA,WAAAC,IAAA;YACA,WAAAA,IAAA;cACAA,IAAA;gBAAAnC,IAAA,EAAAmC,IAAA;gBAAAC,GAAA,EAAAD;cAAA;YACA;YACAA,IAAA,CAAAE,GAAA,GAAAF,IAAA,CAAAE,GAAA,QAAAC,IAAA,GAAAC,OAAA,KAAAT,IAAA;YACA,OAAAK,IAAA;UACA;QACA;UACA,KAAAT,QAAA;UACA;QACA;MACA;MACAc,IAAA;MACAC,SAAA;IACA;EACA;EACAC,QAAA;IACA;IACAC,OAAA,WAAAA,QAAA;MACA,YAAA9B,SAAA,UAAAF,QAAA,SAAAD,QAAA;IACA;EACA;EACAkC,OAAA;IACA;IACAC,kBAAA,WAAAA,mBAAAC,IAAA;MACA;MACA,SAAAnC,QAAA;QACA,IAAAoC,QAAA,GAAAD,IAAA,CAAA9C,IAAA,CAAAiC,KAAA;QACA,IAAAe,OAAA,GAAAD,QAAA,CAAAA,QAAA,CAAAE,MAAA;QACA,IAAAC,QAAA,QAAAvC,QAAA,CAAAwC,OAAA,CAAAH,OAAA;QACA,KAAAE,QAAA;UACA,KAAAE,MAAA,CAAAC,QAAA,kEAAAC,MAAA,MAAA3C,QAAA,CAAA4C,IAAA;UACA;QACA;MACA;MACA;MACA,SAAA7C,QAAA;QACA,IAAA8C,IAAA,GAAAV,IAAA,CAAAW,IAAA,sBAAA/C,QAAA;QACA,KAAA8C,IAAA;UACA,KAAAJ,MAAA,CAAAC,QAAA,iEAAAC,MAAA,MAAA5C,QAAA;UACA;QACA;MACA;MACA,KAAA0C,MAAA,CAAAM,OAAA;MACA,KAAA1C,MAAA;MACA;IACA;IACA;IACA2C,YAAA,WAAAA,aAAA;MACA,KAAAP,MAAA,CAAAC,QAAA,iEAAAC,MAAA,MAAAhD,KAAA;IACA;IACA;IACAsD,iBAAA,WAAAA,kBAAAC,GAAA;MACA,KAAAT,MAAA,CAAAC,QAAA;MACA,KAAAD,MAAA,CAAAU,YAAA;IACA;IACA;IACAC,mBAAA,WAAAA,oBAAAC,GAAA,EAAAlB,IAAA;MACA,IAAAkB,GAAA,CAAAC,IAAA;QACA,KAAAhD,UAAA,CAAAiD,IAAA;UAAAlE,IAAA,EAAAgE,GAAA,CAAAjB,QAAA;UAAAX,GAAA,EAAA4B,GAAA,CAAAjB;QAAA;QACA,KAAAoB,oBAAA;MACA;QACA,KAAAnD,MAAA;QACA,KAAAoC,MAAA,CAAAU,YAAA;QACA,KAAAV,MAAA,CAAAC,QAAA,CAAAW,GAAA,CAAAI,GAAA;QACA,KAAAC,KAAA,CAAAC,UAAA,CAAAC,YAAA,CAAAzB,IAAA;QACA,KAAAqB,oBAAA;MACA;IACA;IACA;IACAK,YAAA,WAAAA,aAAAC,KAAA;MACA,KAAA/C,QAAA,CAAAgD,MAAA,CAAAD,KAAA;MACA,KAAAE,KAAA,eAAAC,YAAA,MAAAlD,QAAA;IACA;IACA;IACAyC,oBAAA,WAAAA,qBAAA;MACA,SAAAnD,MAAA,aAAAC,UAAA,CAAAgC,MAAA,UAAAjC,MAAA;QACA,KAAAU,QAAA,QAAAA,QAAA,CAAA4B,MAAA,MAAArC,UAAA;QACA,KAAAA,UAAA;QACA,KAAAD,MAAA;QACA,KAAA2D,KAAA,eAAAC,YAAA,MAAAlD,QAAA;QACA,KAAA0B,MAAA,CAAAU,YAAA;MACA;IACA;IACA;IACAe,WAAA,WAAAA,YAAA7E,IAAA;MACA,IAAAA,IAAA,CAAA8E,WAAA;QACA,OAAA9E,IAAA,CAAA+E,KAAA,CAAA/E,IAAA,CAAA8E,WAAA;MACA;QACA;MACA;IACA;IACA;IACAF,YAAA,WAAAA,aAAA7C,IAAA,EAAAiD,SAAA;MACA,IAAAC,IAAA;MACAD,SAAA,GAAAA,SAAA;MACA,SAAAE,CAAA,IAAAnD,IAAA;QACAkD,IAAA,IAAAlD,IAAA,CAAAmD,CAAA,EAAA9C,GAAA,GAAA4C,SAAA;MACA;MACA,OAAAC,IAAA,SAAAA,IAAA,CAAAE,MAAA,IAAAF,IAAA,CAAAhC,MAAA;IACA;EACA;AACA;AAAAmC,OAAA,CAAA3E,OAAA,GAAA4E,SAAA"}]}