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

141 lines
3.9 KiB
JavaScript

import { observable, action, toJS } from 'mobx';
import { message } from 'antd';
import { WeaForm, WeaLogView, WeaTableNew } from 'comsMobx';
import { WeaLocaleProvider } from 'ecCom';
import moment from 'moment'
import * as API from '../apis/mySalaryBenefits'; // 引入API接口文件
const {LogStore} = WeaLogView;
const getLabel = WeaLocaleProvider.getLabel;
const { TableStore } = WeaTableNew;
export class MySalaryStore {
@observable tableStore = new TableStore(); // new table
@observable form = new WeaForm(); // nrew 一个form
@observable condition = []; // 存储后台得到的form数据
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
@observable showSearchAd = false; // 高级搜索面板显示
@observable loading = true; // 数据加载状态
@observable tabIndex = 0; // tab选中坐标
@observable params = {}; // 搜索条件
// 工资单列表
@observable myBillDataSource = [];
@observable myBillTableStore = new TableStore();
// 工资单详情
@observable mySalaryBill = {};
// 调薪记录
@observable recordListColumns = [];
@observable recordListDataSource = [];
@observable recordListPageInfo = {};
@observable myBillPageInfo = {}
@action
initParams = () => {
let month = moment().format("YYYY-MM")
this.params = {startMonth: month, endMonth: month}
return this.params;
}
@action
setTabIndex = index => {
this.tabIndex = index
this.getTableDatas(index);
}
// 初始化操作
@action
doInit = () => {
this.
this.getTableDatas(0, params);
}
// 获得高级搜索表单数据
@action
getCondition = () => {
API.getCondition().then(action(res => {
if (res.api_status) { // 接口请求成功/失败处理
this.condition = res.condition;
this.form.initFormFields(res.condition); // 渲染高级搜索form表单
} else {
message.error(res.errormsg || '接口调用失败!')
}
}));
}
// 渲染table数据
@action
getTableDatas = (params) => {
this.loading = true;
const formParams = this.form.getFormParams() || {};
params = params || formParams;
switch(params) {
case 0:
// 工资单
API.mySalaryBillList(param)
break;
}
API.getTableDatas(params).then(action(res => {
if (res.api_status) { // 接口请求成功/失败处理
this.tableStore.getDatas(res.datas); // table 请求数据
this.hasRight = res.hasRight;
} else {
message.error(res.errormsg || '接口调用失败!')
}
this.loading = false;
}));
}
@action
setShowSearchAd = bool => this.showSearchAd = bool;
// 高级搜索 - 搜索
@action doSearch = () => {
this.getTableDatas();
this.showSearchAd = false;
}
// 我的工资单列表
@action
mySalaryBillList = (salaryYearMonth = [], params = {}) => {
this.loading = true
API.mySalaryBillList({salaryYearMonth, ...params}).then(res => {
if(res.status) {
this.myBillDataSource = res.data.datas
this.myBillTableStore.getDatas(res.data.dataKey.datas)
this.myBillPageInfo = res.data.pageInfo
this.loading = false
} else {
message.error(res.errormsg || "获取失败")
this.loading = false
}
})
}
// 我的工资单详情
@action
getMySalaryBill = (salaryInfoId) => {
API.mySalaryBill({salaryInfoId}).then(res => {
if(res.status) {
this.mySalaryBill = res.data
} else {
message.error(res.errormsg || "获取失败")
}
})
}
@action
getRecordList = (params = {}) => {
API.recordList(params).then(res => {
if(res.status) {
this.recordListColumns = res.data.columns
this.recordListDataSource = res.data.list ? res.data.list : []
this.recordListPageInfo = res.data
}
})
}
}