feige
2024-03-04 0947adf188a83eecf0a6a545cea25c97f7ce17f0
ruoyi-ui/src/views/secret/index.vue
@@ -18,7 +18,7 @@
        </el-form-item>
        <el-form-item label="类别" prop="type">
          <el-input
       <!--   <el-input
            v-model="queryParams.type"
            placeholder="请输入类别"
            clearable
@@ -28,6 +28,17 @@
                   opacity: 0.5;"
            @keyup.enter.native="handleQuery"
          />
        -->
        <el-select v-model="queryParams.type" placeholder="请选择类别" clearable
          style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;" allow-create
        filterable clearable :style="{width: '100%'}"  >
          <el-option v-for="(item, index) in typeOpt" :key="index" :label="item.label" :value="item.value"
          ></el-option>
        </el-select>
        </el-form-item>
        <el-form-item label="账号" prop="accNo">
@@ -213,7 +224,13 @@
            ></el-date-picker>
          </el-form-item>
            <el-form-item label="类别" prop="type">
            <el-input v-model="formDat.type" placeholder="请输入类别" clearable :style="{width: '100%'}" ></el-input>
         <el-select v-model="formDat.type" placeholder="请输入类别"  allow-create
          filterable clearable :style="{width: '100%'}"  >
           <el-option v-for="(item, index) in typeOpt" :key="index" :label="item.label" :value="item.value"
           ></el-option>
         </el-select>
          </el-form-item>
          <el-form-item label="账号" prop="accNo">
            <el-input v-model="formDat.accNo" placeholder="请输入账号" clearable :style="{width: '100%'}" ></el-input>
@@ -263,8 +280,11 @@
            action="#"
            list-type="picture-card"
            multiple
            :http-request="requestUpload"
            :file-list="fileList"
          :http-request="requestUpload"
          :file-list="fileList"
          :on-change="handleChange"
          :auto-upload="false"
             ref="upload"
          >
            <i  slot="default" class="el-icon-plus"></i>
            <div slot="file" slot-scope="{file}">
@@ -296,6 +316,13 @@
            </div>
          </el-upload>
        <el-button
                 style="margin-left: 10px"
                 size="small"
                 type="success"
                 @click="picUpload"
               >上传到服务器</el-button>
          <h4 class="form-header">其他附件 </h4>
          <el-upload
            action=""
@@ -303,17 +330,60 @@
            class="upload-demo"
            multiple
            :on-remove="handleRemoveFile"
            :http-request="requestUpload"
            :show-file-list="true"
         ref="upload1"
         :on-change="handleChange1"
         :auto-upload="false"
         list-type="picture-card"
           :http-request="requestUpload1"
           :show-file-list="true"
          >
            <el-button type="primary">点击上传</el-button>
            <div v-if="uploading" class="upload-status">正在上传...</div>
            <template #tip>
              <div class="el-upload__tip">
              </div>
            </template>
          </el-upload>
          <i slot="default" class="el-icon-plus"></i>
                  <div slot="file" slot-scope="{file}">
                    <!-- 添加video元素用于显示视频 -->
                    <video
                      v-if="file.url.includes('.mp4')"
                      class="el-upload-list__item-thumbnail"
                      :src="file.url"
                      style="width: 147px; height: 147px"
                      fit="cover"
                    ></video>
                    <img v-else
                         class="el-upload-list__item-thumbnail"
                         :src="file.url"
                         alt=""
                         style="width: 100%; height: 100%"
                         fit="cover"></img>
                    <span class="el-upload-list__item-actions">
                         <span class="el-upload-list__item-name">{{ file.name }}</span>
                              <span
                                class="el-upload-list__item-preview"
                                @click="handleFileCardPreview(file)"
                              >
                                <i class="el-icon-zoom-in"></i>
                              </span>
                              <span
                                class="el-upload-list__item-delete"
                                @click="handleRemoveFile(file)"
                              >
                                <i class="el-icon-delete"></i>
                              </span>
                        </span>
                  </div>
                </el-upload>
              <el-button
                          style="margin-left: 10px"
                          size="small"
                          type="success"
                          @click="fileUpload"
                        >上传到服务器</el-button>
        </el-form>
        <h4 class="form-header"> </h4>
@@ -339,7 +409,7 @@
  //在system/note/index.js中导入接口函数  --接好了
  import {listSecret,enload,delSecret, addSecret, uploadPic} from "@/api/secret/index";
  import {listSecret,enload,delSecret, addSecret, uploadPic,getCategory} from "@/api/secret/index";
  export default {
    name: "Role",
@@ -381,9 +451,10 @@
        
        fileList:[
        ],
        fileListOther:[
        ],
        fileList1:[],
        uploadFileList: [],
        uploadFileList1: [],
        fileListOther:[],
        dsb:true,
        btn:false,
        uploading: false,
@@ -398,7 +469,7 @@
          isPrivate:undefined,
          location:undefined,
          remark: undefined,
          url: undefined,
          url: "",
        },
        // 菜单列表
        menuOptions: [],
