import Enum from '@/utils/enum'; declare namespace CompensateConfig { interface DeleteKpiGroup { id: number } interface BasePageParams { current: number; pageSize: number; } /** * 薪酬组列表请求参数 */ interface GroupListParams { current?: number; pageSize?: number; shopId?: number; //门店id postId?: number; //岗位id groupId?: number; //集团id } /** * 薪酬组列表项 */ interface GroupListItems { draftId: number; beginTimeType?: number; //生效月度 postId: number; //岗位id postName: string; //岗位名称 shopIds: number[]; //适用门店ids shopNames: string[]; //适用门店名称 beginTime: number; //生效时间 overTime: number; //失效时间 reason: string; //调整原因 attachment: string[]; // 附件; fid逗号隔开 status: number; // 状态; 1:审批中 2:待生效 3:生效中 4: 已失效 projectNum: number; //薪酬项数量; 只统计可配置的的项目数 groupId: number; //集团id projects: Projects[];// 薪酬组薪酬项目 id: number; //主键id } // 薪酬组薪酬项目 interface Projects { salaryGroupId: number; //薪酬组id salaryProjectId: number; //薪酬项目id salaryProjectCode: string;//薪酬项目编码 salaryProjectName: string; //薪酬项目名称 calMethod: number; // 计算方式; 1: 星级 2:固定金额 3: 阶梯提成(单) 4:按量 5: 固定提成 6: 阶梯提成(总) single: boolean; // 唯一值; 是否允许有多个相同项目 settings: Settings[]; id: number; //主键id } // 薪酬项目配置 interface Settings { salaryGroupProjectId: number; // 薪酬项目配置id stairKey: number; //阶梯key;新车销售按车系计算是 对应车系id其他则为绩效项id stairKeyDesc: string;//阶梯key对应描述 stairValue: number;//计算相关值 stairMin?: number;//阶梯值下限 stairMax?: number;//阶梯值上限;阶梯值上限 id: number; } /**人员查看 */ interface Person { visible: boolean; postId?: number; //岗位id shopIds: number[]; //门店id } /** * 实时查询绩效组人员 参数 */ // interface RealTimeParams extends BasePageParams { interface RealTimeParams { shopIds: string; // 门店id postId: number; //岗位id } /** * 实时查询绩效组人员 列表项 */ interface RealTimePersonItems { salaryGroupId: number; //薪酬组id userId: number; //人员id userName: string; //人员名称 postId: number; //岗位id postName: string; //岗位名称 shopId: number; //门店id shopName: string; //在职门店 probationer: boolean;//是否是试用人员 dataDate: string; //数据日期 groupId: number; //集团id id: number; //主键id } /** * 查询绩效组人员(列表) 参数 */ interface GroupConfigParams { id: number; // 绩效组id staffName?: number; //员工名称 } /** * 获取岗位下的绩效组指标 */ interface SelectIndicator { id: number; salaryCode: string; salaryName: string } // 配置薪酬项目 interface Item { laddersType: number; index: number targets: any[]; ladderParamAlias: string; commissionParamAlias: string; preconditionAlias: string; calMethod: number; settings: Settings[]; id?: number; name: string; ladderParams: CommissionParams[]; commissionParams: CommissionParams[]; conds: Conds[]; } interface Conds { indicatorCode: string; indicatorId?: number; indicatorName: string; targetType: number; targetValue?: number; targetCalcType?: number; sort: number; // 排序 condValue:number;// 条件值 } interface CommissionParams { indicatorCode: string; indicatorId?: number; indicatorName: string; targetType: number; cap: boolean; //是否封顶 proportion: number; //占比 targetValue?: number; targetCalcType?: number; sort: number; } // 薪酬项配置 interface Settings{ stairKey: number;// 阶梯key; stairKeyDesc: string; // 阶梯key对应描述 stairValue: number;//计算基础值 stairMin?: number;//阶梯值下限 stairMax?: number; //阶梯值上限 } // 得分阶梯 interface IndicatorLadders { lower: number; key: string; standardScore: number; } interface StartData { level: string; lower?: number; upper?: number; } /** * 薪酬组保存 参数 */ interface SalaryGroupSaveParams { id?:number; postId: number; //岗位id postName: string; //岗位名称 shopIds: number[]; //适用门店ids shopNames: string[]; //适用门店名称 beginTime: number; //生效时间 reason?: string; //调整原因 attachment?: string[];//附件ids groupId?: number;//集团id userName?: string;//用户名 projects: Projects[];//薪酬项目 } /**薪酬项目 */ }