微搭低代码MBA培训管理系统12——线索分配与审核

目录

前情回顾与本节目标

在上一讲中,我们完成了渠道管理模块的开发,包括渠道合伙人管理、渠道端工作台搭建、登录鉴权和线索报备功能。当渠道合伙人报备线索后,这些线索需要由管理员进行审核和分配。

本节我们将实现线索分配与审核功能,确保渠道报备的线索能够及时、合理地分配给销售团队。

本节核心目标:

  1. 扩展客户表字段:增加线索分配审核状态字段。
  2. 渠道线索报备优化:在渠道端报备时自动绑定渠道信息。
  3. 管理员线索分配模块:创建专门的线索分配页面。
  4. 线索分配功能:实现管理员分配线索给销售的功能。

第一步:扩展客户表字段

1.1 增加分配审核字段

MBA_Customers 表中增加以下字段:

字段名称 字段标识 数据类型 说明
分配状态 assign_status 数字 1=待分配,2=已分配,3=已拒绝
分配人 assign_by 关联关系 关联 Users 表(分配线索的管理员)
分配时间 assign_at 日期时间 记录分配时间
处理意见 assign_remark 多行文本 管理员分配或拒绝时的处理意见

第二步:渠道端线索报备优化

2.1 渠道信息自动绑定

在渠道端线索报备时,需要自动绑定当前渠道的信息。选中线索报备的表单,给渠道来源绑定选中值

绑定全局变量currentChannel的数据标识

设置分配状态的选中值,设置为1


第三步:管理员线索分配模块

3.1 创建线索分配页面

在管理员端创建专门的线索分配页面,用于审核和分配渠道报备的线索。

3.2 搭建页面布局

点击创建页面,输入"线索分配",选择管理员布局。

切换到页面设计,配置导航菜单

3.3 配置数据表格

添加数据表格组件,数据模型选择客户表

3.4 配置操作列

将表格的操作列的按钮改为分配销售

给按钮配置点击事件,打开弹窗,传入当前所在行的数据标识


第四步:线索分配功能实现

4.1 分配销售功能

4.1.1 创建分配弹窗

选中页面组件,添加弹窗组件

里边添加表单容器,表单场景选择查看,去掉和审核相关的字段

数据标识配置为弹窗的入参

继续添加表单容器,场景选择新增,只保留审核相关的字段

当前负责人我们需要筛选只是销售岗位的人员,创建一个内置数据查询,查询销售岗位信息

然后配置当前负责人的数据筛选,根据岗位信息进行过滤

4.1.2 编写分配方法

javascript 复制代码
export default async function assignLead({ event, data }) {
  try {
    $w.utils.showLoading({ title: '分配中...' });

    const leadId = data.target;
    const selectedSales = $w.select1.value;
    const currentUser = $w.app.dataset.state.currentUser;

    if (!selectedSales) {
      $w.utils.showToast({
        title: '请选择销售',
        icon: 'error'
      });
      return;
    }

    // 更新线索状态
    await $w.cloud.callDataSource({
      dataSourceName: 'MBA_Customers',
      methodName: 'wedaUpdateV2',
      params: {
        filter: { where: { _id: { $eq: leadId } } },
        data: {
          owner_id: { _id: selectedSales },
          assign_status: "2", // 已分配
          assign_by: { _id: currentUser._id },
          assign_at: Date.now()
        }
      }
    });

    $w.utils.showToast({
      title: '线索分配成功',
      icon: 'success'
    });

    // 关闭弹窗
    $w.modal1.close({});

    // 刷新表格
    $w.table1.refresh();

  } catch (error) {
    console.error('分配失败:', error);
    $w.utils.showToast({
      title: '分配失败,请稍后重试',
      icon: 'error'
    });
  } finally {
    $w.utils.hideLoading();
  }
}

给分配按钮配置点击事件,调用方法,传入入参

4.2 拒绝线索功能

4.2.1 编写拒绝方法

javascript 复制代码
export default async function rejectLead({ event, data }) {
  try {
    $w.utils.showLoading({ title: '处理中...' });

    const leadId = data.target;
    const rejectReason = $w.input19.value;
    const currentUser = $w.app.dataset.state.currentUser;

    if (!rejectReason) {
      $w.utils.showToast({
        title: '请输入拒绝原因',
        icon: 'error'
      });
      return;
    }

    // 更新线索状态
    await $w.cloud.callDataSource({
      dataSourceName: 'MBA_Customers',
      methodName: 'wedaUpdateV2',
      params: {
        filter: { where: { _id: { $eq: leadId } } },
        data: {
          assign_status: "3", // 已拒绝
          assign_by: { _id: currentUser._id },
          assign_at: Date.now(),
          assign_remark: rejectReason
        }
      }
    });

    $w.utils.showToast({
      title: '线索已拒绝',
      icon: 'success'
    });

    // 关闭弹窗
    $w.modal1.close({});

    // 刷新表格
    $w.table1.refresh();

  } catch (error) {
    console.error('拒绝失败:', error);
    $w.utils.showToast({
      title: '操作失败,请稍后重试',
      icon: 'error'
    });
  } finally {
    $w.utils.hideLoading();
  }
}

给拒绝按钮配置点击事件,调用方法,传入入参


最终效果

管理员登录,可以查看需要分配的线索

点击分配线索,执行相应的操作即可

总结

本节我们完成了线索分配与审核功能的开发:

  1. 扩展客户表字段 :增加了 assign_statusassign_byassign_at 字段,用于跟踪线索的分配状态。

  2. 渠道线索报备优化:渠道端报备时自动绑定渠道信息,并设置初始分配状态为"待分配"。

  3. 管理员线索分配模块:创建了专门的线索分配页面,显示待分配的渠道线索。

  4. 线索分配功能:实现了管理员分配线索给销售的功能,以及拒绝线索的功能。

下一步,当线索分配给销售后,销售如何跟进线索?如何记录跟进内容?下一讲,我们将进入【线索跟进与管理】的开发!

相关推荐
麦聪聊数据5 小时前
企业数据流通与敏捷API交付实战(一):ETL、CDC与API调用对比
数据库·数据仓库·低代码·restful·etl
做萤石二次开发的哈哈6 小时前
萤石云硬件接入如何完成云对讲套件低代码集成?
android·低代码·rxjava
踩着两条虫7 小时前
VTJ.PRO 在线应用开发平台的术语表
vue.js·低代码·ai编程
踩着两条虫11 小时前
VTJ.PRO 在线应用开发平台的项目模板(Web、H5、UniApp)
前端·低代码·ai编程
踩着两条虫11 小时前
VTJ.PRO 在线应用开发平台的Open API 与外部集成
低代码·ai编程·nestjs
麦聪聊数据13 小时前
企业数据流通与敏捷API交付实战(二):微服务取数与冗余CRUD
数据库·sql·低代码·微服务·restful
AI服务老曹1 天前
源码级解耦与低代码集成:企业级 AI 视频中台的二次开发架构实践
人工智能·低代码·架构
摩尔元数1 天前
MES如何破解线缆制造:从排程、盘具到成本的全链路优化
低代码·制造·mes
踩着两条虫1 天前
AI驱动的Vue3应用开发平台深入探究(十八):扩展与定制之集成第三方库
vue.js·人工智能·低代码·重构·架构
踩着两条虫1 天前
VTJ.PRO 在线应用开发平台的LLM服务、缓存与AI Agent工作流
低代码·agent·ai编程