From 1f0744146e1e6bc714b820447137578a9c1c0d59 Mon Sep 17 00:00:00 2001
From: feige <feige@qq.com>
Date: 星期一, 24 四月 2023 20:59:55 +0800
Subject: [PATCH] 吧家庭大事记,资产管理家庭设备,家庭小医生,通讯录的导入功能,电子文件,序号以及详情页面上传附件的预览功能,删除已经全部完成

---
 ruoyi-ui/src/views/bignote/index.vue           |   84 +++++
 ruoyi-ui/src/views/contacts/index.vue          |  102 +++++-
 ruoyi-ui/src/views/bignote/familyeventInfo.vue |   72 ++++
 ruoyi-ui/src/api/contacts/index.js             |    8 
 ruoyi-ui/src/views/doctor/doctorInfo.vue       |   83 ++++-
 ruoyi-ui/src/api/device/index.js               |    8 
 ruoyi-ui/src/views/contacts/contactsInfo.vue   |   21 -
 ruoyi-ui/src/views/doctor/index.vue            |   94 ++++-
 ruoyi-ui/src/utils/request.js                  |    1 
 ruoyi-ui/package.json                          |    1 
 ruoyi-ui/src/api/bignote/index.js              |   10 
 ruoyi-ui/src/views/device/equipmentInfo.vue    |   98 ++++-
 ruoyi-ui/src/views/note/propertyInfo.vue       |   94 ++++-
 ruoyi-ui/.env.development                      |    1 
 ruoyi-ui/src/api/doctor/index.js               |    8 
 ruoyi-ui/src/main.js                           |    3 
 ruoyi-ui/src/views/device/index.vue            |   71 ++++
 ruoyi-ui/src/api/note/index.js                 |    8 
 ruoyi-ui/src/views/note/index.vue              |   86 +++++
 19 files changed, 689 insertions(+), 164 deletions(-)

diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development
index 47d11c2..a707833 100644
--- a/ruoyi-ui/.env.development
+++ b/ruoyi-ui/.env.development
@@ -9,5 +9,6 @@
 
 
 VUE_APP_BASE_TRUE_API = 'http://47.93.189.255:8080/'
+VUE_APP_BASE_OTHER_API = 'http://47.93.189.255:8083/'
 # 璺敱鎳掑姞杞�
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index 452c8f6..232d8c2 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -45,6 +45,7 @@
     "file-saver": "2.0.5",
     "fuse.js": "6.4.3",
     "highlight.js": "9.18.5",
+    "js-base64": "^3.7.5",
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.0.0-rc.1",
diff --git a/ruoyi-ui/src/api/bignote/index.js b/ruoyi-ui/src/api/bignote/index.js
index f179b18..4d2fc6a 100644
--- a/ruoyi-ui/src/api/bignote/index.js
+++ b/ruoyi-ui/src/api/bignote/index.js
@@ -62,6 +62,14 @@
     responseType: 'blob'
   })
 }
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/family/zfEvent/importData',
+    method: 'post',
+    data: data
+  })
+}
 
 // //鎷垮埌绫诲埆
 // export function getCategory()
@@ -72,5 +80,3 @@
 //     params: {'id':22}
 //   })
 // }
-
-
diff --git a/ruoyi-ui/src/api/contacts/index.js b/ruoyi-ui/src/api/contacts/index.js
index 7d3c7fe..325fafe 100644
--- a/ruoyi-ui/src/api/contacts/index.js
+++ b/ruoyi-ui/src/api/contacts/index.js
@@ -62,3 +62,11 @@
     responseType: 'blob'
   })
 }
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/zfContact/importData',
+    method: 'post',
+    data: data
+  })
+}
diff --git a/ruoyi-ui/src/api/device/index.js b/ruoyi-ui/src/api/device/index.js
index e4e9258..1d5a340 100644
--- a/ruoyi-ui/src/api/device/index.js
+++ b/ruoyi-ui/src/api/device/index.js
@@ -63,6 +63,14 @@
     responseType: 'blob'
   })
 }
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/zfEquipment/importData',
+    method: 'post',
+    data: data
+  })
+}
 
 // //鎷垮埌绫诲埆
 // export function getCategory()
diff --git a/ruoyi-ui/src/api/doctor/index.js b/ruoyi-ui/src/api/doctor/index.js
index 5ab4392..1e50dff 100644
--- a/ruoyi-ui/src/api/doctor/index.js
+++ b/ruoyi-ui/src/api/doctor/index.js
@@ -62,3 +62,11 @@
     responseType: 'blob'
   })
 }
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/zfDoctor/importData',
+    method: 'post',
+    data: data
+  })
+}
diff --git a/ruoyi-ui/src/api/note/index.js b/ruoyi-ui/src/api/note/index.js
index 9983a8d..884c5a5 100644
--- a/ruoyi-ui/src/api/note/index.js
+++ b/ruoyi-ui/src/api/note/index.js
@@ -70,3 +70,11 @@
   })
 }
 
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/family/property/importData',
+    method: 'post',
+    data: data
+  })
+}
diff --git a/ruoyi-ui/src/main.js b/ruoyi-ui/src/main.js
index 6bc243f..81e4afb 100644
--- a/ruoyi-ui/src/main.js
+++ b/ruoyi-ui/src/main.js
@@ -14,6 +14,7 @@
 import plugins from './plugins' // plugins
 import { download } from '@/utils/request'
 
