微搭低代码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. 线索分配功能:实现了管理员分配线索给销售的功能,以及拒绝线索的功能。

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

相关推荐
数智化管理手记1 天前
异常反复出现?精益生产生产异常闭环的三大常见问题场景
大数据·数据库·低代码·制造·精益工程
低代码布道师1 天前
微搭低代码MBA 培训管理系统实战 33——满意度评价功能
低代码
踩着两条虫1 天前
VTJ:核心引擎
前端·低代码·ai编程
踩着两条虫1 天前
AI + 低代码实战 | 一文吃透 API 管理、Swagger 导入与全局配置
前端·低代码·ai编程
踩着两条虫2 天前
VTJ:项目模型架构
前端·低代码·ai编程
踩着两条虫2 天前
VTJ:DSL语言规范
前端·低代码·ai编程
汉得数字平台2 天前
飞搭系列 | 标准对象扩展模式:让字段扩展更简单可控
低代码·领域管理
踩着两条虫2 天前
VTJ.PRO 新手入门:从环境搭建到 AI 生成首个 Vue3 应用
前端·javascript·数据库·vue.js·人工智能·低代码
低代码布道师2 天前
微搭低代码MBA 培训管理系统实战 32——资料管理功能
低代码
Teable任意门互动2 天前
多维表格本地化部署实践解析,企业如何实现数据自主可控路径
数据库·低代码·信息可视化·开源·数据库开发