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,14 +18,15 @@
|
||||||
<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>
|
<div class="goods_store_button">
|
||||||
</div>
|
<el-button type="danger" v-if="item.btnHide == 1 && toUser.storeFlag" size="mini"
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<el-button class="goods_store_button" type="danger" v-if="item.btnHide == 1" size="mini"
|
|
||||||
@click="submitSendGoodsMessage(item)" plain>发送</el-button>
|
@click="submitSendGoodsMessage(item)" plain>发送</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,73 +59,40 @@
|
||||||
<!-- </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>
|
||||||
|
|
||||||
|
@ -341,6 +308,7 @@ 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>
|
||||||
|
|
|
@ -100,6 +100,9 @@ class Talk extends Base {
|
||||||
case 'GOODS':
|
case 'GOODS':
|
||||||
text = "[商品链接]";
|
text = "[商品链接]";
|
||||||
break;
|
break;
|
||||||
|
case 'ORDERS':
|
||||||
|
text = "[订单链接]";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
|
|
|
@ -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)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ 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,
|
||||||
|
|
|
@ -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