调整帮及图片

master
jiangjunjie 2 weeks ago
parent d86cb71a0e
commit 1b4671bc7e
  1. 59
      src/components/chat-content.vue
  2. 19
      src/store/app.js

@ -25,7 +25,7 @@
"> ">
<span class="session-tips">{{ <span class="session-tips">{{
FormatDate(item.timestamp, "yyyy年MM月dd日 hh:mm") FormatDate(item.timestamp, "yyyy年MM月dd日 hh:mm")
}}</span> }}</span>
</div> </div>
<!-- <div class="chat-content-other" v-if="item.fromFlag == 'other'"> <!-- <div class="chat-content-other" v-if="item.fromFlag == 'other'">
<span class="session-tips" v-html="item.msgText"></span> <span class="session-tips" v-html="item.msgText"></span>
@ -170,7 +170,8 @@
<div class="content-left-main scheduleTimeout-box"> <div class="content-left-main scheduleTimeout-box">
<div class="leave-message-cont" v-html="item.msgText"></div> <div class="leave-message-cont" v-html="item.msgText"></div>
<!-- 2021/12 关爱版开启留言按钮, 隐藏95950000 95980000 95985000渠道留言按钮 --> <!-- 2021/12 关爱版开启留言按钮, 隐藏95950000 95980000 95985000渠道留言按钮 -->
<div class="leave-message-btn" v-if="!(($nohxmessage || []).includes(source)) && userInfo.blacklistFlag != '1'"> <div class="leave-message-btn"
v-if="!(($nohxmessage || []).includes(source)) && userInfo.blacklistFlag != '1'">
<button class="answer-items" disabled="disabled" @click.stop="leaveMessageBtn($event)"> <button class="answer-items" disabled="disabled" @click.stop="leaveMessageBtn($event)">
点击此处,给我们留言 点击此处,给我们留言
</button> </button>
@ -195,7 +196,8 @@
<div class="content-left-main"> <div class="content-left-main">
<div class="leave-message-cont" v-html="item.msgText"></div> <div class="leave-message-cont" v-html="item.msgText"></div>
<!-- 2021/12 关爱版开启留言按钮, 隐藏95950000 95980000 95985000渠道留言按钮 --> <!-- 2021/12 关爱版开启留言按钮, 隐藏95950000 95980000 95985000渠道留言按钮 -->
<div class="leave-message-btn" v-if="!(($nohxmessage || []).includes(source)) && userInfo.blacklistFlag != '1'"> <div class="leave-message-btn"
v-if="!(($nohxmessage || []).includes(source)) && userInfo.blacklistFlag != '1'">
<button class="answer-items" disabled="disabled" @click.stop="leaveMessageBtn($event)"> <button class="answer-items" disabled="disabled" @click.stop="leaveMessageBtn($event)">
点击此处,给我们留言 点击此处,给我们留言
</button> </button>
@ -827,51 +829,26 @@
</div> </div>
</div> </div>
<!-- 产品模板--> <!-- 产品模板-->
<div <div class="chat-content-left" v-if="item.cmd === 'CPZX'">
class="chat-content-left"
v-if="item.cmd === 'CPZX'"
>
<div class="content-left-icon"> <div class="content-left-icon">
<DynamicImage <DynamicImage class="avatarUrl-img" :image-key="headerAvatar.robotUrl" />
class="avatarUrl-img" <div class="chat-name" v-if="item.seatNum && item.seatNum != '调度员'">
:image-key="headerAvatar.robotUrl"
/>
<div
class="chat-name"
v-if="item.seatNum && item.seatNum != '调度员'"
>
{{ item.seatNum }} {{ item.seatNum }}
</div> </div>
</div> </div>
<div class="chat-items"> <div class="chat-items">
<div <div class="content-left-main noPadding">
class="content-left-main noPadding" <Product :responseData="item.specialData" :intents="item.intents" :itemlist="item" />
> <div class="help-button-box flex flex-align-center before-top"
<Product v-if="item.cmd != 'RGFWHS' && item.cmd != 'QXRGPJ'">
:responseData="item.specialData" <button class="help-button-item" disabled="disabled" @click.stop="appraise(1, item, $event)"
:intents="item.intents" :data-ref="`r_${item.timestamp}`">
:itemlist="item"
/>
<div
class="help-button-box flex flex-align-center before-top"
v-if="item.cmd != 'RGFWHS' && item.cmd != 'QXRGPJ'"
>
<button
class="help-button-item"
disabled="disabled"
@click.stop="appraise(1, item, $event)"
:data-ref="`r_${item.timestamp}`"
>
<em class="help-button-icon"></em>有帮助
</button>
<button
class="help-button-item"
disabled="disabled"
@click.stop="appraise(2, item, $event)"
:data-ref="`u_${item.timestamp}`"
>
<em class="help-button-icon"></em>没有帮助 <em class="help-button-icon"></em>没有帮助
</button> </button>
<button class="help-button-item" disabled="disabled" @click.stop="appraise(2, item, $event)"
:data-ref="`u_${item.timestamp}`">
<em class="help-button-icon"></em>有帮助
</button>
</div> </div>
</div> </div>
</div> </div>

@ -553,12 +553,20 @@ export const useAppStore = defineStore('app', () => {
function pushImageMessage({ localId, imageUrl, fileName = '' } = {}) { function pushImageMessage({ localId, imageUrl, fileName = '' } = {}) {
if (!localId || !imageUrl) return null if (!localId || !imageUrl) return null
const messageTimestamp = Date.now()
const message = { const message = {
localId, localId,
type: 'user', type: 'user',
system: 'IMAGE', system: 'IMAGE',
isSendSuccess: true, isSendSuccess: true,
uploadStatus: 'uploading', uploadStatus: 'uploading',
// liics 协议字段:chat-content 的 v-show 与用户图片分支依赖 msgText/fromFlag/reqAndResType
fromFlag: '1',
reqAndResType: '2', // 1文本 2图片
msgType: '02',
msgText: imageUrl, // 本地预览(data URL),与 liics 上传时的 base64 预览一致
timestamp: messageTimestamp,
VIEW_ID: 'msg' + messageTimestamp,
imageUrl, imageUrl,
imageKey: '', imageKey: '',
fileName, fileName,
@ -579,6 +587,10 @@ export const useAppStore = defineStore('app', () => {
} }
chatArr.value.push(message) chatArr.value.push(message)
// 与 addSendMessageList 保持一致:记录当前发送的消息并展示上传 loading
timestamp.value = messageTimestamp
sendLoading.value = true
isChatLoading.value = true
return message return message
} }
@ -590,6 +602,13 @@ export const useAppStore = defineStore('app', () => {
if (payload.uploadStatus === 'failed') message.isSendSuccess = false if (payload.uploadStatus === 'failed') message.isSendSuccess = false
if (payload.uploadStatus === 'success') message.isSendSuccess = true if (payload.uploadStatus === 'success') message.isSendSuccess = true
// 上传结束(成功/失败)关闭气泡上的上传 loading
if (payload.uploadStatus === 'success' || payload.uploadStatus === 'failed') {
message.sendLoading = false
sendLoading.value = false
if (payload.uploadStatus === 'failed') isChatLoading.value = false
}
const options = message.message?.[0]?.options const options = message.message?.[0]?.options
if (options && payload.imageUrl) options.imageUrl = payload.imageUrl if (options && payload.imageUrl) options.imageUrl = payload.imageUrl
if (options && payload.imageKey) options.imageKey = payload.imageKey if (options && payload.imageKey) options.imageKey = payload.imageKey

Loading…
Cancel
Save