feige
2025-01-02 43e1199ca0c75787fb6b52bef7d595abd115ceab
ruoyi-ui/src/views/pet/petnote.vue
@@ -60,7 +60,7 @@
        </el-upload>
      </el-col>
    </el-row>
    <el-table v-loading="loading" :data="PetNoteList"  @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;width: 100%;">
    <el-table v-loading="loading" border :data="PetNoteList"  @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;width: 100%;">
      <el-table-column type="selection" width="55"  align="center" />
      <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/>
      <el-table-column label="日期" prop="happenTime" sortable width="200px" align="center">
@@ -166,6 +166,9 @@
          multiple
          :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}">
@@ -178,12 +181,12 @@
              :preview-src-list="[file.url]"
            >
            <span class="el-upload-list__item-actions">
        <span
<!--        <span
          class="el-upload-list__item-preview"
          @click="handlePictureCardPreview(file)"
        >
          <i class="el-icon-zoom-in"></i>
        </span>
        </span> -->
        <span
          v-if="!disabled"
@@ -193,10 +196,15 @@
          <i class="el-icon-delete"></i>
        </span>
      </span>
          </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=""
@@ -205,17 +213,69 @@
          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"
        >
          <el-button type="primary">点击上传</el-button>
          <!-- <el-button type="primary">点击上传</el-button> -->
          <template #tip>
            <div class="el-upload__tip">
            </div>
          </template>
          <i v-if="true" 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="../../assets/images/deviceLis.png"
                 alt=""
                 style="width: 100%; height: 100%"
                 fit="cover">
            <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="handleDownload(file.url)"
                      >
                   <i class="el-icon-download"></i>
                   </span> -->
                      <span
                        class="el-upload-list__item-delete"
                        @click="handleRemoveFile2(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>
@@ -281,13 +341,14 @@
      // 数据范围选项
      // 数据范围选项
      fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
        '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
        '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng','.M4A'],
      fileList:[
      ],
      fileListOther:[
      ],
      fileList1:[],
           uploadFileList: [],
            uploadFileList1: [],
      fileListOther:[],
      dsb:true,
      btn:false,
      PetNoteList:{},
@@ -295,7 +356,7 @@
      formDat: {
        fid:undefined,
        remindTime:undefined,
        url:undefined,
        url:'',
        title: undefined,
        happenTime: undefined,
      },
@@ -371,7 +432,59 @@
        return "statistics-warning-row";
      }
    },
    handleRemoveFile2(file) {
      this.formData=this.formDat
      //判读是否是之前的图片
      let res = false
        for(let i = 0; i < this.fileListOther.length; i++)
        {
          if(this.fileListOther[i].url==file.url)
       {
          if(this.fileListOther[i].res==false)
             res = true
          else
          {
             this.$delete(this.uploadFileList1, Math.abs(i - this.uploadFileList1.length-1))
          }
            this.$delete(this.fileListOther,i);
       }
        }
      let ul = ""
      this.fileList.map(function (elem){
            if(elem.res==false)
               ul = ul + ","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      })
      let uls = ""
      this.fileListOther.map(function (elem){
        if(elem.res==false)
               uls = uls +","+elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      })
      this.formData.url = ul+","+uls;
    //  alert(this.formData.url)
      if(res==true){
         updateNote(this.formData).then(response => {
          this.$modal.msgSuccess("删除成功");
          // this.open = false;
         });
      }
      },
    // 下载按钮
    handleDownload(url) {
      var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
      let lens = formData.path.split(".")
      let suffix = lens[lens.length-1]
      download(formData).then(async (response) => {
        const isLogin = await blobValidate(response);
        let nt = new Date().getTime()
        let filename = 'familyevent_'+nt+'.'+suffix
        const blob = new Blob([response])
        saveAs(blob, filename)
      })
    },
    /** 查询角色列表 */
    getList() {
@@ -393,12 +506,30 @@
    },
    handleRemove(file) {
      for(let i = 0; i < this.fileListOther.length; i++)
      for(let i = 0; i < this.fileList.length; i++)
      {
        if(this.fileListOther[i].url==file.url)
          this.$delete(this.fileListOther,i);
        if(this.fileList[i].url==file.url)
        {
          this.$delete(this.fileList,i);
             this.$delete(this.uploadFileList,i);
             }
            //alert(this.formData.url)
      }
    },
   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);
        }
     }
   },
    // 取消按钮
    cancel() {
@@ -435,7 +566,7 @@
          deptCheckStrictly: true,
          remark: undefined
        };
      this.resetForm("form");
      this.resetForm("elForm");
    },
    // 多选框选中数据