+
 import './assets/icons' // icon
 import './permission' // permission control
 import { getDicts } from "@/api/system/dict/data";
@@ -79,10 +80,12 @@
 })
 
 Vue.config.productionTip = false
+const Base64 = require('js-base64').Base64
 
 new Vue({
   el: '#app',
   router,
   store,
+  Base64,
   render: h => h(App)
 })
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index ad0bf7b..03ae4a9 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -100,6 +100,7 @@
       return Promise.reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
     } else if (code === 500) {
       Message({ message: msg, type: 'error' })
+      alert(msg)
       return Promise.reject(new Error(msg))
     } else if (code === 601) {
       Message({ message: msg, type: 'warning' })
diff --git a/ruoyi-ui/src/views/bignote/familyeventInfo.vue b/ruoyi-ui/src/views/bignote/familyeventInfo.vue
index 5b3fae8..70e548e 100644
--- a/ruoyi-ui/src/views/bignote/familyeventInfo.vue
+++ b/ruoyi-ui/src/views/bignote/familyeventInfo.vue
@@ -91,17 +91,48 @@
         :file-list="fileListOther"
         class="upload-demo"
         multiple
-        :on-preview="handlePreview"
-
+        list-type="picture-card"
+        :on-preview="handleFileCardPreview"
         :on-remove="handleRemove"
         :http-request="requestUpload"
         :show-file-list="true"
       >
-        <el-button type="primary">Click to upload</el-button>
-        <template #tip>
-          <div class="el-upload__tip">
+
+          <i slot="default" class="el-icon-plus"></i>
+          <div slot="file" slot-scope="{file}">
+            <img
+              class="el-upload-list__item-thumbnail"
+              src="../../assets/401_images/401.gif"
+              alt=""
+              style="width: 147px; height: 147px"
+              fit="cover"
+            >
+            <span class="el-upload-list__item-actions">
+            <span
+              class="el-upload-list__item-preview"
+              @click="handleFileCardPreview(file)"
+            >
+              <i class="el-icon-zoom-in"></i>
+            </span>
+            <span
+v-if="!disabled"
+              @click="handleRemove(file)"
+              class="el-upload-list__item-delete"
+
+            >
+              <i class="el-icon-download"></i>
+            </span>
+            <span
+              v-if="!disabled"
+              class="el-upload-list__item-delete"
+              @click="handleRemove(file)"
+            >
+              <i class="el-icon-delete"></i>
+            </span>
+          </span>
+
+
           </div>
-        </template>
 
 
       </el-upload>
@@ -114,8 +145,14 @@
     <el-dialog  :visible.sync="dialogVisible">
       <img w-full :src="dialogImageUrl" alt="Preview Image" />
     </el-dialog>
+
+    <el-dialog  :visible.sync="dialogFileVisible">
+      <a :href="desurl">鏄剧ず</a>
+      <iframe :src="desurl"</iframe>
+    </el-dialog>
   </div>
 </template>
+
 <script>
 import {getFamilyeventInfo, updateFamilyevent, uploadPic, download} from "@/api/bignote/index";
 import {addRole, updateRole} from "@/api/system/role";
@@ -130,7 +167,7 @@
     return {
       cdi:"瀹跺涵澶т簨璁颁俊鎭�",
       udi:"瀹跺涵澶т簨璁颁慨鏀�",
-      fot:[".jpg",".jif"],
+      fot:[".jpg",".jif",".png"],
       fileList:[
       ],
       fileListOther:[
@@ -148,7 +185,10 @@
         remark: undefined,
         url: undefined,
       },
+      desurl:'',
       dialogImageUrl: '',
+      dialogFileUrl: '',
+      dialogFileVisible:false,
       dialogVisible: false,
       disabled: false,
       rules: {
@@ -298,10 +338,24 @@
       })
     },
     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)
+      for(let i = 0; i < this.fileList.length; i++)
+      {
+        if(this.fileList[i].url==file.url)
+          this.$delete(this.fileList,i);
+      }
+    },
+    handleFileCardPreview(file){
+      this.dialogFileUrl = file.url;
+      const Base64 = require('js-base64').Base64
+      this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+      myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
     },
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
diff --git a/ruoyi-ui/src/views/bignote/index.vue b/ruoyi-ui/src/views/bignote/index.vue
index f47dade..7c75fde 100644
--- a/ruoyi-ui/src/views/bignote/index.vue
+++ b/ruoyi-ui/src/views/bignote/index.vue
@@ -114,17 +114,43 @@
           v-hasPermi="['family:note:export']"
         >瀵煎嚭</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['family:note:export']"
