From 53d76ae60199fe1bdf5e1e5c9bafda755afb66bf Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期二, 20 二月 2024 11:14:37 +0800
Subject: [PATCH] 修改了数据

---
 ruoyi-ui/src/views/note/propertyInfo.vue |  472 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 472 insertions(+), 0 deletions(-)

diff --git a/ruoyi-ui/src/views/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue
new file mode 100644
index 0000000..be926bb
--- /dev/null
+++ b/ruoyi-ui/src/views/note/propertyInfo.vue
@@ -0,0 +1,472 @@
+<template>
+  <div class="app-container" id="printable-content">
+    <div class="form-header mt" >
+      <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>
+          <el-button size="mini" type="text"  v-print="'#printable-content'" 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">
+
+      <el-form-item label="绫诲瀷" prop="type">
+        <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" :disabled="dsb" >
+          <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
+                     :disabled="item.disabled"></el-option>
+        </el-select>
+      </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>
+      <el-form-item label="瀛樺偍鍦板潃" prop="location">
+        <el-input v-model="formData.location" placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�" clearable :style="{width: '100%'}" :disabled="dsb">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="鎸佹湁浜�" prop="holder">
+        <el-input v-model="formData.holder" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable :style="{width: '100%'}" :disabled="dsb">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="鍏蜂綋浣嶇疆" prop="address">
+        <el-input v-model="formData.address" placeholder="璇疯緭鍏ュ叿浣撲綅缃�" clearable :style="{width: '100%'}" :disabled="dsb">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="澶囨敞" prop="remark">
+        <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+      </el-form-item>
+
+
+      <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
+      <el-upload
+
+        action="#"
+        list-type="picture-card"
+        multiple
+        :http-request="requestUpload"
+        :file-list="fileList"
+        :disabled="!btn"
+        :class="{hide:!btn}"
+      >
+        <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div>
+        <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
+        <div slot="file" slot-scope="{file}">
+          <img
+            class="el-upload-list__item-thumbnail"
+            :src="file.url"
+            alt=""
+            style="width: 147px; height: 147px"
+            fit="cover"
+            :preview-src-list="[file.url]"
+          >
+          <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>
+      </el-upload>
+
+      <h4 class="form-header">鍏朵粬闄勪欢 </h4>
+      <el-upload
+        action=""
+        :file-list="fileListOther"
+
+        multiple
+        list-type="picture-card"
+        :on-preview="handleFileCardPreview"
+        :on-remove="handleRemoveFile"
+        :http-request="requestUpload"
+  :disabled="!btn"
+        :class="{hide:!btn}"
+
+
+      >
+        <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div>
+        <i v-if="!uploading" 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: 147px; height: 147px"
+        >
+
+          <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
+                      v-if="isShow"
+                      class="el-upload-list__item-delete"
+                      @click="handleRemoveFile(file)"
+                    >
+                      <i class="el-icon-delete"></i>
+                    </span>
+              </span>
+
+        </div>
+      </el-upload>
+
+      <el-form-item size="large">
+        <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-dialog  :visible.sync="dialogVisible">
+      <img w-full :src="dialogImageUrl"     style="width: 100%; height: 100%" alt="Preview Image" />
+    </el-dialog>
+  </div>
+</template>
+<script>
+import {getPropertyInfo, updateProperty, uploadPic, download, getCategory} from "@/api/note/index";
+import {addRole, updateRole} from "@/api/system/role";
+import {blobValidate} from "@/utils/ruoyi";
+import errorCode from "@/utils/errorCode";
+import {Message} from "element-ui";
+
+export default {
+  components: {},
+  props: [],
+  data() {
+    return {
+      cdi:"璧勪骇璇︾粏淇℃伅",
+      udi:"璧勪骇淇℃伅淇敼",
+    // 鏁版嵁鑼冨洿閫夐」
+    fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+      '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
+
+      fileList:[
+      ],
+      fileListOther:[
+
+      ],
+      dsb:true,
+      btn:false,
+      isShow:true,
+      uploading: false,
+      formData: {
+
+        type: undefined,
+        title: undefined,
+        location: undefined,
+        holder: undefined,
+        address: undefined,
+        remark: undefined,
+        url: undefined,
+      },
+      desurl:'',
+      dialogImageUrl: '',
+      dialogVisible: false,
+      disabled: false,
+      rules: {
+
+        type: [{
+          required: true,
+          message: '璇烽�夋嫨绫诲埆',
+          trigger: 'change'
+        }],
+        title: [{
+          required: true,
+          message: '璇疯緭鍏ユ爣棰�',
+          trigger: 'blur'
+        }],
+        location: [{
+          required: true,
+          message: '璇疯緭鍏ュ瓨鍌ㄥ湴鍧�',
+          trigger: 'blur'
+        }],
+        holder: [{
+          required: true,
+          message: '璇疯緭鍏ユ寔鏈変汉',
+          trigger: 'blur'
+        }],
+        address: [{
+          required: true,
+          message: '璇疯緭鍏ュ叿浣撲綅缃�',
+          trigger: 'blur'
+        }],
+
+
+      },
+      typeOptions: [],
+    }
+  },
+  computed: {},
+  watch: {},
+  created() {
+    const id = this.$route.params && this.$route.params.id;
+    let jd;
+    if(this.$route.query.detail!=undefined)
+    {
+      jd =  this.$route.query.detail
+      this.btn= jd
+      this.dsb = !jd
+      this.isShow=true
+    //  document.title = "淇敼璧勪骇璇︾粏淇℃伅";
+      this.$route.meta.title = "淇敼璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+    }
+    else{
+     // document.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";
+      this.$route.meta.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+      this.btn = false;
+     // alert(this.btn)
+      this.isShow=false
+    }
+
+    let _this = this
+    if (id) {
+      this.loading = true;
+      getPropertyInfo(id).then((response) => {
+        this.formData = response.data;
+        let paths = response.data.url.split(",");
+        for(let i = 0; i < paths.length; i++)
+        {
+          if(paths[i]!="") {
+
+            let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
+
+            if (_this.fot.includes(pth) === true)
+              _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+            else {
+              // alert(paths[i])
+              let nms = paths[i].split("\/")
+              let nm = nms[nms.length - 1]
+              _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+            }
+          }
+        }
+        this.loading = false;
+      });
+      this.getCateInfor()
+
+    }
+  },
+  mounted() {},
+  methods: {
+    /** 鏌ヨ绫诲埆淇℃伅 */
+    getCateInfor()
+    {
+      let _this = this
+      getCategory().then(response=>{
+ response.data.map(elem=>{
+          _this.typeOptions.push({"label":elem, "value":elem})
+        })
+        // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
+        //   _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
+        // })
+      })
+    },
+    submitForm() {
+      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
+
+      this.$refs['elForm'].validate(valid => {
+
+
+        if (valid) {
+          if (this.formData.id != undefined) {
+            updateProperty(this.formData).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              // this.open = false;
+              this.btn=false
+            });
+          } else {
+            this.$modal.msgSuccess("淇敼澶辫触");
+
+          }
+        }
+      })
+    },
+    resetForm() {
+      this.$refs['elForm'].resetFields()
+    },
+    handleFileCardPreview(file){
+      this.dialogFileUrl = file.url;
+      // alert(file.url)
+      // this.dialogFileUrl = 'https://www.bendudu.com:8080/profile/upload/2023/10/18/20231018214647A011.doc'
+      // this.dialogFileUrl = 'https://47.93.189.255:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg'
+      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');
+    },
+    handlePreview(file)
+    {
+      let formData = {'path':"/"+file.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)
+      })
+    },
+    handleRemoveFile(file) {
+      for(let i = 0; i < this.fileListOther.length; i++)
+      {
+        if(this.fileListOther[i].url==file.url)
+          this.$delete(this.fileListOther,i);
+      }
+    },
+    handleRemove(file) {
+      for(let i = 0; i < this.fileList.length; i++)
+      {
+        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,"")};
+
+      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)
+    {
+      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.indexOf(pth) !== -1)
+        {
+          _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)
+        updateProperty(_this.formData).then(response => {
+          this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+          // this.open = false;
+
+        });
+      })
+
+    }
+
+  }
+}
+
+</script>
+<style scoped>
+.mt
+{
+  position: relative;
+}
+.dt{
+  /* display: block; */
+
+}
+
+.hide /deep/ .el-upload--picture-card {
+
+   display: none;
+}
+.form{
+  background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
+
+</style>

--
Gitblit v1.9.1