salary-management-front/pc4mobx/hrmSalary/stores/payrollFiles.js

77 lines
2.6 KiB
JavaScript

import { action, observable } from "mobx";
import { WeaForm, WeaTableNew } from "comsMobx";
import * as API from "../apis/payrollFiles";
import { getDataPerspective, statisticsEmployeeDetailList } from "../apis/statistics";
const { TableStore } = WeaTableNew;
export class PayrollFilesStore {
@observable tableStore = new TableStore();
@observable employeeTableStore = new TableStore();
@observable pivotTableStore = new TableStore();
@observable adjustForm = new WeaForm(); //调薪记录-核算form
@action initAdjustForm = () => this.adjustForm = new WeaForm();//调薪记录-初始化核算form
/*薪资档案页面重构*/
@observable salaryFileQueryForm = new WeaForm(); // 薪资档案查询form
/*薪资档案页面重构*/
@action("薪资档案-列表查询")
queryList = (payload = {}, searchItemsValue = {}, url = "") => {
return new Promise((resolve, reject) => {
const { departmentIds, positionIds, subcompanyIds, statuses, ...extra } = searchItemsValue;
API.queryList({
departmentIds: departmentIds ? departmentIds.split(",") : [],
positionIds: positionIds ? positionIds.split(",") : [],
subcompanyIds: subcompanyIds ? subcompanyIds.split(",") : [],
statuses: statuses ? statuses.split(",") : [],
...payload, ...extra, url
}).then(res => {
const { data, status } = res;
if (status) {
const { dataKey } = data;
const { datas } = dataKey;
this.tableStore.getDatas(datas); // table 请求数据
}
resolve(res);
}).catch(() => {
reject();
});
});
};
@action("薪酬统计列表员工详情-列表查询")
statisticsEmployeeDetailList = (payload) => {
return new Promise((resolve, reject) => {
statisticsEmployeeDetailList(payload).then(res => {
const { data, status } = res;
if (status) {
const { dataKey } = data;
const { datas } = dataKey;
this.employeeTableStore.getDatas(datas); // table 请求数据
}
resolve(res);
}).catch(() => {
reject();
});
});
};
@action("报表查看-数据透视")
getDataPerspective = (payload) => {
return new Promise((resolve, reject) => {
getDataPerspective(payload).then(res => {
const { data, status } = res;
if (status) {
const { dataKey } = data;
const { datas } = dataKey;
this.pivotTableStore.getDatas(datas); // table 请求数据
}
resolve(res);
}).catch(() => {
reject();
});
});
};
}