From d647d78c29afaeff8e6ba01d01cf9c2dc6e53479 Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期六, 20 四月 2024 18:43:11 +0800
Subject: [PATCH] 修改所有备忘录上传图片

---
 ruoyi-ui/src/views/collection/index.vue |  246 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 187 insertions(+), 59 deletions(-)

diff --git a/ruoyi-ui/src/views/collection/index.vue b/ruoyi-ui/src/views/collection/index.vue
index f51f92d..6be8625 100644
--- a/ruoyi-ui/src/views/collection/index.vue
+++ b/ruoyi-ui/src/views/collection/index.vue
@@ -4,7 +4,7 @@
       <el-form-item label="鏃堕棿" prop="happenTime">
         <el-date-picker
           v-model="dateRange"
-          style="width:  197px;
+          style="width:  240px;
           height: 30px;
           background: #FFFFFF;
           border-radius: 14px 14px 14px 14px;
@@ -169,7 +169,7 @@
             v-hasPermi="['family:note:export']"
           >瀵煎叆妯℃澘涓嬭浇</el-button>
         </el-col>
-        <el-col :span="1.2">
+        <el-col :span="1.5">
 
           <el-upload
             action=""
@@ -180,15 +180,15 @@
           >
             <el-button size="mini"   type="primary"
                        plain
-                       icon="el-icon-plus" >瀵煎叆</el-button>
+                      icon="el-icon-top" >瀵煎叆</el-button>
           </el-upload>
         </el-col>
         <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       </el-row>
     </div>
-    <el-table v-loading="loading" :data="collectionList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
+    <el-table v-loading="loading" :data="collectionList" :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 fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="60"/>
+      <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="120" align="center">
         <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
@@ -249,6 +249,7 @@
               size="mini"
               type="text"
               icon="el-icon-edit"
+			            :disabled="!scope.row.ownData"
               @click="handleUpdate(scope.row)"
               v-hasPermi="['system:role:edit']"
             >
@@ -258,6 +259,7 @@
               size="mini"
               type="text"
               icon="el-icon-delete"
+			            :disabled="!scope.row.ownData"
               @click="handleDelete(scope.row)"
               v-hasPermi="['system:role:remove']"
             ><span style="font-size: 14px;">鍒犻櫎</span></el-button>
@@ -312,7 +314,7 @@
           </el-input>
         </el-form-item>
         <el-form-item label="浠锋牸" prop="price">
-          <el-input v-model="formDat.price" placeholder="璇疯緭鍏ヤ环鏍�" clearable :style="{width: '100%'}" >
+          <el-input v-model="formDat.price" type="number" placeholder="璇疯緭鍏ヤ环鏍�" clearable :style="{width: '100%'}" >
           </el-input>
         </el-form-item>
         <el-form-item label="瀛樻斁浣嶇疆" prop="location">
@@ -332,6 +334,9 @@
           multiple
           :http-request="requestUpload"
           :file-list="fileList"
+		  :on-change="handleChange"
+		  :auto-upload="false"
+		  	ref="upload"
         >
           <i slot="default" class="el-icon-plus"></i>
           <div slot="file" slot-scope="{ file }">
@@ -365,25 +370,75 @@
 
           </div>
         </el-upload>
+		<el-button
+		         style="margin-left: 10px"
+		         size="small"
+		         type="success"
+
+		         @click="picUpload"
+		       >涓婁紶鍒版湇鍔″櫒</el-button>
         <h4 class="form-header">鍏朵粬闄勪欢 </h4>
         <el-upload
           action=""
           :file-list="fileListOther"
           class="upload-demo"
           multiple
-
+	ref="upload1"
+	list-type="picture-card"
+		:on-change="handleChange1"
+		:auto-upload="false"
           :on-remove="handleRemoveFile"
           :http-request="requestUpload1"
           :show-file-list="true"
         >
-          <el-button type="primary">鐐瑰嚮涓婁紶</el-button>
-          <div v-if="uploading1" class="upload-status">姝e湪涓婁紶...</div>
+<i slot="default" class="el-icon-plus"></i>
+        <div slot="file" slot-scope="{file}">
+          <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 -->
+          <video
+            v-if="file.url.includes('.mp4')"
+            class="el-upload-list__item-thumbnail"
+            :src="file.url"
+            style="width: 147px; height: 147px"
+            fit="cover"
+          ></video>
+          <img v-else
+               class="el-upload-list__item-thumbnail"
+               :src="file.url"
+               alt=""
+               style="width: 100%; height: 100%"
+               fit="cover"></img>
+
+          <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="handleRemoveFile(file)"
+                    >
+                      <i class="el-icon-delete"></i>
+                    </span>
+              </span>
+
+        </div>
+
           <template #tip>
             <div class="el-upload__tip">
             </div>
           </template>
         </el-upload>
-
+	 <el-button
+		          style="margin-left: 10px"
+		          size="small"
+		          type="success"
+		          @click="fileUpload"
+		        >涓婁紶鍒版湇鍔″櫒</el-button>
       </el-form>
       <h4 class="form-header"> </h4>
 
@@ -452,7 +507,10 @@
       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:[],
+ fileList1:[],
+ 	  uploadFileList: [],
+ 		uploadFileList1: [],
+ fileListOther:[],
       dsb:true,
       btn:false,
       fit:['fill'],
@@ -469,7 +527,7 @@
         price:undefined,
         location:undefined,
         remark:undefined,
