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/clean/cleanInfo.vue |  277 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 220 insertions(+), 57 deletions(-)

diff --git a/ruoyi-ui/src/views/clean/cleanInfo.vue b/ruoyi-ui/src/views/clean/cleanInfo.vue
index 56fa346..3da5c5f 100644
--- a/ruoyi-ui/src/views/clean/cleanInfo.vue
+++ b/ruoyi-ui/src/views/clean/cleanInfo.vue
@@ -1,18 +1,28 @@
 <template>
-  <div class="app-container">
+  <div class="app-container" id="printable-content">
     <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>
+      <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"  v-print="'#printable-content'" v-hasPermi="['person:information:memo']">
+            <div class="form" ><el-icon  style="padding-right:100px;"></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="120px">
-      <!-- <el-form-item label="搴忓彿" 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="kind">
-        <el-select v-model="formData.kind=== 1 ? '鏀剁撼':'淇濇磥'" placeholder="璇烽�夋嫨淇濇磥/鏀剁撼" clearable :style="{width: '100%'}" :disabled="dsb" >
-        </el-select>
+        <template v-if="dsb">
+          <el-input v-model="formData.kind === 1 ? '鏀剁撼':'淇濇磥'" :disabled="true"></el-input>
+        </template>
+        <template v-else>
+          <el-select v-model="formData.kind" placeholder="璇烽�夋嫨淇濇磥/鏀剁撼" clearable :style="{width: '100%'}">
+            <el-option label="鏀剁撼" value="1"></el-option>
+            <el-option label="淇濇磥" value="0"></el-option>
+          </el-select>
+        </template>
       </el-form-item>
       <el-form-item label="绫诲埆" prop="type">
         <el-input v-model="formData.type" placeholder="璇疯緭鍏ョ被鍒�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
@@ -34,53 +44,62 @@
         </el-input>
       </el-form-item>
       <el-form-item label="鏃堕棿" prop="happenTime">
-        <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+        <el-date-picker v-model="formData.happenTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡"
+                        :editable="false" :clearable="false" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd"
+        ></el-date-picker>
       </el-form-item>
       <el-form-item label="澶囨敞" prop="remark">
         <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
       </el-form-item>
-
 
       <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
       <el-upload
         action="#"
         list-type="picture-card"
         multiple
+        accept="image/jpeg, image/png,image/jpg, image/WMF,image/gif"
         :http-request="requestUpload"
         :file-list="fileList"
+        :disabled="!btn"
+        :class="{ hide: !btn }"
+
+
       >
-        <i slot="default" class="el-icon-plus"></i>
+        <div v-if="uploading1" class="upload-status">姝e湪涓婁紶...</div>
+        <i v-if="!uploading1" 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"
+            style="width: 100%; height: 100%; object-fit: cover;"
             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"
-            class="el-upload-list__item-delete"
-            @click="handleRemove(file)"
-          >
-            <i class="el-icon-delete"></i>
-          </span>
+        <span
+
+          class="el-upload-list__item-preview"
+          @click="handlePictureCardPreview(file)"
+        >
+<!--          <i class="el-icon-zoom-in"></i>-->
+          <i  class="el-icon-zoom-in"></i>
         </span>
+        <span
+
+          class="el-upload-list__item-delete"
+          @click="handleDownload(file.url)"
+        >
+          <i class="el-icon-download"></i>
+        </span>
+        <span
+          v-if="isShow"
+          class="el-upload-list__item-delete"
+          @click="handleRemove(file)"
+        >
+          <i class="el-icon-delete"></i>
+        </span>
+      </span>
 
 
         </div>
@@ -92,37 +111,79 @@
         :file-list="fileListOther"
         class="upload-demo"
         multiple
-        :on-preview="handlePreview"
-
-        :on-remove="handleRemove"
-        :http-request="requestUpload"
+        list-type="picture-card"
+        :on-preview="handleFileCardPreview"
+        :on-remove="handleRemoveFile"
+        :http-request="requestUpload1"
         :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="../../assets/401_images/401.gif"
