|
@@ -11,7 +11,7 @@
|
|
<el-col :span="24" class="left_2">
|
|
<el-col :span="24" class="left_2">
|
|
<el-col :span="24" class="list" v-for="(item, index) in userList" :key="index" @click.native="chatBtn(item)">
|
|
<el-col :span="24" class="list" v-for="(item, index) in userList" :key="index" @click.native="chatBtn(item)">
|
|
<el-col :span="4" class="icon">
|
|
<el-col :span="4" class="icon">
|
|
- <el-image :src="rightIcon"></el-image>
|
|
|
|
|
|
+ <el-image :src="leftIcon"></el-image>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="20" class="info">
|
|
<el-col :span="20" class="info">
|
|
<el-col :span="24" class="name textOver">
|
|
<el-col :span="24" class="name textOver">
|
|
@@ -27,14 +27,14 @@
|
|
<el-col :span="20" class="right">
|
|
<el-col :span="20" class="right">
|
|
<el-col :span="24" class="right_1">
|
|
<el-col :span="24" class="right_1">
|
|
<el-col :span="1" class="icon">
|
|
<el-col :span="1" class="icon">
|
|
- <el-image :src="rightIcon"></el-image>
|
|
|
|
|
|
+ <el-image :src="leftIcon"></el-image>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="23" class="info">
|
|
<el-col :span="23" class="info">
|
|
<el-col :span="24" class="name">
|
|
<el-col :span="24" class="name">
|
|
- 姓名
|
|
|
|
|
|
+ {{ chatUserInfo.client_name }}
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24" class="date textOver">
|
|
<el-col :span="24" class="date textOver">
|
|
- 2021-01-01
|
|
|
|
|
|
+ {{ getTime(chatUserInfo) }}
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -99,39 +99,15 @@ export default {
|
|
leftIcon: require('@a/rightIcon.png'),
|
|
leftIcon: require('@a/rightIcon.png'),
|
|
// 用户头像
|
|
// 用户头像
|
|
rightIcon: require('@a/leftIcon.png'),
|
|
rightIcon: require('@a/leftIcon.png'),
|
|
- userList: [
|
|
|
|
- { name: '你好', renew_time: '2021-01-01' },
|
|
|
|
- { name: '我不好', renew_time: '2021-01-01' },
|
|
|
|
- { name: '你就好', renew_time: '2021-01-01' },
|
|
|
|
- ],
|
|
|
|
|
|
+ // 用户列表
|
|
|
|
+ userList: [],
|
|
// 聊天列表
|
|
// 聊天列表
|
|
- chatList: [
|
|
|
|
- {
|
|
|
|
- id: '客服',
|
|
|
|
- sender_name: '客服',
|
|
|
|
- content: '信息内容1',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- id: '用户',
|
|
|
|
- sender_name: '用户',
|
|
|
|
- content: '信息内容2',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- id: '客服',
|
|
|
|
- sender_name: '客服',
|
|
|
|
- content: '信息内容3',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- id: '用户',
|
|
|
|
- sender_name: '用户',
|
|
|
|
- content: '信息内容4',
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ chatUserInfo: {},
|
|
|
|
+ chatList: [],
|
|
content: '',
|
|
content: '',
|
|
};
|
|
};
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.search();
|
|
|
|
this.toOnline();
|
|
this.toOnline();
|
|
this.getClientList();
|
|
this.getClientList();
|
|
},
|
|
},
|
|
@@ -139,13 +115,10 @@ export default {
|
|
this.channel();
|
|
this.channel();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- ...customer(['online', 'record']),
|
|
|
|
- search({ skip = 0, limit = 10, ...info } = {}) {
|
|
|
|
- if (this.searchName) info.name = this.searchName;
|
|
|
|
- console.log(info);
|
|
|
|
- },
|
|
|
|
|
|
+ ...customer(['online', 'record', 'createChat']),
|
|
|
|
+ search() {},
|
|
chatBtn(data) {
|
|
chatBtn(data) {
|
|
- console.log(data);
|
|
|
|
|
|
+ this.$set(this, `chatUserInfo`, data);
|
|
},
|
|
},
|
|
// 区分发言人
|
|
// 区分发言人
|
|
isSender(data) {
|
|
isSender(data) {
|
|
@@ -158,7 +131,6 @@ export default {
|
|
this.$set(this, `userList`, res.data);
|
|
this.$set(this, `userList`, res.data);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
-
|
|
|
|
channel() {
|
|
channel() {
|
|
this.$stomp({
|
|
this.$stomp({
|
|
[`/exchange/${this._tenant}/customer.${this.user.id}`]: this.onMessage,
|
|
[`/exchange/${this._tenant}/customer.${this.user.id}`]: this.onMessage,
|
|
@@ -183,14 +155,30 @@ export default {
|
|
return moment(ct).format('YYYY-MM-DD HH:mm:ss');
|
|
return moment(ct).format('YYYY-MM-DD HH:mm:ss');
|
|
},
|
|
},
|
|
// 发言
|
|
// 发言
|
|
- send() {
|
|
|
|
|
|
+ async send() {
|
|
if (!this.content) {
|
|
if (!this.content) {
|
|
this.$message({
|
|
this.$message({
|
|
message: '发言内容不能为空',
|
|
message: '发言内容不能为空',
|
|
type: 'warning',
|
|
type: 'warning',
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
- console.log(this.content);
|
|
|
|
|
|
+ console.log(this.chatUserInfo);
|
|
|
|
+ let data = {
|
|
|
|
+ _tenant: this._tenant,
|
|
|
|
+ client_id: this.chatUserInfo.client_id,
|
|
|
|
+ customer_id: this.chatUserInfo.customer_id,
|
|
|
|
+ sender_id: this.chatUserInfo.customer_id,
|
|
|
|
+ sender_name: this.user.name,
|
|
|
|
+ content: this.content,
|
|
|
|
+ };
|
|
|
|
+ let res = await this.createChat(data);
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '消息发送成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ });
|
|
|
|
+ this.content = '';
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|