159 lines
4.7 KiB
JavaScript
159 lines
4.7 KiB
JavaScript
import { action, observable } from "mobx";
|
|
import { message } from "antd";
|
|
import { WeaForm, WeaTableNew } from "comsMobx";
|
|
|
|
import * as API from "../apis/declare"; // 引入API接口文件
|
|
|
|
const { TableStore } = WeaTableNew;
|
|
|
|
export class DeclareStore {
|
|
@observable paymentForm = new WeaForm(); // declareDetail----在线申报-缴款Form
|
|
@observable declareForm = new WeaForm(); //薪资核算重构-核算form
|
|
@observable taxDecForm = new WeaForm(); //个税申报人员-新增编辑form
|
|
@observable tabDecForm = new WeaForm(); //个税申报表-tab新增删除form
|
|
// ** 薪资核算重构-初始化核算form **
|
|
@action
|
|
initDeclareForm = () => this.declareForm = new WeaForm();
|
|
@action
|
|
initTaxDecForm = () => this.taxDecForm = new WeaForm();
|
|
@action
|
|
initTabDecForm = () => this.tabDecForm = new WeaForm();
|
|
|
|
|
|
@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 listDataSource = [];
|
|
@observable listColumns = [];
|
|
@observable pageInfo = {};
|
|
|
|
// 详情页
|
|
@observable declareInfo = {}; // 详情基本信息
|
|
@observable detailTableStore = new TableStore();
|
|
@observable detailDataSource = [];
|
|
@observable datailColumns = [];
|
|
@observable detailPageInfo = {};
|
|
|
|
@action changePaymentForm = () => this.paymentForm = new WeaForm();
|
|
@action setPageinfo = pageinfo => this.pageInfo = pageinfo;
|
|
// 初始化操作
|
|
@action
|
|
doInit = () => {
|
|
this.getCondition();
|
|
this.getTableDatas();
|
|
};
|
|
|
|
// 获得高级搜索表单数据
|
|
@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.msg || "接口调用失败!");
|
|
}
|
|
}));
|
|
};
|
|
|
|
// 渲染table数据
|
|
@action
|
|
getTableDatas = (params) => {
|
|
this.loading = true;
|
|
const formParams = this.form.getFormParams() || {};
|
|
params = params || formParams;
|
|
API.getTableDatas(params).then(action(res => {
|
|
if (res.api_status) { // 接口请求成功/失败处理
|
|
this.tableStore.getDatas(res.datas); // table 请求数据
|
|
this.hasRight = res.hasRight;
|
|
} else {
|
|
message.error(res.msg || "接口调用失败!");
|
|
}
|
|
this.loading = false;
|
|
}));
|
|
};
|
|
|
|
@action
|
|
setShowSearchAd = bool => this.showSearchAd = bool;
|
|
|
|
// 高级搜索 - 搜索
|
|
@action doSearch = () => {
|
|
this.getTableDatas();
|
|
this.showSearchAd = false;
|
|
};
|
|
|
|
//个税申报表-个税申报表列表
|
|
@action
|
|
getDeclareList = (params = {}) => {
|
|
this.loading = true;
|
|
API.getDeclareList(params).then(res => {
|
|
if (res.status) {
|
|
this.listDataSource = res.data.list ? res.data.list : [];
|
|
this.listColumns = res.data.columns;
|
|
// this.setPageinfo({...this.pageInfo, })
|
|
this.pageInfo = res.data;
|
|
} else {
|
|
message.error(res.errormsg || "获取失败");
|
|
}
|
|
this.loading = false;
|
|
});
|
|
};
|
|
|
|
//个税申报表-个税申报表生成
|
|
@action
|
|
saveDeclare = (params) => {
|
|
return new Promise((resolve, reject) => {
|
|
this.loading = true;
|
|
API.saveDeclare(params).then(({ status, data, errormsg }) => {
|
|
this.loading = false;
|
|
if (status) {
|
|
resolve(data);
|
|
} else {
|
|
message.error(errormsg || "生成失败");
|
|
reject();
|
|
}
|
|
});
|
|
});
|
|
|
|
};
|
|
|
|
//个税申报表-个税申报表相关信息
|
|
@action
|
|
getDeclareInfo = (taxDeclarationId) => {
|
|
API.getDeclareInfo({ taxDeclarationId }).then(res => {
|
|
if (res.status) {
|
|
this.declareInfo = res.data;
|
|
} else {
|
|
message.error(res.errormsg || "获取失败");
|
|
}
|
|
});
|
|
};
|
|
|
|
// 个税申报表详情列表
|
|
@action
|
|
getDetailList = (taxDeclarationIdStr, params = {}) => {
|
|
API.getDetailList({ taxDeclarationIdStr, ...params }).then(res => {
|
|
if (res.status) {
|
|
this.detailDataSource = res.data.list ? res.data.list : [];
|
|
this.datailColumns = res.data.columns;
|
|
this.detailPageInfo = res.data;
|
|
// this.detailTableStore.getDatas(res.data.dataKey.datas)
|
|
} else {
|
|
message.error(res.errrmsg || "获取失败");
|
|
}
|
|
});
|
|
};
|
|
|
|
// 个税申报表导出
|
|
@action
|
|
exportSalaryArchive = (id) => {
|
|
API.exportSalaryArchive(id);
|
|
};
|
|
|
|
|
|
}
|