@@ -464,6 +595,17 @@
        }
      });
    },
    // 查看文件
    handleFileCardPreview(file){
      this.dialogFileUrl = file.url;
      if(this.dialogFileUrl.includes("47.93.189.255")==true)
        this.dialogFileUrl = this.dialogFileUrl.replace("47.93.189.255","www.bendudu.com")
      //alert(this.dialogFileUrl)
      const Base64 = require('js-base64').Base64
      this.desurl = process.env.VUE_APP_BASE_OTHER_API+"preview/"+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
      let myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
    },
    /** 查看详细信息 */
    handleCheck(row){
      const id = row.id;
@@ -478,14 +620,10 @@
    /** 提交按钮(数据权限) */
    submitDataScope: function() {
      const pid = this.$route.params && this.$route.params.id;
      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.pid = pid;
      this.formDat.url = ul+","+uls
      // console.log(this.formDat,'formDatformDatformDatformDat')
      // this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
      //   alert(33)
@@ -500,47 +638,98 @@
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
      for(let i = 0; i <= this.fileList.length; i++)
      {
        this.handleRemove(this.fileList[0]);
      }
      for(let i = 0; i < this.fileListOther.length; i++){
        this.handleRemoveFile(this.fileListOther[0]);
      }
    },
    requestUpload(params)
    {
      var file = params.file;
      var formData1 = new FormData();
      formData1.append('uploadFile', file);
      let _this = this
   //  alert(123)
    handleChange(file, fileList1) {
          //定义一个全局数组uploadFileList来做存储
      uploadPic(formData1).then(response => {
        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
        // 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;
        if(_this.fot.includes(pth) === true)
          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
           // alert(_this.formDat.url)
            _this.uploadFileList = []
            _this.$modal.msgSuccess("图片上传成功");
         });
        // console.log(this.formDat,'formDatformDatformDatformDat')
       },
        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})
        }
        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.formData.url = ul+","+uls
          console.log(_this.formData.url)
        //  alert(87)
      const pid = _this.$route.params && _this.$route.params.id;
      _this.formData.pid = pid
          updatenotePet(_this.formData).then(response => {
            this.$modal.msgSuccess("图片上传成功");
            // this.open = false;
          });
      })
    },
          //     this.uploadFileList1.push(params.file);
        },
    /** 删除按钮操作 */
    handleDelete(row) {
      const Ids = row.id || this.ids;
@@ -559,6 +748,7 @@
        pid: pid,
        ...this.queryParams
      };
      if (Object.keys(queryParams).length === 1 && 'pid' in queryParams) {
        this.download('/family/zfPetNote/export', queryParams, `zfPetNote_${new Date().getTime()}.xlsx`);
@@ -584,10 +774,11 @@
      var formData = new FormData();
      formData.append('excelImport', file);
      formData.append('pid', pid); // 添加导入到哪个 ID 的信息
      console.log(this.pid);
      // console.log(formData,'formDataformDataformData')
      // alert(this.pid);
      let _this = this;
      enload(formData)
      enload(this.pid,formData)
        .then(response => {
          _this.getList();
          Message({ message: "导入成功", type: 'warning' });
@@ -595,15 +786,17 @@
        .catch(error => {
          Message({ message: "导入失败", type: 'error' });
        });
    }
    },
    //  弹窗
    handleShow(scope){
      this.openDataScope = true
      this.getList()
    },
  },
  //  弹窗
  handleShow(scope){
    this.openDataScope = true
    this.getList()
  }
};
</script>