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

147 lines
4.2 KiB
JavaScript

import { observable, action, toJS } from 'mobx';
import { message } from 'antd';
import { WeaForm, WeaTableNew } from 'comsMobx';
import { removePropertyCondition } from '../util/response';
import * as API from '../apis/cumSituation'; // 引入API接口文件
import * as TaxAgentApi from '../apis/taxAgent'
const { TableStore } = WeaTableNew;
export class CumSituationStore {
@observable tableStore = new TableStore(); // new table
@observable slideTableStore = new TableStore();
@observable form = new WeaForm(); // nrew 一个form
@observable condition = []; // 存储后台得到的form数据
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
@observable showSearchAd = false; // 高级搜索面板显示
@observable loading = true; // 数据加载状态
@observable step = 0; // 当前所在第几步
@observable slideVisiable = false; // slide 是否隐藏
@observable slideDataSource = [];
@observable importResult = {}
@observable modalVisiable = false; // 模态框显示
@observable currentRecord = {}; // 当前record
// ** 设置导入参数 start **
@action
setSlideDataSource = (slideDataSource) => {
this.slideDataSource = slideDataSource
}
@action
setImportResult = (importResult) => {
this.importResult = importResult
}
// ** 设置导入参数 end **
@action
setCurrentRecord = currentRecord => this.currentRecord = currentRecord;
@action
setModalVisiable = visiable => this.modalVisiable = visiable
@action
setStep = step => this.step = step;
@action
setSlideVisiable = slideVisiable => this.slideVisiable = slideVisiable;
// 初始化操作
@action
doInit = () => {
this.getCondition();
this.getTableDatas();
}
// 获得高级搜索表单数据
@action
getCondition = () => {
API.getCumSituationSaCondition().then(action(res => {
if (res.status) { // 接口请求成功/失败处理
let condition = removePropertyCondition(res.data.condition)
this.condition = condition;
this.form.initFormFields(condition); // 渲染高级搜索form表单
} else {
message.error(res.errormsg || '接口调用失败!')
}
}));
}
// 渲染table数据
@action
getTableDatas = (params) => {
params = params || {};
this.loading = true;
let requestParams = this.form.getFormParams() || {};
requestParams = {...requestParams, ...params}
API.getCumSituationList(requestParams).then(action(res => {
if (res.status) { // 接口请求成功/失败处理
this.tableStore.getDatas(res.data.datas); // table 请求数据
} else {
message.error(res.errormsg || '接口调用失败!')
}
this.loading = false;
}));
}
@action
setShowSearchAd = bool => this.showSearchAd = bool;
// 高级搜索 - 搜索
@action doSearch = () => {
this.getTableDatas();
this.showSearchAd = false;
}
// 导入
@action importFile = (params) => {
API.importCumSituationParam(params).then(action(res => {
if(res.status) {
this.importResult = res.data
} else {
message.error(res.errormsg || '接口调用失败!')
}
}))
}
// 导入预览
@action previewImport = (params) => {
API.importCumSituationPreview(params).then(action(res => {
if(res.status) {
this.slideDataSource = res.data.preview
} else {
message.error(res.errormsg || '接口调用失败!')
}
}))
}
// 导出
@action exportCumSituationList = (ids = "") => {
API.exportCumSituationList(ids)
}
// 查询明细
@action getCumDeductDetailList = (id, param = {}) => {
let requestParams = {"accumulatedSituationId": id};
requestParams = {...requestParams, ...param}
API.getCumSituationDetailList(requestParams).then(res => {
if(res.status) {
if (res.status) { // 接口请求成功/失败处理
this.slideTableStore.getDatas(res.data.datas); // table 请求数据
} else {
message.error(res.errormsg || '接口调用失败!')
}
}
})
}
// 导出明细
@action exportCumSituationDetailList = (id, ids = "") => {
API.exportCumSituationDetailList(id, ids)
}
}