Implementando a Visualização do Pipeline de Vendas de CRM no NocoBase
Este guia técnico aborda a configuração de um sistema de acompanhamento de leads dentro do NocoBase, focando na visualização do funil de vendas através do gerenciamento dinâmico de status e na implementação de uma interface de usuário que reflete o estágio atual de cada lead.
Arquitetura da Coleção de Leads
O cerne da funcionalidade reside na estrutura da coleção de dados. O campo status é crucial, pois controla o fluxo de trabalho e a visibilidade da interface. Abaixo está uma representação da estrutura de campos proposta:
| Nome do Campo | Rótulo na Interface | Tipo | Propósito |
|---|---|---|---|
lead_id |
ID do Lead | Auto-incremento | Identificador primário único |
full_name |
Nome Completo | Texto Curto | Nome do contato potencial |
associated_company |
Empresa Associada | Texto Curto | Nomee da organização do lead |
contact_email |
E-mail de Contato | Endereço de e-mail principle | |
contact_phone |
Telefone | Telefone | Número de telefone |
pipeline_stage |
Estágio no Funil | Seleção Única | Estágio atual (Ex: Descartado, Novo, Em Contato, Qualificação, Negociação, Convertido) |
company_link |
Link para Empresa | Relacionamento Muitos-para-Um | Chave estrangeira para a coleção de empresas |
contact_link |
Link para Contato | Relacionamento Muitos-para-Um | Chave estrangeira para a coleção de contatos |
opportunity_link |
Link para Oportunidade | Relacionamento Muitos-para-Um | Chave estrangeira para a coleção de oportunidades |
Configuração da Interface do Usuário
Bloco de Tabela Principal
Crie um bloco de tabela para exibir a lista de leads. Configure um bloco de detalhes associado, que exibirá as informações completas do registro selecionado na tabela.
Sistema de Botões Contextuais
A interface é equipada com botões cuja visibilidade e estado (ativo/desativado) são determinados pelo valor do campo pipeline_stage. Isso garante que o usuário só veja ações pertinentes ao estágio atual do lead.
Exemplo de Configuração de Botão:
- Botão "Mover para Qualificação"
- Estilo: Ação de atualização de dados.
- Ação: Alterar
pipeline_stagepara "Qualificação". - Regra de Visibilidade: Exibir somente se
pipeline_stagefor "Em Contato". - Regra de Desativação: Desativar se
pipeline_stagefor "Convertido".
- Botão "Converter"
- Estilo: Ação que abre um formulário de conversão.
- Ação: Ao submeter, atualizar
pipeline_stagepara "Convertido" e vincular os registros criados (Empresa, Contato, Oportunidade). - Regra de Visibilidade: Ocultar se
pipeline_stagejá for "Convertido".
Regras de Visibilidade Dinâmica do Formulário
Ajuste a visibilidade dos campos no formulário de detalhes com base no estágio do lead:
// Pseudocódigo para regra de visibilidade
Se o estágio atual do registro (`currentRecord.pipeline_stage`) for igual a "Novo", então:
Ocultar o campo 'Empresa Associada'
Mostrar os campos de contato (E-mail, Telefone)
Senão:
Manter visibilidade padrão dos campos
Conteúdo Dinâmico com Handlebars
Utilize um bloco Markdown com sintaxe Handlebars para exibir guias contextuais de ação. O conteúdo muda de acordo com o estágio do lead.
{{#if (eq currentRecord.pipeline_stage "Descartado")}}
**Guia para leads descartados:**
- Documente o motivo principal da desqualificação.
- Registre qualquer contato inicial ou feedback recebido.
{{/if}}
{{#if (eq currentRecord.pipeline_stage "Novo")}}
**Próximos passos para um novo lead:**
- Realize uma pesquisa inicial sobre a empresa e o contato.
- Prepare um primeiro contato (e-mail ou ligação).
{{/if}}
{{#if (eq currentRecord.pipeline_stage "Em Contato")}}
**Estratégia para a fase de contato:**
- Agende uma reunião ou demonstração.
- Identifique as necessidades e desafios do potencial cliente.
{{/if}}
Exibição de Registros Vinculados Após Conversão
Quando um lead é convertido, exiba links diretos para os registros resultantes. A sintaxe a seguir gera links dinâmicos usando o ID do registro associado.
{{#if (eq currentRecord.pipeline_stage "Convertido")}}
**Registros Criados:**
- **Empresa:** [{{currentRecord.company_link.name}}](/admin/company_details/filterbytk/{{currentRecord.company_link.id}})
- **Contato:** [{{currentRecord.contact_link.name}}](/admin/contact_details/filterbytk/{{currentRecord.contact_link.id}})
- **Oportunidade:** [{{currentRecord.opportunity_link.name}}](/admin/opportunity_details/filterbytk/{{currentRecord.opportunity_link.id}})
{{/if}}
Nota: Configure os campos de relacionamento (company_link, etc.) para terem seu estado definido como "Oculto (manter valor)". Isso preserva a referência no banco de dados sem exibir seletor na UI após a conversão.
Proteção de Integridade dos Dados
Para evitar modificações indevidas, todos os botões de ação (exceto, opcionalmente, botões de visualização) devem ser desativados quando o pipeline_stage do registro for "Convertido". Isso garante a imutabilidade do lead após sua conversão bem-sucedida no funil.