ttk-app-core
Version:
enterprise develop framework
114 lines (96 loc) • 3.5 kB
JavaScript
import { Map, List, fromJS } from 'immutable'
import { reducer as MetaReducer } from 'edf-meta-engine'
import utils from 'edf-utils'
import config from './config'
import * as data from './data'
import extend from './extend'
class reducer {
constructor(option) {
this.metaReducer = option.metaReducer
this.extendReducer = option.extendReducer
this.config = config.current
}
init = (state, option) => {
return this.metaReducer.init(state, data.getInitState())
}
load = (state, list, allList) => {
if (!list) {
return this.metaReducer.sf(state, 'data.list', fromJS([]))
}
let item
for (var i = 0; i < list.length; i++) {
item = list[i]
item.sortNo = i+1
item.skssqQ = item.skssqQ.substring(0, 10)
item.skssqZ = item.skssqZ.substring(0, 10)
item.jkqx = item.jkqx.substring(0, 10)
if (item.ybtse != 0) {
item.ybtse = utils.number.addThousPos(item.ybtse)
}
if (item.se != 0) {
item.se = utils.number.addThousPos(item.se)
}
if (item.znje != 0) {
item.znje = utils.number.addThousPos(item.znje)
}
}
state = this.metaReducer.sf(state, 'data.allList', fromJS(allList))
return this.metaReducer.sf(state, 'data.list', fromJS(list))
}
loadYhxxs = (state, yhxxsList) => {
if (!yhxxsList) {
return this.metaReducer.sf(state, 'data.paymentMethodList', fromJS([]))
}
let item
for (var i = 0; i < yhxxsList.length; i++) {
item = yhxxsList[i]
item.sortNo = i+1
}
return this.metaReducer.sf(state, 'data.paymentMethodList', fromJS(yhxxsList))
}
checkboxChange = (state, total, selectedRows, selectedRowKeys) => {
state = this.metaReducer.sf(state, 'data.total', fromJS(total))
state = this.metaReducer.sf(state, 'data.tableCheckbox.selectedRows', fromJS(selectedRows))
state = this.metaReducer.sf(state, 'data.tableCheckbox.selectedRowKeys', fromJS(selectedRowKeys))
return state
}
//跳到选择缴款方式列表
setPaymentMethod = (state, value) => {
if (value == data.PAGETYPE_LJJK) {
state = this.metaReducer.sf(state, 'data.other.listClassName', 'ttk-taxapply-app-batchchargeback-content')
}
if (value == data.PAGETYPE_SFXY) {
state = this.metaReducer.sf(state, 'data.other.pureText', '暂无数据')
}
if (value == data.PAGETYPE_LIST) {
state = this.metaReducer.sf(state, 'data.other.pureText', '')
}
state = this.metaReducer.sf(state, 'data.other.pageType', value)
return state
}
radioBoxChange = (state, text, record, index) => {
if(text) return state
let paymentMethodList = this.metaReducer.gf(state, 'data.paymentMethodList').toJS()
paymentMethodList.map((m, n)=>{
if(n == index){
m.c1 = true
}else{
m.c1 = false
}
})
state = this.metaReducer.sf(state, 'data.paymentMethodList', fromJS(paymentMethodList))
return state
}
setReceipt = (state, receiptList) => {
for (var i = 0; i < receiptList.length; i++) {
receiptList[i].se = utils.number.addThousPos(receiptList[i].se)
}
return this.metaReducer.sf(state, 'data.payInResult', fromJS(receiptList))
}
}
export default function creator(option) {
const metaReducer = new MetaReducer(option),
extendReducer = extend.reducerCreator({ ...option, metaReducer }),
o = new reducer({ ...option, metaReducer, extendReducer })
return { ...metaReducer, ...extendReducer.gridReducer, ...o }
}