Blame view

js/installment/Installment.js 4.07 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
'use strict';

import React from 'react';
import ReactNative, {
	AppRegistry,
	Platform,
	StyleSheet,
	Dimensions,
	TouchableOpacity,
} from 'react-native';
import {
	Provider,
	connect
} from 'react-redux';
import configureStore from './store/configureStore';
import {Record, List, Map} from 'immutable';

import appInitialState from './reducers/app/appInitialState';
19 20 21 22
import installmentInitialState from './reducers/installment/installmentInitialState';
import newRegisterInitialState from './reducers/newRegister/newRegisterInitialState';
import repayListInitialState from './reducers/repayList/repayListInitialState';
import repayDetailInitialState from './reducers/repayDetail/repayDetailInitialState';
23 24

import InstallmentContainer from './containers/InstallmentContainer';
张丽霞 authored
25
import OpenContainer from './containers/OpenContainer';
26
import InstallmentStatusContainer from './containers/InstallmentStatusContainer';
27
import RepayListContainer from './containers/RepayListContainer';
28 29
import RepayDetailContainer from './containers/RepayDetailContainer';
import RepayRecordListContainer from './containers/RepayRecordListContainer';
30 31
import InstallmentAccountContainer from './containers/InstallmentAccountContainer';
import InstallmentMyCardContainer from './containers/InstallmentMyCardContainer';
32
import InstallmentMyCardDetailContainer from './containers/InstallmentMyCardDetailContainer';
33
张丽霞 authored
34
35 36 37 38 39
import {
	setPlatform,
	setChannel,
} from './reducers/app/appActions';
40 41
import {
	setInstallmentStausPageParams,
42 43 44 45 46 47 48 49 50
} from './reducers/installment/installmentActions';

import {
	setQueryDays,
} from './reducers/repayList/repayListActions';

import {
	setRepayOrderNo,
} from './reducers/repayDetail/repayDetailActions';
51
52 53 54 55
function getInitialState() {
	const _initState = {
		app: (new appInitialState()),
    	installment: (new installmentInitialState()),
56 57
		newRegister: (new newRegisterInitialState()),
		repayList: (new repayListInitialState()),
58
		repayDetail: (new repayDetailInitialState()),
59 60 61 62 63 64 65 66 67
	};
	return _initState;
}


export default function native(platform) {

	let YH_Installment = React.createClass({
		render() {
张丽霞 authored
68
			let type = this.props.type;
69 70 71
		  	const store = configureStore(getInitialState());
			store.dispatch(setPlatform(platform));
			let channel = this.props.channel;
72 73 74 75 76 77 78 79
			let days = this.props.days;
			if (days && days !== '') {
				store.dispatch(setQueryDays(days));
			}
			let repayOrderNo = this.props.repayOrderNo;
			if (repayOrderNo && repayOrderNo !== '') {
				store.dispatch(setRepayOrderNo(repayOrderNo));
			}
80
			channel && store.dispatch(setChannel(channel));
张丽霞 authored
81 82 83 84 85 86 87 88 89 90 91 92
			if (type == 'installmentHome') {
				return (
					<Provider store={store}>
						<InstallmentContainer />
					</Provider>
				);
			} else if (type == 'openInstall') {
				return (
					<Provider store={store}>
						<OpenContainer />
					</Provider>
				);
93 94 95 96 97 98 99 100 101 102
			} else if (type == 'installStatus') {
				let status = this.props.status;
				let failReason = this.props.failReason;
				let uid = this.props.uid;
				store.dispatch(setInstallmentStausPageParams(status,failReason,uid));
				return (
					<Provider store={store}>
						<InstallmentStatusContainer />
					</Provider>
				)
103 104 105 106 107 108
			} else if (type == 'repayList') {
				return (
					<Provider store={store}>
						<RepayListContainer />
					</Provider>
				);
109 110 111 112 113 114 115 116 117 118 119 120
			} else if (type == 'repayDetail') {
				return (
					<Provider store={store}>
						<RepayDetailContainer />
					</Provider>
				);
			} else if (type == 'repayRecordList') {
				return (
					<Provider store={store}>
						<RepayRecordListContainer />
					</Provider>
				)
121 122 123 124 125 126 127 128 129
			} else if (type == 'installAccount') {
				return (
					<Provider store={store}>
						<InstallmentAccountContainer />
					</Provider>
				)
			} else if (type == 'installMyCard') {
				return (
					<Provider store={store}>
130
						<InstallmentMyCardDetailContainer />
131 132 133 134 135 136 137 138
					</Provider>
				)
			} else if (type == 'installMyCardDetail') {
				return (
					<Provider store={store}>
						<InstallmentMyCardContainer />
					</Provider>
				)
139
			}
140 141 142 143 144 145 146
		}
	});

	AppRegistry.registerComponent('YH_Installment', () => YH_Installment);
}

let styles = StyleSheet.create({
张丽霞 authored
147 148

});