Files
desktop_task_schedule/code/web/task_schedule/src/utils/archievement.ts
2023-08-25 20:47:36 +08:00

85 lines
2.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Author: Kane
* @Date: 2023-03-17 15:17:44
* @LastEditors: Kane
* @FilePath: /task_schedule/src/utils/archievement.ts
* @Description: 请求业绩数据
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import { service as instance } from "./api/request.js";
import { API_URL } from "./api/config.js";
import { type Department } from "@/types/cpicxim/Department.js";
// import { type AxiosResponse } from "axios";
interface Archievement
{
success: boolean;
message: string;
total_archievement: number;
mensual_archievement_list: number[];
insurance_renewal_rate: string;
attaching_rate: string;
leading_reward_gainers: string[];
advance_reward_gainers: string[];
backward_list: string[];
}
/**
* 获取部门业绩数据,并调用回调函数进行渲染。
* @param render 用于给组件更新数据的回调函数
*/
function queryDepartmentArchievement( departmentInfo: Department, render: any ): void
{
instance.request({
method: "post",
url: API_URL.URL_DEPARTMENT_ARCHIEVEMENT,
data: departmentInfo,
})
.then(( response ) =>
{
const archievement: Archievement = {
success: false,
message: "",
total_archievement: 0,
mensual_archievement_list: [],
insurance_renewal_rate: "",
attaching_rate: "",
leading_reward_gainers: [],
advance_reward_gainers: [],
backward_list: [],
};
const data = response.data ?? {};
archievement.success = data.success ?? false;
archievement.message = data.message ?? "";
archievement.total_archievement = data.total_archievement;
// archievement.mensual_archievement_list = data.mensual_archievement_list ?? [];
archievement.mensual_archievement_list = [];
archievement.insurance_renewal_rate = data.insurance_renewal_rate ?? "0.0";
archievement.attaching_rate = data.attaching_rate ?? "0.0";
archievement.leading_reward_gainers = data.leading_reward_gainers ?? [];
archievement.advance_reward_gainers = data.advance_reward_gainers ?? [];
archievement.backward_list = data.backward_list ?? [];
// 转换每月业绩数据用month排序以后保留premium。
data.mensual_archievement_list.sort(( a: any, b: any ) => a.month - b.month );
data.mensual_archievement_list.forEach(( item: any ) =>
{
archievement.mensual_archievement_list.push( item.premium );
});
console.log( "每月业绩", archievement );
// 渲染数据
render( archievement );
})
.catch(( error ) =>
{
console.log( error );
});
}
export { queryDepartmentArchievement, type Archievement };