cnhis-design-vue 0.1.83-beta → 0.1.87-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/affix/index.js +8 -8
- package/es/age/index.js +10 -10
- package/es/alert/index.js +8 -8
- package/es/anchor/index.js +8 -8
- package/es/auto-complete/index.js +8 -8
- package/es/avatar/index.js +8 -8
- package/es/back-top/index.js +8 -8
- package/es/badge/index.js +8 -8
- package/es/base/index.js +8 -8
- package/es/big-table/index.js +127 -110
- package/es/big-table/style.css +1 -1
- package/es/breadcrumb/index.js +8 -8
- package/es/button/index.js +20 -20
- package/es/calendar/index.js +8 -8
- package/es/captcha/index.js +3 -3
- package/es/card/index.js +8 -8
- package/es/carousel/index.js +8 -8
- package/es/cascader/index.js +8 -8
- package/es/checkbox/index.js +9 -9
- package/es/col/index.js +8 -8
- package/es/collapse/index.js +8 -8
- package/es/color-picker/index.js +1 -1
- package/es/comment/index.js +8 -8
- package/es/config-provider/index.js +8 -8
- package/es/date-picker/index.js +8 -8
- package/es/descriptions/index.js +8 -8
- package/es/divider/index.js +8 -8
- package/es/drag-layout/index.js +3 -3
- package/es/drawer/index.js +8 -8
- package/es/dropdown/index.js +8 -8
- package/es/editor/index.js +1 -1
- package/es/empty/index.js +8 -8
- package/es/fabric-chart/index.js +9 -9
- package/es/form/index.js +8 -8
- package/es/form-model/index.js +8 -8
- package/es/index/index.js +893 -642
- package/es/index/style.css +1 -1
- package/es/input/index.js +9 -9
- package/es/input-number/index.js +8 -8
- package/es/layout/index.js +8 -8
- package/es/list/index.js +8 -8
- package/es/locale-provider/index.js +8 -8
- package/es/map/index.js +9 -9
- package/es/mentions/index.js +8 -8
- package/es/menu/index.js +8 -8
- package/es/message/index.js +8 -8
- package/es/multi-chat/index.js +465 -242
- package/es/multi-chat/style.css +1 -1
- package/es/multi-chat-client/index.js +419 -205
- package/es/multi-chat-client/style.css +1 -1
- package/es/multi-chat-history/index.js +4 -4
- package/es/multi-chat-record/index.js +16 -16
- package/es/multi-chat-setting/index.js +51 -44
- package/es/multi-chat-sip/index.js +1 -1
- package/es/notification/index.js +8 -8
- package/es/page-header/index.js +8 -8
- package/es/pagination/index.js +8 -8
- package/es/popconfirm/index.js +8 -8
- package/es/popover/index.js +8 -8
- package/es/progress/index.js +8 -8
- package/es/radio/index.js +9 -9
- package/es/rate/index.js +8 -8
- package/es/result/index.js +8 -8
- package/es/row/index.js +8 -8
- package/es/scale-view/index.js +24 -24
- package/es/select/index.js +11 -11
- package/es/select-label/index.js +10 -10
- package/es/select-person/index.js +2 -2
- package/es/skeleton/index.js +8 -8
- package/es/slider/index.js +8 -8
- package/es/space/index.js +8 -8
- package/es/spin/index.js +8 -8
- package/es/statistic/index.js +8 -8
- package/es/steps/index.js +8 -8
- package/es/switch/index.js +8 -8
- package/es/table-filter/index.js +170 -159
- package/es/table-filter/style.css +1 -1
- package/es/tabs/index.js +8 -8
- package/es/tag/index.js +9 -9
- package/es/time-picker/index.js +8 -8
- package/es/timeline/index.js +8 -8
- package/es/tooltip/index.js +8 -8
- package/es/transfer/index.js +8 -8
- package/es/tree/index.js +8 -8
- package/es/tree-select/index.js +8 -8
- package/es/upload/index.js +8 -8
- package/es/verification-code/index.js +2 -2
- package/lib/cui.common.js +1370 -1603
- package/lib/cui.umd.js +1370 -1603
- package/lib/cui.umd.min.js +54 -54
- package/lib/img/no-data2.3879f4a8.png +0 -0
- package/package.json +2 -2
- package/packages/big-table/src/BigTable.vue +29 -13
- package/packages/multi-chat/chat/chatHeader.vue +41 -33
- package/packages/multi-chat/chat/index.vue +93 -66
- package/packages/multi-chat/chat/scrollList.vue +4 -2
- package/packages/multi-chat/components/user-status.vue +204 -0
- package/packages/multi-chat/img/no-data2.png +0 -0
- package/packages/multi-chat/store/getters.js +3 -0
- package/packages/multi-chat/store/mutation.js +4 -1
- package/packages/multi-chat/store/state.js +2 -1
- package/packages/table-filter/src/base-search-com/BaseSearch.vue +28 -35
- package/packages/table-filter/src/components/table-modal/TableModal.vue +4 -4
- package/packages/table-filter/src/quick-search/QuickSearch.vue +9 -9
- package/es/img/audio.75c2c1ea.png +0 -0
- package/es/img/customer.a3b50156.png +0 -0
- package/es/img/customer_staff.426f87de.png +0 -0
- package/es/img/end-voice.cd63ae82.png +0 -0
- package/es/img/mute-audio.03ce245b.png +0 -0
- package/es/img/no-data.5ed2843c.png +0 -0
- package/es/img/no-data2.0ca9388b.png +0 -0
- package/es/img/notfound.3a1dabb7.png +0 -0
- package/es/img/receive.c4de18e9.png +0 -0
- package/es/img/to-session.8d3bf7b0.png +0 -0
- package/es/img/video-accept.2d7319b3.png +0 -0
- package/es/img/video_default_cover.bbbc9079.png +0 -0
- package/es/img/xb_big.7b2a9f5a.png +0 -0
- package/es/img/xb_small.dd9ba602.png +0 -0
- package/lib/img/no-data2.0ca9388b.png +0 -0
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnhis-design-vue",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.87-beta",
|
|
4
4
|
"description": "基于 Ant Desgin Vue 的UI库",
|
|
5
5
|
"keyword": "cnhis-design-vue vue cnhis",
|
|
6
6
|
"homepage": "http://dv.cnhis.com/",
|
|
@@ -93,4 +93,4 @@
|
|
|
93
93
|
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
}
|
|
96
|
+
}
|
|
@@ -285,6 +285,9 @@ export default create({
|
|
|
285
285
|
}
|
|
286
286
|
return this.primaryKey || 'theUniqueKey';
|
|
287
287
|
},
|
|
288
|
+
handlePrimaryKey() {
|
|
289
|
+
return this.isTree > 0 ? this.primaryKey || "theUniqueKey" : "theUniqueKey";
|
|
290
|
+
},
|
|
288
291
|
handleName() {
|
|
289
292
|
return function(item, key = 'name') {
|
|
290
293
|
return item.alias || item[key];
|
|
@@ -845,7 +848,7 @@ export default create({
|
|
|
845
848
|
key = temp.tooltip || temp.value; // temp.tooltip 日期的处理
|
|
846
849
|
}
|
|
847
850
|
}
|
|
848
|
-
return [<a-switch checked={key == item.btnLinkSwitchDefVal} disabled={disabled} on-change={e => this.switchBtnOnChange(e, row, item)} />];
|
|
851
|
+
return [<a-switch checked={key == item.btnLinkSwitchDefVal} disabled={disabled} on-change={e => this.switchBtnOnChange(e, row, item, index)} />];
|
|
849
852
|
},
|
|
850
853
|
// 字段显示 jsx
|
|
851
854
|
getField(row, item, index, isLink) {
|
|
@@ -1465,6 +1468,8 @@ export default create({
|
|
|
1465
1468
|
};
|
|
1466
1469
|
},
|
|
1467
1470
|
setFilterStatus() {
|
|
1471
|
+
// 表头没有过滤字段 不需要设置
|
|
1472
|
+
if(!this.filterFields || !Object.keys(this.filterFields).length) return;
|
|
1468
1473
|
let val = this.quickSearchConfig;
|
|
1469
1474
|
|
|
1470
1475
|
if (!val || !val.length) {
|
|
@@ -1477,17 +1482,22 @@ export default create({
|
|
|
1477
1482
|
// 修复 val长度和this.filterFields个数对不上 会少清空选中项
|
|
1478
1483
|
for (let key in this.filterFields) {
|
|
1479
1484
|
let item = this.filterFields[key];
|
|
1480
|
-
this.$set(item, 'CONVERT', []);
|
|
1485
|
+
item && this.$set(item, 'CONVERT', []);
|
|
1481
1486
|
}
|
|
1482
1487
|
|
|
1483
1488
|
val.forEach(item => {
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
}
|
|
1489
|
+
let itemKey = item.field_key;
|
|
1490
|
+
// 参与搜索的字段必须在 filterFields中
|
|
1491
|
+
if (itemKey in this.filterFields) {
|
|
1488
1492
|
|
|
1489
|
-
|
|
1490
|
-
|
|
1493
|
+
if (!this.filterFields[item.field_key]) {
|
|
1494
|
+
this.$set(this.filterFields[item.field_key], 'CONVERT', []);
|
|
1495
|
+
return false;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
let value = item.value.map(item => JSON.stringify(item));
|
|
1499
|
+
this.$set(this.filterFields[item.field_key], 'CONVERT', value);
|
|
1500
|
+
}
|
|
1491
1501
|
});
|
|
1492
1502
|
},
|
|
1493
1503
|
handlerInitSearchItem(arr) {
|
|
@@ -2603,8 +2613,8 @@ export default create({
|
|
|
2603
2613
|
if (!data) data = require('./assets/img/xb_big.png');
|
|
2604
2614
|
this.$emit('handlePreView', data, i);
|
|
2605
2615
|
},
|
|
2606
|
-
switchBtnOnChange(e, r, i) {
|
|
2607
|
-
this.$emit('switchBtnOnChange', e, r, i);
|
|
2616
|
+
switchBtnOnChange(e, r, i, index) {
|
|
2617
|
+
this.$emit('switchBtnOnChange', e, r, i, index);
|
|
2608
2618
|
},
|
|
2609
2619
|
hanldeCopyContent(e, value) {
|
|
2610
2620
|
e.preventDefault();
|
|
@@ -2614,12 +2624,18 @@ export default create({
|
|
|
2614
2624
|
// 链接按钮详情
|
|
2615
2625
|
linkDetail(row, col, index, e) {
|
|
2616
2626
|
if (this.isInlineOperating) return false;
|
|
2627
|
+
let vxeTable = this.$refs.xGrid;
|
|
2617
2628
|
e.preventDefault();
|
|
2618
2629
|
// e.stopPropagation();
|
|
2619
|
-
|
|
2630
|
+
// 方晶晶验收2.5.12需求, 要求link字段第一次可选中checkbox, 第二次点击不取消选中
|
|
2631
|
+
let isCheckedByCheckboxRow = vxeTable.isCheckedByCheckboxRow(row);
|
|
2632
|
+
if (isCheckedByCheckboxRow) {
|
|
2633
|
+
e.stopPropagation();
|
|
2634
|
+
}
|
|
2635
|
+
vxeTable.setCurrentRow(row);
|
|
2620
2636
|
this.$emit('setNestTableClick', this.isNestTable);
|
|
2621
2637
|
this.$emit('setCurRowIndex', index);
|
|
2622
|
-
this.$emit('linkDetail', row, col, row[this.
|
|
2638
|
+
this.$emit('linkDetail', row, col, row[this.handlePrimaryKey], null, false, index);
|
|
2623
2639
|
},
|
|
2624
2640
|
// 按钮事件
|
|
2625
2641
|
clickBtn(row, btn, index, e, j) {
|
|
@@ -2628,7 +2644,7 @@ export default create({
|
|
|
2628
2644
|
this.recordClickBtnInfo(row, index);
|
|
2629
2645
|
this.$emit('setNestTableClick', this.isNestTable);
|
|
2630
2646
|
this.$emit('setCurRowIndex', index);
|
|
2631
|
-
this.$emit('clickBtn', row, btn, row[this.
|
|
2647
|
+
this.$emit('clickBtn', row, btn, row[this.handlePrimaryKey], index);
|
|
2632
2648
|
// this.handleTopBtnTracher(btn, j);
|
|
2633
2649
|
},
|
|
2634
2650
|
recordClickBtnInfo(row, index) {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
<div>
|
|
25
25
|
<a-button v-if="isShow('TRANSFER') && sessionType == 1 && onChating" @click="handleConvertShow" :disabled="!onChating && !!convertButtonTitle">{{ convertButtonTitle }}</a-button>
|
|
26
26
|
<!-- 状态切换 -->
|
|
27
|
-
<
|
|
27
|
+
<UserStatus :assemblyId="assemblyId" :statusList="statusList" :curStatus="status" @changeStatus="changeStatus" />
|
|
28
|
+
<!-- <a-dropdown placement="bottomCenter">
|
|
28
29
|
<a-button>
|
|
29
30
|
<svg-icon v-if="statusIcon" :icon-class="statusIcon" style="font-size:16px;"></svg-icon>
|
|
30
31
|
<img v-else :src="getImg(status)" height="16" />
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
>
|
|
57
58
|
</a-menu-item>
|
|
58
59
|
</a-menu>
|
|
59
|
-
</a-dropdown>
|
|
60
|
+
</a-dropdown> -->
|
|
60
61
|
<a-button @click="handleConfirm" :disabled="!onChating" v-if="isSessionOwner && !isStaff">{{ endSessionTitle }}</a-button>
|
|
61
62
|
</div>
|
|
62
63
|
</div>
|
|
@@ -100,6 +101,7 @@ import { mapState, mapGetters, mapMutations, mapActions } from '../store/helper'
|
|
|
100
101
|
import { Layout, Button, Tooltip, Dropdown, Icon, Menu, Alert, Modal, Select, Input } from 'ant-design-vue';
|
|
101
102
|
import SvgIcon from '@/component/svg/index.vue';
|
|
102
103
|
import Avatar from '../components/avatar';
|
|
104
|
+
import UserStatus from '../components/user-status';
|
|
103
105
|
import fetch, { qs } from '@/utils/chatFetch';
|
|
104
106
|
|
|
105
107
|
export default {
|
|
@@ -118,7 +120,8 @@ export default {
|
|
|
118
120
|
[Select.Option.name]: Select.Option,
|
|
119
121
|
[Input.TextArea.name]: Input.TextArea,
|
|
120
122
|
SvgIcon,
|
|
121
|
-
Avatar
|
|
123
|
+
Avatar,
|
|
124
|
+
UserStatus,
|
|
122
125
|
},
|
|
123
126
|
props: {
|
|
124
127
|
hideHeader: {
|
|
@@ -132,7 +135,7 @@ export default {
|
|
|
132
135
|
serviceList: [],
|
|
133
136
|
converUserId: '',
|
|
134
137
|
converMark: '',
|
|
135
|
-
status: 'ON-LINE' // 客服状态
|
|
138
|
+
// status: 'ON-LINE' // 客服状态
|
|
136
139
|
};
|
|
137
140
|
},
|
|
138
141
|
computed: {
|
|
@@ -149,6 +152,7 @@ export default {
|
|
|
149
152
|
'convertButtonTitle',
|
|
150
153
|
'clientId',
|
|
151
154
|
'statusList',
|
|
155
|
+
'status',
|
|
152
156
|
'endSessionTitle',
|
|
153
157
|
'isServer',
|
|
154
158
|
'clientParams',
|
|
@@ -169,15 +173,15 @@ export default {
|
|
|
169
173
|
isStaff() {
|
|
170
174
|
return this.assemblySetting?.type === 'staff';
|
|
171
175
|
},
|
|
172
|
-
statusObj() {
|
|
173
|
-
|
|
174
|
-
},
|
|
175
|
-
statusDesc() {
|
|
176
|
-
|
|
177
|
-
},
|
|
178
|
-
statusIcon() {
|
|
179
|
-
|
|
180
|
-
},
|
|
176
|
+
// statusObj() {
|
|
177
|
+
// return this.statusList.find(item => item.status === this.status);
|
|
178
|
+
// },
|
|
179
|
+
// statusDesc() {
|
|
180
|
+
// return this.statusObj?.title;
|
|
181
|
+
// },
|
|
182
|
+
// statusIcon() {
|
|
183
|
+
// return this.statusObj?.icon || '';
|
|
184
|
+
// },
|
|
181
185
|
formatedSessionTime() {
|
|
182
186
|
let sessionTime = this.sessionTime;
|
|
183
187
|
const totalTime = this.sessionTotalTime;
|
|
@@ -215,9 +219,13 @@ export default {
|
|
|
215
219
|
'setSessionHistoryList',
|
|
216
220
|
'setClientParams',
|
|
217
221
|
'setClientId',
|
|
218
|
-
'setVoiceAlert'
|
|
222
|
+
'setVoiceAlert',
|
|
223
|
+
'setStatus'
|
|
219
224
|
]),
|
|
220
225
|
...mapActions(['setChatTimer']),
|
|
226
|
+
changeStatus(status) {
|
|
227
|
+
this.setStatus(status);
|
|
228
|
+
},
|
|
221
229
|
/**
|
|
222
230
|
* 剔除延时提醒
|
|
223
231
|
*/
|
|
@@ -322,25 +330,25 @@ export default {
|
|
|
322
330
|
this.converUserId = '';
|
|
323
331
|
});
|
|
324
332
|
},
|
|
325
|
-
getImg(name) {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
},
|
|
332
|
-
handleStatusChange(status) {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
},
|
|
333
|
+
// getImg(name) {
|
|
334
|
+
// try {
|
|
335
|
+
// return require(`../img/${name}.png`);
|
|
336
|
+
// } catch {
|
|
337
|
+
// return '';
|
|
338
|
+
// }
|
|
339
|
+
// },
|
|
340
|
+
// handleStatusChange(status) {
|
|
341
|
+
// this.status = status;
|
|
342
|
+
// let params = {
|
|
343
|
+
// assemblyId: this.assemblyId,
|
|
344
|
+
// status
|
|
345
|
+
// };
|
|
346
|
+
// fetch.post('/chat/service/updateServiceState', qs.stringify(params)).then(({ data }) => {
|
|
347
|
+
// if (data.result === 'SUCCESS') {
|
|
348
|
+
// this.$message.success(`${this.i18nText('1.9.334')}!`);
|
|
349
|
+
// }
|
|
350
|
+
// });
|
|
351
|
+
// },
|
|
344
352
|
handleConfirm() {
|
|
345
353
|
let that = this;
|
|
346
354
|
this.$confirm({
|
|
@@ -130,47 +130,55 @@
|
|
|
130
130
|
</template>
|
|
131
131
|
</a-tabs>
|
|
132
132
|
<div v-if="isNormalStyle" class="footer-operate">
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
133
|
+
<!-- 状态切换 -->
|
|
134
|
+
<UserStatus v-if="hideHeader" type="left-bottom" :assemblyId="assemblyId" :statusList="statusList" :curStatus="status" @changeStatus="changeStatus" />
|
|
135
|
+
<div class="footer-operate-right">
|
|
136
|
+
<span v-if="showSetting" class="setting-span">
|
|
137
|
+
<svg-icon icon-class="a-xitongtubiaoliaotianshezhi" @click="handleSetting" />
|
|
138
|
+
</span>
|
|
139
|
+
<span>
|
|
140
|
+
<a-tooltip placement="bottom">
|
|
141
|
+
<template slot="title">
|
|
142
|
+
<span>声音提醒</span>
|
|
143
|
+
</template>
|
|
144
|
+
<svg-icon :icon-class="voiceAlert ? 'a-xitongtubiaoliaotianlaba' : 'a-xitongtubiaoliaotianjingyin'" style="margin-right: 10px" @click="toggleVoiceAlert" />
|
|
145
|
+
</a-tooltip>
|
|
146
|
+
</span>
|
|
147
|
+
<span>
|
|
148
|
+
<a-tooltip placement="top">
|
|
149
|
+
<template slot="title">
|
|
150
|
+
<span>语音历史</span>
|
|
151
|
+
</template>
|
|
152
|
+
<svg-icon @click="toggleVideoVoiceList" icon-class="a-xitongtubiaoliaotiantonghua" />
|
|
153
|
+
</a-tooltip>
|
|
154
|
+
</span>
|
|
155
|
+
</div>
|
|
152
156
|
</div>
|
|
153
|
-
<
|
|
154
|
-
<
|
|
155
|
-
<
|
|
156
|
-
<div
|
|
157
|
-
<
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
<
|
|
166
|
-
|
|
157
|
+
<template v-else>
|
|
158
|
+
<a-popover placement="rightBottom" arrowPointAtCenter>
|
|
159
|
+
<template slot="content">
|
|
160
|
+
<div class="chat-operate-group">
|
|
161
|
+
<div v-if="showSetting" class="chat-operate-item" @click="handleSetting">
|
|
162
|
+
<svg-icon icon-class="a-xitongtubiaoliaotianshezhi" />
|
|
163
|
+
<span>设置</span>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="chat-operate-item" @click="toggleVoiceAlert">
|
|
166
|
+
<svg-icon :icon-class="voiceAlert ? 'a-xitongtubiaoliaotianlaba' : 'a-xitongtubiaoliaotianjingyin'" />
|
|
167
|
+
<span>静音</span>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="chat-operate-item" @click="toggleVideoVoiceList">
|
|
170
|
+
<svg-icon icon-class="a-xitongtubiaoliaotiantonghua" />
|
|
171
|
+
<span>通话</span>
|
|
172
|
+
</div>
|
|
167
173
|
</div>
|
|
174
|
+
</template>
|
|
175
|
+
<div class="chat-operate-more">
|
|
176
|
+
<i class="operate-more-icon"></i>
|
|
168
177
|
</div>
|
|
169
|
-
</
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
</a-popover>
|
|
178
|
+
</a-popover>
|
|
179
|
+
<!-- 状态切换 -->
|
|
180
|
+
<UserStatus v-if="hideHeader" type="left-bottom" :assemblyId="assemblyId" :statusList="statusList" :curStatus="status" @changeStatus="changeStatus" style="margin: -10px 0 8px; width: 100px;text-align: center;" />
|
|
181
|
+
</template>
|
|
174
182
|
</a-layout-sider>
|
|
175
183
|
<a-row style="width: 100%;height: 100%;overflow: hidden;">
|
|
176
184
|
<a-col :span="mainSpan" style="height: 100%;position: relative">
|
|
@@ -327,6 +335,7 @@ import VideoVoiceList from './videoVoiceList';
|
|
|
327
335
|
import addConference from './addConference';
|
|
328
336
|
import ClassifyTabs from '../components/classify-tabs';
|
|
329
337
|
import ChatTabsHeader from '../components/chat-tabs-header';
|
|
338
|
+
import UserStatus from '../components/user-status';
|
|
330
339
|
import { checkTalkingEnv } from '../utils/index';
|
|
331
340
|
|
|
332
341
|
export default {
|
|
@@ -432,6 +441,7 @@ export default {
|
|
|
432
441
|
'callings',
|
|
433
442
|
'assemblySetting',
|
|
434
443
|
'statusList',
|
|
444
|
+
'status',
|
|
435
445
|
'tabList',
|
|
436
446
|
'chatMainTitle',
|
|
437
447
|
'endSessionTitle',
|
|
@@ -625,12 +635,16 @@ export default {
|
|
|
625
635
|
'setLastCurrentTab',
|
|
626
636
|
'setQueueItem',
|
|
627
637
|
'setCurScrollItem',
|
|
628
|
-
'setSessionType'
|
|
638
|
+
'setSessionType',
|
|
639
|
+
'setStatus'
|
|
629
640
|
]),
|
|
630
641
|
...mapActions(['setChatTimer', 'getVideoHistoryList']),
|
|
631
642
|
...mapActions({
|
|
632
643
|
getMsgList: 'setMsgList'
|
|
633
644
|
}),
|
|
645
|
+
changeStatus(status) {
|
|
646
|
+
this.setStatus(status);
|
|
647
|
+
},
|
|
634
648
|
handleDateOpenChange(v) {
|
|
635
649
|
this.dateOpenStatus = v;
|
|
636
650
|
},
|
|
@@ -1621,7 +1635,8 @@ export default {
|
|
|
1621
1635
|
VideoVoiceList,
|
|
1622
1636
|
addConference,
|
|
1623
1637
|
ChatTabsHeader,
|
|
1624
|
-
ClassifyTabs
|
|
1638
|
+
ClassifyTabs,
|
|
1639
|
+
UserStatus
|
|
1625
1640
|
},
|
|
1626
1641
|
beforeDestroy() {
|
|
1627
1642
|
if (this.stompClient) {
|
|
@@ -1932,40 +1947,52 @@ export default {
|
|
|
1932
1947
|
}
|
|
1933
1948
|
.footer-operate {
|
|
1934
1949
|
display: inline-flex;
|
|
1950
|
+
justify-content: space-around;
|
|
1951
|
+
align-items: center;
|
|
1935
1952
|
width: 100%;
|
|
1953
|
+
box-sizing: border-box;
|
|
1954
|
+
padding: 0 0 0 8px;
|
|
1936
1955
|
height: 55px;
|
|
1937
1956
|
line-height: 55px;
|
|
1938
1957
|
border-top: 1px solid #f0f0f5;
|
|
1939
|
-
|
|
1940
|
-
position: relative;
|
|
1941
|
-
z-index: 2;
|
|
1942
|
-
}
|
|
1943
|
-
span {
|
|
1944
|
-
position: relative;
|
|
1958
|
+
&-right {
|
|
1945
1959
|
flex: 1;
|
|
1946
1960
|
display: inline-flex;
|
|
1947
|
-
justify-content:
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
position:
|
|
1952
|
-
|
|
1953
|
-
top: 50%;
|
|
1954
|
-
transform: translateY(-50%);
|
|
1955
|
-
width: 1px;
|
|
1956
|
-
background: #ccc;
|
|
1957
|
-
height: 22px;
|
|
1961
|
+
justify-content: flex-end;
|
|
1962
|
+
height: 100%;
|
|
1963
|
+
line-height: 55px;
|
|
1964
|
+
.setting-span {
|
|
1965
|
+
position: relative;
|
|
1966
|
+
z-index: 2;
|
|
1958
1967
|
}
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1968
|
+
span {
|
|
1969
|
+
position: relative;
|
|
1970
|
+
// flex: 1;
|
|
1971
|
+
display: inline-flex;
|
|
1972
|
+
justify-content: center;
|
|
1973
|
+
padding: 0 10px;
|
|
1974
|
+
align-items: center;
|
|
1975
|
+
&::after {
|
|
1976
|
+
content: '';
|
|
1977
|
+
position: absolute;
|
|
1978
|
+
right: 0;
|
|
1979
|
+
top: 50%;
|
|
1980
|
+
transform: translateY(-50%);
|
|
1981
|
+
width: 1px;
|
|
1982
|
+
background: #ccc;
|
|
1983
|
+
height: 22px;
|
|
1984
|
+
}
|
|
1985
|
+
.svg-icon {
|
|
1986
|
+
font-size: 20px;
|
|
1987
|
+
cursor: pointer;
|
|
1988
|
+
outline: none;
|
|
1989
|
+
color: #b5b5b5;
|
|
1990
|
+
}
|
|
1964
1991
|
}
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1992
|
+
span:last-child {
|
|
1993
|
+
&::after {
|
|
1994
|
+
width: 0;
|
|
1995
|
+
}
|
|
1969
1996
|
}
|
|
1970
1997
|
}
|
|
1971
1998
|
}
|
|
@@ -167,7 +167,8 @@ export default {
|
|
|
167
167
|
if (aLevel === bLevel) {
|
|
168
168
|
return Number(a.createdTime) - Number(b.createdTime);
|
|
169
169
|
}
|
|
170
|
-
return descOrAsc === 'desc' ? aLevel - bLevel : bLevel - aLevel;
|
|
170
|
+
// return descOrAsc === 'desc' ? aLevel - bLevel : bLevel - aLevel;
|
|
171
|
+
return descOrAsc === 'desc' ? bLevel - aLevel : aLevel - bLevel;
|
|
171
172
|
});
|
|
172
173
|
noLevel.sort((a, b) => Number(a.createdTime) - Number(b.createdTime));
|
|
173
174
|
processedScrollList = [...hasLevel, ...noLevel];
|
|
@@ -380,7 +381,7 @@ export default {
|
|
|
380
381
|
const dateParams = this.dateParams;
|
|
381
382
|
if (dateParams?.length) {
|
|
382
383
|
const fmt = 'YYYY-MM-DD';
|
|
383
|
-
params.
|
|
384
|
+
params.startDate = dateParams[0].format(fmt) + ' 00:00:00';
|
|
384
385
|
params.endDate = dateParams[1].format(fmt) + ' 23:59:59';
|
|
385
386
|
}
|
|
386
387
|
return params;
|
|
@@ -592,6 +593,7 @@ export default {
|
|
|
592
593
|
fetch.get('/chat/service/getQueueUser', { params }).then(({ data }) => {
|
|
593
594
|
if (data.result === 'SUCCESS') {
|
|
594
595
|
const obj = data.obj || {};
|
|
596
|
+
this.currentTab === 'queue' && this.dispatchEvent('click_queueListUser', JSON.parse(JSON.stringify(obj.messages || [])));
|
|
595
597
|
let messages = (obj.messages || []).map(item => {
|
|
596
598
|
item.fromName = obj.name;
|
|
597
599
|
item.content = JSON.parse(JSON.stringify(item));
|