+               alt=""
+               style="width: 100%; height: 100%"
+               fit="cover">
+
+          <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>
 <script>
-import {getCLeanInfo,  uploadPic, download} from "@/api/clean/index";
+import {getCLeanInfo, updateClean, uploadPic, download} from "@/api/clean/index";
 import {addRole, updateRole} from "@/api/system/role";
 import {blobValidate} from "@/utils/ruoyi";
 import errorCode from "@/utils/errorCode";
 import {Message} from "element-ui";
+
 
 export default {
   components: {},
@@ -139,6 +200,9 @@
       ],
       dsb:true,
       btn:false,
+      isShow:true,
+      uploading: false,
+      uploading1: false,
       formData: {
         type: undefined,
         kind: undefined,
@@ -210,12 +274,15 @@
       jd =  this.$route.query.detail
       this.btn= jd
       this.dsb = !jd
+      this.isShow=true
       document.title = "淇敼淇濇磥鏀剁撼璇︾粏淇℃伅";
       this.$route.meta.title = "淇敼淇濇磥鏀剁撼璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
     }
     else{
-      document.title = "鏌ョ湅淇濇磥鏀剁撼璇︾粏淇℃伅";
-      this.$route.meta.title = "鏌ョ湅淇濇磥鏀剁撼璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+      document.title = "淇濇磥鏀剁撼璇︾粏淇℃伅";
+      this.$route.meta.title = "淇濇磥鏀剁撼璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+      this.btn = false;
+      this.isShow=false;
     }
 
     let _this = this
@@ -263,6 +330,25 @@
         return '鑷姩鎵e垝'
       }
     },
+    handleRemove(file) {
+      for(let i = 0; i < this.fileList.length; i++)
+      {
+        if(this.fileList[i].url==file.url)
+          this.$delete(this.fileList,i);
+        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;
+        updateClean(this.formData).then(response => {
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          // this.open = false;
+          // this.btn=false
+        });
+      }
+    },
 
     submitForm() {
       let ul = this.fileList.map(function (elem){
@@ -275,10 +361,9 @@
 
       this.$refs['elForm'].validate(valid => {
 
-
         if (valid) {
           if (this.formData.id != undefined) {
-            updateEconomy(this.formData).then(response => {
+            updateClean(this.formData).then(response => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               // this.open = false;
               this.btn=false
@@ -310,19 +395,41 @@
 
 
     handlePictureCardPreview(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');
-
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
     },
-    //鍒犻櫎鍥剧墖
+    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');
+    },
+    //鍒犳枃浠�
     handleRemoveFile(file,) {
 
       for(let i = 0; i < this.fileListOther.length; i++)
       {
         if(this.fileListOther[i].url==file.url)
           this.$delete(this.fileListOther,i);
+        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;
+        updateClean(this.formData).then(response => {
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          // this.open = false;
+          // this.btn=false
+        });
       }
     },
     handleDownload(url) {
@@ -349,10 +456,48 @@
       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;
+        console.log(_this.fot.includes(pth))
+        // debugger
+        if(_this.fot.includes(pth) === true)
+        {
+          _this.fileList.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)
+          updateClean(this.formData).then(response => {
+            this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+            // this.open = false;
+            // this.btn=false
+          });
+        }
+        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})
@@ -361,11 +506,23 @@
 
         else{
           _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
+          let ul = this.fileList.map(function (elem){
+            return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+          }).join(",")
+          let uls = this.fileListOther.map(function (elem){
+            return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+          }).join(",")
+          this.formData.url = ul+","+uls
+          console.log(this.formData.url)
+          updateClean(this.formData).then(response => {
+            this.$modal.msgSuccess("鏂囨。涓婁紶鎴愬姛");
+            // this.open = false;
+            // this.btn=false
+          });
         }
       })
 
-    }
+    },
 
   }
 }
@@ -386,4 +543,10 @@
   display: block;
   position: absolute;
 }
+.hide .el-upload--picture-card {
+  display: none;
+}
+.form{
+  background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
 </style>

--
Gitblit v1.9.1