首页 > 应用开发 > IT综合 > 快速汇总多渠道线索数据
现有crm系统中保存了几百条线索数据,每个线索都有一个渠道标识,需要进行分组统计,但渠道太多了,用饼图不好展示,所以需要做成文本的格式(方便复制),效果如下图所示;
在白码低代码开发平台上创建线索数据表以及样本数据、一张临时表用于选择统计时间范围,示例字段如下。
async function runProcess($model = model,$plugin = plugin,$params = params){
await $model.command("tips",{})//去除功能提交提示
let start_date = $params.start_date;//开始日期
let end_date = $params.end_date;//结束日期
let clue_entity = "612c89b96979d17d3cf7fac1";//线索表entity
let clue_source = "612c89c66979d17d3cf7fad3";//线索渠道field
let clue_date = "612c8c176979d17d3cf7fe77";//线索日期field
let query = {//筛选条件,筛选日期范围,可根据实际需求添加筛选条件
"$and":[
{
[clue_date]:{"$gte":start_date},//大于等于开始日期
},{
[clue_date]:{"$lte":end_date},//小于等于结束日期
}
]
};
//获取分组数据
let clue_data = await $plugin.data.summaryData(clue_entity,"_id",clue_source,query);
//整理分组结果列表
let res_list = clue_data.map(function(item){
return {
"name":item["_id"] || "无渠道",
"count":item["count"]
};
});
let num_list = clue_data.map(v=>+v["count"]);
num_list = num_list || [0];
let total = eval(num_list.join('+'))
let str = ``;
for(let i = 0; i <res_list.length; i++){
str = `${str}${res_list[i]["name"]}:${res_list[i]["count"]}, `
}
await $model.command("confirm",{
title:"统计结果",
content:`${str}共${total}条数据`,
});
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69981618/viewspace-2790885/ ,如需转载,请注明出处,否则将追究法律责任。