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 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 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(res => { this.loading = false; if (res.status) { message.success("生成成功"); resolve(); } else { message.error(res.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); }; }