+        >瀵煎叆妯℃澘涓嬭浇</el-button>
+      </el-col>
+      <el-col :span="1.2">
+
+        <el-upload
+          action=""
+
+          class="upload-demo"
+          :show-file-list="false"
+          :http-request="handleEnport"
+        >
+          <el-button size="mini"   type="primary"
+          plain
+          icon="el-icon-plus" >瀵煎叆</el-button>
+
+        </el-upload>
+      </el-col>
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <!-- 搴忓彿銆佹椂闂淬�佷汉鐗┿�佸湴鐐广�佸ぇ浜嬫爣棰樸�佺數瀛愭枃浠躲�佸娉� -->
     <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 -->
     <el-table v-loading="loading"  :data="familyList" @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName">
       <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column label="搴忓彿" prop="id" sortable width="120" />
 
-      <el-table-column label="鏃堕棿" align="center" sortable prop="createTime" width="180">
+  <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
+      <el-table-column label="鍙戠敓鏃堕棿" align="center" sortable prop="happenTime" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
+          <span>{{ parseTime(scope.row.happenTime) }}</span>
         </template>
       </el-table-column>
       <el-table-column label="浜虹墿" prop="people" sortable width="100" />
@@ -132,8 +158,28 @@
       <el-table-column label="澶т簨鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150" />
 
       <el-table-column label="澶囨敞" prop="remark" sortable width="100" />
-      <!-- <el-table-colum label="鐢靛瓙鏂囦欢" prop="url" sortable width="100"/> -->
+
       <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" />
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" >
+           <template slot-scope="scope" >
+             <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceLis.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url !== null"
+             >
+      <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceA.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url === null"
+             >
+           </template>
+        </el-table-column>
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button
@@ -252,7 +298,7 @@
       <h4 class="form-header"> </h4>
 
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitDataScope">纭� 瀹�</el-button>
+        <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button>
         <el-button @click="cancelData">鍙� 娑�</el-button>
       </div>
     </el-dialog>
@@ -272,9 +318,10 @@
 import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
 
 
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
-import {listFamilyevent , getFamilyeventInfo , delFamilyevent  , addFamilyevent , uploadPic} from "@/api/bignote/index";
+import {listFamilyevent,enload, getFamilyeventInfo , delFamilyevent  , addFamilyevent , uploadPic} from "@/api/bignote/index";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -339,7 +386,8 @@
         title:undefined,
         people:undefined,
         address:undefined,
