UNPKG

ttk-app-core

Version:
93 lines (78 loc) 3.74 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 } init = (state, option) => { let initState = getInitState() return this.metaReducer.init(state, initState) } load1 = (state, res) => { const { bankAccountDtoList, keepAccountDto, vatOrEntry } = res; const { accountDateSet, id, orgId, settlement, bankAccountId } = keepAccountDto; return this.metaReducer.sfs(state, { 'data.other.loading1': false, 'data.form1.accountDateSet': accountDateSet, 'data.form1.settlement': settlement, 'data.form1.bankAccountId': bankAccountId, 'data.form1.id': id, 'data.bankAccount': fromJS(bankAccountDtoList), 'data.form1.vatOrEntry': vatOrEntry } ) } load2 = (state, option) => { if(option.res.achivalRuleDto){ // customerSet 正常显示的值, otherCustomerSet 多余的记录,需要再传给后端 let isSet, achivalRuleDto = option.res.achivalRuleDto, otherCustomerSet if(option.inventoryType == 'delivery'){ isSet = achivalRuleDto.customerSet ? true : false otherCustomerSet = achivalRuleDto.supplierSet ? true : false // state = this.metaReducer.sf(state, 'data.form2.customerSet', fromJS(isSet)) // state = this.metaReducer.sf(state, 'data.form2.otherCustomerSet', fromJS(otherCustomerSet)) }else{ isSet = achivalRuleDto.supplierSet ? true : false otherCustomerSet = achivalRuleDto.customerSet ? true : false } state = this.metaReducer.sf(state, 'data.form2.customerSet', fromJS(isSet)) state = this.metaReducer.sf(state, 'data.form2.otherCustomerSet', fromJS(otherCustomerSet)) let isInven = achivalRuleDto.inventorySet ? true : false state = this.metaReducer.sf(state, 'data.form2.inventorySet', fromJS(isInven)) state = this.metaReducer.sf(state, 'data.form2.id', fromJS(achivalRuleDto.id)) state = this.metaReducer.sf(state, 'data.form2.ts', fromJS(achivalRuleDto.ts)) } if(option.res) state = this.metaReducer.sf(state, 'data.form2.details', fromJS(option.res.invoiceInventoryList)) if(option.inventory) state = this.metaReducer.sf(state, 'data.other.inventory', fromJS(option.inventory)) return state } load3 = (state, option) => { return this.metaReducer.sfs(state, { 'data.other.loading3': false, 'data.form3.proper': option.proper, 'data.form3.ordinary': option.ordinary, 'data.form3.electron': option.electron, 'data.form3.id':option.id }) } upDate = (state,option) => { return state = this.metaReducer.sf(state, option.path, fromJS(option.value)) } upDateSfs=(state,value)=>{ console.log(value) return this.metaReducer.sfs(state,value); } // upDates = (state,value) => { // return state = this.metaReducer.sfs(state, { // 'data.other.dateHabit': fromJS(value[0]), // 'data.form2.dateHabitId': fromJS(value[1]) // }) // } } export default function creator(option) { const metaReducer = new MetaReducer(option), o = new reducer({ ...option, metaReducer }) return { ...metaReducer, ...o } }