From bd40473c9c634005bc7e62e7fc901bcd8b598fa0 Mon Sep 17 00:00:00 2001
From: feige <feige@qq.com>
Date: 星期五, 02 二月 2024 15:20:26 +0800
Subject: [PATCH] 提交了修改

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

diff --git a/ruoyi-ui/src/views/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue
index 2058a66..be926bb 100644
--- a/ruoyi-ui/src/views/note/propertyInfo.vue
+++ b/ruoyi-ui/src/views/note/propertyInfo.vue
@@ -1,21 +1,38 @@
 <template>
-  <div class="app-container">
-    <div class="form-header mt">
-      <h4 class="dt h4">璧勪骇璇︾粏淇℃伅 </h4>
-      <el-button type="primary" class="pt"  icon="el-icon-edit" @click="handleEdit()" :disabled="btn">缂栬緫</el-button>
+  <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="id" prop="id">
-        <el-input v-model="formData.id" placeholder="璇疯緭鍏d" :maxlength="11" show-word-limit :disabled="true"
-          clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>
-      </el-form-item>
-      <el-form-item label="绫诲埆" prop="type">
+    <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>
+                     :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>
@@ -35,40 +52,46 @@
         <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"
+
+        action="#"
+        list-type="picture-card"
+        multiple
+        :http-request="requestUpload"
+        :file-list="fileList"
+        :disabled="!btn"
+        :class="{hide:!btn}"
       >
-      <i 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">
+        <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
-          v-if="!disabled"
+
           class="el-upload-list__item-delete"
           @click="handleDownload(file.url)"
         >
           <i class="el-icon-download"></i>
         </span>
         <span
-          v-if="!disabled"
+          v-if="isShow"
           class="el-upload-list__item-delete"
           @click="handleRemove(file)"
         >
@@ -77,37 +100,76 @@
       </span>
 
 
-    </div>
-    </el-upload>
+        </div>
+      </el-upload>
 
       <h4 class="form-header">鍏朵粬闄勪欢 </h4>
       <el-upload
         action=""
         :file-list="fileListOther"
-        class="upload-demo"
+
         multiple
-        :on-preview="handlePreview"
-
-        :on-remove="handleRemove"
+        list-type="picture-card"
+        :on-preview="handleFileCardPreview"
+        :on-remove="handleRemoveFile"
         :http-request="requestUpload"
-        :show-file-list="true"
+  :disabled="!btn"
+        :class="{hide:!btn}"
+
+
       >
-        <el-button type="primary">Click to upload</el-button>
-        <template #tip>
-          <div class="el-upload__tip">
-          </div>
-        </template>
+        <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 type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+        <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" alt="Preview Image" />
+      <img w-full :src="dialogImageUrl"     style="width: 100%; height: 100%" alt="Preview Image" />
     </el-dialog>
   </div>
 </template>
@@ -125,7 +187,10 @@
     return {
       cdi:"璧勪骇璇︾粏淇℃伅",
       udi:"璧勪骇淇℃伅淇敼",
-      fot:[".jpg",".jif"],
+    // 鏁版嵁鑼冨洿閫夐」
+    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:[
@@ -133,8 +198,10 @@
       ],
       dsb:true,
       btn:false,
+      isShow:true,
+      uploading: false,
       formData: {
-        id: undefined,
+
         type: undefined,
         title: undefined,
         location: undefined,
@@ -143,15 +210,12 @@
         remark: undefined,
         url: undefined,
       },
-        dialogImageUrl: '',
-        dialogVisible: false,
-        disabled: false,
+      desurl:'',
+      dialogImageUrl: '',
+      dialogVisible: false,
+      disabled: false,
       rules: {
-        id: [{
-          required: true,
-          message: '璇疯緭鍏d',
-          trigger: 'blur'
-        }],
+
         type: [{
           required: true,
           message: '璇烽�夋嫨绫诲埆',
@@ -177,11 +241,7 @@
           message: '璇疯緭鍏ュ叿浣撲綅缃�',
           trigger: 'blur'
         }],
-        remark: [{
-          required: true,
-          message: '璇疯緭鍏ュ娉�',
-          trigger: 'blur'
-        }],
+
 
       },
       typeOptions: [],
@@ -197,12 +257,16 @@
       jd =  this.$route.query.detail
       this.btn= jd
       this.dsb = !jd
-      document.title = "淇敼璧勪骇璇︾粏淇℃伅";
+      this.isShow=true
+    //  document.title = "淇敼璧勪骇璇︾粏淇℃伅";
       this.$route.meta.title = "淇敼璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
     }
     else{
-      document.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";
-      this.$route.meta.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+     // document.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";
+      this.$route.meta.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+      this.btn = false;
+     // alert(this.btn)
+      this.isShow=false
     }
 
     let _this = this
@@ -240,10 +304,12 @@
     {
       let _this = this
       getCategory().then(response=>{
-
-        response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
-          _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
+ 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() {
@@ -252,8 +318,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 => {
 
@@ -275,6 +341,19 @@
     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,"")};
@@ -289,32 +368,48 @@
       })
     },
     handleRemoveFile(file) {
-      alert(23)
+      for(let i = 0; i < this.fileListOther.length; i++)
+      {
+        if(this.fileListOther[i].url==file.url)
+          this.$delete(this.fileListOther,i);
+      }
     },
     handleRemove(file) {
-      alert(323)
-      },
-      handlePictureCardPreview(file) {
-        this.dialogImageUrl = file.url;
-        this.dialogVisible = true;
-      },
-      handleDownload(url) {
-        var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+      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)
-        })
-      },
+      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)
     {
@@ -322,20 +417,32 @@
       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)
-
-        if(_this.fot.includes(pth) === true)
+        this.uploading = false;
+        this.$modal.msgSuccess("涓婁紶鎴愬姛");
+        if(_this.fot.indexOf(pth) !== -1)
         {
-          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
-
+          _this.fileList.push({"name":response.data.fileName, "url":response.data.url})
         }
-
         else{
-          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
+          _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;
+
+        });
       })
 
     }
@@ -344,19 +451,22 @@
 }
 
 </script>
-<style>
+<style scoped>
 .mt
 {
   position: relative;
 }
 .dt{
-  display: block;
+  /* display: block; */
 
 }
-.pt{
-  right: 10px;
-  top:-3px;
-  display: block;
-  position: absolute;
+
+.hide /deep/ .el-upload--picture-card {
+
+   display: none;
 }
+.form{
+  background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
+
 </style>

--
Gitblit v1.9.1