客户批量划转功能的实现

场景描述:

在销售模块中,会遇到这种情况:如果有销售离职了,在系统中的其原本跟进的客户需要重新分配给其他销售继续进行客户跟进。

 

功能思路:

划转功能,首先需要先选择哪个被划转人,批量选择需要被划转的客户(被划转人的客户),获取被划转人的客户信息(比如联系人、合同等),再选择接收人,最后通过功能步骤实现客户划转功能。

 

功能实现:

数据表结构简单表示,可以根据实际需要自行调整。

在白码低代码开发平台上创建一个“批量划转”功能。

功能画布效果:

 

其中,选择划转客户步骤,属性选项卡设置:

 

数据处理步骤:

 

代码示例:

async function runProcess($model = model, $plugin = plugin, $params = params) {
    let saler = $params.saler;//接受人
    let custList = $params.custList;//客户列表
    for (let i = 0; i < custList.length; i++) {
        let cust = custList[i];
        //更新客户所属销售为接收人
        await $plugin.data.updateData("60a7286df4f073243956fc80", cust._id, {//客户
            "60a7327442591a1dc3adb216": saler._id,
        });
       
       //获取被划转客户的所有联系人
        let contactList = await $plugin.data.queryData("60a72af84b77d5588b27735b", {//联系人
            "60a72b0c2f46fa549a6816eb": cust._id
        });
        //更新联系人的跟进销售为接收人
        contactList.forEach(contact => {
            $plugin.data.updateData("60a72af84b77d5588b27735b", contact._id, {
                "60a7353ef4f073243956fd06": saler._id
            });
        });
        //获取客户的所有合同
        let contracts = await $plugin.data.queryData("60a72ceaf4f073243956fcc8", {//合同
            "60a72cfe4b77d5588b277362": cust._id,
        });
        //更新合同的跟进销售为接收人
        contracts.forEach(contract => {
            $plugin.data.updateData("60a72ceaf4f073243956fcc8", contract._id, {
               "60a72d2ff4f073243956fccc":saler._id
            });
        });
    }
}

 

功能实现效果:

划转前的客户:

 

划转前的联系人:

 

划转前的合同:

 

划转:

 

划转后的客户:

 

划转后的联系人:

 

划转后的合同:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值