From 05d623d5b806f6650b9544dcbd4f322d677bf9a8 Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期二, 26 三月 2024 16:44:40 +0800
Subject: [PATCH] 完善直播模块2

---
 ruoyi-ui/src/views/honor/index.vue |  386 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 249 insertions(+), 137 deletions(-)

diff --git a/ruoyi-ui/src/views/honor/index.vue b/ruoyi-ui/src/views/honor/index.vue
index 0af73a3..8865b0e 100644
--- a/ruoyi-ui/src/views/honor/index.vue
+++ b/ruoyi-ui/src/views/honor/index.vue
@@ -1,25 +1,12 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
-      <el-form-item label="" prop="phone wx qq twitter isAlways remark" >
-        <el-input
-          v-model:phone="queryParams.phone"
-          v-model:wx="queryParams.wx"
-          v-model:qq="queryParams.qq"
-          v-model:twitter="queryParams.twitter"
-          v-model:isAlways="queryParams.isAlways"
-          v-model:remark="queryParams.remark"
-          placeholder="鍦ㄢ�滆瘉浠躲�佽崳瑾夈�佽祫璐ㄢ�濅腑鎼滅储"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery">
-          <i slot="prefix" class="el-input__icon el-icon-search"></i>
-        </el-input>
-
-      </el-form-item>
       <el-form-item label="鍚嶇О" prop="name">
         <el-select v-model="queryParams.name" placeholder="鎵�鏈夊悕绉�" clearable
-                   style="width: 240px" @keyup.enter.native="handleQuery">
+                   style="width: 240px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;" @keyup.enter.native="handleQuery">
           <el-option v-for="item in typeOptions"
                      :key="item.value" :label="item.label" :value="item.value"/>
         </el-select>
@@ -29,7 +16,10 @@
           v-model="queryParams.type"
           placeholder="鎵�鏈夌被鍒�"
           clearable
-          style="width: 240px"
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
           @keyup.enter.native="handleQuery"
         >
           <el-option
@@ -48,7 +38,10 @@
           v-model="queryParams.grade"
           placeholder="璇疯緭鍏ョ骇鍒�"
           clearable
-          style="width: 240px"
+          style="width: 200px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;"
           @keyup.enter.native="handleQuery">
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
@@ -105,7 +98,7 @@
             v-hasPermi="['family:note:export']"
           >瀵煎叆妯℃澘涓嬭浇</el-button>
         </el-col>
-        <el-col :span="1.2">
+        <el-col :span="1.5">
 
           <el-upload
             action=""
@@ -116,7 +109,7 @@
           >
             <el-button size="mini"   type="primary"
                        plain
-                       icon="el-icon-plus" >瀵煎叆</el-button>
+                       icon="el-icon-top" >瀵煎叆</el-button>
 
           </el-upload>
         </el-col>
@@ -131,22 +124,22 @@
         <template slot-scope="scope">{{scope.row.type? scope.row.type: '鈥斺�斺�斺��'}}</template>
 <!--        <template slot-scope="scope">{{ getSrc1(scope.row.type) }}</template>-->
       </el-table-column>
