fix:问题修复

This commit is contained in:
huxuejian 2026-09-03 17:35:08 +08:00
parent 24ee4a48f5
commit 01ee09524b
3 changed files with 64 additions and 10 deletions

View File

@ -47,13 +47,8 @@
<view class="section mt-20">
<view class="section-title">回访结果</view>
<view class="result-box">
<textarea
v-model="form.result"
class="result-textarea"
placeholder="请填写回访结果"
maxlength="500"
:disabled="!(editable || canEditResult)"
/>
<textarea v-model="form.result" class="result-textarea" placeholder="请填写回访结果" maxlength="500"
:disabled="!(editable || canEditResult)" />
</view>
</view>
@ -191,8 +186,9 @@ const mobiles = computed(() => {
if (Array.isArray(cached.mobiles)) arr.push(...cached.mobiles.map(String));
}
const cleaned = arr.map((i) => String(i || '').trim()).filter(Boolean);
if (!cleaned.includes('13800000000')) cleaned.push('13800000000');
return Array.from(new Set(cleaned));
const { mobile, phone1, phone2, phone3 } = customer.value || {};
cleaned.push(mobile, phone1, phone2, phone3)
return Array.from(new Set(cleaned.filter(i => typeof i === 'string' && i.trim())));
});
function getUserId() {
@ -319,7 +315,13 @@ async function getTodo() {
return;
}
todo.value = res.data && typeof res.data === 'object' ? res.data : null;
if (todo.value.customerId && !customer.value) {
getCustomer(todo.value.customerId)
}
await loadUserNameMap(String(todo.value?.executeTeamId || ''));
if (todo.value && todo.value.creatorUserId && !userNameMap.value[todo.value.creatorUserId]) {
getCorpMember(todo.value.creatorUserId)
}
const parsed = parseTodoMethod(todo.value?.todoMethod);
if (parsed.todoMethod) {
@ -335,6 +337,14 @@ async function getTodo() {
form.result = String(todo.value?.result || '') || '';
}
async function getCustomer(_id) {
const res = await api('getMemberInfo', { params: { _id } })
const [data] = res && Array.isArray(res.data) ? res.data : [];
if (data) {
customer.value = data
}
}
function toggleMethod(v) {
if (!editable.value) return;
todoMethod.value = v;
@ -420,6 +430,14 @@ async function save() {
setTimeout(() => uni.navigateBack(), 300);
}
async function getCorpMember(userId) {
const res = await api('getCorpMemberByUserId', { userId });
const [data] = res && Array.isArray(res.data) ? res.data : [];
if (data && data.userid && data.anotherName) {
userNameMap.value[data.userid] = data.anotherName
}
}
function remove() {
if (!canRemove.value) return;
uni.showModal({
@ -445,13 +463,16 @@ function remove() {
height: 100vh;
background: #f6f7f8;
}
.scroll {
height: 100vh;
}
.section {
background: #fff;
padding: 24rpx 30rpx;
}
.border-top {
border-top: 1px solid #e5e7eb;
}
@ -461,11 +482,13 @@ function remove() {
align-items: center;
justify-content: space-between;
}
.head-title {
font-size: 32rpx;
font-weight: 600;
color: #111827;
}
.head-tag {
flex-shrink: 0;
font-size: 24rpx;
@ -474,23 +497,28 @@ function remove() {
background: #f3f4f6;
color: #6b7280;
}
.tag-processing {
background: #fee2e2;
color: #ef4444;
}
.tag-notStart {
background: #dbeafe;
color: #2563eb;
}
.tag-treated {
background: #dcfce7;
color: #16a34a;
}
.tag-cancelled,
.tag-expired {
background: #f3f4f6;
color: #6b7280;
}
.head-content {
margin-top: 24rpx;
font-size: 28rpx;
@ -502,21 +530,25 @@ function remove() {
font-size: 28rpx;
color: #6b7280;
}
.sub-content {
margin-top: 24rpx;
font-size: 28rpx;
color: #6b7280;
line-height: 44rpx;
}
.file-line {
margin-top: 12rpx;
font-size: 28rpx;
line-height: 40rpx;
}
.file-type {
color: #111827;
margin-right: 12rpx;
}
.file-name {
color: #2563eb;
}
@ -526,21 +558,25 @@ function remove() {
font-weight: 600;
color: #111827;
}
.method-row {
display: flex;
align-items: center;
margin-top: 24rpx;
}
.radio {
width: 32rpx;
height: 32rpx;
margin-right: 20rpx;
}
.method-label {
font-size: 28rpx;
color: #111827;
margin-right: 20rpx;
}
.method-select {
margin-left: auto;
width: 400rpx;
@ -552,6 +588,7 @@ function remove() {
align-items: center;
justify-content: space-between;
}
.method-value {
font-size: 28rpx;
color: #111827;
@ -560,6 +597,7 @@ function remove() {
text-overflow: ellipsis;
white-space: nowrap;
}
.method-value.muted {
color: #9ca3af;
}
@ -569,10 +607,12 @@ function remove() {
align-items: center;
justify-content: space-between;
}
.kv-left {
font-size: 28rpx;
color: #6b7280;
}
.kv-right {
font-size: 28rpx;
color: #111827;
@ -582,6 +622,7 @@ function remove() {
text-overflow: ellipsis;
white-space: nowrap;
}
.kv-right.link {
color: #2563eb;
text-decoration: underline;
@ -590,12 +631,14 @@ function remove() {
.mt-20 {
margin-top: 20rpx;
}
.result-box {
margin-top: 24rpx;
padding: 20rpx;
border: 1px solid #e5e7eb;
border-radius: 16rpx;
}
.result-textarea {
width: 100%;
min-height: 160rpx;
@ -604,19 +647,24 @@ function remove() {
color: #111827;
box-sizing: border-box;
}
.meta {
font-size: 28rpx;
}
.meta-row {
margin-top: 24rpx;
}
.meta-row:first-child {
margin-top: 0;
}
.meta-key {
color: #6b7280;
margin-right: 12rpx;
}
.meta-val {
color: #6b7280;
}
@ -633,6 +681,7 @@ function remove() {
padding: 30rpx;
box-shadow: 0 -8rpx 24rpx rgba(0, 0, 0, 0.06);
}
.footer-btn {
flex: 0 0 auto;
min-width: 260rpx;
@ -641,18 +690,22 @@ function remove() {
border-radius: 16rpx;
font-size: 28rpx;
}
.footer-btn::after {
border: none;
}
.footer-btn.plain {
background: #fff;
color: #2563eb;
border: 1px solid #2563eb;
}
.footer-btn.plain.danger {
color: #ef4444;
border-color: #ef4444;
}
.footer-btn.primary {
background: #2563eb;
color: #fff;

View File

@ -124,7 +124,6 @@ const eventTypeLabel = computed(() => getTodoEventTypeLabel(form.eventType));
const mobiles = computed(() => {
const arr = [];
if (archiveMobile.value) arr.push(String(archiveMobile.value));
if (!arr.includes('13800000000')) arr.push('13800000000');
return arr;
});

View File

@ -40,6 +40,7 @@ const urlsConfig = {
getHlwHospitalList: 'getHlwHospitalList',
updateAutoAcceptConsult: 'updateAutoAcceptConsult',
getAutoAcceptConsult: 'getAutoAcceptConsult',
getCorpMemberByUserId: 'getCorpMemberByUserId'
},
knowledgeBase: {
@ -104,6 +105,7 @@ const urlsConfig = {
updateMedicalRecord: 'updateMedicalRecord',
removeMedicalRecord: 'removeMedicalRecord',
getCustomerMedicalRecord: 'getCustomerMedicalRecord',
getMemberInfo: "getMemberInfo",
// 客户阶段
getCustomerType: 'getCustomerType',
},