-        createTime:undefined
+        happenStartTime:undefined,
+        happenEndTime:undefined
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -407,10 +455,14 @@
     getList() {
       this.loading = true;
       console.log(this.queryParams)
+      this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
+      this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
+      
       //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
       listFamilyevent(this.queryParams).then(response => {
           //  alert(123)
-          //   console.log(response.data)
+          //   console.log(response.data.data)
+         // alert(response.data.data[1].url)
           this.familyList = response.data.data;
 
           this.total = response.data.total;
@@ -561,6 +613,22 @@
       this.download('/family/zfEvent/export', {
         ...this.queryParams
       }, `zfEvent_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(err)
+    {
+      Message({ message: "瀵煎叆澶辫触", type: 'error' })
+    }
+
     }
   }
 };
diff --git a/ruoyi-ui/src/views/contacts/contactsInfo.vue b/ruoyi-ui/src/views/contacts/contactsInfo.vue
index cff462e..cc14ea3 100644
--- a/ruoyi-ui/src/views/contacts/contactsInfo.vue
+++ b/ruoyi-ui/src/views/contacts/contactsInfo.vue
@@ -98,26 +98,7 @@
         </div>
       </el-upload>
 
-      <h4 class="form-header">鍏朵粬闄勪欢 </h4>
-      <el-upload
-        action=""
-        :file-list="fileListOther"
-        class="upload-demo"
-        multiple
-        :on-preview="handlePreview"
-
-        :on-remove="handleRemove"
-        :http-request="requestUpload"
-        :show-file-list="true"
-      >
-        <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
-        <template #tip>
-          <div class="el-upload__tip">
-          </div>
-        </template>
-
-
-      </el-upload>
+     
 
       <el-form-item size="large">
         <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
diff --git a/ruoyi-ui/src/views/contacts/index.vue b/ruoyi-ui/src/views/contacts/index.vue
index 46987c2..773b22b 100644
--- a/ruoyi-ui/src/views/contacts/index.vue
+++ b/ruoyi-ui/src/views/contacts/index.vue
@@ -40,18 +40,7 @@
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
       </el-form-item>
-      <el-cntainer>
-        <el-col :span="9" >
-         <el-form-item>
-          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
-                     style=" width: 65px; height: 32px;background: #FFDDE3;
-          border-radius: 6px 6px 6px 6px;opacity:1;">鎼滅储</el-button>
-          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
-          border-radius: 6px 6px 6px 6px;opacity:1; " >閲嶇疆</el-button>
 
-         </el-form-item>
-        </el-col>
-      </el-cntainer>
         <el-form-item label="濮撳悕" prop="name">
           <el-input
             v-model="queryParams.name"
@@ -73,7 +62,14 @@
             <i slot="prefix" class="el-input__icon el-icon-search"></i>
           </el-input>
         </el-form-item>
+   <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
+                     style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1;">鎼滅储</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " >閲嶇疆</el-button>
 
+         </el-form-item>
     </el-form>
     <div>
       <div style="width: 72px;
@@ -117,12 +113,41 @@
           @click="handleExport"
           v-hasPermi="['family:note:export']"
         >瀵煎嚭</el-button>
-      </el-col>
+              </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExport"
+            v-hasPermi="['family:note:export']"
+          >瀵煎叆妯℃澘涓嬭浇</el-button>
+        </el-col>
+        <el-col :span="1.2">
+
+          <el-upload
+            action=""
+
+            class="upload-demo"
+            :show-file-list="false"
+            :http-request="handleEnport"
+          >
+            <el-button size="mini"   type="primary"
+            plain
+            icon="el-icon-plus" >瀵煎叆</el-button>
+
+          </el-upload>
+        </el-col>
+
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
   </div>
     <el-table v-loading="loading" :data="contactList"  @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="25"  align="center" />
+      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/>
+
       <el-table-column label="鎴愬憳濮撳悕" prop="myName" sortable width="100" >
         <template slot-scope="scope">
           <div>
@@ -156,14 +181,35 @@
           <span v-if="scope.row.isAlways== null">鈥斺��</span>
         </template>
       </el-table-column>
-      <el-table-column label="鐢靛瓙鍚嶇墖" prop="url" align="center" sortable  width="180">
-        <template slot-scope="scope">
-          <el-image style="width: 100px; height: 100px" :src="'http://47.93.189.255:8080/'+ scope.row.url" fit="cover"></el-image>
-        </template>
-      </el-table-column>
-      <el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" sortable width="120" >
+
+      <el-table-column label="澶囨敞锛堟槸鍚﹀瓨鍦ㄩ噾閽卞叧绯伙級" prop="remark" sortable width="200" >
         <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
+
+      <el-table-column label="鐢靛瓙鍚嶇墖" prop="url" width="160" >
+           <template slot-scope="scope" >
+             <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceLis.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url !== null"
+             >
+      <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceA.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url === null"
+             >
+           </template>
+        </el-table-column>
+
+
+
+
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button
@@ -327,10 +373,10 @@
 import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
 import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
 
-
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
 
 //瀵煎叆鎺ュ彛鍑芥暟
-import {getContactList, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
+import {getContactList,enload, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
 export default {
   name: "index",
   dicts: ['sys_normal_disable'],
@@ -682,6 +728,22 @@
       this.download('zfContact/export', {
         ...this.queryParams
       }, `zfContact_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(err)
+    {
+      Message({ message: "瀵煎叆澶辫触", type: 'error' })
+    }
+
     }
   }
 };
diff --git a/ruoyi-ui/src/views/device/equipmentInfo.vue b/ruoyi-ui/src/views/device/equipmentInfo.vue
index 6740171..b94a6c0 100644
--- a/ruoyi-ui/src/views/device/equipmentInfo.vue
+++ b/ruoyi-ui/src/views/device/equipmentInfo.vue
@@ -19,8 +19,8 @@
         <el-form-item label="璁惧鍚嶇О" prop="name">
           <el-input v-model="formData.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
         </el-form-item>
-        <el-form-item label="鏃堕棿" prop="createDate">
-          <el-input v-model="formData.createDate" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb">
+        <el-form-item label="鏃堕棿" prop="happenTime">
+          <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb">
           </el-input>
         </el-form-item>
         <el-form-item label="璐拱浜�" prop="buyer">
@@ -92,25 +92,57 @@
         </el-upload>
 
         <h4 class="form-header">鍏朵粬闄勪欢 </h4>
-        <el-upload
-          action=""
-          :file-list="fileListOther"
-          class="upload-demo"
-          multiple
-          :on-preview="handlePreview"
+      <el-upload
+              action=""
+              :file-list="fileListOther"
+              class="upload-demo"
+              multiple
+              list-type="picture-card"
+              :on-preview="handleFileCardPreview"
+              :on-remove="handleRemove"
+              :http-request="requestUpload"
+              :show-file-list="true"
+            >
 
-          :on-remove="handleRemove"
-          :http-request="requestUpload"
-          :show-file-list="true"
-        >
-          <el-button type="primary">涓婁紶闄勪欢</el-button>
-          <template #tip>
-            <div class="el-upload__tip">
-            </div>
-          </template>
+                <i slot="default" class="el-icon-plus"></i>
+                <div slot="file" slot-scope="{file}">
+                  <img
+                    class="el-upload-list__item-thumbnail"
+                    src="../../assets/401_images/401.gif"
+                    alt=""
+                    style="width: 147px; height: 147px"
+                    fit="cover"
+                  >
+                  <span class="el-upload-list__item-actions">
+                  <span
+                    class="el-upload-list__item-preview"
+                    @click="handleFileCardPreview(file)"
+                  >
+                    <i class="el-icon-zoom-in"></i>
+                  </span>
+                  <span
+      v-if="!disabled"
+                    @click="handleRemove(file)"
+                    class="el-upload-list__item-delete"
+
+                  >
+                    <i class="el-icon-download"></i>
+                  </span>
+                  <span
+                    v-if="!disabled"
+                    class="el-upload-list__item-delete"
+                    @click="handleRemoveFile(file)"
+                  >
+                    <i class="el-icon-delete"></i>
+                  </span>
+                </span>
 
 
-        </el-upload>
+                </div>
+
+
+            </el-upload>
+
 
         <el-form-item size="large">
           <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
@@ -154,7 +186,9 @@
           remark: undefined,
           familyId:undefined,
           url: undefined,
+          happenTime:undefined
         },
