change_sex.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import React, {Component} from 'react';
  2. import {View, Text, TouchableOpacity, Image, SafeAreaView, ScrollView} from 'react-native';
  3. import {List, Radio, WingBlank, WhiteSpace} from '@ant-design/react-native';
  4. import {RequestNetwork} from '../../data/encryption';
  5. import {RetrieveData} from '../../data/storage';
  6. import public_css from '../../source/css/public_css';
  7. import { ToastShow } from "../../components/toast/toast";
  8. const RadioItem = Radio.RadioItem;
  9. export default class change_sex extends Component {
  10. constructor(props) {
  11. super(props);
  12. this.state = {
  13. sex: this.props.route.params.data,
  14. };
  15. }
  16. render() {
  17. return (
  18. <SafeAreaView style={public_css.body}>
  19. <ScrollView>
  20. <List>
  21. <RadioItem
  22. checked={this.state.sex === 'M'}
  23. onChange={(event) => {
  24. if (event.target.checked) {
  25. this.setState({sex: 'M'});
  26. }
  27. }}>
  28. </RadioItem>
  29. <RadioItem
  30. checked={this.state.sex === 'F'}
  31. onChange={(event) => {
  32. if (event.target.checked) {
  33. this.setState({sex: 'F'});
  34. }
  35. }}>
  36. </RadioItem>
  37. </List>
  38. </ScrollView>
  39. <WingBlank>
  40. <View style={[public_css.bottomStatus]}>
  41. <TouchableOpacity
  42. style={[public_css.statusBtn, public_css.statusRBtn]}
  43. onPress={() => this.submitData()}>
  44. <Image
  45. source={require('../../source/img/productImg/confirm.png')}
  46. style={{width: 32, height: 32}}
  47. />
  48. <Text style={{color: '#fff'}}>确认</Text>
  49. </TouchableOpacity>
  50. </View>
  51. </WingBlank>
  52. <WhiteSpace />
  53. </SafeAreaView>
  54. );
  55. }
  56. //提交信息
  57. submitData = async () => {
  58. let account = await RetrieveData('account');
  59. let token = await RetrieveData('token');
  60. if (token && account) {
  61. const url = '/auth/comm/user/personalInfo/save';
  62. let response = await RequestNetwork(
  63. url,
  64. token,
  65. {
  66. mobile: account,
  67. sex: this.state.sex,
  68. reqChannel: 3,
  69. },
  70. false,
  71. 1,
  72. );
  73. if (response) {
  74. if (response.code === 0) {
  75. ToastShow(1, '编辑成功!');
  76. this.props.route.params.isRefresh();
  77. this.props.navigation.goBack();
  78. } else {
  79. ToastShow(1, '编辑失败!');
  80. }
  81. }
  82. }
  83. };
  84. }