Merge remote-tracking branch 'origin/dev-wdb'

This commit is contained in:
huxuejian 2026-02-08 10:42:06 +08:00
commit aa9bc1ca3d
6 changed files with 54 additions and 36 deletions

View File

@ -1,20 +1,38 @@
<template>
<view class="archive-container">
<view class="mb-10 flex items-center justify-between">
<view class="module-title flex-shrink-0 truncate">
成员档案
</view>
<view class="flex items-center leading-normal rounded-sm" style="padding-right: 0" @click="toManagePage()">
<image class="manage-icon mr-5" src="/static/home/archive-manage.png" mode="aspectFit"></image>
<view style="font-size: 28rpx; color: #065BD6;">档案管理</view>
<view class="module-title flex-shrink-0 truncate"> 成员档案 </view>
<view
class="flex items-center leading-normal rounded-sm"
style="padding-right: 0"
@click="toManagePage()"
>
<image
class="manage-icon mr-5"
src="/static/home/archive-manage.png"
mode="aspectFit"
></image>
<view style="font-size: 28rpx; color: #065bd6">档案管理</view>
</view>
</view>
<view v-if="customers.length === 0" class="add-archive-card" @click="toManagePage()">
<view
v-if="customers.length === 0"
class="add-archive-card"
@click="toManagePage()"
>
<view class="add-archive-btn">
<image class="add-archive-btn-icon" src="/static/home/add-archive-btn.png" mode="aspectFit"></image>
<image
class="add-archive-btn-icon"
src="/static/home/add-archive-btn.png"
mode="aspectFit"
></image>
<text class="add-archive-btn-text">新建档案</text>
</view>
<image class="add-archive-bg" src="/static/home/add-archive-bg.png" mode="aspectFit"></image>
<image
class="add-archive-bg"
src="/static/home/add-archive-bg.png"
mode="aspectFit"
></image>
</view>
<scroll-view scroll-x="true">
<view class="flex flex-nowrap pb-5">
@ -26,8 +44,12 @@
{{ i.relationship }}
</view>
<view class="flex flex-col items-center">
<view class="customer-name text-lg leading-normal font-semibold whitespace-nowrap mb-8"
:class="current && i._id === current._id ? 'text-primary' : 'text-dark'">
<view
class="customer-name text-lg leading-normal font-semibold whitespace-nowrap mb-8"
:class="
current && i._id === current._id ? 'text-primary' : 'text-dark'
"
>
{{ i.name }}
</view>
</view>
@ -412,7 +434,7 @@ watch(
.add-archive-card {
height: 140rpx;
border-radius: 16rpx;
background: linear-gradient(95deg, #ECFBFF -7.38%, #A5CBFF 72.72%);
background: linear-gradient(95deg, #ecfbff -7.38%, #a5cbff 72.72%);
display: flex;
align-items: center;
justify-content: space-between;
@ -426,7 +448,7 @@ watch(
width: 188rpx;
height: 56rpx;
border-radius: 40rpx;
background: linear-gradient(90deg, #33A0F9 0%, #065BD6 100%);
background: linear-gradient(90deg, #33a0f9 0%, #065bd6 100%);
box-shadow: 0 8rpx 8rpx 0 rgba(6, 91, 214, 0.3);
display: flex;
align-items: center;
@ -442,7 +464,7 @@ watch(
.add-archive-btn-text {
font-size: 28rpx;
color: #FFFFFF;
color: #ffffff;
font-weight: 500;
}

View File

@ -6,14 +6,11 @@ $text-color-sub: #999;
$primary-color: #0877F1;
.chat-page {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
height: 100vh;
background-color: #f5f5f5;
overflow: hidden;
}
/* 患者信息栏样式 */
@ -115,6 +112,7 @@ $primary-color: #0877F1;
flex: 1;
box-sizing: border-box;
overflow-x: hidden;
min-height: 0;
}
.chat-content-compressed {
@ -384,6 +382,7 @@ $primary-color: #0877F1;
position: relative;
z-index: 200;
padding-bottom: env(safe-area-inset-bottom);
flex-shrink: 0;
}
.input-toolbar {
@ -403,6 +402,14 @@ $primary-color: #0877F1;
padding: 0;
}
.voice-toggle-icon {
width: 56rpx;
height: 56rpx;
display: flex;
align-items: center;
justify-content: center;
}
.plus-btn {
width: 56rpx;
height: 56rpx;

View File

@ -2,13 +2,13 @@
<view class="input-section">
<view class="input-toolbar">
<view @click="toggleVoiceInput" class="voice-toggle-btn">
<uni-icons v-if="showVoiceInput" fontFamily="keyboard" :size="28">{{ '&#xe61a;' }}</uni-icons>
<image v-if="showVoiceInput" src="/static/jianpan.png" class="voice-toggle-icon" mode="aspectFit"></image>
<uni-icons v-else type="mic" size="28" color="#666" />
</view>
<view class="input-area">
<textarea v-if="!showVoiceInput" class="text-input" v-model="inputText" placeholder="我来说两句..."
@confirm="sendTextMessage" @focus="handleInputFocus" @input="handleInput"
:auto-height="true" :show-confirm-bar="false" :adjust-position="true" :cursor-spacing="40" />
:auto-height="true" :show-confirm-bar="false" :adjust-position="true" :cursor-spacing="80" />
<input v-else class="voice-input-btn" :class="{ recording: isRecording }" @touchstart="startRecord"
@touchmove="onRecordTouchMove" @touchend="stopRecord" @touchcancel="cancelRecord" :placeholder="isRecording ? '松开发送' : '按住说话'" disabled>
</input>

View File

@ -239,7 +239,7 @@ const showConsultApply = computed(
() =>
orderStatus.value === "finished" ||
orderStatus.value === "cancelled" ||
orderStatus.value === "rejected"
orderStatus.value === "consult_ended"
);
//

BIN
static/jianpan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -2735,20 +2735,9 @@ class TimChatManager {
if (!conversationID.startsWith('GROUP')) {
formattedConversationID = `GROUP${conversationID}`
}
console.log('📖 标记会话为已读:', formattedConversationID);
this.tim.setMessageRead({
conversationID: formattedConversationID
}).then(() => {
console.log('✓ 会话已标记为已读:', formattedConversationID);
// 触发会话列表更新回调,通知消息列表页面清空未读数
this.triggerCallback('onConversationListUpdated', {
conversationID: formattedConversationID,
unreadCount: 0
})
}).catch(error => {
console.error('✗ 标记会话已读失败:', error)
this.triggerCallback('onConversationListUpdated', {
conversationID: formattedConversationID,
unreadCount: 0
})
} catch (error) {
console.error('✗ 标记会话已读异常:', error)