目录前情回顾与本节目标第一步扩展客户表字段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.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:分配中...});constleadIddata.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:处理中...});constleadIddata.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();}}给拒绝按钮配置点击事件调用方法传入入参最终效果管理员登录可以查看需要分配的线索点击分配线索执行相应的操作即可总结本节我们完成了线索分配与审核功能的开发扩展客户表字段增加了assign_status、assign_by、assign_at字段用于跟踪线索的分配状态。渠道线索报备优化渠道端报备时自动绑定渠道信息并设置初始分配状态为待分配。管理员线索分配模块创建了专门的线索分配页面显示待分配的渠道线索。线索分配功能实现了管理员分配线索给销售的功能以及拒绝线索的功能。下一步当线索分配给销售后销售如何跟进线索如何记录跟进内容下一讲我们将进入【线索跟进与管理】的开发