UNPKG

ttk-app-core

Version:
70 lines (65 loc) 2.76 kB
import { Map, fromJS } from 'immutable' import { reducer as MetaReducer } from 'edf-meta-engine' import config from './config' import { getInitState } from './data' import extend from './extend' import { FormDecorator } from 'edf-component' class reducer { constructor(option) { this.metaReducer = option.metaReducer this.voucherReducer = option.voucherReducer } init = (state, option) => { let initState = getInitState() return this.metaReducer.init(state, initState) } load = (state, option) => { if (option.customer) { //客户 let customer = option.customer.list customer = customer.filter(item => { return item.isEnable == true }) state = this.metaReducer.sf(state, 'data.other.customer', fromJS(customer)) } if (option.inventory) { //存货 //let inventory = option.inventory.list // inventory = inventory.filter(item => { return item.isEnable == true }) state = this.metaReducer.sf(state, 'data.other.inventory', fromJS(option.inventory)) state = this.metaReducer.sf(state, 'data.other.inventoryfilter', fromJS(option.inventory)) } if (option.property) { //业务类型 state = this.metaReducer.sf(state, 'data.other.property', fromJS(option.property)) } if (option.supplier) { //供应商 let supplier = option.supplier.list supplier = supplier.filter(item => { return item.isEnable == true }) state = this.metaReducer.sf(state, 'data.other.supplier', fromJS(supplier)) } //明细 if(option.detailList){ state = this.metaReducer.sf(state, 'data.other.detailList', fromJS(option.detailList)) } return state } upDate = (state, option) => { return this.metaReducer.sf(state, option.path, fromJS(option.value)) } // upDates = (state,value) => { // return state = this.metaReducer.sfs(state, { // 'data.other.dateHabit': fromJS(value[0]), // 'data.form.dateHabitId': fromJS(value[1]) // }) // } upDateSf=(state,arr)=>{ return this.metaReducer.sfs(state,arr); } } export default function creator(option) { const metaReducer = new MetaReducer(option), extendReducer = extend.reducerCreator({ ...option, metaReducer }), voucherReducer = FormDecorator.reducerCreator({ ...option, metaReducer }), o = new reducer({ ...option, metaReducer, extendReducer, voucherReducer }) return { ...metaReducer, ...extendReducer.gridReducer, ...o } }