From bcac500a760877dc9140f1f381739793706c1af6 Mon Sep 17 00:00:00 2001
From: feige <feige@qq.com>
Date: 星期五, 10 十一月 2023 10:29:38 +0800
Subject: [PATCH] 修改图片大小

---
 ruoyi-ui/src/views/note/index.vue |  348 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 252 insertions(+), 96 deletions(-)

diff --git a/ruoyi-ui/src/views/note/index.vue b/ruoyi-ui/src/views/note/index.vue
index e6ea2a7..2966c9e 100644
--- a/ruoyi-ui/src/views/note/index.vue
+++ b/ruoyi-ui/src/views/note/index.vue
@@ -2,61 +2,75 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
       <el-form-item label="绫诲瀷" prop="type">
-        <el-select
+        <el-input
           v-model="queryParams.type"
-          placeholder="鎵�鏈夌被鍨�"
+          placeholder="璇疯緭鍏ョ被鍨�"
           clearable
-          style="width: 240px"
-        >
-          <el-option
-            v-for="dict in typeOptions"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-        <el-form-item label="鏍囬" prop="title">
-          <el-input
-            v-model="queryParams.title"
-            placeholder="璇疯緭鍏ユ爣棰�"
-            clearable
-            style="width: 240px"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="瀛樺偍鍦板潃" prop="location">
-          <el-input
-            v-model="queryParams.location"
-            placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�"
-            clearable
-            style="width: 240px"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="鎸佹湁浜�" prop="holder">
-          <el-input
-            v-model="queryParams.holder"
-            placeholder="璇疯緭鍏ユ寔鏈変汉"
-            clearable
-            style="width: 240px"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item label="鍏蜂綋浣嶇疆" prop="address">
-          <el-input
-            v-model="queryParams.address"
-            placeholder="璇疯緭鍏ュ叿浣撲綅缃�"
-            clearable
-            style="width: 240px"
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
-      <el-form-item label="鍒涘缓鏃堕棿">
+
+      <el-form-item label="鏍囬" prop="title">
+        <el-input
+          v-model="queryParams.title"
+          placeholder="璇疯緭鍏ユ爣棰�"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="瀛樺偍鍦板潃" prop="location">
+        <el-input
+          v-model="queryParams.location"
+          placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鎸佹湁浜�" prop="holder">
+        <el-input
+          v-model="queryParams.holder"
+          placeholder="璇疯緭鍏ユ寔鏈変汉"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鍏蜂綋浣嶇疆" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="璇疯緭鍏ュ叿浣撲綅缃�"
+          clearable
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- </el-form-item> -->
+      <el-form-item label="鍙戠敓鏃堕棿"  prop="happenTime">
         <el-date-picker
           v-model="dateRange"
-          style="width: 240px"
-          value-format="yyyy-MM-dd HH-MM"
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
+          value-format="yyyy-MM-dd"
           type="daterange"
           range-separator="-"
           start-placeholder="寮�濮嬫棩鏈�"
@@ -64,8 +78,10 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        <el-button   size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+          border-radius: 6px 6px 6px 6px;opacity:1;">鎼滅储</el-button>
+        <el-button  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>
 
@@ -102,34 +118,85 @@
           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="handleExportTemplate"
+          v-hasPermi="['family:note:export']"
+        >瀵煎叆妯℃澘涓嬭浇</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-upload
+          action=""
+          class="upload-demo"
+          :show-file-list="false"
+          :http-request="handleEnport"
+        >
+          <el-button size="mini"   type="primary"
+                     plain
+                    icon="el-icon-top" >瀵煎叆</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">
+    <el-table v-loading="loading" :data="propertyList" :row-key="getRowId" ref="multipleTable" @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 fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="100"/>
+
       <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" />
