fix introducer save fail

This commit is contained in:
Timi
2026-09-17 01:24:28 +08:00
parent 47723c6403
commit b6676877c3
+40 -26
View File
@@ -98,32 +98,39 @@
<t-input v-model.trim="formData.telephone" type="tel" placeholder="手机号" borderless :disabled="isCustomerBound" /> <t-input v-model.trim="formData.telephone" type="tel" placeholder="手机号" borderless :disabled="isCustomerBound" />
</t-form-item> </t-form-item>
<t-form-item label="介绍人"> <t-form-item label="介绍人">
<div class="referrer"> <div class="selector">
<div class="selector"> <t-input
<t-input :value="formData.introducerCustomer?.name"
:value="formData.introducerCustomer?.name" readonly
readonly placeholder="选择介绍人"
placeholder="选择介绍人" borderless
borderless :disabled="isCustomerBound"
:disabled="isCustomerBound" />
/>
<div class="actions"> <div class="actions">
<t-button <t-button
theme="primary" v-if="introducerCustomerId"
variant="outline" variant="text"
theme="danger"
size="extra-small" size="extra-small"
:disabled="isCustomerBound" :disabled="isCustomerBound"
@click="selectorVisible = true" @click="clearIntroducer"
>选择客户</t-button> >清除</t-button>
</div> <t-button
theme="primary"
variant="outline"
size="extra-small"
:disabled="isCustomerBound"
@click="selectorVisible = true"
>选择客户</t-button>
</div> </div>
<customer-profile-card
v-if="formData.introducerCustomer"
class="profile"
:customer="formData.introducerCustomer"
/>
</div> </div>
</t-form-item> </t-form-item>
<t-form-item v-if="formData.introducerCustomer" label-width="0">
<customer-profile-card
class="introducer-profile"
:customer="formData.introducerCustomer"
/>
</t-form-item>
<t-form-item label="调理部位" :arrow="!isCustomerBound" @click="openBodyAreaPicker"> <t-form-item label="调理部位" :arrow="!isCustomerBound" @click="openBodyAreaPicker">
<div class="picker-text" v-text="selectedAreaText" /> <div class="picker-text" v-text="selectedAreaText" />
</t-form-item> </t-form-item>
@@ -332,6 +339,15 @@ async function handleIntroducerChange(id: string): Promise<void> {
formData.introducerCustomer = customer; formData.introducerCustomer = customer;
} }
function clearIntroducer(): void {
if (isCustomerBound.value) {
return;
}
introducerCustomerId.value = "";
formData.introducerCustomerId = "";
formData.introducerCustomer = undefined;
}
// ---------- 表单 ---------- // ---------- 表单 ----------
const formData = reactive<Customer>({ const formData = reactive<Customer>({
@@ -743,15 +759,9 @@ function buildAttachmentList(): Attachment[] {
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.referrer { .selector {
gap: .75rem; gap: .75rem;
display: flex; display: flex;
flex-direction: column;
.selector {
gap: .75rem;
display: flex;
}
.actions { .actions {
gap: .5rem; gap: .5rem;
@@ -760,6 +770,10 @@ function buildAttachmentList(): Attachment[] {
} }
} }
.introducer-profile {
flex: 1;
}
.sex { .sex {
gap: .5rem; gap: .5rem;
display: flex; display: flex;