From 1cc4da26c0dfb93bb3b9800f2c82988cfc4af3d6 Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期一, 22 五月 2023 11:45:07 +0800
Subject: [PATCH] 群组聊天修改

---
 src/views/cause/Group.vue |   89 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 85 insertions(+), 4 deletions(-)

diff --git a/src/views/cause/Group.vue b/src/views/cause/Group.vue
index 29d926c..9ac20df 100644
--- a/src/views/cause/Group.vue
+++ b/src/views/cause/Group.vue
@@ -1,5 +1,12 @@
 <template>
   <div class="groupCommunication">
+    <ul
+        v-show="visible"
+        :style="{ left: left + 'px', top: top + 'px' }"
+        class="contextmenu"
+    >
+      <li @click="deletemsg">鍒犻櫎</li>
+    </ul>
     <div class="group-left">
       <el-input v-model="filterText" class="inputleft" placeholder="璇疯緭鍏�" suffix-icon="el-icon-search">
         <!-- <el-button slot="append" icon="el-icon-search" style="width:10px;"  @click="pick"></el-button> -->
@@ -25,13 +32,16 @@
             <ul id="container" class="group-right-left-seach-body-box-ul" style="overflow:auto;height: 558px">
               <li v-for="messageOne in messageList" class="group-right-left-seach-body-box-li">
                 <div class="group-right-left-seach-body-box-imgmessage">
-                  <img v-if="messageOne.pic != null && messageOne.pic != ''" :src="messageOne.pic" class="group-img"
+                  <img v-if="messageOne.flag =='0'" src="../../icons/userman.jpg" class="group-img"
                   >
-                  <img v-if="messageOne.pic == null || messageOne.pic == ''" class="group-img"
+                  <img v-else-if="messageOne.flag =='1'" class="group-img"
+                       src="../../icons/userlady.jpg">
+                  <img v-else class="group-img"
                        src="../../icons/7bedbaa41b1744fbfe0c55b507fd9e28.png">
                   <div style="margin-left: 10px">{{ messageOne.userName }} {{ messageOne.ctime }}</div>
                 </div>
                 <div
+                    @contextmenu.prevent="openMenu($event,messageOne.messageId)"
                     :class="messageOne.remark!==null&&messageOne.remark!==undefined?'activemess':'group-right-left-seach-body-box-text' ">
                   {{ messageOne.text }}
                 </div>
@@ -99,7 +109,7 @@
   setBanSpeechAll,
   getGroupMessage,
   getGroupMessageContext,
-  seed,
+  seed, delmsg,
   //saveSubject
 } from '@/api/group'
 import {Message} from 'element-ui';
@@ -110,10 +120,29 @@
   watch: {
     filterText(val) {
       this.$refs.tree.filter(val);
-    }
+    },
+    //   鐩戝惉灞炴�у璞★紝newValue涓烘柊鐨勫�硷紝涔熷氨鏄敼鍙樺悗鐨勫��
+    visible(newValue, oldValue) {
+      if (newValue) {
+        //鑿滃崟鏄剧ず鐨勬椂鍊�
+        // document.body.addEventListener锛宒ocument.body.removeEventListener瀹冧滑閮芥帴鍙�3涓弬鏁�
+        // ("浜嬩欢鍚�" , "浜嬩欢澶勭悊鍑芥暟" , "甯冨皵鍊�");
+        // 鍦╞ody涓婃坊鍔犱簨浠跺鐞嗙▼搴�
+        document.body.addEventListener("click", this.closeMenu);
+      } else {
+        //鑿滃崟闅愯棌鐨勬椂鍊�
+        // 绉婚櫎body涓婃坊鍔犵殑浜嬩欢澶勭悊绋嬪簭
+        document.body.removeEventListener("click", this.closeMenu);
+      }
+    },
+
   },
   data() {
     return {
+      delId:null,
+      visible: false,
+      top: 0,
+      left: 0,
       groupIdlist: null,
       timer: '',
       userIdAll: 1,
@@ -161,7 +190,36 @@
   mounted() {
     this.timer = setInterval(this.setHand, 5000)
   },
+
   methods: {
+    deletemsg(){
+      console.log('鍒犻櫎娑堟伅锛�')
+      let obj={
+        id:this.delId
+      }
+      delmsg(this.delId).then(res=>{
+        console.log(res)
+        this.$message.success(res)
+        this.handleNodeClick(this.groupIdlist)
+      })
+    },
+    //鍙冲嚮
+    openMenu(e,id) {
+      console.log(e,id)
+      clearInterval(this.timer);
+      this.delId = id
+      var x = e.pageX; //杩欎釜搴旇鏄浉瀵逛簬鏁翠釜娴忚鍣ㄩ〉闈㈢殑x鍧愭爣锛屽乏涓婅涓哄潗鏍囧師鐐癸紙0,0锛�
+      var y = e.pageY; //杩欎釜搴旇鏄浉瀵逛簬鏁翠釜娴忚鍣ㄩ〉闈㈢殑y鍧愭爣锛屽乏涓婅涓哄潗鏍囧師鐐癸紙0,0锛�
+      this.top = y;
+      this.left = x;
+      this.visible = true; //鏄剧ず鑿滃崟
+
+    },
+    //鍏抽棴鑿滃崟
+    closeMenu() {
+      this.visible = false; //鍏抽棴鑿滃崟
+      this.timer = setInterval(this.setHand, 5000)
+    },
     load() {
 
       this.count += 2
@@ -586,4 +644,27 @@
   margin-left: 35px;
   color: red;
 }
+
+.contextmenu {
+  margin: 0;
+  background: #fff;
+  z-index: 3000;
+  position: fixed; //鍏抽敭鏍峰紡璁剧疆鍥哄畾瀹氫綅
+  list-style-type: none;
+  padding: 5px 0;
+  border-radius: 4px;
+  font-size: 12px;
+  font-weight: 400;
+  color: #333;
+  box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
+}
+
+.contextmenu li {
+  margin: 0;
+  padding: 7px 16px;
+  cursor: pointer;
+}
+.contextmenu li:hover {
+  background: #eee;
+}
 </style>

--
Gitblit v1.8.0