linwenling
2023-08-09 c7d2fb7b04ea184df7c03a615ccda9bd172bb527
ruoyi-ui/src/views/note/propertyInfo.vue
@@ -1,8 +1,16 @@
<template>
  <div class="app-container">
    <div class="form-header mt">
      <h4 class="dt h4">资产详细信息 </h4>
      <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
        <span>家庭资产详情</span>
        <div   style="display: flex; align-items: center;">
          <el-button size="mini" type="text"  @click="checkNote()" v-hasPermi="['person:information:memo']">
            <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
              <span class="text" style="width: 69px;height: 26px;font-size: 16px;
            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">备忘本</span></div>
          </el-button>
        </div>
      </h1>
    </div>
    <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
@@ -10,6 +18,13 @@
      <el-form-item label="类型" prop="type">
        <el-input v-model="formData.type" placeholder="请输入类型" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
      </el-form-item>
      <el-form-item label="发生时间" prop="happenTime" >
        <el-input v-model="formData.happenTime" placeholder="请输入时间" type="date" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="标题" prop="title">
        <el-input v-model="formData.title" placeholder="请输入标题" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
      </el-form-item>
@@ -29,7 +44,7 @@
        <el-input v-model="formData.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
      </el-form-item>
      <h4 class="form-header">相关图片 </h4>
      <h4 class="form-header">电子文件 </h4>
      <el-upload
        action="#"
        list-type="picture-card"
@@ -47,29 +62,29 @@
            fit="cover"
            :preview-src-list="[file.url]"
          >
          <span class="el-upload-list__item-actions">
        <span
          v-if="isShow"
          class="el-upload-list__item-preview"
          @click="handlePictureCardPreview(file)"
        >
          <i class="el-icon-zoom-in"></i>
        </span>
        <span
          v-if="isShow"
          class="el-upload-list__item-delete"
          @click="handleDownload(file.url)"
        >
          <i class="el-icon-download"></i>
        </span>
        <span
          v-if="isShow"
          class="el-upload-list__item-delete"
          @click="handleRemove(file)"
        >
          <i class="el-icon-delete"></i>
        </span>
      </span>
          <span class="el-upload-list__item-actions" >
            <span
              class="el-upload-list__item-preview"
              @click="handlePictureCardPreview(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
              v-if="isShow"
              class="el-upload-list__item-delete"
              @click="handleRemove(file)"
            >
              <i class="el-icon-delete"></i>
            </span>
          </span>
        </div>
@@ -83,7 +98,7 @@
        multiple
        list-type="picture-card"
        :on-preview="handleFileCardPreview"
        :on-remove="handleRemove"
        :on-remove="handleRemoveFile"
        :http-request="requestUpload"
        :show-file-list="true"
      >
@@ -98,29 +113,27 @@
            fit="cover"
          >
          <span class="el-upload-list__item-actions">
                <span
                  v-if="isShow"
                  class="el-upload-list__item-preview"
                  @click="handleFileCardPreview(file)"
                >
                  <i class="el-icon-zoom-in"></i>
                </span>
                <span
                  v-if="isShow"
                  @click="handleRemove(file)"
                  class="el-upload-list__item-delete"
                    <span
                      class="el-upload-list__item-preview"
                      @click="handleFileCardPreview(file)"
                    >
                      <i class="el-icon-zoom-in"></i>
                    </span>
                    <span
                >
                  <i class="el-icon-download"></i>
                </span>
                <span
                  v-if="isShow"
                  class="el-upload-list__item-delete"
                  @click="handleRemoveFile(file)"
                >
                  <i class="el-icon-delete"></i>
                </span>
              </span>
                      class="el-upload-list__item-delete"
                      @click="handleDownload(file.url)"
                    >
                 <i class="el-icon-download"></i>
                 </span>
                    <span
                      v-if="isShow"
                      class="el-upload-list__item-delete"
                      @click="handleRemoveFile(file)"
                    >
                      <i class="el-icon-delete"></i>
                    </span>
                  </span>
        </div>
@@ -171,10 +184,10 @@
        remark: undefined,
        url: undefined,
      },
       desurl:'',
        dialogImageUrl: '',
        dialogVisible: false,
        disabled: false,
      desurl:'',
      dialogImageUrl: '',
      dialogVisible: false,
      disabled: false,
      rules: {
        type: [{
@@ -275,8 +288,8 @@
      }).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
      }).join(",")
      this.formData.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
@@ -330,28 +343,36 @@
        if(this.fileList[i].url==file.url)
          this.$delete(this.fileList,i);
      }
      },
      handlePictureCardPreview(file) {
        this.dialogImageUrl = file.url;
        this.dialogVisible = true;
      },
      handleDownload(url) {
        var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    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 = 'property_'+nt+'.'+suffix
          const blob = new Blob([response])
          saveAs(blob, filename)
        })
      },
      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 = 'property_'+nt+'.'+suffix
        const blob = new Blob([response])
        saveAs(blob, filename)
      })
    },
    handleEdit()
    {
      this.dsb = false
      this.btn = true
    },
    //查看备忘本
    checkNote(row){
      // const id =row.id;
      const id = this.$route.params && this.$route.params.id;
      // const fid =2031
      this.$router.push("/familymodel/property/memo/" + id );
    },
    requestUpload(params)
    {
@@ -386,6 +407,9 @@
  display: block;
}
.form{
  background:center/11% no-repeat url('../../assets/icons/form.png') ;
}
.pt{
  right: 10px;
  top:-3px;