feat: 奖惩管理和薪资计算

This commit is contained in:
2025-03-10 15:10:49 +08:00
parent e3ed076396
commit 5ef7dfb4b1
7 changed files with 726 additions and 30 deletions

View File

@@ -29,4 +29,85 @@ export function uploadOssFile(data) {
'Content-Type': 'multipart/form-data'
}
})
}
export function getCalcHistory({ payTime }) {
return request({
url: '/oa/salary/list-staff',
method: 'get',
params: {
payTime
}
})
}
export function getWorkersCalcHistory({ payTime }) {
return request({
url: 'oa/salary/list-worker',
method: 'get',
params: {
payTime
}
})
}
export function getSalaryItemDetail(salaryId) {
return request({
url: '/oa/salaryItem/list',
method: 'get',
params: {
salaryId
}
})
}
export function deleteSalaryItem(id) {
return request({
url: `/oa/salaryItem/${id}`,
method: 'delete'
})
}
export function createSalaryItem(data) {
return request({
url: '/oa/salaryItem',
method: 'post',
data
})
}
/**
* 处理日期字符串
* @param {*} input
* @returns
*/
export function convertToDateString(input) {
// 验证输入格式
if (!/^\d{6}$/.test(input)) {
throw new Error("Invalid input format. Expected YYYYMM");
}
const year = input.substring(0, 4);
const month = input.substring(4, 6);
// 验证月份有效性
const monthNum = parseInt(month, 10);
if (monthNum < 1 || monthNum > 12) {
throw new Error("Invalid month value");
}
// 创建日期对象
const date = new Date(year, monthNum - 1, 1);
// 处理无效日期如2025-02-30
if (isNaN(date.getTime())) {
throw new Error("Invalid date combination");
}
// 格式化输出
return [
date.getFullYear(),
(date.getMonth() + 1).toString().padStart(2, "0"),
"01"
].join("-");
}