Commit 70bff294 authored by 罗林杰's avatar 罗林杰

Merge remote-tracking branch 'origin/master'

parents 12579f69 293351d8
import request from '@/utils/request'
// 查询员工年假列表
export function listAnnualleave(query) {
// 查询员工余额列表
export function listBalance(query) {
return request({
url: '/system/annualleave/list',
url: '/system/balance/list',
method: 'get',
params: query
})
}
// 查询员工年假详细
export function getAnnualleave(id) {
// 查询员工余额详细
export function getBalance(id) {
return request({
url: '/system/annualleave/' + id,
url: '/system/balance/' + id,
method: 'get'
})
}
// 新增员工年假
export function addAnnualleave(data) {
// 新增员工余额
export function addBalance(data) {
return request({
url: '/system/annualleave',
url: '/system/balance',
method: 'post',
data: data
})
}
// 修改员工年假
export function updateAnnualleave(data) {
// 修改员工余额
export function updateBalance(data) {
return request({
url: '/system/annualleave',
url: '/system/balance',
method: 'put',
data: data
})
}
// 删除员工年假
export function delAnnualleave(id) {
// 删除员工余额
export function delBalance(id) {
return request({
url: '/system/annualleave/' + id,
url: '/system/balance/' + id,
method: 'delete'
})
}
......@@ -202,10 +202,11 @@
</el-table>
<div style="padding-right: 35%">
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
:page-sizes="pageSizes"
v-show="item.total > 0"
:total="item.total"
v-model:page="paginationState[item.projectId].pageNum"
v-model:limit="paginationState[item.projectId].pageSize"
@pagination="getList"
/>
</div>
......@@ -263,8 +264,6 @@ const printDis = (row) => {
const data = reactive({
form:{},
queryParams:{
pageNum: 1,
pageSize: 10,
projectName: undefined,
reimbursementType:undefined,
projectNumber: undefined,
......@@ -276,7 +275,9 @@ const data = reactive({
});
const { queryParams, form} = toRefs(data);
// 分页参数
const paginationState = ref({});
const pageSizes = ref([3, 6, 9, 12, 15]);
//获取列表第一个顶部信息
const getTopApproveInfo = ()=>{
let item2 = costManageList.value[0]
......@@ -289,8 +290,12 @@ const getTopApproveInfo = ()=>{
/** 查询报销列表 */
function getList() {
loading.value = true;
const params = {
...queryParams.value,
projectPageParams: JSON.stringify(paginationState.value)
}
//获取日常报销列表
listCostManage(queryParams.value).then((res) => {
listCostManage(params).then((res) => {
costManageList.value = res.rows
for(let item of costManageList.value){
if(!item.tableItemList){
......@@ -316,6 +321,42 @@ function getList() {
})
}
/** 初始化报销列表 */
function onMountGetList() {
loading.value = true;
//获取日常报销列表
listCostManage(queryParams.value).then((res) => {
costManageList.value = res.rows
// 初始化分页状态
costManageList.value.forEach((item) => {
paginationState.value[item.projectId] = {
pageNum: 1,
pageSize: 3,
};
});
for(let item of costManageList.value){
if(!item.tableItemList){
item.tableItemList = []
}
}
for(let key in res.rows){
// console.log(data)
res.rows[key].tableItemList.sort((a, b) => {
if(a.status === 1 && b.status !== 1){
return -1;
}
if(b.status === 1 && a.status !== 1){
return 1;
}
return new Date(b.registrationTime) - new Date(a.registrationTime)
})
}
total.value = res.total
loading.value = false
getTopApproveInfo()
})
}
//获取所有审批流程
const getAllshenpiList = ()=>{
getAllapproveList(16).then(res => {
......@@ -468,7 +509,7 @@ const handleLeave = () => {
}
onMounted(() => {
getList();
onMountGetList();
getAllshenpiList();
getProjectList();
getUserSelectList();
......
......@@ -285,10 +285,17 @@ const submitProject = async () => {
/** 查询工时记录列表 */
function getList(employId) {
loading.value = true;
// 从本地存储获取缓存数据
const cachedData = localStorage.getItem(`timesheet_${employId}`);
if (cachedData) {
personalTimesheetList.value = JSON.parse(cachedData);
}
getPersonalTimesheet(employId).then(response => {
console.log(response)
if (Array.isArray(response)) { // 检查是否为数组
personalTimesheetList.value = response.map(project => ({
console.log(response);
if (Array.isArray(response)) {
const newData = response.map(project => ({
...project,
addWorkList: project.addWorkList.map(day => ({
...day,
......@@ -298,16 +305,25 @@ function getList(employId) {
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 {
console.error("Invalid response format:", response);
}
loading.value = false;
})
.catch(error => {
// console.error("API error:", error);
console.error("API error:", error);
loading.value = false;
});
}
const A =(data)=>{
getPersonalTimesheet(data).then(response => {
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