+        desurl:'',
         dialogImageUrl: '',
         dialogVisible: false,
         disabled: false,
@@ -164,7 +198,7 @@
           //   message: '璇疯緭鍏d',
           //   trigger: 'blur'
           // }],
-          createDate: [{
+          happenTime: [{
             required: true,
             message: '璇烽�夋嫨鏃堕棿',
             trigger: 'change'
@@ -312,12 +346,26 @@
           saveAs(blob, filename)
         })
       },
-      handleRemoveFile(file) {
-        alert(23)
-      },
-      handleRemove(file) {
-        alert(323)
-      },
+  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);
+    }
+  },
+  handleFileCardPreview(file){
+    this.dialogFileUrl = file.url;
+    const Base64 = require('js-base64').Base64
+    this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+    var myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
+  },
       handlePictureCardPreview(file) {
         this.dialogImageUrl = file.url;
         this.dialogVisible = true;
diff --git a/ruoyi-ui/src/views/device/index.vue b/ruoyi-ui/src/views/device/index.vue
index 5775fc6..3b552c6 100644
--- a/ruoyi-ui/src/views/device/index.vue
+++ b/ruoyi-ui/src/views/device/index.vue
@@ -84,18 +84,44 @@
           v-hasPermi="['family:note:export']"
         >瀵煎嚭</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['family:note:export']"
+        >瀵煎叆妯℃澘涓嬭浇</el-button>
+      </el-col>
+      <el-col :span="1.2">
+
+        <el-upload
+          action=""
+
+          class="upload-demo"
+          :show-file-list="false"
+          :http-request="handleEnport"
+        >
+          <el-button size="mini"   type="primary"
+          plain
+          icon="el-icon-plus" >瀵煎叆</el-button>
+
+        </el-upload>
+      </el-col>
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <!-- 搴忓彿銆佽澶囧悕绉般�佹椂闂淬�佽喘涔颁汉銆佷簨椤瑰唴瀹广�佸瓨鏀惧湴鐐广�佺數瀛愭枃浠躲�佸娉� 鎿嶄綔-->
     <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 -->
     <el-table v-loading="loading" :data="equipmentList"  @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
       <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column label="搴忓彿" prop="id" sortable width="120" />
+      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
       <el-table-column label="璁惧鍚嶇О" prop="name" sortable width="120" />
 
-      <el-table-column label="鏃堕棿" align="center" sortable prop="createDate" width="180">
+      <el-table-column label="鏃堕棿" align="center" sortable prop="happenTime" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createDate) }}</span>
+          <span>{{ parseTime(scope.row.happenTime) }}</span>
         </template>
       </el-table-column>
 
@@ -103,8 +129,27 @@
       <el-table-column label="浜嬮」鍐呭" prop="content" sortable :show-overflow-tooltip="true" width="150" />
       <el-table-column label="瀛樻斁鍦扮偣" prop="location" sortable width="100" />
       <el-table-column label="澶囨敞" prop="remark" sortable width="100" />
