From 7bbf99f0f2030d2d0672aa8d7e46ddf3cc4ab19a Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期二, 14 五月 2024 17:24:13 +0800
Subject: [PATCH] 在家大事迹中获取到了roleID

---
 ruoyi-ui/src/views/bignote/index.vue |  445 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 319 insertions(+), 126 deletions(-)

diff --git a/ruoyi-ui/src/views/bignote/index.vue b/ruoyi-ui/src/views/bignote/index.vue
index d52b55f..ecda823 100644
--- a/ruoyi-ui/src/views/bignote/index.vue
+++ b/ruoyi-ui/src/views/bignote/index.vue
@@ -48,10 +48,10 @@
         />
 
       </el-form-item>
-      <el-form-item label="鏃堕棿">
+      <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;
@@ -63,23 +63,23 @@
           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
@@ -124,7 +124,7 @@
           v-hasPermi="['family:note:export']"
         >瀵煎叆妯℃澘涓嬭浇</el-button>
       </el-col>
-      <el-col :span="1.2">
+      <el-col :span="1.5">
 
         <el-upload
           action=""
@@ -135,7 +135,7 @@
         >
           <el-button size="mini"   type="primary"
                      plain
-                     icon="el-icon-plus" >瀵煎叆</el-button>
+                     icon="el-icon-top">瀵煎叆</el-button>
 
         </el-upload>
       </el-col>
@@ -147,45 +147,52 @@
     <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="鍙戠敓鏃堕棿" prop="happenTime" sortable width="100" align="center">
+      <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="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="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="160" >
+      <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="150px" align="center">
+
         <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"
-          >
+          <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="鎿嶄綔" 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"
+            :disabled="!scope.row.ownData"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['familymodel:bignote:list']"
           >淇敼</el-button>
@@ -193,6 +200,7 @@
             size="mini"
             type="text"
             icon="el-icon-delete"
+            :disabled="!scope.row.ownData"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:role:remove']"
           >鍒犻櫎</el-button>
@@ -200,6 +208,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>
@@ -232,10 +241,8 @@
         </el-form-item>
 
         <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime">
-          <el-date-picker
-            v-model='formDat.happenTime'
-            type='date'
-            placeholder='閫夋嫨鏃ユ湡'
+          <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">
@@ -245,59 +252,109 @@
         <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"
         >
           <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>
+		<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
-
-          :on-remove="handleRemove"
-          :http-request="requestUpload"
+	  		ref="upload1"
+		:on-change="handleChange1"
+		:auto-upload="false"
+        list-type="picture-card"
+          :http-request="requestUpload1"
           :show-file-list="true"
         >
-          <el-button type="primary">Click to upload</el-button>
-          <template #tip>
-            <div class="el-upload__tip">
-            </div>
-          </template>
-        </el-upload>
+      <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="../../assets/images/deviceLis.png"
+               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>
 
@@ -326,6 +383,7 @@
 
 //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
 import {listFamilyevent,enload, delFamilyevent  , addFamilyevent , uploadPic} from "@/api/bignote/index";
+import {getInfo} from "@/api/login";
 export default {
   name: "Role",
   dicts: ['sys_normal_disable'],
@@ -348,6 +406,8 @@
       total: 0,
       // 瀹跺ぇ浜嬭琛ㄦ牸鏁版嵁
       familyList: [],
+
+
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -361,14 +421,16 @@
       // 鏃ユ湡鑼冨洿
       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:[],
+	  fileList1:[],
+	  	  uploadFileList: [],
+		uploadFileList1: [],
+      fileListOther:[],
       dsb:true,
       btn:false,
+      uploading: false,
       formDat: {
         // type: undefined,
         title: undefined,
@@ -378,7 +440,7 @@
         remark: undefined,
         familyId:undefined,
         happenTime:undefined,
-        url: undefined,
+        url: '',
       },
       // 鑿滃崟鍒楄〃
       menuOptions: [],
@@ -425,8 +487,8 @@
         }],
         happenTime: [{
           required: true,
-          message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
-          trigger: 'change'
+          message: '璇烽�夋嫨鏃ユ湡',
+          trigger: 'blur'
         }],
       },
       typeOptions: [],
@@ -435,9 +497,23 @@
   created() {
     this.getList();
     //   this.getCateInfor()
+    this.getInfo()
 
   },
   methods: {
+    getInfo(){
+      console.log('-----------------')
+      getInfo().then(response=>{
+        console.log(response)
+      })
+    },
+
+    isImage(fileType) {
+      return fileType.startsWith('image/');
+    },
+    isInFot(fileName) {
+      return this.fot.includes(fileName);
+    },
     // 鍙栨秷鎸夐挳
     cancelData() {
       this.open = false;
@@ -465,16 +541,21 @@
       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 => {
       listFamilyevent(this.queryParams).then(response => {
           //  alert(123)
-          //   console.log(response.data.data)
           // alert(response.data.data[1].url)
-          this.familyList = response.data.data;
+          if(response.msg=="鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�")
+          {
+              _this.$modal.msgSuccess("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�");
+              _this.loading = false;
+          }else{
+          _this.familyList = response.data.data;
 
-          this.total = response.data.total;
-          this.loading = false;
+          _this.total = response.data.total;
+          _this.loading = false;
+          }
         }
       );
     },
@@ -547,7 +628,7 @@
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       const id = row.id;
-      let jd = true
+      let jd = true;
 
       this.$router.push({
         path:"/familymodel/bignote/familyeventInfo/" + id,
@@ -557,6 +638,36 @@
       });
     },
 
+    handleRemove(file) {
+		//alert(98)
+		//alert(this.fileList.length)
+     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);
+		 }
+     }
+	 // let ul = this.fileList.map(function (elem){
+	 //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+	 // }).join(",")
+	 // alert(this.fileListOther.length)
+	 // let uls = this.fileListOther.map(function (elem){
+	 //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+	 // }).join(",")
+	 // this.formDat.url = ul+","+uls;
+    },
+    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);
+		  }
+      }
+    },
 
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
@@ -565,46 +676,122 @@
     /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
     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
+	//  alert(this.formDat.url)
       this.$refs["elForm"].validate(valid => {
         if (valid) {
 
           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)
+	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)
+
+		})
+    			// console.log(formData,'465456456')
+		//alert(90)
+		let _this = this
+		//alert(9)
+	    uploadPic(formData).then(response => {
+		//	alert("dds")
+			// console.log(response,'123123123')
+    //     console.log(_this.formDat.url,'666')
+	      _this.formDat.url = _this.formDat.url+","+response.fileNames
+		  	 // alert(_this.formDat.url)
+		  _this.uploadFileList = []
+		  _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+
+	  });
+	},
+    requestUpload(params) {
+//alert(98)
+ //    this.uploadFileList.push(params.file);
+    },
+    requestUpload1(params)
     {
-      var file = params.file;
-      var formData = new FormData();
-      formData.append('uploadFile', file);
-      let _this = this
-
-      uploadPic(formData).then(response => {
-        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
-        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})
-
-        }
-      })
-
+		//     this.uploadFileList1.push(params.file);
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
@@ -660,7 +847,7 @@
   }
 };
 </script>
-<style>
+<style scoped="">
 .el-table__row.statistics-warning-row {
   background: #E0EEFE;
 
@@ -669,4 +856,10 @@
   background: #FFEFF2;
 
 }
+.el-table__cell {
+  font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */
+}
+.button-container {
+  display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */
+}
 </style>

--
Gitblit v1.9.1