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/bignote/index.vue |  331 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 214 insertions(+), 117 deletions(-)

diff --git a/ruoyi-ui/src/views/bignote/index.vue b/ruoyi-ui/src/views/bignote/index.vue
index 7c75fde..0a09509 100644
--- a/ruoyi-ui/src/views/bignote/index.vue
+++ b/ruoyi-ui/src/views/bignote/index.vue
@@ -48,7 +48,7 @@
         />
 
       </el-form-item>
-      <el-form-item label="鏃堕棿">
+      <el-form-item label="鏃堕棿" prop="happenTime">
         <el-date-picker
           v-model="dateRange"
           style="width:  197px;
@@ -57,29 +57,29 @@
 border-radius: 14px 14px 14px 14px;
 opacity: 0.5;
 border: 1px solid rgba(0,0,0,0.25);"
-          value-format="yyyy-MM-dd HH-MM"
+          value-format="yyyy-MM-dd"
           type="daterange"
           range-separator="-"
           start-placeholder="寮�濮嬫棩鏈�"
           end-placeholder="缁撴潫鏃ユ湡"
         ></el-date-picker>
-      </el-form-item>
-      <el-form-item>
-        <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
+      </el-form-item><el-form-item>
+      <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;
+      <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-item>
+
     </el-form>
 
-    <div style="width: 72px;
-height: 24px;
-font-size: 18px;
-font-family: Microsoft YaHei-Regular, Microsoft YaHei;
-font-weight: 400;
-color: #000000;
-line-height: 21px;
-">瀹跺ぇ浜嬭</div>
+<!--    <div style="width: 72px;-->
+<!--height: 24px;-->
+<!--font-size: 18px;-->
+<!--font-family: Microsoft YaHei-Regular, Microsoft YaHei;-->
+<!--font-weight: 400;-->
+<!--color: #000000;-->
+<!--line-height: 21px;-->
+<!--">瀹跺ぇ浜嬭</div>-->
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -120,11 +120,11 @@
           plain
           icon="el-icon-download"
           size="mini"
-          @click="handleExport"
+          @click="handleExportTemplate"
           v-hasPermi="['family:note:export']"
         >瀵煎叆妯℃澘涓嬭浇</el-button>
       </el-col>
-      <el-col :span="1.2">
+      <el-col :span="1.5">
 
         <el-upload
           action=""
@@ -134,8 +134,8 @@
           :http-request="handleEnport"
         >
           <el-button size="mini"   type="primary"
-          plain
-          icon="el-icon-plus" >瀵煎叆</el-button>
+                     plain
+                     icon="el-icon-top">瀵煎叆</el-button>
 
         </el-upload>
       </el-col>
@@ -144,45 +144,51 @@
     </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 v-loading="loading"  :data="familyList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName">
+      <el-table-column type="selection"  :reserve-selection="true" width="55"  align="center" />
 
-  <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.happenTime) }}</span>
+      <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/>
+      <el-table-column label="鍙戠敓鏃堕棿" prop="happenTime" sortable width="200px" align="center">
+        <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="浜虹墿" prop="people" sortable width="150px" />
+      <el-table-column label="鍦扮偣" prop="address" sortable width="150px" />
+      <el-table-column label="澶т簨鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150px" />
+      <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="remark" sortable width="150px" >
+        <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+
+      <!-- <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" /> -->
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="150px" align="center">
+
+        <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"
+
+            ></div>
         </template>
       </el-table-column>
-      <el-table-column label="浜虹墿" prop="people" sortable width="100" />
-      <el-table-column label="鍦扮偣" prop="address" sortable width="100" />
-      <el-table-column label="澶т簨鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150" />
-
-      <el-table-column label="澶囨敞" prop="remark" 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">
+      <el-table-column label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width">
         <template slot-scope="scope" v-if="scope.row.roleId !== 1">
-          <el-button
+          <div class="button-container">
+            <el-button
             size="mini"
             type="text"
             icon="el-icon-edit"
@@ -200,6 +206,7 @@
             <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>
@@ -230,9 +237,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>
@@ -241,39 +250,39 @@
         <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
         <el-upload
           action="#"
+          accept="image/jpeg, image/png,image/jpg, image/WMF,image/gif"
           list-type="picture-card"
           multiple
           :http-request="requestUpload"
           :file-list="fileList"
         >
           <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: 126px; height: 126px"
-              fit="cover"
-              :preview-src-list="[file.url]"
-            >
+          <div slot="file" slot-scope="{ file }">
+            <template v-if="fileList">
+              <img
+                class="el-upload-list__item-thumbnail"
+                :src="file.url"
+                alt=""
+                style="width: 100%; height: 100%; object-fit: cover;"
+                fit="cover"
+                :preview-src-list="[file.url]"
+              >
+            </template>
             <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="handleRemove(file)"
-          >
-            <i class="el-icon-delete"></i>
-          </span>
-        </span>
-
-
+      <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="handleRemove(file)"
+      >
+        <i class="el-icon-delete"></i>
+      </span>
+    </span>
           </div>
         </el-upload>
         <h4 class="form-header">鍏朵粬闄勪欢 </h4>
