保存进度!

This commit is contained in:
Kane Wang 2023-08-29 18:57:27 +08:00
parent 8e0505bd49
commit 08ea359cd1
4 changed files with 121 additions and 38 deletions

View File

@ -49,31 +49,32 @@ interface MenusalArchievementItem // 每月业绩清单的项目
*/
function queryDepartmentArchievement( departmentInfo: Department, render: any ): void
{
// 默认的部门业绩对象
const archievement: DepartmentArchievement = {
success: false,
message: "",
total_archievement: 0,
mensual_archievement_list: [],
insurance_renewal_rate: "",
attaching_rate: "",
leading_reward_gainers: [],
advance_reward_gainers: [],
backward_list: [],
};
instance.request({
method: "post",
url: API_URL.URL_DEPARTMENT_ARCHIEVEMENT,
data: departmentInfo,
})
// 请求结束,将请求的结果写入业绩对象,然后调用功能渲染函数。
.then(( response ) =>
{
const archievement: DepartmentArchievement = {
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.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";
@ -90,12 +91,25 @@ function queryDepartmentArchievement( departmentInfo: Department, render: any ):
console.log( "每月业绩", archievement );
// 渲染数据
render( archievement );
// 调用渲染函数
if ( render !== undefined )
{
render( archievement );
}
})
// 请求失败,将失败原因写入业绩对象,调用渲染函数
.catch(( error ) =>
{
console.log( error );
archievement.success = false;
archievement.message = String( error );
// 调用渲染函数
if ( render !== undefined )
{
render( archievement );
}
console.log( `queryDepartmentArchievement:查询部门${departmentInfo.departmentCode}业绩失败,原因${error}` );
});
}
@ -103,7 +117,8 @@ function queryDepartmentArchievement( departmentInfo: Department, render: any ):
* .
* 1
* 2012
* 3
* 3
* 4使message写入业绩对象
* @param callerInfo
* @param render CallerArchievement作为参数
*/
@ -114,6 +129,16 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
callName: callerInfo.telSalerName,
};
// 默认的业绩对象
const callArchievement: CallerArchievement = {
success: false,
message: "",
total_archievement: 0,
mensual_archievement_list: [],
insurance_renewal_rate: "0.0",
attaching_rate: "0.0",
};
// 发送请求
instance.request({
method: "post",
@ -125,14 +150,12 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
{
const data = response.data ?? {};
const callArchievement: CallerArchievement = {
success: data.success ?? false,
message: data.message ?? "",
total_archievement: data.total_archievement ?? 0,
mensual_archievement_list: [],
insurance_renewal_rate: data.insurance_renewal_rate ?? "0.0",
attaching_rate: data.attaching_rate ?? "0.0",
};
callArchievement.success = data.success ?? false;
callArchievement.message = data.message ?? "服务器没有返回调用结果消息,请检查日志!";
callArchievement.total_archievement = data.total_archievement ?? 0;
callArchievement.mensual_archievement_list = [];
callArchievement.insurance_renewal_rate = data.insurance_renewal_rate ?? "0.0";
callArchievement.attaching_rate = data.attaching_rate ?? "0.0";
// 检查业绩清单有没有缺漏缺漏的用0补上
const checkedList = checkMensualArchievement( data.mensual_archievement_list );
@ -159,9 +182,18 @@ function queryCallerArchievement( callerInfo: TelSaler, render: any ): void
console.log( `queryCallerArchievement查询结果${data}` );
})
// 请求失败
// 请求失败将失败的原因保存到message属性调用渲染函数
.catch(( error: any ) =>
{
callArchievement.success = false;
callArchievement.message = String( error );
// 调用渲染函数
if ( render !== undefined )
{
render( callArchievement );
}
console.log( `queryCallerArchievement:查询坐席${callerInfo.telSalerCode}业绩失败,原因${error}` );
});
}

View File

@ -32,6 +32,9 @@ interface RankingListResponse
renewalRateRankingList: RankingListItem[];
}
// 判断用的正则表达式
const regexMonth = "(0[1-9])|(1[0-2])";
/**
*
* @param reqParam
@ -53,6 +56,9 @@ function requestRankingList( reqParam: RankingListRequest, rander: any ): void /
renewalRateRankingList: [],
};
// 检查请求参数
// TODO: 这里要加一个对month的正则表达式验证。
instance.request(
{
method: "post",

View File

@ -89,6 +89,7 @@ import { ElMessage } from "element-plus";
import
{
type DepartmentArchievement,
type CallerArchievement,
queryDepartmentArchievement,
queryCallerArchievement
} from "@/utils/archievement.js";
@ -135,6 +136,10 @@ export default {
setup()
{
const monthIndex = new Date();
const thisMonth: number = monthIndex.getMonth();
const thisMonthString = thisMonth > 10 ? String( thisMonth ): "0" + String( thisMonth );
const thisYear: number = monthIndex.getFullYear();
const thisYearString: string = String( thisYear );
const numInChinese = [
"一",
"二",
@ -166,7 +171,7 @@ export default {
});
let timerHandler = 0;
const getTotalArchievement = computed(() =>
const getTotalArchievement = computed(():string =>
{
const cnyFormat = new Intl.NumberFormat( "zh-cn", {
style: "currency",
@ -178,13 +183,28 @@ export default {
return archievement;
});
//
const applyDepartmentArchievementData = ( data: DepartmentArchievement ) =>
/**
* 将请求函数获取的部门业绩数据渲染到页面上
* @param data DepartmentArchievementl类型的部门业绩数据对象
*/
const applyDepartmentArchievementData = ( data: DepartmentArchievement ): void =>
{
console.log( "部门业绩数据", data );
// console.log( "", data );
ui.chartData = data.mensual_archievement_list;
ui.totalArchievement = data.total_archievement;
//
if ( data.success !== true )
{
// 退
ElMessage({
message: data.message,
type: "error",
});
return;
}
// ui.chartData = data.mensual_archievement_list;
// ui.totalArchievement = data.total_archievement;
ui.attaching_rate = data.attaching_rate;
ui.insurance_renewal_rate = data.insurance_renewal_rate;
ui.leading_reward_gainers = data.leading_reward_gainers;
@ -201,6 +221,32 @@ export default {
}, 0 );
};
const applyCallerArchievementData = ( data: CallerArchievement ): void =>
{
//
if ( data.success !== true )
{
// 退
ElMessage({
message: data.message,
type: "error",
});
return;
}
ui.chartData = data.mensual_archievement_list.slice( 0, thisMonth-1 );
ui.totalArchievement = data.total_archievement;
console.log( "业绩清单", ui.chartData );
ui.showUI = false;
setTimeout(() =>
{
ui.showUI = true;
}, 0 );
};
const applyRankingListData = ( data: RankingListResponse ): void =>
{
ui.attachingRankingList = data.attachingRateRankingList;
@ -240,7 +286,7 @@ export default {
}
/**
* 刷新页面
* 用于定时对页面进行刷新其中会请求最新的业绩数据
*/
const refresh = () =>
{
@ -251,11 +297,12 @@ export default {
const rankinglistRequest: RankingListRequest = {
departmentCode: callerInfo.departmentCode,
year: "2023",
month: "06",
year: thisYearString,
month: thisMonthString,
};
queryDepartmentArchievement( deparmentInfo, applyDepartmentArchievementData );
queryCallerArchievement( callerInfo, applyCallerArchievementData );
requestRankingList( rankinglistRequest, applyRankingListData );
};

View File

@ -22,8 +22,6 @@ public class MensualArchievementItem
this.premium = premium;
}
public int getMonth()
{
return month;