调整帮及图片

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

@ -170,7 +170,8 @@
<div class="content-left-main scheduleTimeout-box">
<div class="leave-message-cont" v-html="item.msgText"></div>
<!-- 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>
@ -195,7 +196,8 @@
<div class="content-left-main">
<div class="leave-message-cont" v-html="item.msgText"></div>
<!-- 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>
@ -827,51 +829,26 @@
</div>
</div>
<!-- 产品模板-->
<div
class="chat-content-left"
v-if="item.cmd === 'CPZX'"
>
<div class="chat-content-left" v-if="item.cmd === 'CPZX'">
<div class="content-left-icon">
<DynamicImage
class="avatarUrl-img"
:image-key="headerAvatar.robotUrl"
/>
<div
class="chat-name"
v-if="item.seatNum && item.seatNum != '调度员'"
>
<DynamicImage class="avatarUrl-img" :image-key="headerAvatar.robotUrl" />
<div class="chat-name" v-if="item.seatNum && item.seatNum != '调度员'">
{{ item.seatNum }}
</div>
</div>
<div class="chat-items">
<div
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"
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}`"
>
<div 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"
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>有帮助
</button>
</div>
</div>
</div>

@ -553,12 +553,20 @@ export const useAppStore = defineStore('app', () => {
function pushImageMessage({ localId, imageUrl, fileName = '' } = {}) {
if (!localId || !imageUrl) return null
const messageTimestamp = Date.now()
const message = {
localId,
type: 'user',
system: 'IMAGE',
isSendSuccess: true,
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,
imageKey: '',
fileName,
@ -579,6 +587,10 @@ export const useAppStore = defineStore('app', () => {
}
chatArr.value.push(message)
// 与 addSendMessageList 保持一致:记录当前发送的消息并展示上传 loading
timestamp.value = messageTimestamp
sendLoading.value = true
isChatLoading.value = true
return message
}
@ -590,6 +602,13 @@ export const useAppStore = defineStore('app', () => {
if (payload.uploadStatus === 'failed') message.isSendSuccess = false
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
if (options && payload.imageUrl) options.imageUrl = payload.imageUrl
if (options && payload.imageKey) options.imageKey = payload.imageKey

Loading…
Cancel
Save