-      <el-table-column label="鎸佹湁浜�" prop="holder" sortable width="100" />
-      <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="瀛樺偍鍦板潃" prop="location" sortable width="150" />
+      <el-table-column label="鎸佹湁浜�" prop="holder" sortable width="150" />
+      <el-table-column label="鍏蜂綋浣嶇疆" prop="address" sortable width="150" />
+      <el-table-column label="澶囨敞" prop="remark" sortable width="130" >
+        <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鏄惁鏄湰瀹跺涵璁板綍" prop="ownData" sortable width="150px" >
+        <template slot-scope="scope">{{scope.row.ownData === 0 ? '鍚�': '鏄�'}}</template>
+      </el-table-column>
+      <!-- <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" /> -->
+      <el-table-column label="鍙戠敓鏃堕棿" prop="happenTime" sortable width="150" align="center">
+        <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="130" >
+        <template slot-scope="scope" >
+          <div  @click="handleCheck(scope.row)">
+            <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 === '' || scope.row.url === ',' || scope.row.url === null)"
+            >
+            <img
+              v-else
+              class="el-upload-list__item-thumbnail"
+              src="../../assets/images/deviceA.png"
+              alt=""
+              style="width: 35px; height: 35px;"
+              fit="cover"
 
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
+            ></div>
         </template>
       </el-table-column>
-
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
+          <div class="button-container">
           <el-button
             size="mini"
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:role:edit']"
+            v-hasPermi="['familymodel:property:info']"
           >淇敼</el-button>
           <el-button
             size="mini"
@@ -138,10 +205,11 @@
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:role:remove']"
           >鍒犻櫎</el-button>
-          <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
+          <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['familymodel:property:info']">
             <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button>
 
           </el-dropdown>
+          </div>
         </template>
       </el-table-column>
     </el-table>
@@ -152,12 +220,15 @@
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
+      style="background: #FEF7FC;"
     />
 
     <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
-
+<!--        <el-form-item label="绫诲埆" prop="type">-->
+<!--          <el-input v-model="formDat.type" placeholder="璇疯緭鍏ョ被鍒�" clearable :style="{width: '100%'}" ></el-input>-->
+<!--        </el-form-item>-->
         <el-form-item label="绫诲埆" prop="type">
           <el-select v-model="formDat.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}"  >
             <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
@@ -179,11 +250,11 @@
           <el-input v-model="formDat.address" placeholder="璇疯緭鍏ュ叿浣撲綅缃�" clearable :style="{width: '100%'}" >
           </el-input>
         </el-form-item>
-        <el-form-item label="瀹跺涵鍙�" prop="familyId">
-          <el-input v-model="formDat.familyId" placeholder="璇疯緭鍏ュ搴彿" clearable :style="{width: '100%'}" >
-          </el-input>
+        <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime">
+          <el-date-picker v-model="formDat.happenTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡"
+                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
+          ></el-date-picker>
         </el-form-item>
-
         <el-form-item label="澶囨敞" prop="remark">
           <el-input v-model="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input>
         </el-form-item>
@@ -196,7 +267,7 @@
           :http-request="requestUpload"
           :file-list="fileList"
         >
-          <i slot="default" class="el-icon-plus"></i>
+          <i  slot="default" class="el-icon-plus"></i>
           <div slot="file" slot-scope="{file}">
             <img
               class="el-upload-list__item-thumbnail"
@@ -233,11 +304,12 @@
           class="upload-demo"
           multiple
 
-          :on-remove="handleRemove"
+          :on-remove="handleRemoveFile"
           :http-request="requestUpload"
           :show-file-list="true"
         >
-          <el-button type="primary">Click to upload</el-button>
+          <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
+          <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div>
           <template #tip>
             <div class="el-upload__tip">
             </div>
@@ -268,7 +340,8 @@
 
 
 //鍦╯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";
+import {Message} from "element-ui";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -311,7 +384,7 @@
 
       ],
       dsb:true,
