Add project board, loyalty club, and if/then automations.
Separate modules for post-sales kanban, person points/tiers, and deal-won/ticket-resolved rules without overlapping the sales pipeline. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -51,6 +51,8 @@ const notes = ref('');
|
||||
const companyId = ref('');
|
||||
|
||||
const customFields = ref<Record<string, unknown>>({});
|
||||
const loyaltyPoints = ref(0);
|
||||
const loyaltyTierName = ref('');
|
||||
|
||||
|
||||
|
||||
@@ -72,6 +74,8 @@ function fill(p: PersonDto) {
|
||||
|
||||
companyId.value = p.company?.id ?? '';
|
||||
customFields.value = { ...(p.customFields ?? {}) };
|
||||
loyaltyPoints.value = p.loyaltyPoints ?? 0;
|
||||
loyaltyTierName.value = p.loyaltyTier?.name ?? '';
|
||||
|
||||
}
|
||||
|
||||
@@ -318,6 +322,15 @@ onMounted(load);
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="!isNew" class="field wide loyalty-box">
|
||||
<p class="muted">باشگاه مشتریان</p>
|
||||
<p>
|
||||
{{ loyaltyPoints }} امتیاز
|
||||
<span v-if="loyaltyTierName"> · سطح {{ loyaltyTierName }}</span>
|
||||
</p>
|
||||
<RouterLink :to="{ name: 'loyalty' }">مدیریت باشگاه</RouterLink>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user