-      <el-table-column label="鍚嶇О" prop="name" sortable  width="120" align="center" >
+      <el-table-column label="鍚嶇О" prop="name" sortable :show-overflow-tooltip="true"  width="120" align="center" >
         <template slot-scope="scope">{{scope.row.name? scope.row.name: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="璇佸彿/涓撲笟" prop="idNo" sortable width="170" align="center" >
+      <el-table-column label="璇佸彿/涓撲笟" prop="idNo" sortable :show-overflow-tooltip="true" width="170" align="center" >
         <template slot-scope="scope">{{scope.row.idNo? scope.row.idNo: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="绾у埆" prop="grade" sortable width="120" align="center">
+      <el-table-column label="绾у埆" prop="grade" sortable :show-overflow-tooltip="true" width="120" align="center">
         <template slot-scope="scope">{{scope.row.grade? scope.row.grade: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="鏈夋晥鏃堕棿" prop="validityDate" sortable width="170" align="center" >
+      <el-table-column label="鏈夋晥鏃堕棿" prop="validityDate" :show-overflow-tooltip="true" sortable width="170" align="center" >
         <template slot-scope="scope">{{scope.row.validityDate? scope.row.validityDate: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="鑾峰緱鏃堕棿" prop="getDate" sortable width="170" align="center" >
+      <el-table-column label="鑾峰緱鏃堕棿" prop="getDate" sortable :show-overflow-tooltip="true" width="170" align="center" >
         <template slot-scope="scope">{{scope.row.getDate? scope.row.getDate: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
-      <el-table-column label="瀛樻斁浣嶇疆" prop="location" sortable width="170" align="center" >
+      <el-table-column label="瀛樻斁浣嶇疆" prop="location" sortable :show-overflow-tooltip="true" width="170" align="center" >
         <template slot-scope="scope">{{scope.row.location? scope.row.location: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
       <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" align="center">
@@ -175,29 +168,32 @@
         <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
       </el-table-column>
       <!--      </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
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:role:edit']"
-          >淇敼</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['system:role:remove']"
-          >鍒犻櫎</el-button>
-
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-d-arrow-right"
-            @click="handleCheck(scope.row)">
-            鏌ョ湅璇︽儏</el-button>
+          <div class="button-container">
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['system:role:edit']"
+            >
+              <span style="font-size: 14px;">淇敼</span>
+            </el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['system:role:remove']"
+            ><span style="font-size: 14px;">鍒犻櫎</span></el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-d-arrow-right"
+              @click="handleCheck(scope.row)">
+              <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button>
+          </div>
         </template>
       </el-table-column>
     </el-table>
@@ -237,13 +233,15 @@
           </el-input>
         </el-form-item>
         <el-form-item label="鏈夋晥鏃堕棿" prop="validityDate">
-          <el-input v-model="formDat.validityDate" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" >
-          </el-input>
+          <el-date-picker v-model="formDat.validityDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡"
+                          :editable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
+          ></el-date-picker>
         </el-form-item>
 
         <el-form-item label="鑾峰緱鏃堕棿" prop="getDate">
-          <el-input v-model="formDat.getDate" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" >
-          </el-input>
+          <el-date-picker v-model="formDat.getDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡"
+                          :editable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item label="瀛樻斁浣嶇疆" prop="location">
           <el-input v-model="formDat.location" placeholder="璇疯緭鍏ュ瓨鏀句綅缃�" clearable :style="{width: '100%'}" >
@@ -257,22 +255,29 @@
         <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"
+		  :on-change="handleChange"
+		  :auto-upload="false"
+		  	ref="upload"
+		  
+		  
         >
-          <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}">
-            <img
-              class="el-upload-list__item-thumbnail"
-              :src="file.url"
-              alt=""
-              style="width: 126px; height: 126px"
-              fit="cover"
-              :preview-src-list="[file.url]"
-            >
+         <i  slot="default" class="el-icon-plus"></i>
+          <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"
@@ -293,6 +298,13 @@
 
           </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=""
@@ -301,19 +313,61 @@
           multiple
 
           :on-remove="handleRemoveFile"
-          :http-request="requestUpload"
-          :show-file-list="true"
+         
+		  
+		  ref="upload1"
+		  :on-change="handleChange1"
+		  :auto-upload="false"
+		  list-type="picture-card"
+		    :http-request="requestUpload1"
+		    :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}">
+            <!-- 娣诲姞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>
+  
         </el-upload>
-
+	 <el-button
+		          style="margin-left: 10px"
+		          size="small"
+		          type="success"
+		          @click="fileUpload"
+		        >涓婁紶鍒版湇鍔″櫒</el-button>
       </el-form>
       <h4 class="form-header"> </h4>
-
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button>
         <el-button @click="cancelData">鍙� 娑�</el-button>
@@ -377,11 +431,15 @@
       fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
         '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
       fileList:[],
+      fileList1:[],
+      uploadFileList: [],
+      		uploadFileList1: [],
       fileListOther:[],
       dsb:true,
       btn:false,
       fit:['fill'],
       uploading: false,
+      uploading1: false,
       formDat: {
         //鑽h獕璇佷功璁板綍
         id:undefined,
@@ -394,7 +452,7 @@
         getDate:undefined,
         location:undefined,
         remark:undefined,
-        url: undefined,
+        url: '',
 
       },
       // 鑿滃崟鍒楄〃
@@ -521,7 +579,6 @@
       );
       listType(this.queryParams).then(response => {
           this.typeList = response.data;
-          this.total = response.data.total;
           // console.log( this.typeList )
           // 鍦ㄥ洖璋冨嚱鏁颁腑璋冪敤 getTypeOptions()
           this.getTypeOptions();
@@ -546,21 +603,6 @@
       }, []);
 
     },
-    /** 鏌ヨ绫诲埆淇℃伅 */
-    // getCateInfor()
-    // {
-    //   let _this = this
-    //   getCategory().then(response=>{
-    //
-    //     // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
-    //     //   _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
-    //     response.data.itemValues.replace("{", "").replace("}", "").split(",").map(elem => {
-    //       const label = elem.split(":")[0].trim();
-    //       const value = parseInt(elem.split(":")[1].trim());
-    //       _this.typeOptions.push({ "label": label, "value": value });
-    //     })
-    //   })
-    // },
     //绫诲埆閫夋嫨
     getSrc1(type){
       if(type===0){
@@ -599,15 +641,21 @@
     handleRemove(file) {
       for(let i = 0; i < this.fileList.length; i++)
       {
-        if(this.fileList[i].url==file.url)
-          this.$delete(this.fileList,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);
+      if(this.fileListOther[i].url==file.url)
+      {		  
+        this.$delete(this.fileListOther,i);
+        this.$delete(this.uploadFileList1,i);		  
+        }
       }
     },
     // 鍙栨秷鎸夐挳
@@ -708,59 +756,118 @@
     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
+      // 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) {
 
           addHonor(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();
           });
         }
       });
-      // 娓呯┖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})
-
-        }
-
-        else{
-          _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;
@@ -830,6 +937,11 @@
   background: #FFEFF2;
 
 }
-
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
 
 </style>

--
Gitblit v1.9.1