-      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" sortable width="180" />
       <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" />
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" >
+           <template slot-scope="scope" >
+             <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceLis.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url !== null"
+             >
+      <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceA.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url === null"
+             >
+           </template>
+        </el-table-column>
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button
@@ -261,7 +306,7 @@
 
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
-import {listEquipment,getEquipmentInfo,delEquipment, addEquipment, uploadPic} from "@/api/device/index";
+import {listEquipment,enload,delEquipment, addEquipment, uploadPic} from "@/api/device/index";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -558,6 +603,22 @@
       this.download('/zfEquipment/export', {
         ...this.queryParams
       }, `zfEquiment_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(err)
+    {
+      Message({ message: "瀵煎叆澶辫触", type: 'error' })
+    }
+
     }
   }
 };
diff --git a/ruoyi-ui/src/views/doctor/doctorInfo.vue b/ruoyi-ui/src/views/doctor/doctorInfo.vue
index 0ec6975..f8f36b4 100644
--- a/ruoyi-ui/src/views/doctor/doctorInfo.vue
+++ b/ruoyi-ui/src/views/doctor/doctorInfo.vue
@@ -92,25 +92,56 @@
       </el-upload>
 
       <h4 class="form-header">鍏朵粬闄勪欢 </h4>
-      <el-upload
-        action=""
-        :file-list="fileListOther"
-        class="upload-demo"
-        multiple
-        :on-preview="handlePreview"
+    <el-upload
+            action=""
+            :file-list="fileListOther"
+            class="upload-demo"
+            multiple
+            list-type="picture-card"
+            :on-preview="handleFileCardPreview"
+            :on-remove="handleRemove"
+            :http-request="requestUpload"
+            :show-file-list="true"
+          >
 
-        :on-remove="handleRemove"
-        :http-request="requestUpload"
-        :show-file-list="true"
-      >
-        <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
-        <template #tip>
-          <div class="el-upload__tip">
-          </div>
-        </template>
+              <i slot="default" class="el-icon-plus"></i>
+              <div slot="file" slot-scope="{file}">
+                <img
+                  class="el-upload-list__item-thumbnail"
+                  src="../../assets/401_images/401.gif"
+                  alt=""
+                  style="width: 147px; height: 147px"
+                  fit="cover"
+                >
+                <span class="el-upload-list__item-actions">
+                <span
+                  class="el-upload-list__item-preview"
+                  @click="handleFileCardPreview(file)"
+                >
+                  <i class="el-icon-zoom-in"></i>
+                </span>
+                <span
+    v-if="!disabled"
+                  @click="handleRemove(file)"
+                  class="el-upload-list__item-delete"
+
+                >
+                  <i class="el-icon-download"></i>
+                </span>
+                <span
+                  v-if="!disabled"
+                  class="el-upload-list__item-delete"
+                  @click="handleRemoveFile(file)"
+                >
+                  <i class="el-icon-delete"></i>
+                </span>
+              </span>
 
 
-      </el-upload>
+              </div>
+
+
+          </el-upload>
 
       <el-form-item size="large">
         <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
@@ -137,7 +168,7 @@
     return {
       cdi:"灏卞尰璁板綍璇︾粏淇℃伅",
       udi:"灏卞尰璁板綍淇℃伅璇︽儏",
-      fot:[".jpg",".jif"],
+      fot:[".jpg",".jif","png"],
       fileList:[
       ],
       fileListOther:[
@@ -314,10 +345,24 @@
       })
     },
     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)
+      for(let i = 0; i < this.fileList.length; i++)
+      {
+        if(this.fileList[i].url==file.url)
+          this.$delete(this.fileList,i);
+      }
+    },
+    handleFileCardPreview(file){
+      this.dialogFileUrl = file.url;
+      const Base64 = require('js-base64').Base64
+      this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+      myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
     },
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
diff --git a/ruoyi-ui/src/views/doctor/index.vue b/ruoyi-ui/src/views/doctor/index.vue
index 7fbb84a..bbcc993 100644
--- a/ruoyi-ui/src/views/doctor/index.vue
+++ b/ruoyi-ui/src/views/doctor/index.vue
@@ -73,17 +73,9 @@
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
       </el-form-item>
-      <el-cntainer>
-        <el-col :span="9" >
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" style=" width: 65px; height: 32px;background: #FFDDE3;
-          border-radius: 6px 6px 6px 6px;opacity:1; " @click="handleQuery">鎼滅储</el-button>
-            <el-button icon="el-icon-refresh" size="mini" style=" width: 65px; height: 32px;background: #FFDDE3;
-          border-radius: 6px 6px 6px 6px;opacity:1; " @click="resetQuery">閲嶇疆</el-button>
 
-          </el-form-item>
-        </el-col>
-      </el-cntainer>
+
+
       <el-form-item label="澶勬柟" prop="cmedical">
         <el-input
           v-model="queryParams.cmedical"
@@ -105,7 +97,13 @@
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
       </el-form-item>
+       <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " @click="handleQuery">鎼滅储</el-button>
+            <el-button icon="el-icon-refresh" size="mini" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1; " @click="resetQuery">閲嶇疆</el-button>
 
+          </el-form-item>
     </el-form>
     <div>
       <div style="width: 100px;
@@ -150,13 +148,37 @@
             v-hasPermi="['family:note:export']"
           >瀵煎嚭</el-button>
         </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExport"
+            v-hasPermi="['family:note:export']"
+          >瀵煎叆妯℃澘涓嬭浇</el-button>
+        </el-col>
+        <el-col :span="1.2">
+
+          <el-upload
+            action=""
+
+            class="upload-demo"
+            :show-file-list="false"
+            :http-request="handleEnport"
+          >
+            <el-button size="mini"   type="primary"
+            plain
+            icon="el-icon-plus" >瀵煎叆</el-button>
+
+          </el-upload>
+        </el-col>
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
     </div>
     <el-table v-loading="loading" :data="doctorList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="25"  align="center" />
-      <el-table-column label="搴忓彿" prop="id" sortable width="80" />
-      <el-table-column label="绫诲瀷" prop="type" sortable width="80">
+<el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>      <el-table-column label="绫诲瀷" prop="type" sortable width="80">
         <template slot-scope="scope">{{scope.row.type? scope.row.type: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
       <el-table-column label="鐥囩姸" prop="symptom" sortable :show-overflow-tooltip="true" width="80" >
@@ -174,17 +196,35 @@
       <el-table-column label="鍔熸晥" prop="effect" sortable width="80" >
         <template slot-scope="scope">{{scope.row.effect? scope.row.effect: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" align="center" sortable  width="110">
-      <template slot-scope="scope">
-        <el-image style="width: 100px; height: 100px" :src="'http://47.93.189.255:8080/'+ scope.row.url" fit="cover"></el-image>
-      </template>
-    </el-table-column>
+
       <el-table-column label="閫傜敤浜�" prop="suitable" sortable width="110" >
         <template slot-scope="scope">{{scope.row.suitable? scope.row.suitable: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
 
       <el-table-column label="澶囨敞" prop="remark" sortable width="120" >
-        <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+          <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+          </el-table-column>
+        <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" >
+             <template slot-scope="scope" >
+               <img
+                 class="el-upload-list__item-thumbnail"
+                 src="../../assets/images/deviceLis.png"
+                 alt=""
+                 style="width: 35px; height: 35px;"
+                 fit="cover"
+                  v-if="scope.row.url !== null"
+               >
+        <img
+                 class="el-upload-list__item-thumbnail"
+                 src="../../assets/images/deviceA.png"
+                 alt=""
+                 style="width: 35px; height: 35px;"
+                 fit="cover"
+                  v-if="scope.row.url === null"
+               >
+             </template>
+          </el-table-column>
+
       </el-table-column>
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
@@ -343,9 +383,9 @@
 
 
 //瀵煎叆鎺ュ彛鍑芥暟
-import {listDoctor, getDoctor, addDoctor,updateDoctor, delDoctor,uploadPic} from "@/api/doctor/index";
+import {listDoctor,enload,getDoctor, addDoctor,updateDoctor, delDoctor,uploadPic} from "@/api/doctor/index";
 
-
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
 export default {
   name: "index",
   dicts: ['sys_normal_disable'],
@@ -667,6 +707,20 @@
       this.download('zfDoctor/export', {
         ...this.queryParams
       }, `zfDoctor_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(() => { Message({ message: "瀵煎叆澶辫触", type: 'error' })});
+   
     }
   }
 };