@@ -487,16 +558,36 @@
            value: '1',
            label: '私有',
          }
        ],
      typeOpt: [
        ]
      };
    },
    created() {
      this.getList();
      this.getCateInfor()
      this.getCateInfo();
    },
    methods: {
      getCateInfo()
      {
         let _this = this
           _this.typeOpt = []
           getCategory().then(response=>{
             console.log(response.data)
         //   alert(9801)
             response.data.map(elem=>{
               _this.typeOpt.push({"label":elem, "value":elem})
             })
             // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
             //   _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
             // })
           })
      },
      //基金/台账的选择
      getSrc1(type) {
        if (type === 0) {
@@ -553,14 +644,20 @@
        for(let i = 0; i < this.fileList.length; i++)
        {
          if(this.fileList[i].url==file.url)
          {
            this.$delete(this.fileList,i);
               this.$delete(this.uploadFileList,i);
               }
        }
      },
      handleRemoveFile(file) {
        for(let i = 0; i < this.fileListOther.length; i++)
        {
          if(this.fileListOther[i].url==file.url)
              {
            this.$delete(this.fileListOther,i);
                this.$delete(this.uploadFileList1,i);
                }
        }
      },
@@ -655,13 +752,13 @@
      /** 提交按钮(数据权限) */
      submitDataScope: function() {
        let ul = this.fileList.map(function (elem){
          return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
        }).join(",")
        let uls = this.fileListOther.map(function (elem){
          return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
        }).join(",")
        this.formDat.url = ul+","+uls
        // let ul = this.fileList.map(function (elem){
        //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
        // }).join(",")
        // let uls = this.fileListOther.map(function (elem){
        //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
        // }).join(",")
        // this.formDat.url = ul+","+uls
        this.$refs["elForm"].validate(valid => {
          if (valid) {
@@ -684,30 +781,89 @@
          this.handleRemoveFile(this.fileListOther[0]);
        }
      },
      requestUpload(params)
      {
        var file = params.file;
        var formData = new FormData();
        formData.append('uploadFile', file);
        let _this = this
        this.uploading = true;
        uploadPic(formData).then(response => {
          let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
          this.uploading = false;
          this.$modal.msgSuccess("上传成功");
          if(_this.fot.includes(pth) === true)
         handleChange(file, fileList1) {
            //定义一个全局数组uploadFileList来做存储
          // this.uploadFileList.push(file.raw);
           console.log("=========5555=========")
           console.log(file)
         //  console.log(this.uploadFileList)
         //  this.fileList = fileList
         //alert(file)
             this.uploadFileList.push(file.raw);
              this.fileList.push({name:file.name,url:file.url})
         //alert(fileList1.length)
         },
         handleChange1(file, fileOtherList1) {
            //定义一个全局数组uploadFileList来做存储
         this.uploadFileList1.push(file.raw);
          this.fileListOther.push({name:file.name,url:file.url})
          // this.uploadFileList.push(file.raw);
           console.log("=========5555=========")
           //console.log(file)
         //  console.log(this.uploadFileList)
         //  this.fileList = fileList
         },
         fileUpload(){
         //   var file = params.file;
            var formData = new FormData();
            this.$refs.upload1.submit();
            // formData.append('uploadFile', file);
            if(this.uploadFileList1.length==0){
                 this.$modal.msgSuccess("文档上传列表不能为空!");
                 return
            }
            this.uploadFileList1.forEach((elem)=>{
               formData.append("files", elem)
            })
            let _this = this
            this.uploading = true;
            uploadPic(formData).then(response => {
            _this.uploadFileList1 = []
            _this.formDat.url = _this.formDat.url+","+response.fileNames
            _this.$modal.msgSuccess("文件上传成功!");
              })
         },
         picUpload()
         {
            var formData = new FormData();
            //alert(976)
            //this.$refs.upload.submit();
            //alert(8)
            //alert(this.uploadFileList.length)
         if(this.uploadFileList.length==0){
              this.$modal.msgSuccess("图片上传列表不能为空!");
              return}
         //console.log(this.uploadFileList)
            this.uploadFileList.forEach((elem)=>{
               formData.append("files", elem)
            })
            //alert(90)
            let _this = this
            //alert(9)
             uploadPic(formData).then(response => {
            //   alert("dds")
               _this.formDat.url = _this.formDat.url+","+response.fileNames
              _this.uploadFileList = []
              _this.$modal.msgSuccess("图片上传成功");
           });
         },
          requestUpload(params) {
      //alert(98)
       //    this.uploadFileList.push(params.file);
          },
          requestUpload1(params)
          {
            _this.fileList.push({name:response.data.fileName, "url":response.data.url})
          }
          else{
            _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
          }
        })
      },
            //     this.uploadFileList1.push(params.file);
          },
      /** 删除按钮操作 */
      handleDelete(row) {
        const Ids = row.id || this.ids;