@@ -283,11 +292,13 @@
           class="upload-demo"
           multiple
 
-          :on-remove="handleRemove"
-          :http-request="requestUpload"
+          :on-remove="handleRemoveFile"
+          :http-request="requestUpload1"
           :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>
@@ -321,7 +332,7 @@
 import { Notification, MessageBox, Message, Loading } from 'element-ui'
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
-import {listFamilyevent,enload, getFamilyeventInfo , delFamilyevent  , addFamilyevent , uploadPic} from "@/api/bignote/index";
+import {listFamilyevent,enload, delFamilyevent  , addFamilyevent , uploadPic} from "@/api/bignote/index";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -357,14 +368,13 @@
       // 鏃ユ湡鑼冨洿
       dateRange: [],
       // 鏁版嵁鑼冨洿閫夐」
-      fot:[".jpg",".jif"],
-      fileList:[
-      ],
-      fileListOther:[
-
-      ],
+      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,
+      uploading: false,
       formDat: {
         // type: undefined,
         title: undefined,
@@ -373,6 +383,7 @@
         address: undefined,
         remark: undefined,
         familyId:undefined,
+        happenTime:undefined,
         url: undefined,
       },
       // 鑿滃崟鍒楄〃
@@ -418,10 +429,10 @@
           message: '璇疯緭鍏ュ搴彿',
           trigger: 'blur'
         }],
-        createTime: [{
+        happenTime: [{
           required: true,
-          message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
-          trigger: 'change'
+          message: '璇烽�夋嫨鏃ユ湡',
+          trigger: 'blur'
         }],
       },
       typeOptions: [],
@@ -433,12 +444,22 @@
 
   },
   methods: {
+
+    isImage(fileType) {
+      return fileType.startsWith('image/');
+    },
+    isInFot(fileName) {
+      return this.fot.includes(fileName);
+    },
     // 鍙栨秷鎸夐挳
     cancelData() {
       this.open = false;
       this.reset();
     },
-
+    getRowId(row)
+    {
+      return row.id
+    },
     //闅旇鍙樿壊
     tableRowClassName({ row, rowIndex }) {
       if (rowIndex % 2 == 0) {
@@ -457,12 +478,12 @@
       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.data)
-         // alert(response.data.data[1].url)
+          // alert(response.data.data[1].url)
           this.familyList = response.data.data;
 
           this.total = response.data.total;
@@ -518,7 +539,7 @@
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      console.log(this.ids)
+    //  alert(this.ids)
       this.single = selection.length!=1
       this.multiple = !selection.length
     },
@@ -539,7 +560,7 @@
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       const id = row.id;
-      let jd = true
+      let jd = true;
 
       this.$router.push({
         path:"/familymodel/bignote/familyeventInfo/" + id,
@@ -549,7 +570,21 @@
       });
     },
 
+    handleRemove(file) {
+      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);
+      }
+    },
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
       this.dialogVisible = true;
@@ -570,21 +605,34 @@
           addFamilyevent(this.formDat).then(response => {
             this.$modal.msgSuccess("鏂板鎴愬姛");
             this.open = false;
+            // 娓呯┖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]);
+            }
             this.getList();
           });
         }
       });
+
     },
-    requestUpload(params)
-    {
+    requestUpload(params) {
+
       var file = params.file;
       var formData = new FormData();
       formData.append('uploadFile', file);
       let _this = this
-
+      this.uploading1 = true;
       uploadPic(formData).then(response => {
         let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
+        this.uploading1 = false;
+        this.$modal.msgSuccess("涓婁紶鎴愬姛");
         if(_this.fot.includes(pth) === true)
         {
           _this.fileList.push({name:response.data.fileName, "url":response.data.url})
@@ -592,44 +640,87 @@
         }
 
         else{
+          // _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+
+        }
+      })
+    },
+    requestUpload1(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.includes(pth) !== true)
+        {
+          // _this.fileList.push({name:response.data.fileName, "url":response.data.url})
           _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
 
         }
+
+        // else{
+        //   _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+        //
+        // }
       })
 
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎搴忓彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() {
+
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎵�閫変腑鏁版嵁椤癸紵').then(function() {
         return delFamilyevent(Ids);
       }).then(() => {
         this.getList();
+        this.ids = []
         this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
       }).catch(() => {});
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
+        const Ids = this.ids;
+
+      if(Ids.length==0)
+      {
       this.download('/family/zfEvent/export', {
         ...this.queryParams
+      }, `zfEvent_${new Date().getTime()}.xlsx`)
+      }
+      else{
+        this.download('/family/zfEvent/export1/'+Ids, {
+        }, `zfEvent_${new Date().getTime()}.xlsx`)
+      }
+      },
+        /** 瀵煎叆妯℃澘涓嬭浇鎿嶄綔*/
+    handleExportTemplate()
+    {
+     this.download('/family/zfEvent/model', {
+
       }, `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' })
+      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' })
-    }
+      }).catch(err)
+      {
+        Message({ message: "瀵煎叆澶辫触", type: 'error' })
+      }
 
     }
+
   }
 };
 </script>
@@ -642,4 +733,10 @@
   background: #FFEFF2;
 
 }
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
 </style>

--
Gitblit v1.9.1