diff --git a/ruoyi-ui/src/views/note/index.vue b/ruoyi-ui/src/views/note/index.vue
index c8e82d5..98aa493 100644
--- a/ruoyi-ui/src/views/note/index.vue
+++ b/ruoyi-ui/src/views/note/index.vue
@@ -52,11 +52,11 @@
           />
         </el-form-item>
       </el-form-item>
-      <el-form-item label="鍒涘缓鏃堕棿">
+      <el-form-item label="鍙戠敓鏃堕棿">
         <el-date-picker
           v-model="dateRange"
           style="width: 240px"
-          value-format="yyyy-MM-dd HH-MM"
+          value-format="yyyy-MM-dd HH-MM-SS"
           type="daterange"
           range-separator="-"
           start-placeholder="寮�濮嬫棩鏈�"
@@ -103,13 +103,40 @@
           @click="handleExport"
           v-hasPermi="['family:note:export']"
         >瀵煎嚭</el-button>
-      </el-col>
+   </el-col>
+
+		<el-col :span="1.5">
+		  <el-button
+		    type="warning"
+		    plain
+		    icon="el-icon-download"
+		    size="mini"
+		    @click="handleExport"
+		    v-hasPermi="['family:note:export']"
+		  >瀵煎叆妯℃澘涓嬭浇</el-button>
+		</el-col>
+		<el-col :span="1.2">
+		  <el-upload
+		    action=""
+		    class="upload-demo"
+		    :show-file-list="false"
+		    :http-request="handleEnport"
+		  >
+		    <el-button size="mini"   type="primary"
+		    plain
+		    icon="el-icon-plus" >瀵煎叆</el-button>
+
+		  </el-upload>
+		</el-col>
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table v-loading="loading" :data="propertyList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
       <el-table-column type="selection" width="55"  align="center" />
-      <el-table-column label="璧勪骇缂栧彿" prop="id" sortable width="120" />
+
+      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
+
       <el-table-column label="绫诲瀷" prop="type" sortable :show-overflow-tooltip="true" width="150" />
       <el-table-column label="鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150" />
       <el-table-column label="瀛樺偍鍦板潃" prop="location" sortable width="100" />
@@ -117,13 +144,32 @@
       <el-table-column label="鍏蜂綋浣嶇疆" prop="address" sortable width="100" />
       <el-table-column label="澶囨敞淇℃伅" prop="remark" sortable width="100" />
       <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" />
