interface.d.ts
4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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[];//薪酬项目
}
/**薪酬项目 */
}