UNPKG

ttk-app-core

Version:
96 lines (88 loc) 4.17 kB
import { Map, fromJS } from 'immutable' import { reducer as MetaReducer } from 'edf-meta-engine' import config from './config' import { getInitState } from './data' class reducer { constructor(option) { this.metaReducer = option.metaReducer this.config = config.current } init = (state) => { const initState = getInitState() return this.metaReducer.init(state, initState) } load = (state, option) => { let data = {} data['data.basic.ts'] = option.ts data['data.basic.name'] = option.name data['data.basic.accountingStandards'] = option.accountingStandards data['data.basic.enableDate'] = option.enabledYear + '-' + option.enabledMonth data['data.basic.vatTaxpayer'] = option.vatTaxpayer data['data.basic.vatTaxpayerNum'] = option.vatTaxpayerNum data['data.basic.isSignAndRetreat'] = option.isSignAndRetreat data['data.initState.name'] = option.name data['data.initState.enableDate'] = option.enabledYear + '-' + option.enabledMonth data['data.initState.vatTaxpayer'] = option.vatTaxpayer data['data.initState.accountingStandards'] = option.accountingStandards data['data.initState.isSignAndRetreat'] = option.isSignAndRetreat data['data.initState.vatTaxpayerNum'] = option.vatTaxpayerNum if (option.dlxxDto) { if(!option.dlxxDto.DLFS) { let areas = this.metaReducer.gf(state, 'data.enumData.basic.SS').toJS() let areasCode = areas.find(o => option.dlxxDto.SS == o.code) data['data.basic.ss'] = areasCode.id data['data.initState.ss'] = areasCode.id data['data.other.isShowOtherMsg'] = false }else { let areas = this.metaReducer.gf(state, 'data.enumData.basic.SS').toJS() let areasCode = areas.find(o => option.dlxxDto.SS == o.code) data['data.basic.ss'] = areasCode.id data['data.initState.ss'] = areasCode.id data['data.basic.dlfs'] = String(option.dlxxDto.DLFS) data['data.basic.wbzh'] = option.dlxxDto.DLZH data['data.basic.wbmm'] = option.dlxxDto.DLMM data['data.nsxxDto.name'] = option.dlxxDto.QYMC data['data.initState.pwd'] = option.dlxxDto.DLMM data['data.basic.isAuthorization'] = option.dlxxDto.isAuthorization //登录方式为CA登录 if(option.dlxxDto.DLFS == 1) { data['data.other.CAStep'] = false data['data.other.hasReadCA'] = true } data['data.other.readOrgInfoBtn'] = false data['data.other.isShowOtherMsg'] = true } } else { data['data.other.isShowOtherMsg'] = false } if (option.nsxxDto) { data['data.nsxxDto'] = fromJS(option.nsxxDto) // //处理增值税企业类型字段 // let zzsqylxEnum = this.metaReducer.gf(state, 'data.enumData.tax.ZZSQYLX.enumDetails').toJS() // let arr = [] // if(option.nsxxDto.ZZSQYLX) { // for(let i = 0; i < zzsqylxEnum.length ; i++) { // arr.push(zzsqylxEnum[i].code) // } // if(arr.indexOf(option.nsxxDto.ZZSQYLX) == -1) { // data['data.nsxxDto.ZZSQYLX'] = null // } // } }else { data['data.nsxxDto'] = fromJS({}) } if (option.sfzxxDtos.length != 0) { data['data.sfzxxDtos'] = fromJS(option.sfzxxDtos) } if (option.zgrdDtos.length != 0) { data['data.zgrdDtos'] = fromJS(option.zgrdDtos) } state = this.metaReducer.sfs(state, data) return state } } export default function creator(option) { const metaReducer = new MetaReducer(option), o = new reducer({ ...option, metaReducer }) return { ...metaReducer, ...o } }