Files
desktop_task_schedule/code/web/task_schedule/src/utils/archievement.ts

85 lines
2.9 KiB
TypeScript
Raw Normal View History

2023-03-17 18:53:13 +08:00
/*
* @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";
2023-03-17 18:53:13 +08:00
// import { type AxiosResponse } from "axios";
interface Archievement
{
success: boolean;
message: string;
total_archievement: number;
2023-03-21 18:01:05 +08:00
mensual_archievement_list: number[];
2023-03-17 18:53:13 +08:00
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
2023-03-17 18:53:13 +08:00
{
2023-03-24 15:11:47 +08:00
instance.request({
2023-03-17 18:53:13 +08:00
method: "post",
url: API_URL.URL_DEPARTMENT_ARCHIEVEMENT,
data: departmentInfo,
2023-03-24 15:11:47 +08:00
})
.then(( response ) =>
2023-03-17 18:53:13 +08:00
{
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 ?? "";
2023-07-31 20:14:49 +08:00
archievement.total_archievement = data.total_archievement;
// archievement.mensual_archievement_list = data.mensual_archievement_list ?? [];
archievement.mensual_archievement_list = [];
2023-03-17 18:53:13 +08:00
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 ?? [];
2023-08-25 20:47:36 +08:00
2023-07-31 20:14:49 +08:00
// 转换每月业绩数据用month排序以后保留premium。
2023-08-25 20:47:36 +08:00
data.mensual_archievement_list.sort(( a: any, b: any ) => a.month - b.month );
data.mensual_archievement_list.forEach(( item: any ) =>
2023-07-31 20:14:49 +08:00
{
archievement.mensual_archievement_list.push( item.premium );
});
2023-03-17 18:53:13 +08:00
2023-07-31 20:14:49 +08:00
console.log( "每月业绩", archievement );
// 渲染数据
render( archievement );
2023-03-24 15:11:47 +08:00
})
.catch(( error ) =>
2023-03-17 18:53:13 +08:00
{
console.log( error );
2023-03-24 15:11:47 +08:00
});
2023-03-17 18:53:13 +08:00
}
export { queryDepartmentArchievement, type Archievement };