xiangpei
2025-02-13 a3dbb8fe40e06f9abd9718f14aaa7311bddbc150
src/components/FileUpload/index.vue
@@ -2,6 +2,7 @@
  <div class="upload-file">
    <el-upload
      multiple
      :accept="acceptList"
      :action="uploadFileUrl"
      :before-upload="handleBeforeUpload"
      :file-list="fileList"
@@ -15,7 +16,7 @@
      ref="fileUpload"
    >
      <!-- 上传按钮 -->
      <el-button size="mini" type="primary">选取文件</el-button>
      <el-button icon="el-icon-upload2" size="small" type="primary">上传</el-button>
      <!-- 上传提示 -->
      <div class="el-upload__tip" slot="tip" v-if="showTip">
        请上传
@@ -55,7 +56,7 @@
    // 大小限制(MB)
    fileSize: {
      type: Number,
      default: 5,
      default: 20,
    },
    // 文件类型, 例如['png', 'jpg', 'jpeg']
    fileType: {
@@ -109,6 +110,11 @@
    showTip() {
      return this.isShowTip && (this.fileType || this.fileSize);
    },
    acceptList () {
      let temp = '.*'
      temp = this.fileType.map(item => '.' + item).join(',')
      return temp
    }
  },
  methods: {
    // 上传前校检格式和大小
@@ -147,7 +153,7 @@
    // 上传成功回调
    handleUploadSuccess(res, file) {
      if (res.code === 200) {
        this.uploadList.push({ name: res.fileName, url: res.fileName });
        this.uploadList.push({ name: res.newFileName, originalName: res.originalFilename , url: res.fileName });
        this.uploadedSuccessfully();
      } else {
        this.number--;
@@ -160,7 +166,9 @@
    // 删除文件
    handleDelete(index) {
      this.fileList.splice(index, 1);
      this.$emit("input", this.listToString(this.fileList));
      // this.$emit("input", this.listToString(this.fileList));
      //修改为返回数组
      this.$emit("input", this.fileList);
    },
    // 上传结束处理
    uploadedSuccessfully() {
@@ -168,7 +176,9 @@
        this.fileList = this.fileList.concat(this.uploadList);
        this.uploadList = [];
        this.number = 0;
        this.$emit("input", this.listToString(this.fileList));
        // this.$emit("input", this.listToString(this.fileList));
        //修改为返回数组
        this.$emit("input", this.fileList);
        this.$modal.closeLoading();
      }
    },