master
parent
73acb0bc09
commit
8ea3843d61
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<el-tabs v-model="activeName" @tab-click="handleClick" type="card" :stretch=true>
|
<el-tabs v-model="activeName" @tab-click="handleClick" type="card" :stretch=true>
|
||||||
<el-tab-pane :label="toUser.storeFlag ? '正在咨询' : '他的足迹'" name="history">
|
<el-tab-pane :label="toUser.storeFlag ? '正在咨询' : '他的足迹'" name="history">
|
||||||
<div style="margin-left: 12px;" v-if="toUser.storeFlag">
|
<div style="margin-left: 12px;">
|
||||||
<GoodsLink :goodsDetail="goodsDetail" v-if="toUser.userId === goodsDetail.storeId"
|
<GoodsLink :goodsDetail="goodsDetail" v-if="toUser.userId === goodsDetail.storeId"
|
||||||
@sendMessage="submitSendMessage" />
|
@sendMessage="submitSendMessage" />
|
||||||
<FootPrint :list="footPrintList" @loadMore="loadMoreFootPrint()" :orderList="orderPrintList"
|
<FootPrint :list="footPrintList" @loadMore="loadMoreFootPrint()" :orderList="orderPrintList"
|
||||||
|
@ -71,7 +71,6 @@ export default {
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
localStorage.setItem('storeFlag', this.toUser.storeFlag)
|
localStorage.setItem('storeFlag', this.toUser.storeFlag)
|
||||||
console.log(this.toUser.storeFlag, 'this.toUser.storeFlag');
|
|
||||||
if (this.toUser.storeFlag) {
|
if (this.toUser.storeFlag) {
|
||||||
this.getStoreDetail()
|
this.getStoreDetail()
|
||||||
} else {
|
} else {
|
||||||
|
@ -143,6 +142,7 @@ export default {
|
||||||
// this.orderPrintList.push(...res.result.records)
|
// this.orderPrintList.push(...res.result.records)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log("this.orderPrintListthis.orderPrintList", this.orderPrintList);
|
||||||
},
|
},
|
||||||
|
|
||||||
// 发送消息回调事件
|
// 发送消息回调事件
|
||||||
|
|
|
@ -472,7 +472,6 @@ export default {
|
||||||
|
|
||||||
// 加载用户聊天详情信息
|
// 加载用户聊天详情信息
|
||||||
loadChatRecords () {
|
loadChatRecords () {
|
||||||
console.log(this.records.length, 'this.records.length ')
|
|
||||||
if (this.loadRecord.pageNumber === 0 || this.params.clickFlag) {
|
if (this.loadRecord.pageNumber === 0 || this.params.clickFlag) {
|
||||||
this.loadRecord.pageNumber = 1
|
this.loadRecord.pageNumber = 1
|
||||||
this.params.clickFlag = false
|
this.params.clickFlag = false
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
<dd v-for="item in list" v-infinite-scroll="loadMore">
|
<dd v-for="item in list" v-infinite-scroll="loadMore">
|
||||||
<div class="base">
|
<div class="base">
|
||||||
<div>
|
<div>
|
||||||
<img style="width: 60px; height: 60px;" :src="item.thumbnail" class="image" />
|
<img style="width: 60px; height: 60px;margin-left: 40px;box-sizing: border-box;" :src="item.thumbnail"
|
||||||
|
class="image" />
|
||||||
</div>
|
</div>
|
||||||
<div class="recent_views">
|
<div class="recent_views">
|
||||||
<el-tooltip class="item" effect="dark" :content="item.goodsName" placement="top-start">
|
<el-tooltip class="item" effect="dark" :content="item.goodsName" placement="top-start">
|
||||||
|
@ -17,13 +18,14 @@
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div style="margin-top: 20px;">
|
<div style="margin-top: 20px;">
|
||||||
<span style="color: red;">¥{{ item.price }}</span>
|
<span style="color: red;">¥{{ item.price }}</span>
|
||||||
|
<div class="goods_store_button">
|
||||||
|
<el-button type="danger" v-if="item.btnHide == 1 && toUser.storeFlag" size="mini"
|
||||||
|
@click="submitSendGoodsMessage(item)" plain>发送</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<el-button class="goods_store_button" type="danger" v-if="item.btnHide == 1" size="mini"
|
|
||||||
@click="submitSendGoodsMessage(item)" plain>发送</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="Underline"></div>
|
<div class="Underline"></div>
|
||||||
</dd>
|
</dd>
|
||||||
|
@ -43,8 +45,8 @@
|
||||||
<span class="orderGoodsName" @click="linkToOrders(item.sn)"> {{ item.groupName }}</span>
|
<span class="orderGoodsName" @click="linkToOrders(item.sn)"> {{ item.groupName }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<div class="orderBtn">
|
<div class="orderBtn">
|
||||||
<el-button type="danger" class="store-button" v-if="item.btnHide == 1" size="mini"
|
<el-button type="danger" class="store-button" v-if="item.btnHide == 1 && toUser.storeFlag"
|
||||||
@click="submitSendOrderMessage(item, index)" plain>发送</el-button>
|
size="mini" @click="submitSendOrderMessage(item, index)" plain>发送</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="order_footer">
|
<div class="order_footer">
|
||||||
|
@ -85,7 +87,6 @@ export default {
|
||||||
...mapGetters(["talkItems"]),
|
...mapGetters(["talkItems"]),
|
||||||
...mapState({
|
...mapState({
|
||||||
id: (state) => state.user.id,
|
id: (state) => state.user.id,
|
||||||
|
|
||||||
toUser: (state) => state.user.toUser,
|
toUser: (state) => state.user.toUser,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
@ -163,10 +164,11 @@ export default {
|
||||||
orderList: {
|
orderList: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: []
|
default: []
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
console.log(this.orderList, 'orderList');
|
// state.user.toUser
|
||||||
|
console.log(this.$store.state.user.toUser, ' this.$store.state.user.toUser this.$store.state.user.toUser this.$store.state.user.toUser');
|
||||||
this.btnHide = localStorage.getItem('btnHide')
|
this.btnHide = localStorage.getItem('btnHide')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,6 +187,8 @@ export default {
|
||||||
|
|
||||||
.Underline {
|
.Underline {
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
|
width: 90%;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recent_views {
|
.recent_views {
|
||||||
|
@ -322,12 +326,11 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods_store_button {
|
.goods_store_button {
|
||||||
|
display: inline;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border-color: #F56C6C;
|
border-color: #F56C6C;
|
||||||
margin-top: 10px;
|
position: absolute;
|
||||||
position: relative;
|
left: 70%;
|
||||||
right: 60%;
|
|
||||||
top: 45%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.base {
|
.base {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<span style="color: red;">¥{{ goodsDetail.price }}</span>
|
<span style="color: red;">¥{{ goodsDetail.price }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="hide">
|
<div v-if="hide">
|
||||||
<el-button class="store-button" type="danger" v-if="!sendFlag && btnHide == 1" size="mini"
|
<el-button class="store-button" type="danger" v-if="sendFlag && btnHide == 1 && toUser.storeFlag" size="mini"
|
||||||
@click="submitSendMessage()" plain>发送</el-button>
|
@click="submitSendMessage()" plain>发送</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -169,7 +169,7 @@ export default {
|
||||||
.image {
|
.image {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
width: 100px
|
width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,99 +33,66 @@
|
||||||
<p class="tip-title">发起投票</p>
|
<p class="tip-title">发起投票</p>
|
||||||
</li> -->
|
</li> -->
|
||||||
|
|
||||||
<!-- <p class="text-tips no-select">-->
|
<!-- <p class="text-tips no-select">-->
|
||||||
<!-- <span>按Enter发送 / Shift+Enter 换行</span>-->
|
<!-- <span>按Enter发送 / Shift+Enter 换行</span>-->
|
||||||
<!-- <el-popover placement="top-end" width="600" trigger="click">-->
|
<!-- <el-popover placement="top-end" width="600" trigger="click">-->
|
||||||
<!-- <div class="editor-books">-->
|
<!-- <div class="editor-books">-->
|
||||||
<!-- <div class="books-title">编辑说明:</div>-->
|
<!-- <div class="books-title">编辑说明:</div>-->
|
||||||
<!-- <p>-->
|
<!-- <p>-->
|
||||||
<!-- 1.-->
|
<!-- 1.-->
|
||||||
<!-- 支持上传QQ及微信截图,在QQ或微信中截图后使用Ctrl+v上传图片。-->
|
<!-- 支持上传QQ及微信截图,在QQ或微信中截图后使用Ctrl+v上传图片。-->
|
||||||
<!-- </p>-->
|
<!-- </p>-->
|
||||||
<!-- <p>-->
|
<!-- <p>-->
|
||||||
<!-- 2.-->
|
<!-- 2.-->
|
||||||
<!-- 支持浏览器及Word文档中的图片复制上传、复制后使用Ctrl+v上传图片。-->
|
<!-- 支持浏览器及Word文档中的图片复制上传、复制后使用Ctrl+v上传图片。-->
|
||||||
<!-- </p>-->
|
<!-- </p>-->
|
||||||
<!-- <p>3. 支持图片拖拽上传。</p>-->
|
<!-- <p>3. 支持图片拖拽上传。</p>-->
|
||||||
<!-- <p>4. 支持文件上传 ( 文件小于100M ) 。</p>-->
|
<!-- <p>4. 支持文件上传 ( 文件小于100M ) 。</p>-->
|
||||||
<!-- <p>5. 按Enter发送 / Shift+Enter 换行。</p>-->
|
<!-- <p>5. 按Enter发送 / Shift+Enter 换行。</p>-->
|
||||||
<!-- <p>-->
|
<!-- <p>-->
|
||||||
<!-- 6.-->
|
<!-- 6.-->
|
||||||
<!-- 注意:当文件正在上传时,请勿关闭网页或离开当前对话框,否则将导致文件停止上传或上传失败。-->
|
<!-- 注意:当文件正在上传时,请勿关闭网页或离开当前对话框,否则将导致文件停止上传或上传失败。-->
|
||||||
<!-- </p>-->
|
<!-- </p>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<!-- <i class="el-icon-info" slot="reference" />-->
|
<!-- <i class="el-icon-info" slot="reference" />-->
|
||||||
<!-- </el-popover>-->
|
<!-- </el-popover>-->
|
||||||
<!-- </p>-->
|
<!-- </p>-->
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<el-popover
|
<el-popover ref="popoverEmoticon" placement="top-start" trigger="click" width="300"
|
||||||
ref="popoverEmoticon"
|
popper-class="no-padding el-popover-em">
|
||||||
placement="top-start"
|
|
||||||
trigger="click"
|
|
||||||
width="300"
|
|
||||||
popper-class="no-padding el-popover-em"
|
|
||||||
>
|
|
||||||
<MeEditorEmoticon ref="editorEmoticon" @selected="selecteEmoticon" />
|
<MeEditorEmoticon ref="editorEmoticon" @selected="selecteEmoticon" />
|
||||||
</el-popover>
|
</el-popover>
|
||||||
|
|
||||||
<form
|
<form enctype="multipart/form-data" style="display: none" ref="fileFrom">
|
||||||
enctype="multipart/form-data"
|
<input type="file" ref="restFile" accept="image/*" @change="uploadImageChange" />
|
||||||
style="display: none"
|
|
||||||
ref="fileFrom"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="file"
|
|
||||||
ref="restFile"
|
|
||||||
accept="image/*"
|
|
||||||
@change="uploadImageChange"
|
|
||||||
/>
|
|
||||||
<input type="file" ref="restFile2" @change="uploadFileChange" />
|
<input type="file" ref="restFile2" @change="uploadFileChange" />
|
||||||
</form>
|
</form>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="no-padding textarea">
|
<el-main class="no-padding textarea">
|
||||||
<textarea
|
<textarea ref="textarea" v-paste="pasteImage" v-drag="dragPasteImage" v-model.trim="editorText" rows="6"
|
||||||
ref="textarea"
|
placeholder="你想要的聊点什么呢 ..." @keydown="keydownEvent($event)" @input="inputEvent($event)" />
|
||||||
v-paste="pasteImage"
|
|
||||||
v-drag="dragPasteImage"
|
|
||||||
v-model.trim="editorText"
|
|
||||||
rows="6"
|
|
||||||
placeholder="你想要的聊点什么呢 ..."
|
|
||||||
@keydown="keydownEvent($event)"
|
|
||||||
@input="inputEvent($event)"
|
|
||||||
/>
|
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
|
|
||||||
<!-- 图片查看器 -->
|
<!-- 图片查看器 -->
|
||||||
<MeEditorImageView
|
<MeEditorImageView ref="imageViewer" v-model="imageViewer.isShow" :file="imageViewer.file"
|
||||||
ref="imageViewer"
|
@confirm="confirmUploadImage" />
|
||||||
v-model="imageViewer.isShow"
|
|
||||||
:file="imageViewer.file"
|
|
||||||
@confirm="confirmUploadImage"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<MeEditorRecorder v-if="recorder" @close="recorder = false" />
|
<MeEditorRecorder v-if="recorder" @close="recorder = false" />
|
||||||
|
|
||||||
<!-- 代码块编辑器 -->
|
<!-- 代码块编辑器 -->
|
||||||
<TalkCodeBlock
|
<TalkCodeBlock v-if="codeBlock.isShow" :edit-mode="codeBlock.editMode" @close="codeBlock.isShow = false"
|
||||||
v-if="codeBlock.isShow"
|
@confirm="confirmCodeBlock" />
|
||||||
:edit-mode="codeBlock.editMode"
|
|
||||||
@close="codeBlock.isShow = false"
|
|
||||||
@confirm="confirmCodeBlock"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 文件上传管理器 -->
|
<!-- 文件上传管理器 -->
|
||||||
<MeEditorFileManage ref="filesManager" v-model="filesManager.isShow" />
|
<MeEditorFileManage ref="filesManager" v-model="filesManager.isShow" />
|
||||||
|
|
||||||
<MeEditorVote
|
<MeEditorVote v-if="vote.isShow" @close="
|
||||||
v-if="vote.isShow"
|
() => {
|
||||||
@close="
|
this.vote.isShow = false;
|
||||||
() => {
|
}
|
||||||
this.vote.isShow = false;
|
" />
|
||||||
}
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -156,20 +123,20 @@ export default {
|
||||||
MeEditorVote,
|
MeEditorVote,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
talkUser() {
|
talkUser () {
|
||||||
return this.$store.state.dialogue.index_name;
|
return this.$store.state.dialogue.index_name;
|
||||||
},
|
},
|
||||||
isGroupTalk() {
|
isGroupTalk () {
|
||||||
return this.$store.state.dialogue.talk_type == 2;
|
return this.$store.state.dialogue.talk_type == 2;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
talkUser(n_index_name) {
|
talkUser (n_index_name) {
|
||||||
this.$refs.filesManager.clear();
|
this.$refs.filesManager.clear();
|
||||||
this.editorText = this.getDraftText(n_index_name);
|
this.editorText = this.getDraftText(n_index_name);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data () {
|
||||||
return {
|
return {
|
||||||
// 当前编辑的内容
|
// 当前编辑的内容
|
||||||
editorText: "",
|
editorText: "",
|
||||||
|
@ -205,13 +172,13 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 读取对话编辑草稿信息 并赋值给当前富文本
|
// 读取对话编辑草稿信息 并赋值给当前富文本
|
||||||
getDraftText(index_name) {
|
getDraftText (index_name) {
|
||||||
console.log("findTalk(index_name)", findTalk(index_name));
|
console.log("findTalk(index_name)", findTalk(index_name));
|
||||||
return findTalk(index_name)?.draft_text || "";
|
return findTalk(index_name)?.draft_text || "";
|
||||||
},
|
},
|
||||||
|
|
||||||
//复制粘贴图片回调方法
|
//复制粘贴图片回调方法
|
||||||
pasteImage(e) {
|
pasteImage (e) {
|
||||||
let files = getPasteImgs(e);
|
let files = getPasteImgs(e);
|
||||||
if (files.length == 0) return;
|
if (files.length == 0) return;
|
||||||
|
|
||||||
|
@ -219,19 +186,19 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
//拖拽上传图片回调方法
|
//拖拽上传图片回调方法
|
||||||
dragPasteImage(e) {
|
dragPasteImage (e) {
|
||||||
let files = getDragPasteImg(e);
|
let files = getDragPasteImg(e);
|
||||||
if (files.length == 0) return;
|
if (files.length == 0) return;
|
||||||
|
|
||||||
this.openImageViewer(files[0]);
|
this.openImageViewer(files[0]);
|
||||||
},
|
},
|
||||||
|
|
||||||
inputEvent(e) {
|
inputEvent (e) {
|
||||||
this.$emit("keyboard-event", e.target.value);
|
this.$emit("keyboard-event", e.target.value);
|
||||||
},
|
},
|
||||||
|
|
||||||
// 键盘按下监听事件
|
// 键盘按下监听事件
|
||||||
keydownEvent(e) {
|
keydownEvent (e) {
|
||||||
if (e.keyCode == 13 && this.editorText == "") {
|
if (e.keyCode == 13 && this.editorText == "") {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
@ -256,13 +223,13 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 选择图片文件后回调方法
|
// 选择图片文件后回调方法
|
||||||
uploadImageChange(e) {
|
uploadImageChange (e) {
|
||||||
this.openImageViewer(e.target.files[0]);
|
this.openImageViewer(e.target.files[0]);
|
||||||
this.$refs.restFile.value = null;
|
this.$refs.restFile.value = null;
|
||||||
},
|
},
|
||||||
|
|
||||||
// 选择文件回调事件
|
// 选择文件回调事件
|
||||||
uploadFileChange(e) {
|
uploadFileChange (e) {
|
||||||
let maxsize = 100 * 1024 * 1024;
|
let maxsize = 100 * 1024 * 1024;
|
||||||
if (e.target.files.length == 0) {
|
if (e.target.files.length == 0) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -288,13 +255,13 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 打开图片查看器
|
// 打开图片查看器
|
||||||
openImageViewer(file) {
|
openImageViewer (file) {
|
||||||
this.imageViewer.isShow = true;
|
this.imageViewer.isShow = true;
|
||||||
this.imageViewer.file = file;
|
this.imageViewer.file = file;
|
||||||
},
|
},
|
||||||
|
|
||||||
// 代码块编辑器确认完成回调事件
|
// 代码块编辑器确认完成回调事件
|
||||||
confirmCodeBlock(data) {
|
confirmCodeBlock (data) {
|
||||||
const { talk_type, receiver_id } = this.$store.state.dialogue;
|
const { talk_type, receiver_id } = this.$store.state.dialogue;
|
||||||
ServeSendTalkCodeBlock({
|
ServeSendTalkCodeBlock({
|
||||||
talk_type,
|
talk_type,
|
||||||
|
@ -315,7 +282,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 确认上传图片消息回调事件
|
// 确认上传图片消息回调事件
|
||||||
confirmUploadImage() {
|
confirmUploadImage () {
|
||||||
let fileData = new FormData();
|
let fileData = new FormData();
|
||||||
fileData.append("file", this.imageViewer.file);
|
fileData.append("file", this.imageViewer.file);
|
||||||
|
|
||||||
|
@ -340,7 +307,8 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 选中表情包回调事件
|
// 选中表情包回调事件
|
||||||
selecteEmoticon(data) {
|
selecteEmoticon (data) {
|
||||||
|
console.log(data);
|
||||||
if (data.type == 1) {
|
if (data.type == 1) {
|
||||||
let value = this.editorText;
|
let value = this.editorText;
|
||||||
let el = this.$refs.textarea;
|
let el = this.$refs.textarea;
|
||||||
|
@ -362,6 +330,8 @@ export default {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const { talk_type, receiver_id } = this.$store.state.dialogue;
|
const { talk_type, receiver_id } = this.$store.state.dialogue;
|
||||||
|
console.log(talk_type);
|
||||||
|
console.log(receiver_id);
|
||||||
ServeSendEmoticon({
|
ServeSendEmoticon({
|
||||||
talk_type,
|
talk_type,
|
||||||
receiver_id,
|
receiver_id,
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<div class="welcome-box">
|
<div class="welcome-box">
|
||||||
<div class="famous-box">
|
<div class="famous-box">
|
||||||
<img src="~@/assets/image/chat.png" width="300" />
|
<img src="~@/assets/image/chat.png" width="300" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -10,10 +9,10 @@
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
data() {
|
data () {
|
||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
created() {},
|
created () { },
|
||||||
methods: {},
|
methods: {},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -46,9 +46,9 @@ class Talk extends Base {
|
||||||
this.resource = resource;
|
this.resource = resource;
|
||||||
|
|
||||||
// 判断发送者消息是否在当前用户列表中
|
// 判断发送者消息是否在当前用户列表中
|
||||||
if(this.sender_id && !vm.$store.state.talks.items.find(item=>{
|
if (this.sender_id && !vm.$store.state.talks.items.find(item => {
|
||||||
return item.userId == this.sender_id
|
return item.userId == this.sender_id
|
||||||
})){
|
})) {
|
||||||
// 没有当前用户,未在当前列表 进行重新加载
|
// 没有当前用户,未在当前列表 进行重新加载
|
||||||
vm.loadUserSetting('update')
|
vm.loadUserSetting('update')
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ class Talk extends Base {
|
||||||
* 判断消息发送者是否来自于我
|
* 判断消息发送者是否来自于我
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
isCurrSender() {
|
isCurrSender () {
|
||||||
// console.log("sender_id", this.sender_id);
|
// console.log("sender_id", this.sender_id);
|
||||||
return this.sender_id == this.getAccountId();
|
return this.sender_id == this.getAccountId();
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ class Talk extends Base {
|
||||||
*
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
getIndexName() {
|
getIndexName () {
|
||||||
if (this.talk_type == 2) {
|
if (this.talk_type == 2) {
|
||||||
return `${this.talk_type}_${this.receiver_id}`;
|
return `${this.talk_type}_${this.receiver_id}`;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ class Talk extends Base {
|
||||||
*
|
*
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
getFloatType() {
|
getFloatType () {
|
||||||
let userId = this.resource.userId;
|
let userId = this.resource.userId;
|
||||||
|
|
||||||
if (userId == 0) return "center";
|
if (userId == 0) return "center";
|
||||||
|
@ -94,18 +94,21 @@ class Talk extends Base {
|
||||||
/**
|
/**
|
||||||
* 获取聊天列表左侧的对话信息
|
* 获取聊天列表左侧的对话信息
|
||||||
*/
|
*/
|
||||||
getTalkText() {
|
getTalkText () {
|
||||||
let text = this.resource.content || this.resource.text;
|
let text = this.resource.content || this.resource.text;
|
||||||
switch (this.resource.msg_type) {
|
switch (this.resource.msg_type) {
|
||||||
case 'GOODS':
|
case 'GOODS':
|
||||||
text = "[商品链接]";
|
text = "[商品链接]";
|
||||||
break;
|
break;
|
||||||
|
case 'ORDERS':
|
||||||
|
text = "[订单链接]";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle() {
|
handle () {
|
||||||
let store = this.getStoreInstance();
|
let store = this.getStoreInstance();
|
||||||
// console.log("触发handle");
|
// console.log("触发handle");
|
||||||
// 判断当前是否在聊天页面
|
// 判断当前是否在聊天页面
|
||||||
|
@ -131,7 +134,7 @@ class Talk extends Base {
|
||||||
* 显示消息提示
|
* 显示消息提示
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
showMessageNocice() {
|
showMessageNocice () {
|
||||||
let avatar = this.resource.avatar;
|
let avatar = this.resource.avatar;
|
||||||
let nickname = this.resource.nickname;
|
let nickname = this.resource.nickname;
|
||||||
let talk_type = this.resource.talk_type;
|
let talk_type = this.resource.talk_type;
|
||||||
|
@ -167,7 +170,7 @@ class Talk extends Base {
|
||||||
/**
|
/**
|
||||||
* 加载对接节点
|
* 加载对接节点
|
||||||
*/
|
*/
|
||||||
addTalkItem() {
|
addTalkItem () {
|
||||||
let receiver_id = this.sender_id;
|
let receiver_id = this.sender_id;
|
||||||
let talk_type = this.talk_type;
|
let talk_type = this.talk_type;
|
||||||
|
|
||||||
|
@ -188,7 +191,7 @@ class Talk extends Base {
|
||||||
/**
|
/**
|
||||||
* 插入对话记录
|
* 插入对话记录
|
||||||
*/
|
*/
|
||||||
insertTalkRecord() {
|
insertTalkRecord () {
|
||||||
let store = this.getStoreInstance();
|
let store = this.getStoreInstance();
|
||||||
let record = this.resource;
|
let record = this.resource;
|
||||||
// console.log("插入谈话记录", record);
|
// console.log("插入谈话记录", record);
|
||||||
|
@ -238,7 +241,7 @@ class Talk extends Base {
|
||||||
/**
|
/**
|
||||||
* 更新对话列表记录
|
* 更新对话列表记录
|
||||||
*/
|
*/
|
||||||
updateTalkItem() {
|
updateTalkItem () {
|
||||||
let store = this.getStoreInstance();
|
let store = this.getStoreInstance();
|
||||||
|
|
||||||
store.commit("INCR_UNREAD_NUM");
|
store.commit("INCR_UNREAD_NUM");
|
||||||
|
|
|
@ -65,7 +65,6 @@ class WsSocket {
|
||||||
*/
|
*/
|
||||||
on (event, callBack) {
|
on (event, callBack) {
|
||||||
// 对应 socket-instance.js
|
// 对应 socket-instance.js
|
||||||
console.log("事件绑定", event, callBack);
|
|
||||||
this.onCallBacks[event] = callBack;
|
this.onCallBacks[event] = callBack;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@ const Talk = {
|
||||||
getters: {
|
getters: {
|
||||||
// 过滤所有置顶对话列表
|
// 过滤所有置顶对话列表
|
||||||
topItems: (state) => {
|
topItems: (state) => {
|
||||||
console.log(state.items, 'state.items');
|
|
||||||
return state.items.filter((item) => item.is_top == 1);
|
return state.items.filter((item) => item.is_top == 1);
|
||||||
},
|
},
|
||||||
talkItems: (state) => {
|
talkItems: (state) => {
|
||||||
|
@ -40,7 +39,6 @@ const Talk = {
|
||||||
mutations: {
|
mutations: {
|
||||||
// 设置对话列表
|
// 设置对话列表
|
||||||
SET_TALK_ITEMS (state, resource) {
|
SET_TALK_ITEMS (state, resource) {
|
||||||
console.log("设置对话列表", resource.items);
|
|
||||||
Vue.set(state, 'items', resource.items)
|
Vue.set(state, 'items', resource.items)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ const KEY_INDEX_NAME = "send_message_index_name";
|
||||||
*
|
*
|
||||||
* @param {String} index_name
|
* @param {String} index_name
|
||||||
*/
|
*/
|
||||||
export function findTalkIndex(index_name) {
|
export function findTalkIndex (index_name) {
|
||||||
return store.state.talks.items.findIndex(
|
return store.state.talks.items.findIndex(
|
||||||
(item) => item.index_name == index_name
|
(item) => item.index_name == index_name
|
||||||
);
|
);
|
||||||
|
@ -21,7 +21,7 @@ export function findTalkIndex(index_name) {
|
||||||
*
|
*
|
||||||
* @param {String} index_name
|
* @param {String} index_name
|
||||||
*/
|
*/
|
||||||
export function findTalk(index_name) {
|
export function findTalk (index_name) {
|
||||||
return store.state.talks.items.find((item) => item.index_name == index_name);
|
return store.state.talks.items.find((item) => item.index_name == index_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,8 +30,7 @@ export function findTalk(index_name) {
|
||||||
*
|
*
|
||||||
* @param {Object} params
|
* @param {Object} params
|
||||||
*/
|
*/
|
||||||
export function formatTalkItem(params) {
|
export function formatTalkItem (params) {
|
||||||
console.log(params);
|
|
||||||
let options = {
|
let options = {
|
||||||
id: "",
|
id: "",
|
||||||
disable: false,
|
disable: false,
|
||||||
|
@ -58,7 +57,7 @@ export function formatTalkItem(params) {
|
||||||
* @param {Integer} talk_type 对话类型[1:私聊;2:群聊;]
|
* @param {Integer} talk_type 对话类型[1:私聊;2:群聊;]
|
||||||
* @param {Integer} receiver_id 接收者ID
|
* @param {Integer} receiver_id 接收者ID
|
||||||
*/
|
*/
|
||||||
export function toTalk(talk_type, receiver_id) {
|
export function toTalk (talk_type, receiver_id) {
|
||||||
ServeCreateTalkList(receiver_id).then(({ code, data }) => {
|
ServeCreateTalkList(receiver_id).then(({ code, data }) => {
|
||||||
console.log("ServeCreateTalkList", data);
|
console.log("ServeCreateTalkList", data);
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
|
@ -78,7 +77,7 @@ export function toTalk(talk_type, receiver_id) {
|
||||||
*
|
*
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function getCacheIndexName() {
|
export function getCacheIndexName () {
|
||||||
let index_name = sessionStorage.getItem(KEY_INDEX_NAME);
|
let index_name = sessionStorage.getItem(KEY_INDEX_NAME);
|
||||||
if (index_name) {
|
if (index_name) {
|
||||||
sessionStorage.removeItem(KEY_INDEX_NAME);
|
sessionStorage.removeItem(KEY_INDEX_NAME);
|
||||||
|
|
|
@ -80,8 +80,8 @@
|
||||||
<div class="card-name">
|
<div class="card-name">
|
||||||
<p class="nickname">
|
<p class="nickname">
|
||||||
{{
|
{{
|
||||||
item.remark_name ? item.remark_name : item.name
|
item.remark_name ? item.remark_name : item.name
|
||||||
}}
|
}}
|
||||||
</p>
|
</p>
|
||||||
<div v-show="item.unread" class="larkc-tag">
|
<div v-show="item.unread" class="larkc-tag">
|
||||||
{{ item.unread }}条未读
|
{{ item.unread }}条未读
|
||||||
|
@ -112,8 +112,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<template v-if="
|
<template v-if="
|
||||||
index_name != item.index_name && item.draft_text
|
index_name != item.index_name && item.draft_text
|
||||||
">
|
">
|
||||||
<span class="draft-color">[草稿]</span>
|
<span class="draft-color">[草稿]</span>
|
||||||
<span>{{ item.draft_text }}</span>
|
<span>{{ item.draft_text }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -424,7 +424,6 @@ export default {
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (id == this.index_name.split("_")[1]) {
|
if (id == this.index_name.split("_")[1]) {
|
||||||
console.log("已读");
|
|
||||||
this.$store.commit("UPDATE_TALK_ITEM", {
|
this.$store.commit("UPDATE_TALK_ITEM", {
|
||||||
userId: id,
|
userId: id,
|
||||||
index_name: "MESSAGE_" + this.index_name.split("_")[1],
|
index_name: "MESSAGE_" + this.index_name.split("_")[1],
|
||||||
|
|
Loading…
Reference in New Issue