-      btn:false,
+      uploading: false,
       formDat: {
         type: undefined,
         title: undefined,
@@ -319,6 +392,7 @@
         holder: undefined,
         address: undefined,
         remark: undefined,
+        happenTime:undefined,
         url: undefined,
 
       },
@@ -335,8 +409,9 @@
         location:undefined,
         holder:undefined,
         address:undefined,
-        createTime:undefined,
-
+        happenStartTime:undefined,
+        happenEndTime:undefined,
+        happenTime:undefined
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -348,8 +423,8 @@
       rules: {
         type: [{
           required: true,
-          message: '璇烽�夋嫨绫诲埆',
-          trigger: 'change'
+          message: '璇疯緭鍏ョ被鍨�',
+          trigger: 'blur'
         }],
         title: [{
           required: true,
@@ -371,12 +446,8 @@
           message: '璇疯緭鍏ュ叿浣撲綅缃�',
           trigger: 'blur'
         }],
-        familyId: [{
-          required: true,
-          message: '璇疯緭鍏amilyId',
-          trigger: 'blur'
-        }],
-        createTime: [{
+
+        happenTime: [{
           required: true,
           message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
           trigger: 'change'
@@ -396,9 +467,25 @@
       this.open = false;
       this.reset();
     },
+
+    //闅旇鍙樿壊
+    tableRowClassName({ row, rowIndex }) {
+      if (rowIndex % 2 == 0) {
+        return "statistics-warning-row1";
+      } else {
+        return "statistics-warning-row";
+      }
+    },
+    getRowId(row)
+    {
+      return row.id
+    },
     /** 鏌ヨ瑙掕壊鍒楄〃 */
     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 => {
@@ -424,7 +511,18 @@
     },
 
     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);
+      }
+    },
+    handleRemoveFile(file) {
+      for(let i = 0; i < this.fileListOther.length; i++)
+      {
+        if(this.fileListOther[i].url==file.url)
+          this.$delete(this.fileListOther,i);
+      }
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -487,8 +585,7 @@
     /** 鏌ョ湅璇︾粏淇℃伅 */
     handleCheck(row){
       const id = row.id;
-      
-      this.$router.push("/family/note1/propertyInfo/" + id);
+      this.$router.push("/familymodel/property/propertyInfo/" + id);
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -496,7 +593,7 @@
       let jd = true
 
       this.$router.push({
-        path:"/family/note1/propertyInfo/" + id,
+        path:"/familymodel/property/propertyInfo/" + id,
         query:{
           detail:jd
         }
@@ -528,6 +625,17 @@
           });
         }
       });
+      // 娓呯┖formDat瀵硅薄鐨勬暟鎹�
+      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)
     {
@@ -535,10 +643,11 @@
       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.includes(pth) === true)
         {
           _this.fileList.push({name:response.data.fileName, "url":response.data.url})
@@ -555,19 +664,66 @@
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎璧勪骇缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎵�閫夋暟鎹」锛�').then(function() {
         return delProperty(Ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
       }).catch(() => {});
     },
+    //瀵煎叆妯℃澘
+    handleExportTemplate(){
+      this.download('/family/property/model', {
+
+      }, `property${new Date().getTime()}.xlsx`)
+    },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
-      this.download('family/property/export', {
-        ...this.queryParams
-      }, `property_${new Date().getTime()}.xlsx`)
+      const Ids = this.ids;
+
+      if(Ids.length==0)
+      {
+        this.download('family/property/export', {
+          ...this.queryParams
+        }, `property_${new Date().getTime()}.xlsx`)
+      }
+      else{
+        this.download('family/property/export1/'+Ids, {
+        }, `property_${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' })});
+
     }
   }
+
 };
 </script>
+<style>
+.el-table__row.statistics-warning-row {
+  background: #E0EEFE;
+
+}
+.el-table__row.statistics-warning-row1 {
+  background: #FFEFF2;
+
+}
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
+</style>

--
Gitblit v1.9.1