RuoYi
2022-02-25 c43565ef43b9744983d6c2604a53115c1d517b4e
组件ImageUpload支持多图同时选择上传
2 files modified
20 ■■■■■ changed files
ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java 5 ●●●● patch | view | raw | blame | history
ruoyi-ui/src/components/ImageUpload/index.vue 15 ●●●● patch | view | raw | blame | history
ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ScheduleUtils.java
@@ -125,10 +125,7 @@
        int count = StringUtils.countMatches(packageName, ".");
        if (count > 1)
        {
            if (!StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR))
            {
                return false;
            }
            return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR);
        }
        return true;
    }
ruoyi-ui/src/components/ImageUpload/index.vue
@@ -1,6 +1,7 @@
<template>
  <div class="component-upload-image">
    <el-upload
      multiple
      :action="uploadImgUrl"
      list-type="picture-card"
      :on-success="handleUploadSuccess"
@@ -70,6 +71,8 @@
  },
  data() {
    return {
      number: 0,
      uploadList: [],
      dialogImageUrl: "",
      dialogVisible: false,
      hideUpload: false,
@@ -119,9 +122,14 @@
    },
    // 上传成功回调
    handleUploadSuccess(res) {
      this.fileList.push({ name: res.data.url, url: res.data.url });
      this.$emit("input", this.listToString(this.fileList));
      this.loading.close();
      this.uploadList.push({ name: res.data.url, url: res.data.url });
      if (this.uploadList.length === this.number) {
        this.fileList = this.fileList.concat(this.uploadList);
        this.uploadList = [];
        this.number = 0;
        this.$emit("input", this.listToString(this.fileList));
        this.loading.close();
      }
    },
    // 上传前loading加载
    handleBeforeUpload(file) {
@@ -158,6 +166,7 @@
        text: "上传中",
        background: "rgba(0, 0, 0, 0.7)",
      });
      this.number++;
    },
    // 文件个数超出
    handleExceed() {