完成坐席业绩的请求方法。

This commit is contained in:
2023-08-29 10:55:30 +08:00
parent a74e612546
commit 8e0505bd49
4 changed files with 262 additions and 31 deletions

View File

@@ -26,7 +26,7 @@ interface DepartmentArchievement // 定义业绩对象的结构
backward_list: string[];
}
interface CallerArchievement // 坐席业绩
interface CallerArchievement // 坐席业绩对象
{
success: boolean;
message: string;
@@ -36,15 +36,16 @@ interface CallerArchievement // 坐席的业绩
attaching_rate: string;
}
interface MenusalArchievementItem
interface MenusalArchievementItem // 每月业绩清单的项目
{
month: string;
premium: number;
month: number;
premium: string;
}
/**
* 获取部门业绩数据,并调用回调函数进行渲染。
* @param render 用于给组件更新数据的回调函数
* @param departmentInfo 作为请求参数的部门参数对象
* @param render 用于给组件更新数据的回调函数用DepartmentArchievement对象调用
*/
function queryDepartmentArchievement( departmentInfo: Department, render: any ): void
{
@@ -98,6 +99,14 @@ function queryDepartmentArchievement( departmentInfo: Department, render: any ):
});
}
/**
* 查询坐席的业绩,并调用渲染函数.
* 1、请求坐席业绩的数据
* 2、对每月业绩清单进行检查如果有缺少则用0代替检查的结果是12个月的清单让调用者自己截断
* 3、将检查后的清单写入到业绩对象中只写金额
* @param callerInfo 坐席的信息参数,用于请求业绩;
* @param render 渲染函数用业绩对象CallerArchievement作为参数
*/
function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
{
const caller = {
@@ -105,6 +114,7 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
callName: callerInfo.telSalerName,
};
// 发送请求
instance.request({
method: "post",
url: API_URL.URL_CALLER_ARCHIEVEMENT,
@@ -124,8 +134,29 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
attaching_rate: data.attaching_rate ?? "0.0",
};
// 检查业绩清单有没有缺漏缺漏的用0补上
const checkedList = checkMensualArchievement( data.mensual_archievement_list );
// 排序一下
checkedList.sort(( a: MenusalArchievementItem, b: MenusalArchievementItem ): number =>
{
return a.month - b.month;
});
// 将排序后的每月业绩写到业绩对象中
checkedList.forEach(( item: MenusalArchievementItem ): void =>
{
const premium = Number( item.premium );
callArchievement.mensual_archievement_list.push( premium );
});
// 调用渲染函数
if ( render !== undefined )
{
render( callArchievement );
}
console.log( `queryCallerArchievement查询结果${data}` );
})
// 请求失败
@@ -137,8 +168,9 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
/**
* 检查服务器返回的每月业绩数组检查是否有缺漏缺少的月份业绩用0代替。
* @param mensualArchievementList
* @returns
* 检查的结果是12个月的清单由调用者自己进行截断。
* @param mensualArchievementList MenusalArchievementItem类型的数组为业绩清单
* @returns 返回MenusalArchievementItem数组为检查过的清单
*/
function checkMensualArchievement( mensualArchievementList: MenusalArchievementItem[]): MenusalArchievementItem[]
{