import { observable, action } from 'mobx'; import {WeaForm} from 'comsMobx'; import * as API from '../apis/finance'; import * as Util from '../util/index'; import {WeaTableNew} from 'comsMobx' import { message } from 'antd'; import isEmpty from 'lodash/isEmpty'; const {TableStore} = WeaTableNew; import {i18n} from '../public/i18n'; import {WeaLocaleProvider} from 'ecCom'; import FinanceExpand from './financeExpand.js'; const getLabel = WeaLocaleProvider.getLabel; export class HrmFinance { loading = false; @observable financeExpand = new FinanceExpand(); title = () => getLabel('16416',"我的工资"); @observable tabDatas = []; @observable isEditor = false; @observable form = new WeaForm(); @observable buttons = {}; @observable formFields = []; @observable table = {}; @observable tabkey = '1'; @observable hrmId; @action getTabInfo = (params = {}) => { let _this = this; params.id=this.hrmId; API.getTabInfo(params).then((data) => { this.tabDatas = data.tabs; if(!isEmpty(data.tabs)){ this.tabkey = data.tabs[0].key; } _this.getData({...params, token: this.token}); }); } getData = (params = {}) => { API.getFormField(params).then((data) => { this.formFields = data.fieldgroup; this.buttons = data.buttons; // this.hrmId = data.hrmId; this.form.initFormFields(this.formFields); }); API.getSearchList({id:this.hrmId,tabkey:this.tabkey, token: this.token}).then((data) => { this.table = data.table; }); } edit = () => { this.formFields && this.formFields.forEach(c =>{ c.items.forEach( field => { field.viewAttr = 2; if (field.conditionType == 'BROWSER') { field.browserConditionParam.viewAttr = 2; } }); }); this.isEditor = true; this.tabkey = '1'; } save = () => { if(this.loading) return; this.loading = true; const formParams = this.form.getFormParams(); API.saveFormFields({...{id: this.hrmId}, ...formParams}).then((data) => { if (data.status == '1') { message.success(i18n.message.saveSuccess()); this.init(); this.getData({id:this.hrmId}); } else { message.warning(data.message); } this.loading = false; }, error=> { message.warning(error.message); this.loading = false; }); } token; init = (token) => { this.tabkey = '1'; this.isEditor = false; this.form = new WeaForm(); this.token = token; } changeTab = (key) => { this.tabkey = key; this.getData({id:this.hrmId}); } getFormParams = () => { return this.form.getFormParams(); } }