当前位置: 首页 > news >正文

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

目录

  • 前情回顾与本节目标
  • 第一步:扩展客户表字段
    • 1.1 增加分配审核字段
  • 第二步:渠道端线索报备优化
    • 2.1 渠道信息自动绑定
  • 第三步:管理员线索分配模块
    • 3.1 创建线索分配页面
    • 3.2 搭建页面布局
    • 3.3 配置数据表格
    • 3.4 配置操作列
  • 第四步:线索分配功能实现
    • 4.1 分配销售功能
      • 4.1.1 创建分配弹窗
      • 4.1.2 编写分配方法
    • 4.2 拒绝线索功能
      • 4.2.1 编写拒绝方法
  • 最终效果
  • 总结

前情回顾与本节目标

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

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

本节核心目标:

  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 编写分配方法

exportdefaultasyncfunctionassignLead({event,data}){try{$w.utils.showLoading({title:'分配中...'});constleadId=data.target;constselectedSales=$w.select1.value;constcurrentUser=$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 编写拒绝方法

exportdefaultasyncfunctionrejectLead({event,data}){try{$w.utils.showLoading({title:'处理中...'});constleadId=data.target;constrejectReason=$w.input19.value;constcurrentUser=$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. 线索分配功能:实现了管理员分配线索给销售的功能,以及拒绝线索的功能。

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

http://www.jsqmd.com/news/463722/

相关文章:

  • Phyllomedusin;pENPNRFIGLM‑NH₂
  • OrigamiSimulator VR模式探索:沉浸式折叠体验的技术实现与未来展望
  • 如何快速上手Kids日志系统:5分钟从零开始的完整教程
  • medium-editor-insert-plugin核心功能解析:图片上传与媒体嵌入的实现原理
  • Phospholipase A2 Activating Peptide
  • 如何开始使用The-Spirit:WebGL粒子系统入门指南
  • CrossHair性能优化指南:加速大型Python项目的合同检查
  • BPF Tools性能优化:让你的网络监控工具运行速度提升50%的秘诀
  • Neuroglancer高级应用:多模态数据融合与坐标空间转换实战
  • bpftime插件开发指南:构建自定义eBPF观测性工具的终极教程
  • Clara-Rules与Java互操作性实战:无缝集成企业级应用的终极指南
  • 提升京东签到效率:wskey自动转换Cookie的5个实用技巧
  • sd-dynamic-thresholding核心原理:一文读懂潜空间钳位技术如何提升图像质量
  • 开发者必看:gh_mirrors/st/starter-applets项目架构与代码实现原理
  • NativeScript-Angular动画效果实现:让你的应用界面活起来
  • Otp.NET常见问题解答:解决双因素认证集成中的难题
  • Python Project Template架构解密:为什么这个模板能让你的项目起步效率提升300%
  • Livewire Datatables导出功能详解:CSV、Excel与PDF导出完全指南
  • PipeCD配置详解:从零开始编写你的第一个部署清单
  • Otp.NET完全指南:轻松实现TOTP和HOTP双因素认证
  • 5分钟上手Orchestrator:快速掌握异步任务执行与依赖处理
  • chromedp examples安全最佳实践:代理配置、认证处理与无头模式下的隐私保护
  • Lim平台路线图:Swagger导入、自定义函数等未来功能前瞻
  • 从0到1掌握xray-rails:写给Rails新手的可视化调试工具教程
  • 如何用Rust构建LLVM编译器?Iron-Kaleidoscope项目深度解析
  • SlideToAct常见问题解答:从入门到精通的避坑指南
  • Pcap4j API详解:掌握Java网络编程的关键接口
  • 定制你的LinguaCafe:主题切换、字体上传与移动设备优化指南
  • 为什么选择cdfang-spider?成都房产数据分析工具的5大核心优势
  • Clara-Rules常见问题解答:开发者必知的20个关键知识点