-        url: undefined,
+        url: "",
 
       },
       // 鑿滃崟鍒楄〃
@@ -582,19 +640,25 @@
       // console.log(this.queryParams)
       this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
       this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
-
+      let _this = this
       //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
       listCollection(this.queryParams).then(response => {
           //  alert(123)
           //   console.log(response.data)
-          this.collectionList = response.data.data;
-          this.total = response.data.total;
-          this.loading = false;
+          if(response.msg=="鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�")
+          {
+              _this.$modal.msgSuccess("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�");
+              _this.loading = false;
+          }else{
+          _this.collectionList = response.data.data;
+          _this.total = response.data.total;
+          _this.loading = false;
+          }
         }
       );
       listType(this.queryParams).then(response => {
           this.typeList = response.data;
-          this.total = response.data.total;
+
           // console.log( this.typeList )
           // 鍦ㄥ洖璋冨嚱鏁颁腑璋冪敤 getTypeOptions()
           this.getTypeOptions();
@@ -644,14 +708,23 @@
       for(let i = 0; i < this.fileList.length; i++)
       {
         if(this.fileList[i].url==file.url)
+        {
           this.$delete(this.fileList,i);
+        		 this.$delete(this.uploadFileList,i);
+        		 }
+
       }
     },
     handleRemoveFile(file) {
       for(let i = 0; i < this.fileListOther.length; i++)
       {
         if(this.fileListOther[i].url==file.url)
+        {
+
           this.$delete(this.fileListOther,i);
+          this.$delete(this.uploadFileList1,i);
+
+          }
       }
     },
     // 鍙栨秷鎸夐挳
@@ -747,13 +820,7 @@
     /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
     submitDataScope: function() {
 
-      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.formDat.url = ul+","+uls
+
       this.$refs["elForm"].validate(valid => {
         if (valid) {
 
@@ -761,6 +828,7 @@
             this.$modal.msgSuccess("鏂板鎴愬姛");
             this.open = false;
             // 娓呯┖formDat瀵硅薄鐨勬暟鎹�
+            this.newOption = '';
             Object.keys(this.formDat).forEach(key => {
               this.formDat[key] = '';
             });
@@ -775,41 +843,101 @@
           });
         }
       });
+      // 娓呯┖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)
-    {
-      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})
-        }
-      })
-    },
-    requestUpload1(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.fileListOther.push({name:response.data.fileName, url:response.data.url})
-        }
-      })
-    },
+  handleChange(file, fileList1) {
+  	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+
+  	 // this.uploadFileList.push(file.raw);
+  	  console.log("=========5555=========")
+  	  console.log(file)
+  	//  console.log(this.uploadFileList)
+  	//  this.fileList = fileList
+  	//alert(file)
+  	    this.uploadFileList.push(file.raw);
+  	     this.fileList.push({name:file.name,url:file.url})
+  	//alert(fileList1.length)
+  	},
+  	handleChange1(file, fileOtherList1) {
+  	   //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍
+  	this.uploadFileList1.push(file.raw);
+  	 this.fileListOther.push({name:file.name,url:file.url})
+  	 // this.uploadFileList.push(file.raw);
+  	  console.log("=========5555=========")
+  	  //console.log(file)
+  	//  console.log(this.uploadFileList)
+  	//  this.fileList = fileList
+  	},
+  	fileUpload(){
+  	//	var file = params.file;
+
+  		var formData = new FormData();
+  		this.$refs.upload1.submit();
+  		// formData.append('uploadFile', file);
+  		if(this.uploadFileList1.length==0){
+  			  this.$modal.msgSuccess("鏂囨。涓婁紶鍒楄〃涓嶈兘涓虹┖!");
+  			  return
+  		}
+  		this.uploadFileList1.forEach((elem)=>{
+  			formData.append("files", elem)
+
+  		})
+
+  		let _this = this
+
+  		this.uploading = true;
+  		uploadPic(formData).then(response => {
+  		_this.uploadFileList1 = []
+  		_this.formDat.url = _this.formDat.url+","+response.fileNames
+  		_this.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛!");
+  		  })
+
+  	},
+  	picUpload()
+  	{
+  		var formData = new FormData();
+  		//alert(976)
+  		//this.$refs.upload.submit();
+  		//alert(8)
+  		//alert(this.uploadFileList.length)
+  	if(this.uploadFileList.length==0){
+  		  this.$modal.msgSuccess("鍥剧墖涓婁紶鍒楄〃涓嶈兘涓虹┖锛�");
+  		  return}
+  	//console.log(this.uploadFileList)
+  		this.uploadFileList.forEach((elem)=>{
+  			formData.append("files", elem)
+
+  		})
+  		//alert(90)
+  		let _this = this
+  		//alert(9)
+  	    uploadPic(formData).then(response => {
+  		//	alert("dds")
+  	      _this.formDat.url = _this.formDat.url+","+response.fileNames
+  		  _this.uploadFileList = []
+  		  _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+
+  	  });
+  	},
+      requestUpload(params) {
+  //alert(98)
+   //    this.uploadFileList.push(params.file);
+      },
+      requestUpload1(params)
+      {
+  		//     this.uploadFileList1.push(params.file);
+      },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
@@ -859,7 +987,7 @@
   }
 };
 </script>
-<style>
+<style scoped>
 .app-container{
   background-color: #FEF7FC;
 }

--
Gitblit v1.9.1