Bladeren bron

fix: 预警组 - 多企微客服选择去重逻辑兼容

zhengxy 1 jaar geleden
bovenliggende
commit
4624879bf2

+ 25 - 4
project/src/components/assembly/screen/customerServiceCorp.vue

@@ -113,7 +113,11 @@ export default {
113 113
     icon_arrow_bg: {
114 114
       type: Boolean,
115 115
       default: true
116
-    }
116
+    },
117
+    isUniqueUserid: { // 是否按userid去重(默认“是”,部分旧业务使用的逻辑)
118
+      type: Boolean,
119
+      default: true,
120
+    },
117 121
   },
118 122
   watch: {
119 123
     reset () {
@@ -152,6 +156,7 @@ export default {
152 156
       }
153 157
     },
154 158
     afferent_init () {//从外面传入
159
+      const isUniqueUserid  = this.isUniqueUserid
155 160
       let selectUser = [];
156 161
       if (this.afferent_users && this.afferent_users.length >= 0) {
157 162
         let self_afferent_users = this.afferent_users.map((v) => {
@@ -170,7 +175,12 @@ export default {
170 175
         let final_result = JSON.parse(JSON.stringify(selectUser))
171 176
         let tmp = {};
172 177
         final_result = final_result.reduce((list, item) => {
173
-          tmp[item.user_id] ? '' : (tmp[item.user_id] = list.push(item));
178
+          console.log('isUniqueUserid => ', isUniqueUserid)
179
+          if (isUniqueUserid) {
180
+            tmp[item.user_id] ? '' : (tmp[item.user_id] = list.push(item));
181
+          } else {
182
+            tmp[`${item.corpid}&&&${item.user_id}`] ? '' : (tmp[`${item.corpid}&&&${item.user_id}`] = list.push(item));
183
+          }
174 184
           return list
175 185
         }, []);
176 186
         this.final_result = final_result
@@ -296,6 +306,7 @@ export default {
296 306
       this.$set(this.userList, index, arr)
297 307
     },
298 308
     selectUserEvent (type, main_index, user_index) {
309
+      const isUniqueUserid = this.isUniqueUserid
299 310
       let selectUser = this.selectUser
300 311
       let user_arr = this.userList[main_index];
301 312
       if (type == 'all') {//点击部门全选时
@@ -313,7 +324,12 @@ export default {
313 324
         let brr = user_arr.user_list[user_index]
314 325
         if (brr.is_select) {
315 326
           selectUser = selectUser.filter((v) => {
316
-            return v.user_id != brr.user_id
327
+            console.log('isUniqueUserid => ', isUniqueUserid)
328
+            if (isUniqueUserid) {
329
+              return v.user_id != brr.user_id
330
+            } else {
331
+              return `${v.corpid}&&&${v.user_id}` != `${brr.corpid}&&&${brr.user_id}`
332
+            }
317 333
           })
318 334
         } else {
319 335
           selectUser.push(brr)
@@ -323,7 +339,12 @@ export default {
323 339
       // 去重
324 340
       let tmp = {};
325 341
       selectUser = selectUser.reduce((list, item) => {
326
-        tmp[item.user_id] ? '' : (tmp[item.user_id] = list.push(item));
342
+        console.log('isUniqueUserid => ', isUniqueUserid)
343
+        if (isUniqueUserid) {
344
+          tmp[item.user_id] ? '' : (tmp[item.user_id] = list.push(item));
345
+        } else {
346
+          tmp[`${item.corpid}&&&${item.user_id}`] ? '' : (tmp[`${item.corpid}&&&${item.user_id}`] = list.push(item));
347
+        }
327 348
         return list
328 349
       }, []);
329 350
       this.selectUser = selectUser

+ 8 - 4
project/src/components/warningManage/warnList.vue

@@ -71,10 +71,14 @@
71 71
         <div class="itemBox" style="margin-bottom:20px">
72 72
           <div class="name">&nbsp;&nbsp;客服号:</div>
73 73
           <div class="ipt">
74
-            <customerServiceCorp title=''
75
-                                 :afferent_users='afferent_users'
76
-                                 :icon_arrow_bg='false' width="360px"
77
-                                 style="margin:0;width:360px;" @customerDefine="(val)=>{get_djuser_list=val}"></customerServiceCorp>
74
+            <customerServiceCorp
75
+              title=''
76
+              :afferent_users='afferent_users'
77
+              :icon_arrow_bg='false' width="360px"
78
+              style="margin:0;width:360px;"
79
+              :isUniqueUserid="false"
80
+              @customerDefine="(val)=>{get_djuser_list=val}"
81
+            />
78 82
           </div>
79 83
         </div>
80 84
       </div>