-      <el-table-column label="鍒涘缓鏃堕棿" align="center" sortable prop="createTime" width="180">
+      <el-table-column label="鍙戠敓鏃堕棿" align="center" sortable prop="happenTime" width="180">
 
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
+          <span>{{ parseTime(scope.row.happenTime) }}</span>
         </template>
       </el-table-column>
-
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" >
+           <template slot-scope="scope" >
+             <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceLis.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url !== null"
+             >
+      <img
+               class="el-upload-list__item-thumbnail"
+               src="../../assets/images/deviceA.png"
+               alt=""
+               style="width: 35px; height: 35px;"
+               fit="cover"
+                v-if="scope.row.url === null"
+             >
+           </template>
+        </el-table-column>
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
           <el-button
@@ -271,7 +317,7 @@
 
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�
-import {listProperty, getPropertyInfo, delProperty, getCategory, addProperty, uploadPic} from "@/api/note/index";
+import {listProperty,enload, getPropertyInfo, delProperty, getCategory, addProperty, uploadPic} from "@/api/note/index";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -338,8 +384,8 @@
         location:undefined,
         holder:undefined,
         address:undefined,
-        createTime:undefined,
-
+        happenStartTime:undefined,
+        happenEndTime:undefined
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -412,6 +458,9 @@
     /** 鏌ヨ瑙掕壊鍒楄〃 */
     getList() {
       this.loading = true;
+      this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
+      this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
+
       // console.log(this.queryParams)
       //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
       listProperty(this.queryParams).then(response => {
@@ -579,6 +628,23 @@
       this.download('family/property/export', {
         ...this.queryParams
       }, `property_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+    var file = params.file;
+    var formData = new FormData();
+    formData.append('excelImport', file);
+    let _this = this
+    alert(file)
+    enload(formData).then(response => {
+       _this.getList();
+      Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+    }).catch(err)
+    {
+      Message({ message: "瀵煎叆澶辫触", type: 'error' })
+    }
+
     }
   }
 };
diff --git a/ruoyi-ui/src/views/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue
index 2058a66..3f4b563 100644
--- a/ruoyi-ui/src/views/note/propertyInfo.vue
+++ b/ruoyi-ui/src/views/note/propertyInfo.vue
@@ -81,25 +81,56 @@
     </el-upload>
 
       <h4 class="form-header">鍏朵粬闄勪欢 </h4>
-      <el-upload
-        action=""
-        :file-list="fileListOther"
-        class="upload-demo"
-        multiple
-        :on-preview="handlePreview"
+    <el-upload
+            action=""
+            :file-list="fileListOther"
+            class="upload-demo"
+            multiple
+            list-type="picture-card"
+            :on-preview="handleFileCardPreview"
+            :on-remove="handleRemove"
+            :http-request="requestUpload"
+            :show-file-list="true"
+          >
 
-        :on-remove="handleRemove"
-        :http-request="requestUpload"
-        :show-file-list="true"
-      >
-        <el-button type="primary">Click to upload</el-button>
-        <template #tip>
-          <div class="el-upload__tip">
-          </div>
-        </template>
+              <i slot="default" class="el-icon-plus"></i>
+              <div slot="file" slot-scope="{file}">
+                <img
+                  class="el-upload-list__item-thumbnail"
+                  src="../../assets/401_images/401.gif"
+                  alt=""
+                  style="width: 147px; height: 147px"
+                  fit="cover"
+                >
+                <span class="el-upload-list__item-actions">
+                <span
+                  class="el-upload-list__item-preview"
+                  @click="handleFileCardPreview(file)"
+                >
+                  <i class="el-icon-zoom-in"></i>
+                </span>
+                <span
+    v-if="!disabled"
+                  @click="handleRemove(file)"
+                  class="el-upload-list__item-delete"
+
+                >
+                  <i class="el-icon-download"></i>
+                </span>
+                <span
+                  v-if="!disabled"
+                  class="el-upload-list__item-delete"
+                  @click="handleRemove(file)"
+                >
+                  <i class="el-icon-delete"></i>
+                </span>
+              </span>
 
 
-      </el-upload>
+              </div>
+
+
+          </el-upload>
 
       <el-form-item size="large">
         <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
@@ -125,7 +156,7 @@
     return {
       cdi:"璧勪骇璇︾粏淇℃伅",
       udi:"璧勪骇淇℃伅淇敼",
-      fot:[".jpg",".jif"],
+      fot:[".jpg",".jif",".png"],
       fileList:[
       ],
       fileListOther:[
@@ -143,6 +174,7 @@
         remark: undefined,
         url: undefined,
       },
+       desurl:'',
         dialogImageUrl: '',
         dialogVisible: false,
         disabled: false,
@@ -275,6 +307,12 @@
     resetForm() {
       this.$refs['elForm'].resetFields()
     },
+    handleFileCardPreview(file){
+      this.dialogFileUrl = file.url;
+      const Base64 = require('js-base64').Base64
+      this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+      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,10 +327,18 @@
       })
     },
     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)
+      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;
@@ -325,16 +371,12 @@
 
       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)
+        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})
         }
       })
 

--
Gitblit v1.9.1