Connect public lead forms to CRM Leads on submit.

This commit is contained in:
2026-09-28 13:39:44 +03:30
parent 32e27d45f7
commit f20206b045
10 changed files with 971 additions and 91 deletions
+25 -4
View File
@@ -43,8 +43,10 @@ async function createForm() {
name: 'درخواست مشاوره',
description: 'فرم دریافت درخواست مشاوره مشتریان',
source: 'وب‌سایت',
createPerson: true,
createDeal: true,
createLead: true,
createPerson: false,
createDeal: false,
duplicateMode: 'update',
});
await router.push({ name: 'lead-form-builder', params: { id: data.id } });
} catch {
@@ -60,6 +62,16 @@ async function removeForm(form: LeadFormDto) {
await load();
}
function publicUrl(form: LeadFormDto) {
const base = String(import.meta.env.VITE_LEAD_FORM_PUBLIC_BASE || '').replace(/\/$/, '')
|| window.location.origin;
return `${base}${form.publicPath}`;
}
async function copyPublishLink(form: LeadFormDto) {
await navigator.clipboard.writeText(publicUrl(form));
}
const countLabel = computed(() => toFaDigits(forms.value.length));
onMounted(load);
@@ -69,7 +81,7 @@ onMounted(load);
<section class="crm-page lead-forms-page" dir="rtl">
<UiPageHeader
title="فرم‌ساز وب"
description="فرم‌های آنلاین بسازید، فیلدها را بچینید و لیدها را به صورت خودکار در کاریز و باشگاه مشتریان دریافت کنید."
description="فرم‌های آنلاین بسازید، در وب‌سایت منتشر کنید و لیدها را مستقیم در CRM دریافت کنید."
>
<template #actions>
<UiButton :loading="saving" @click="createForm">
@@ -115,7 +127,9 @@ onMounted(load);
<p class="form-meta">
<span>{{ toFaDigits(form.fields.length) }} فیلد سفارشی</span>
<span class="meta-dot">·</span>
<span>{{ toFaDigits(form.submissionCount ?? 0) }} ارسال شده</span>
<span>{{ toFaDigits(form.submitCount ?? form.submissionCount ?? 0) }} ارسال</span>
<span class="meta-dot">·</span>
<span>{{ toFaDigits(form.leadCreateCount ?? 0) }} لید</span>
<span v-if="form.source" class="meta-dot">·</span>
<span v-if="form.source">منبع: {{ form.source }}</span>
</p>
@@ -131,6 +145,13 @@ onMounted(load);
</UiButton>
</RouterLink>
<UiButton variant="secondary" size="sm" @click="copyPublishLink(form)">
<template #icon>
<UiIcon name="megaphone" />
</template>
کپی لینک انتشار
</UiButton>
<a :href="form.publicPath" target="_blank" rel="noopener" class="preview-link">
<UiButton variant="ghost" size="sm">
<template #icon>