提交 0fb77ba3 authored 作者: zhouhuan's avatar zhouhuan

Merge branch 'wq' of ssh://192.168.1.116:29418/bolan-root/frontend/manager-app-sz into zhouhuan

# Conflicts: # src/routes/main/houseinfo/ObligeeInfo.js # src/routes/main/houseinfo/listhouse.js
上级 e4c6d2f9
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/../node_modules/react-native-device-info/android" /> <option value="$PROJECT_DIR$/../node_modules/react-native-device-info/android" />
<option value="$PROJECT_DIR$/../node_modules/react-native-vector-icons/android" />
</set> </set>
</option> </option>
<option name="resolveModulePerSourceSet" value="false" /> <option name="resolveModulePerSourceSet" value="false" />
......
...@@ -82,22 +82,14 @@ ...@@ -82,22 +82,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content> </content>
<orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
...@@ -145,6 +137,8 @@ ...@@ -145,6 +137,8 @@
<orderEntry type="library" exported="" name="animated-vector-drawable-25.3.1" level="project" /> <orderEntry type="library" exported="" name="animated-vector-drawable-25.3.1" level="project" />
<orderEntry type="library" exported="" name="play-services-gcm-10.0.1" level="project" /> <orderEntry type="library" exported="" name="play-services-gcm-10.0.1" level="project" />
<orderEntry type="module" module-name="react-native-device-info" exported="" /> <orderEntry type="module" module-name="react-native-device-info" exported="" />
<orderEntry type="module" module-name="react-native-vector-icons" exported="" />
<orderEntry type="library" exported="" name="support-annotations-24.0.0" level="project" /> <orderEntry type="library" exported="" name="support-annotations-24.0.0" level="project" />
<orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
"react": "^16.0.0-beta.5", "react": "^16.0.0-beta.5",
"react-native": "^0.49.3", "react-native": "^0.49.3",
"react-native-device-info": "^0.12.1", "react-native-device-info": "^0.12.1",
"react-native-vector-icons": "^4.4.2",
"react-navigation": "^1.0.0-beta.14", "react-navigation": "^1.0.0-beta.14",
"react-redux": "^5.0.6", "react-redux": "^5.0.6",
"redux-persist": "^4.10.1" "redux-persist": "^4.10.1"
......
...@@ -5,6 +5,7 @@ import HouseDetail from './houseinfo/houseDetail'; ...@@ -5,6 +5,7 @@ import HouseDetail from './houseinfo/houseDetail';
import obligeeInfo from './houseinfo/ObligeeInfo'; import obligeeInfo from './houseinfo/ObligeeInfo';
import DSRInfo from './dangshireninfo/dsrinfo'; import DSRInfo from './dangshireninfo/dsrinfo';
import DSRInfoDetail from './dangshireninfo/dsrinfodetail'; import DSRInfoDetail from './dangshireninfo/dsrinfodetail';
import peopleInfo from './peopleInfo/peopleInfo';
export default [ export default [
welcome, welcome,
...@@ -14,4 +15,5 @@ export default [ ...@@ -14,4 +15,5 @@ export default [
obligeeInfo, obligeeInfo,
DSRInfo, DSRInfo,
DSRInfoDetail, DSRInfoDetail,
peopleInfo,
]; ];
...@@ -3,79 +3,119 @@ ...@@ -3,79 +3,119 @@
*/ */
import { Toast } from 'antd-mobile'; import { Toast } from 'antd-mobile';
import { NavigationActions } from 'react-navigation'; import { NavigationActions } from 'react-navigation';
import { getData } from '../../utils/DataTemplate'; import { getData, getMeta } from '../../utils/DataTemplate';
import { datasourceApi } from '../../services/datasource'; import { datasourceApi } from '../../services/datasource';
export default { export default {
namespace: 'peopleInfo', namespace: 'peopleInfo',
state: { state: {
sourceData: {}, sourceData: [],
metas: [],
detailData: {}, detailData: {},
isDetail: false,
editable: false, editable: false,
disabled: true, disabled: true,
types: '',
peopleID: '',
}, },
effects: { effects: {
*getPeopleInfo({ payload }, { put, call, select }) { *jumpPage({ payload: id }, { put }) {
yield put({ type: 'setPeopPleID', payload: id });
yield put(NavigationActions.navigate({
routeName: 'peopleInfoDetail',
params: { id },
}));
},
*getPeopleInfo({ payload }, { put, call, select, take }) {
console.log(payload);
if (payload === 'clear') { if (payload === 'clear') {
yield put({ type: 'clearList', payload: {} }); yield put({ type: 'clearList', payload: {} });
} }
console.log('gogogo');
const { sourceData } = yield select(state => state.peopleInfo); const { sourceData } = yield select(state => state.peopleInfo);
const size = sourceData.length; const size = sourceData.length;
console.log(size);
const coordinate = { const coordinate = {
containerType: 'module', containerType: 'module',
containerName: 'query-RKInfo', containerName: 'query-RKInfo',
datasourceName: 'QueryRKTable', datasourceName: 'QueryRKTable',
}; };
const result = yield call(getData, coordinate, { pst: size, psz: 10 }); const result = yield call(getData, coordinate, { pst: size, psz: 10 });
console.log(result); const meta = yield call(getMeta, coordinate);
const singularData = result[0]; yield put({ type: 'setMetas', payload: meta });
yield put({ type: 'setDSRList', payload: { ...singularData } }); for (const row of result) {
yield put({ type: 'addPeople', payload: row });
yield take('addPeople/@@end');
}
},
*addPeople({ payload }, { put }) {
yield put({ type: 'setPeopleList', payload: { arrayData: [payload] } });
}, },
*getPeopleDetail({ payload }, { put, call }) { *getPeopleDetail({ payload }, { put, call }) {
const coordinate = { const coordinate = {
containerType: 'module', containerType: 'module',
containerName: 'query-DSRInfo', containerName: 'query-RKInfo',
datasourceName: 'QueryDSRInfoDetails', datasourceName: 'QueryRKDetails',
}; };
const result = yield call(getData, coordinate, { params: { pID: payload } }); const result = yield call(getData, coordinate, { params: { pID: payload } });
console.log(result); console.log(result);
yield put({ type: 'getDSRDetail', payload: { ...result[0] } }); yield put({ type: 'getPeopleDetailInfo', payload: { ...result[0] } });
yield put({ type: 'setDetail', payload: true });
yield put({ type: 'setEdit', payload: false }); yield put({ type: 'setEdit', payload: false });
}, },
*savePeopleInfo({ payload }, { put, call }) {
console.log(payload);
const coordinate = {
containerType: 'module',
containerName: 'query-RKInfo',
datasourceName: 'QueryRKDetails',
};
const api = datasourceApi(coordinate);
yield call(api.create, payload);
Toast.success('新增成功!', 0.5);
yield put(NavigationActions.navigate({
routeName: 'peopleInfoList',
}));
},
*addPeopleInfo(ignore, { put }) {
yield put(NavigationActions.navigate({
routeName: 'addPeoppleInfo',
}));
},
*updateDSRDetail({ payload }, { call, put }) { *updateDSRDetail({ payload }, { call, put }) {
console.log('update'); console.log('update');
const coordinate = { const coordinate = {
containerType: 'module', containerType: 'module',
containerName: 'query-DSRInfo', containerName: 'query-RKInfo',
datasourceName: 'QueryDSRInfoDetails', datasourceName: 'QueryRKDetails',
}; };
const api = datasourceApi(coordinate); const api = datasourceApi(coordinate);
yield call(api.update, payload.id, payload.singularData); yield call(api.update, payload.id, payload.singularData);
Toast.success('修改成功!', 1); Toast.success('修改成功!', 0.5);
yield put(NavigationActions.navigate({ yield put(NavigationActions.navigate({
routeName: 'peopleInfo', routeName: 'peopleInfoList',
})); }));
yield put({ type: 'getPeopleInfo', payload: 'clear' });
yield put({ type: 'setDisabled', payload: true }); yield put({ type: 'setDisabled', payload: true });
yield put({ type: 'setDetail', payload: false });
}, },
*onEBack({ payload }, { put, call }) { *onEBack({ payload }, { put, call, select, take }) {
if (payload === 'clear') {
yield put({ type: 'clearList', payload: {} });
}
const coordinate = { const coordinate = {
containerType: 'module', containerType: 'module',
containerName: 'query-DSRInfo', containerName: 'query-RKInfo',
datasourceName: 'QueryDSRInfoTable', datasourceName: 'QueryRKTable',
}; };
const result = yield call(getData, coordinate, { params: { pID: payload } }); const { sourceData } = yield select(state => state.peopleInfo);
const singularData = result[0]; const size = sourceData.length;
yield put({ type: 'setDSRList', payload: { ...singularData } }); const result = yield call(getData, coordinate, { pst: size, psz: 10 });
const meta = yield call(getMeta, coordinate);
yield put({ type: 'setMetas', payload: meta });
for (const row of result) {
yield put({ type: 'addPeople', payload: row });
yield take('addPeople/@@end');
}
yield put(NavigationActions.navigate({ yield put(NavigationActions.navigate({
routeName: 'peopleInfo', routeName: 'peopleInfoList',
})); }));
yield put({ type: 'setDisabled', payload: true }); yield put({ type: 'setDisabled', payload: true });
yield put({ type: 'setDetail', payload: false });
}, },
*setStatus({ payload }, { put }) { *setStatus({ payload }, { put }) {
yield put({ type: 'setDisabled', payload: false }); yield put({ type: 'setDisabled', payload: false });
...@@ -83,28 +123,34 @@ export default { ...@@ -83,28 +123,34 @@ export default {
}, },
}, },
reducers: { reducers: {
setPeopPleID(state, { payload }) {
return {
...state,
peopleID: payload,
};
},
// 下拉刷新用到的,清空列表的数据 // 下拉刷新用到的,清空列表的数据
clearList(state) { clearList(state) {
return { ...state, sourceData: {} }; return { ...state, sourceData: {} };
}, },
getDSRDetail(state, { payload }) { getPeopleDetailInfo(state, { payload }) {
return { return {
...state, ...state,
detailData: payload, detailData: payload,
}; };
}, },
setPeopleList(state, { payload: { arrayData } }) {
return { ...state, sourceData: [...state.sourceData, ...arrayData] };
},
setMetas(state, { payload }) {
return { ...state, metas: payload };
},
setDSRList(state, { payload }) { setDSRList(state, { payload }) {
return { return {
...state, ...state,
sourceData: payload, sourceData: payload,
}; };
}, },
setDetail(state, { payload }) {
return {
...state,
isDetail: payload,
};
},
setEdit(state, { payload }) { setEdit(state, { payload }) {
return { return {
...state, ...state,
...@@ -117,6 +163,12 @@ export default { ...@@ -117,6 +163,12 @@ export default {
disabled: payload, disabled: payload,
}; };
}, },
setTypes(state, { payload }) {
return {
...state,
types: payload,
};
},
}, },
}; };
import React, { Component } from 'react'; import React, { Component } from 'react';
import { View, Text } from 'react-native'; import { Text, ScrollView } from 'react-native';
import { Button } from 'antd-mobile'; import { Button } from 'antd-mobile';
import { NavigationActions } from 'react-navigation'; import { NavigationActions } from 'react-navigation';
...@@ -12,12 +12,12 @@ class ErrorScreen extends Component { ...@@ -12,12 +12,12 @@ class ErrorScreen extends Component {
const { navigate, state } = this.props.navigation; const { navigate, state } = this.props.navigation;
const { content } = state.params; const { content } = state.params;
return ( return (
<View> <ScrollView>
<Text> <Text>
{ content || '' } { content || '' }
</Text> </Text>
<Button onClick={() => { navigate.dispatch(NavigationActions.back()); }} >确定</Button> <Button onClick={() => { navigate.dispatch(NavigationActions.back()); }} >确定</Button>
</View> </ScrollView>
); );
} }
} }
......
...@@ -3,7 +3,7 @@ import { Text, FlatList } from 'react-native'; ...@@ -3,7 +3,7 @@ import { Text, FlatList } from 'react-native';
import { Card, WingBlank, WhiteSpace } from 'antd-mobile'; import { Card, WingBlank, WhiteSpace } from 'antd-mobile';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { createAction } from '../../../utils/index'; import { createAction } from '../../../utils/index';
import FlatListItem from '../houseinfo/FlatListItem'; import FlatListItem from '../../../components/FlatListItem';
@connect(({ DSRInfo }) => ({ DSRInfo/* , loading: !!loading.effects['obligeeInfo/getObligeeInfo'] */ })) @connect(({ DSRInfo }) => ({ DSRInfo/* , loading: !!loading.effects['obligeeInfo/getObligeeInfo'] */ }))
class DSRInfoScreeen extends Component { class DSRInfoScreeen extends Component {
......
...@@ -3,7 +3,7 @@ import { FlatList, Text } from 'react-native'; ...@@ -3,7 +3,7 @@ import { FlatList, Text } from 'react-native';
import { Card, WingBlank, WhiteSpace } from 'antd-mobile'; import { Card, WingBlank, WhiteSpace } from 'antd-mobile';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { createAction } from '../../../utils'; import { createAction } from '../../../utils';
import FlatListItem from './FlatListItem'; import FlatListItem from '../../../components/FlatListItem';
@connect(({ ListHouse, loading }) => ({ ListHouse, loading: !!loading.effects['ListHouse/getHouseList'] })) @connect(({ ListHouse, loading }) => ({ ListHouse, loading: !!loading.effects['ListHouse/getHouseList'] }))
class ListHouContent extends Component { class ListHouContent extends Component {
......
...@@ -3,7 +3,7 @@ import { View, Text, Image, StyleSheet } from 'react-native'; ...@@ -3,7 +3,7 @@ import { View, Text, Image, StyleSheet } from 'react-native';
import { TabNavigator } from 'react-navigation'; import { TabNavigator } from 'react-navigation';
import userInfoPageScreen from './userinfopage'; import userInfoPageScreen from './userinfopage';
import fwInfo from './fwInfo'; import fwInfo from './fwInfo';
import PeopleInfo from './peopleInfo/peopelInfo'; import peopleInfoErJiScreen from './peopleInfo/index';
import chatsIcon from '../../../image/chats-icon.png'; import chatsIcon from '../../../image/chats-icon.png';
import Empty from '../empty'; import Empty from '../empty';
import DSRErJiScreen from './dangshireninfo/index'; import DSRErJiScreen from './dangshireninfo/index';
...@@ -53,7 +53,7 @@ const Content = TabNavigator({ ...@@ -53,7 +53,7 @@ const Content = TabNavigator({
}, },
}, },
RKInfo: { RKInfo: {
screen: Empty('权属信息的新增,修改,还可以勾选房子', 'DSRInfoScreen'), screen: peopleInfoErJiScreen,
navigationOptions: { navigationOptions: {
lazy: true, lazy: true,
tabBarLabel: '人口信息', tabBarLabel: '人口信息',
......
/** /**
* Created by zhouhuan on 2017/11/3. * Created by zhouhuan on 2017/11/3.
*/ */
import React from 'react';
import { createForm } from 'rc-form';
import { View, ScrollView } from 'react-native';
import { Button, List, InputItem } from 'antd-mobile';
import { connect } from 'react-redux';
import { createAction } from '../../../utils';
@connect(({ peopleInfo }) => ({ peopleInfo }))
class AddPeopleInfo extends React.Component {
componentDidMount() {
// const { id } = this.props.navigation.state.params;
// this.props.dispatch(createAction('peopleInfo/getPeopleDetail')(id));
}
onSubmit = () => {
this.props.form.validateFields({ force: true }, (error, value) => {
if (!error) {
this.props.dispatch(createAction('peopleInfo/savePeopleInfo')(value));
} else {
console.log('Validation failed');
}
});
};
onEditBack = () => {
this.props.dispatch(createAction('peopleInfo/onEBack')('clear'));
};
render() {
console.log(this.props.peopleInfo);
const { getFieldProps } = this.props.form;
return (
<ScrollView>
<List>
<InputItem
{...getFieldProps('xingMing', {
rules: [
{ required: true, message: '不允许为空' },
],
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
姓名
</InputItem>
<InputItem
{...getFieldProps('identityCard', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
证件号码
</InputItem>
<InputItem
{...getFieldProps('birthday', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
出生日期
</InputItem>
<InputItem
{...getFieldProps('guoJi', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
国籍
</InputItem>
<InputItem
{...getFieldProps('minZu', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
民族
</InputItem>
<InputItem
{...getFieldProps('lianXiDianHua', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
联系电话
</InputItem>
<InputItem
{...getFieldProps('lianXiDiZhi', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
联系地址
</InputItem>
<InputItem
{...getFieldProps('yuHuZhuGuanXi', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
与户主关系
</InputItem>
<InputItem
{...getFieldProps('zhengZhiMianMao', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
政治面貌
</InputItem>
<InputItem
{...getFieldProps('hunYinZhuangKuang', {
})}
clear
placeholder=""
ref={(el) => { this.customFocusInst = el; }}
>
婚姻状况
</InputItem>
<List.Item>
<View style={{ flexDirection: 'row' }}>
<Button style={{ marginRight: 8 }} type="primary" onClick={this.onSubmit}>保存</Button>
<Button onClick={this.onEditBack}>返回</Button>
</View>
</List.Item>
</List>
</ScrollView>
);
}
}
export default createForm()(AddPeopleInfo);
/** /**
* Created by zhouhuan on 2017/11/3. * Created by zhouhuan on 2017/11/3.
*/ */
import { StackNavigator } from 'react-navigation';
import PeopleInfo from './peopelInfo';
import PeopleDetailInfo from './peopleDetailInfo';
import AddPeopleInfo from './addPeopleInfo';
const peopleInfoErJiScreen = StackNavigator(
{
peopleInfoList: {
screen: PeopleInfo,
},
peopleInfoDetail: {
screen: PeopleDetailInfo,
},
addPeoppleInfo: {
screen: AddPeopleInfo,
},
},
{
headerMode: 'none',
navigationOptions: {
gesturesEnabled: false,
},
},
);
export default peopleInfoErJiScreen;
...@@ -2,35 +2,22 @@ ...@@ -2,35 +2,22 @@
* Created by zhouhuan on 2017/10/30. * Created by zhouhuan on 2017/10/30.
*/ */
import React from 'react'; import React from 'react';
import { createForm } from 'rc-form'; import Icon from 'react-native-vector-icons/FontAwesome';
import { View, StyleSheet, FlatList, Text, ScrollView } from 'react-native'; import { View, FlatList } from 'react-native';
import { Card, WingBlank, WhiteSpace, Button, List, InputItem } from 'antd-mobile'; import { WingBlank, WhiteSpace } from 'antd-mobile';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { createAction } from '../../../utils'; import { createAction } from '../../../utils';
import FlatListItem from '../../../components/FlatListItem';
@connect(({ peopleInfo, loading }) => ({ peopleInfo, loading: !!loading.effects['peopleInfo/getPeopleInfo'] })) @connect(({ peopleInfo, loading }) => ({ peopleInfo, loading: !!loading.effects['peopleInfo/getPeopleInfo'] }))
class PeopleInfo extends React.Component { class PeopleInfo extends React.Component {
componentDidMount() { componentDidMount() {
this.props.dispatch(createAction('peopleInfo/getPeopleInfo')()); this.props.dispatch(createAction('peopleInfo/getPeopleInfo')());
} }
onPress = () => { onPressItem = (id) => {
const ID = this.props.peopleInfo.sourceData.id; console.log(id);
this.props.dispatch(createAction('peopleInfo/getPeopleDetail')(ID)); this.props.dispatch(createAction('peopleInfo/jumpPage')(id));
}; // this.props.dispatch(createAction('peopleInfo/getPeopleDetail')(id));
onEdit =() => {
this.props.dispatch(createAction('peopleInfo/setStatus')(true));
};
onSubmit = () => {
this.props.form.validateFields({ force: true }, (error, value) => {
if (!error) {
this.props.dispatch(createAction('peopleInfo/updateDSRDetail')({ id: this.props.peopleInfo.sourceData.id, singularData: value }));
} else {
console.log('Validation failed');
}
});
};
onEditBack = () => {
this.props.dispatch(createAction('peopleInfo/onEBack')());
}; };
onEndReached = () => { onEndReached = () => {
// 以下是制造新数据 // 以下是制造新数据
...@@ -38,6 +25,9 @@ class PeopleInfo extends React.Component { ...@@ -38,6 +25,9 @@ class PeopleInfo extends React.Component {
this.props.dispatch(createAction('peopleInfo/getPeopleInfo')()); this.props.dispatch(createAction('peopleInfo/getPeopleInfo')());
} }
}; };
addClick =() => {
this.props.dispatch(createAction('peopleInfo/addPeopleInfo')());
};
keyExtractor = item => `${item.id}`; keyExtractor = item => `${item.id}`;
// 下拉刷新 // 下拉刷新
renderRefresh = () => { renderRefresh = () => {
...@@ -48,160 +38,42 @@ class PeopleInfo extends React.Component { ...@@ -48,160 +38,42 @@ class PeopleInfo extends React.Component {
renderItem =({ item }) => { renderItem =({ item }) => {
// console.log(item); // console.log(item);
return ( return (
<WingBlank size="lg"> <FlatListItem
<WhiteSpace size="lg" /> title={item.xingMing}
<Card> meta={this.props.peopleInfo.metas}
<Card.Header item={item}
title={item.dangShiRenXingMing} onPressItem={this.onPressItem}
extra={<Text style={Styles.cardText} onPress={this.onPress}>&gt;&gt;详情</Text>} />
/>
<Card.Body>
<Text style={Styles.cardBodyText}>当事人编号:<Text style={Styles.cardBodyText2}>{item.dangShiRenBianHao}</Text></Text>
<Text style={Styles.cardBodyText}>证件号码:<Text style={Styles.cardBodyText2}>{item.dangShiRenIdentityCard}</Text></Text>
</Card.Body>
</Card>
<WhiteSpace size="lg" />
</WingBlank>
); );
}; };
render() { render() {
const { sourceData, isDetail, detailData, editable, disabled } = this.props.peopleInfo; const { sourceData } = this.props.peopleInfo;
console.log(this.props.peopleInfo); const myButton = (
console.log(isDetail); <Icon.Button name="plus" backgroundColor="#08BBF9" onPress={this.addClick}>
// const data = [sourceData]; 新增人口
// console.log(data); </Icon.Button>
const { getFieldProps } = this.props.form; );
/* const test = ( const flatList = (
<FlatList <FlatList
data={data} data={sourceData}
renderItem={this.renderItem} renderItem={this.renderItem}
keyExtractor={this.keyExtractor} keyExtractor={this.keyExtractor}
onEndReachedThreshold={0.3} onEndReachedThreshold={0.3}
onEndReached={this.onEndReached} onEndReached={this.onEndReached}
refreshing={this.props.loading} refreshing={this.props.loading}
onRefresh={this.renderRefresh} onRefresh={this.renderRefresh}
/>); */ />);
if (isDetail === false) { return (
return ( <View>
<View><Text>123</Text></View> <View>
); <WingBlank size="lg">
} else { <WhiteSpace size="lg" />
return ( {myButton}
<ScrollView> </WingBlank>
<List> </View>
<InputItem {flatList}
{...getFieldProps('dangShiRenXingMing', { </View>
initialValue: detailData.dangShiRenXingMing, );
rules: [
{ required: true, message: '不允许为空' },
{ validator: this.validateFWBianMa },
],
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
姓名
</InputItem>
<InputItem
{...getFieldProps('dangShiRenXingBie', {
initialValue: detailData.dangShiRenXingBie,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
性别
</InputItem>
<InputItem
{...getFieldProps('dangShiRenTelephone', {
initialValue: detailData.dangShiRenTelephone,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
电话号码
</InputItem>
<InputItem
{...getFieldProps('dangShiRenIdentityCard', {
initialValue: detailData.dangShiRenIdentityCard,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
身份证号码
</InputItem>
<InputItem
{...getFieldProps('dangShiRenIdentityCardbak', {
initialValue: detailData.dangShiRenIdentityCardbak,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
身份证类型
</InputItem>
<InputItem
{...getFieldProps('dangShiRenAddress', {
initialValue: detailData.dangShiRenAddress,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
地址
</InputItem>
<InputItem
{...getFieldProps('DSRMaritalStatus', {
initialValue: detailData.DSRMaritalStatus,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
婚姻状态
</InputItem>
<InputItem
{...getFieldProps('DSRCensusType', {
initialValue: detailData.DSRCensusType,
})}
clear
placeholder="请输入"
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
是否原村民
</InputItem>
<List.Item>
<View style={{ flexDirection: 'row' }}>
<Button style={{ marginRight: 8 }} type="primary" onClick={this.onEdit}>编辑</Button>
<Button style={{ marginRight: 8 }} onClick={this.onSubmit} disabled={disabled}>保存</Button>
<Button onClick={this.onEditBack}>返回</Button>
</View>
</List.Item>
</List>
</ScrollView>
);
}
} }
} }
const Styles = StyleSheet.create({ export default PeopleInfo;
cardText: {
color: '#2196F3',
textAlign: 'right',
},
cardBodyText: {
marginBottom: 10,
marginLeft: 13,
},
});
export default createForm()(PeopleInfo);
/** /**
* Created by zhouhuan on 2017/11/2. * Created by zhouhuan on 2017/11/2.
*/ */
import React from 'react';
import { createForm } from 'rc-form';
import { View, ScrollView } from 'react-native';
import { Button, List, InputItem } from 'antd-mobile';
import { connect } from 'react-redux';
import { createAction } from '../../../utils';
@connect(({ peopleInfo }) => ({ peopleInfo }))
class PeopleDetailInfo extends React.Component {
componentDidMount() {
const { id } = this.props.navigation.state.params;
this.props.dispatch(createAction('peopleInfo/getPeopleDetail')(id));
}
onEdit =() => {
this.props.dispatch(createAction('peopleInfo/setStatus')(true));
};
onSubmit = () => {
this.props.form.validateFields({ force: true }, (error, value) => {
if (!error) {
this.props.dispatch(createAction('peopleInfo/updateDSRDetail')({ id: this.props.peopleInfo.peopleID, singularData: value }));
} else {
console.log('Validation failed');
}
});
};
onEditBack = () => {
this.props.dispatch(createAction('peopleInfo/onEBack')('clear'));
};
render() {
const { detailData, editable, disabled } = this.props.peopleInfo;
console.log(this.props.peopleInfo);
const { getFieldProps } = this.props.form;
return (
<ScrollView>
<List>
<InputItem
{...getFieldProps('xingMing', {
initialValue: detailData.xingMing,
rules: [
{ required: true, message: '不允许为空' },
],
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
姓名
</InputItem>
<InputItem
{...getFieldProps('identityCard', {
initialValue: detailData.identityCard,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
证件号码
</InputItem>
<InputItem
{...getFieldProps('birthday', {
initialValue: detailData.birthday,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
出生日期
</InputItem>
<InputItem
{...getFieldProps('guoJi', {
initialValue: detailData.guoJi,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
国籍
</InputItem>
<InputItem
{...getFieldProps('minZu', {
initialValue: detailData.minZu,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
民族
</InputItem>
<InputItem
{...getFieldProps('lianXiDianHua', {
initialValue: detailData.lianXiDianHua,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
联系电话
</InputItem>
<InputItem
{...getFieldProps('lianXiDiZhi', {
initialValue: detailData.lianXiDiZhi,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
联系地址
</InputItem>
<InputItem
{...getFieldProps('yuHuZhuGuanXi', {
initialValue: detailData.yuHuZhuGuanXi,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
与户主关系
</InputItem>
<InputItem
{...getFieldProps('zhengZhiMianMao', {
initialValue: detailData.zhengZhiMianMao,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
政治面貌
</InputItem>
<InputItem
{...getFieldProps('hunYinZhuangKuang', {
initialValue: detailData.hunYinZhuangKuang,
})}
clear
placeholder=""
editable={editable}
ref={(el) => { this.customFocusInst = el; }}
>
婚姻状况
</InputItem>
<List.Item>
<View style={{ flexDirection: 'row' }}>
<Button style={{ marginRight: 8 }} type="primary" onClick={this.onEdit}>编辑</Button>
<Button style={{ marginRight: 8 }} onClick={this.onSubmit} disabled={disabled}>保存</Button>
<Button onClick={this.onEditBack}>返回</Button>
</View>
</List.Item>
</List>
</ScrollView>
);
}
}
export default createForm()(PeopleDetailInfo);
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论