UNPKG

ttk-server-parent

Version:
208 lines (197 loc) 5.83 kB
import { Map, fromJS } from 'immutable' import { reducer as MetaReducer } from 'edf-meta-engine' import config from './config' import { getInitState } from './data' const SMALLACCOUNTINGSTANDARDS = [ { rowIndex: 0, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 10, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 11, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 12, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 13, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 15, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 16, assetsDisabled: true, liabilitiesDisabled: true }, // { // rowIndex: 20, // assetsDisabled: false, // liabilitiesDisabled: true // }, { rowIndex: 21, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 22, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 23, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 24, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 25, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 30, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 31, assetsDisabled: true, liabilitiesDisabled: true } ] const ACCOUNTINGSTANDARDS = [ { rowIndex: 0, assetsDisabled: true, liabilitiesDisabled: true }, // { // rowIndex: 10, // assetsDisabled: true, // liabilitiesDisabled: false // }, // { // rowIndex: 11, // assetsDisabled: false, // liabilitiesDisabled: true // }, { rowIndex: 12, assetsDisabled: true, liabilitiesDisabled: false }, { rowIndex: 13, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 14, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 23, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 24, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 25, assetsDisabled: false, liabilitiesDisabled: true }, { rowIndex: 31, assetsDisabled: true, liabilitiesDisabled: false }, { rowIndex: 32, assetsDisabled: true, liabilitiesDisabled: true }, { rowIndex: 33, assetsDisabled: true, liabilitiesDisabled: true } ] class reducer { constructor(option) { this.metaReducer = option.metaReducer this.config = config.current } init = (state, option) => { const initState = getInitState() return this.metaReducer.init(state, initState) } load = (state, value,title) => { // state = this.metaReducer.sf(state, 'data.statement', fromJS( value['reportTemplateDto']['rows'] )) state = this.metaReducer.sf(state, 'data.statement', fromJS( this.setCellDisabled(state ,value['reportTemplateDto']['rows']) )) // state = this.metaReducer.sf(state, 'data.accountingStandards', fromJS(value['reportTemplateDto']['accountingStandardsId'])) state = this.metaReducer.sf(state, 'data.selectTimeData', fromJS(value['periods'])) state = this.metaReducer.sf(state, 'data.resetArApAccount', fromJS(value['resetArApAccount'])) state = this.metaReducer.sf(state, 'data.selectedPeriod', fromJS(value['selectedPeriod'])) if((state.get('data').get('selectData')==undefined&&title)||(state.get('data').get('selectData')&&title)){ state = this.metaReducer.sf(state, 'data.selectTimeTitle', fromJS(title['period']['name'])) }else{ state = this.metaReducer.sf(state, 'data.selectTimeTitle', fromJS(value['selectedPeriod']['name'])) } return state } tableLoading = (state, loading) => { return this.metaReducer.sf(state, 'data.loading', loading) } select = (state, value, selectData) => { state = this.metaReducer.sf(state, 'data.selectData', fromJS( selectData )) state = this.metaReducer.sf(state, 'data.selectTimeTitle', fromJS(selectData['name'])) // state = this.metaReducer.sf(state, 'data.statement', fromJS( value['rows'] )) state = this.metaReducer.sf(state, 'data.statement', fromJS( this.setCellDisabled(state, value['rows']) )) state = this.metaReducer.sf(state, 'data.recalculation', !!value['recalculation']) return state } setCellDisabled = (state,list) => { let accountingStandards = this.metaReducer.gf(state, 'data.accountingStandards'), disabledList if(accountingStandards == 2000020002) {//小企业会计准则 disabledList = SMALLACCOUNTINGSTANDARDS } else { disabledList = ACCOUNTINGSTANDARDS } disabledList.map(item => { list[item.rowIndex]['assetsDisabled'] = item.assetsDisabled list[item.rowIndex]['liabilitiesDisabled'] = item.liabilitiesDisabled }) return list } } export default function creator(option) { const metaReducer = new MetaReducer(option), o = new reducer({ ...option, metaReducer }) return { ...metaReducer, ...o } }