account.ts
8.25 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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
import { defHttp } from '/@/utils/http/axios';
enum Api {
ROLE_LIST = '/order/erp/roles/all',
ROLE_ADD = '/order/erp/roles/add',
ROLE_EDIT = '/order/erp/roles/edit',
ROLE_DELETE = '/order/erp/roles/delete',
USER_LIST = '/order/erp/users/list_by_page',
USER_ADD = '/order/erp/users/add',
USER_EDIT = '/order/erp/users/edit',
USER_DELETE = '/order/erp/users/delete',
USER_OPT = '/order/erp/users/opt',
USER_RESET_PASSWORD = '/order/erp/users/reset', // 管理员重置密码
DEPT_LIST = '/order/erp/depts/all',
DEPT_ADD = '/order/erp/depts/add',
DEPT_EDIT = '/order/erp/depts/edit',
DEPT_DELETE = '/order/erp/depts/delete',
COMPANY_LIST = '/order/erp/jobs/all',
COMPANY_ADD = '/order/erp/jobs/add',
COMPANY_EDIT = '/order/erp/jobs/edit',
COMPANY_DELETE = '/order/erp/jobs/delete',
// 人事配置相关API
PERSONNEL_CONFIG_LIST = '/order/erp/system_setting/query_list',
PERSONNEL_CONFIG_ADD = '/order/erp/system_setting/add',
PERSONNEL_CONFIG_EDIT = '/order/erp/system_setting/edit',
PERSONNEL_CONFIG_DELETE = '/order/erp/system_setting/delete_by_id',
}
export const getRoleList = async (params: any) => {
const res = await defHttp.post<any>({
url: Api.ROLE_LIST,
params,
});
console.log('==== 角色列表API原始返回数据 ====', res);
// 在API层直接过滤掉生产科角色
if (Array.isArray(res)) {
const filtered = res.filter(item => item.id !== 6);
console.log('==== API层过滤后的角色列表 ====', filtered);
return filtered;
}
return res;
};
// 添加角色
export const addRole = async (params: any) => {
return defHttp.post<any>({
url: Api.ROLE_ADD,
params,
}, {
successMsg: '添加角色成功',
});
};
// 编辑角色
export const editRole = async (params: any) => {
return defHttp.post<any>({
url: Api.ROLE_EDIT,
params,
}, {
successMsg: '编辑角色成功',
});
};
// 删除角色
export const deleteRole = async (params: any) => {
return defHttp.post<any>({
url: Api.ROLE_DELETE,
params,
}, {
successMsg: '删除角色成功',
});
};
export const getUserList = async (params: any) => {
const res = await defHttp.post<any>({
url: Api.USER_LIST,
params,
});
return new Promise((resolve) => {
resolve({
items: res.records,
total: res.total,
});
});
};
// export const getAccountList = async (params: AccountParams) => {
// const res = await defHttp.post<AccountListGetResultModel>({ url: Api.AccountList, params });
// return new Promise((resolve) => {
// resolve(res.records);
// });
// };
export const userAdd = async (params: any) => {
return defHttp.post<any>({
url: Api.USER_ADD,
params,
}, {
successMsg: '保存成功',
});
};
export const userEdit = async (params: any) => {
return defHttp.post<any>({
url: Api.USER_EDIT,
params,
}, {
successMsg: '保存成功',
});
};
export const userDelete = async (params: any) => {
return defHttp.post<any>({
url: Api.USER_DELETE,
params,
});
};
export const userOpt = async (params: any) => {
return defHttp.post<any>({
url: Api.USER_OPT,
params,
}, {
successMsg: '操作成功',
});
};
export const userResetPassword = async (params: any) => {
return defHttp.post<any>({
url: Api.USER_RESET_PASSWORD,
params,
}, {
successMsg: '重置密码成功',
});
};
export const getDeptList = async (params: any) => {
return defHttp.post<any>({
url: Api.DEPT_LIST,
params,
});
};
// 添加部门
export const addDept = async (params: any) => {
return defHttp.post<any>({
url: Api.DEPT_ADD,
params,
}, {
successMsg: '添加部门成功',
});
};
// 编辑部门
export const editDept = async (params: any) => {
return defHttp.post<any>({
url: Api.DEPT_EDIT,
params,
}, {
successMsg: '编辑部门成功',
});
};
// 删除部门
export const deleteDept = async (params: any) => {
return defHttp.post<any>({
url: Api.DEPT_DELETE,
params,
}, {
successMsg: '删除部门成功',
});
};
// 获取公司列表
export const getCompanyList = async (params: any) => {
return defHttp.post<any>({
url: Api.COMPANY_LIST,
params,
});
};
// 添加公司
export const addCompany = async (params: any) => {
return defHttp.post<any>({
url: Api.COMPANY_ADD,
params,
}, {
successMsg: '添加公司成功',
});
};
// 编辑公司
export const editCompany = async (params: any) => {
return defHttp.post<any>({
url: Api.COMPANY_EDIT,
params,
}, {
successMsg: '编辑公司成功',
});
};
// 删除公司
export const deleteCompany = async (params: any) => {
return defHttp.post<any>({
url: Api.COMPANY_DELETE,
params,
}, {
successMsg: '删除公司成功',
});
};
// 人事配置相关API
export const getPersonnelConfigList = async (params: any) => {
// 合并请求参数,确保必要的参数存在
const requestParams = {
settingType: 60,
...params, // 保留其他可能的过滤参数
};
const res = await defHttp.post<any>({
url: Api.PERSONNEL_CONFIG_LIST,
params: requestParams,
});
// 处理后端返回的数据,转换为表格所需格式
let items: any[] = [];
if (res && Array.isArray(res)) {
items = res.map((item: any) => {
// 解析relationValue JSON字符串
let relationData = { allDay: 0, weekDay: 0, payDay: 0, appointedDay: 0, monthlyWorkingDay: 0, settingType: 0 };
try {
if (item.relationValue) {
// 检查relationValue是否已经是对象
if (typeof item.relationValue === 'string') {
const parsedData = JSON.parse(item.relationValue);
if (typeof parsedData === 'object' && parsedData !== null) {
relationData = { ...relationData, ...parsedData };
console.log('解析后的relationValue数据:', relationData);
}
} else {
// 尝试解析JSON字符串
const parsedData = JSON.parse(item.relationValue);
if (Array.isArray(parsedData) && parsedData.length > 0) {
relationData = { ...relationData, ...parsedData[0] };
}
}
}
} catch (e) {
console.error('解析relationValue失败:', e, 'relationValue:', item.relationValue);
}
// 处理考勤配置数据 (settingType 61-64)
if(item.settingType == 61 || item.settingType == 62 || item.settingType == 63 || item.settingType == 64){
// 修正:确保monthlyWorkingDay映射到workDays,payDay映射到salaryDays
relationData.weekDay = relationData.monthlyWorkingDay;
// 确保payDay也被正确记录
relationData.payDay = relationData.payDay || 0;
relationData.settingType = item.settingType;
console.log('处理后的考勤数据:', relationData);
}
return {
id: item.id,
year: item.settingValue, // 年份 - settingValue
month: item.relationName, // 月份 - relationName
calendarDays: relationData.allDay, // 日历天数 - relationValue中的allDay
workDays: relationData.weekDay || relationData.monthlyWorkingDay, // 工作日 - 优先使用weekDay,兼容monthlyWorkingDay
salaryDays: relationData.payDay, // 计薪日 - relationValue中的payDay
legalHolidays: relationData.appointedDay, // 法定日 - relationValue中的appointedDay
settingType: item.settingType
};
});
}
// 添加最终处理后的数据日志
console.log('最终处理后的数据:', items);
return {
items: items,
total: items.length
};
};
// 添加人事配置
export const addPersonnelConfig = async (params: any) => {
return defHttp.post<any>({
url: Api.PERSONNEL_CONFIG_ADD,
params,
}, {
successMsg: '添加人事配置成功',
});
};
// 编辑人事配置
export const editPersonnelConfig = async (params: any) => {
return defHttp.post<any>({
url: Api.PERSONNEL_CONFIG_EDIT,
params,
}, {
successMsg: '编辑人事配置成功',
});
};
// 删除人事配置
export const deletePersonnelConfig = async (params: any) => {
return defHttp.post<any>({
url: Api.PERSONNEL_CONFIG_DELETE,
params,
}, {
successMsg: '删除人事配置成功',
});
};