Commit 400adca2 authored by ‘老张’'s avatar ‘老张’

员工年假和填报工时优化

parent 8d8af891
import request from '@/utils/request' import request from '@/utils/request'
// 查询员工年假列表 // 查询员工余额列表
export function listAnnualleave(query) { export function listBalance(query) {
return request({ return request({
url: '/system/annualleave/list', url: '/system/balance/list',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 查询员工年假详细 // 查询员工余额详细
export function getAnnualleave(id) { export function getBalance(id) {
return request({ return request({
url: '/system/annualleave/' + id, url: '/system/balance/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增员工年假 // 新增员工余额
export function addAnnualleave(data) { export function addBalance(data) {
return request({ return request({
url: '/system/annualleave', url: '/system/balance',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改员工年假 // 修改员工余额
export function updateAnnualleave(data) { export function updateBalance(data) {
return request({ return request({
url: '/system/annualleave', url: '/system/balance',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除员工年假 // 删除员工余额
export function delAnnualleave(id) { export function delBalance(id) {
return request({ return request({
url: '/system/annualleave/' + id, url: '/system/balance/' + id,
method: 'delete' method: 'delete'
}) })
} }
...@@ -284,30 +284,46 @@ const submitProject = async () => { ...@@ -284,30 +284,46 @@ const submitProject = async () => {
/** 查询工时记录列表 */ /** 查询工时记录列表 */
function getList(employId) { function getList(employId) {
loading.value = true; loading.value = true;
getPersonalTimesheet(employId).then(response => {
console.log(response) // 从本地存储获取缓存数据
if (Array.isArray(response)) { // 检查是否为数组 const cachedData = localStorage.getItem(`timesheet_${employId}`);
personalTimesheetList.value = response.map(project => ({ if (cachedData) {
...project, personalTimesheetList.value = JSON.parse(cachedData);
addWorkList: project.addWorkList.map(day => ({ }
...day,
hours: Number(day.hours) || 0, getPersonalTimesheet(employId).then(response => {
})), console.log(response);
totalHours: project.totalHours || 0, if (Array.isArray(response)) {
approvalState: parseInt(project.approvalState), const newData = response.map(project => ({
departmentLeaderName: project.departmentLeaderName || '', ...project,
})); addWorkList: project.addWorkList.map(day => ({
...day,
hours: Number(day.hours) || 0,
})),
totalHours: project.totalHours || 0,
approvalState: parseInt(project.approvalState),
departmentLeaderName: project.departmentLeaderName || '',
}));
// 对比数据是否相同
const isSame = JSON.stringify(newData) === cachedData;
if (!isSame) {
personalTimesheetList.value = newData;
// 将新数据存入本地存储
localStorage.setItem(`timesheet_${employId}`, JSON.stringify(newData));
}
} else { } else {
console.error("Invalid response format:", response); console.error("Invalid response format:", response);
} }
loading.value = false; loading.value = false;
}) })
.catch(error => { .catch(error => {
// console.error("API error:", error); console.error("API error:", error);
loading.value = false; loading.value = false;
}); });
} }
const A =(data)=>{ const A =(data)=>{
getPersonalTimesheet(data).then(response => { getPersonalTimesheet(data).then(response => {
if (response.code === 200) { if (response.code === 200) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment