Просмотр исходного кода

点击某个联系人,进入聊天页面的优化 -- 且实现清空该联系人的未读消息数

shizhongqi 11 месяцев назад
Родитель
Сommit
1771106dbc
2 измененных файлов с 32 добавлено и 15 удалено
  1. 17 1
      hdApp/src/admin/chat/list.vue
  2. 15 14
      mallApp/src/pages/chat/list.vue

+ 17 - 1
hdApp/src/admin/chat/list.vue

@@ -3,7 +3,7 @@
     <view class="list-wrap">
       <block v-if="$util.isEmpty(list.data) === false">
         <block v-for="(item, index) in list.data" :key="index">
-          <tui-list-cell :arrow="true" @click="pageTo({ url: '/admin/chat/chatPage', query: {userId: item.userId, customId: item.id, staffId: getLoginInfo.shopAdminId, shopId: getLoginInfo.shopId, name: getLoginInfo.name, avatar: shopAvatar } })">
+          <tui-list-cell :arrow="true" @click="handleItemClick(item)">
             <view class="user-card">
               <view class="user-avatar">
                 <image :src="item.avatar || getDefaultImage()" class="avatar-img" mode="aspectFill" />
@@ -90,6 +90,22 @@ export default {
     this.shopAvatar = this.getLoginInfo.avatar != '' ? this.getLoginInfo.avatar : this.$constant.imgUrl + '/retail/default-img.png';
   },
   methods: {
+    handleItemClick(item) {
+      if (item.unReadNum > 0) {
+        item.unReadNum = 0;
+      }
+      this.pageTo({
+        url: '/admin/chat/chatPage',
+        query: {
+          userId: item.userId,
+          customId: item.id,
+          staffId: this.getLoginInfo.shopAdminId,
+          shopId: this.getLoginInfo.shopId,
+          name: this.getLoginInfo.name,
+          avatar: this.shopAvatar
+        }
+      });
+    },
     init() {
       this.getMyCustomList();
     },

+ 15 - 14
mallApp/src/pages/chat/list.vue

@@ -3,20 +3,7 @@
     <view class="list-wrap">
       <block v-if="$util.isEmpty(list.data) === false">
         <block v-for="(item, index) in list.data" :key="index">
-          <tui-list-cell
-            :arrow="true"
-            @click="
-              pageTo({
-                url: '/pages/chat/chatPage',
-                query: {
-                  customId: item.customId,
-                  shopId: item.id,
-                  name: getLoginInfo.name,
-                  avatar: getLoginInfo.avatar,
-                },
-              })
-            "
-          >
+          <tui-list-cell :arrow="true" @click="handleItemClick(item)">
             <view class="user-card">
               <view class="user-avatar">
                 <image
@@ -108,6 +95,20 @@ export default {
 
   },
   methods: {
+    handleItemClick(item) {
+      if (item.unReadNum > 0) {
+        item.unReadNum = 0;
+      }
+      this.pageTo({
+        url: '/pages/chat/chatPage',
+        query: {
+          customId: item.customId,
+          shopId: item.id,
+          name: this.getLoginInfo.name,
+          avatar: this.getLoginInfo.avatar,
+        },
+      });
+    },
     init() {
       this.getMyCustomList();
     },