personal_navigation.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. import React, {Component} from 'react';
  2. import {createStackNavigator} from '@react-navigation/stack';
  3. import personal_center from '../../page/personalCenter/personal_center';
  4. import login from '../../page/login/login';
  5. import forget_password from '../../page/login/forget_password';
  6. import personal_information from '../../page/personalInformation/personal_information';
  7. import enterprise_list from '../../page/enterpriseInfo/enterprise_list';
  8. import customer_list from '../../page/configure/customerInformation/customer_list';
  9. import change_nick_name from '../../page/personalInformation/change_nick_name';
  10. import change_sex from '../../page/personalInformation/change_sex';
  11. import change_company from '../../page/personalInformation/change_company';
  12. import change_address from '../../page/personalInformation/change_address';
  13. import change_phone from '../../page/personalInformation/change_phone';
  14. import change_profiles from '../../page/personalInformation/change_profiles';
  15. import app_update from '../update/app_update';
  16. import about from '../../page/personalCenter/about';
  17. import set from '../../page/personalCenter/set';
  18. import service_handle from '../../page/member/service_handle';
  19. import problem from '../../page/member/message/problem';
  20. import agreement from '../../page/member/message/agreement';
  21. import user_agreement from '../../page/login/user_agreement';
  22. const Stack = createStackNavigator();
  23. export default class personal_navigation extends Component {
  24. constructor(props) {
  25. super(props);
  26. }
  27. render() {
  28. return (
  29. <Stack.Navigator initialRouteName="personal_center">
  30. <Stack.Screen
  31. name="personal_center_page"
  32. component={personal_center}
  33. options={{
  34. title: '会员中心',
  35. headerTitleAlign: 'center',
  36. headerStyle: {
  37. backgroundColor: '#ffffff',
  38. },
  39. headerTintColor: '#000000',
  40. }}
  41. />
  42. <Stack.Screen
  43. name="about"
  44. component={about}
  45. options={{
  46. title: '关于',
  47. headerTitleAlign: 'center',
  48. headerStyle: {
  49. backgroundColor: '#ffffff',
  50. },
  51. headerTintColor: '#000000',
  52. }}
  53. />
  54. <Stack.Screen
  55. name="set"
  56. component={set}
  57. options={{
  58. title: '设置',
  59. headerTitleAlign: 'center',
  60. headerStyle: {
  61. backgroundColor: '#ffffff',
  62. },
  63. headerTintColor: '#000000',
  64. }}
  65. />
  66. <Stack.Screen
  67. name="login"
  68. component={login}
  69. options={{
  70. title: '登录',
  71. headerTitleAlign: 'center',
  72. headerStyle: {
  73. backgroundColor: '#ffffff',
  74. },
  75. headerTintColor: '#000000',
  76. }}
  77. />
  78. <Stack.Screen
  79. name="user_agreement"
  80. component={user_agreement}
  81. options={{
  82. title: '云票在线用户使用协议',
  83. headerTitleAlign: 'center',
  84. headerStyle: {
  85. backgroundColor: '#ffffff',
  86. },
  87. headerTintColor: '#000000',
  88. }}
  89. />
  90. <Stack.Screen
  91. name="forget_password"
  92. component={forget_password}
  93. options={{
  94. title: '密码修改',
  95. headerTitleAlign: 'center',
  96. headerStyle: {
  97. backgroundColor: '#ffffff',
  98. },
  99. headerTintColor: '#000000',
  100. }}
  101. />
  102. <Stack.Screen
  103. name="personal_information"
  104. component={personal_information}
  105. options={{
  106. title: '个人信息',
  107. headerTitleAlign: 'center',
  108. headerStyle: {
  109. backgroundColor: '#ffffff',
  110. },
  111. headerTintColor: '#000000',
  112. }}
  113. />
  114. <Stack.Screen
  115. name="customer_list"
  116. component={customer_list}
  117. options={{
  118. title: '个人信息',
  119. headerTitleAlign: 'center',
  120. headerStyle: {
  121. backgroundColor: '#ffffff',
  122. },
  123. headerTintColor: '#000000',
  124. }}
  125. />
  126. <Stack.Screen
  127. name="enterprise_list"
  128. component={enterprise_list}
  129. options={{
  130. title: '企业信息',
  131. headerTitleAlign: 'center',
  132. headerStyle: {
  133. backgroundColor: '#ffffff',
  134. },
  135. headerTintColor: '#000000',
  136. }}
  137. />
  138. <Stack.Screen
  139. name="change_nick_name"
  140. component={change_nick_name}
  141. options={{
  142. title: '昵称',
  143. headerTitleAlign: 'center',
  144. headerStyle: {
  145. backgroundColor: '#ffffff',
  146. },
  147. headerTintColor: '#000000',
  148. }}
  149. />
  150. <Stack.Screen
  151. name="change_sex"
  152. component={change_sex}
  153. options={{
  154. title: '性别',
  155. headerTitleAlign: 'center',
  156. headerStyle: {
  157. backgroundColor: '#ffffff',
  158. },
  159. headerTintColor: '#000000',
  160. }}
  161. />
  162. <Stack.Screen
  163. name="change_company"
  164. component={change_company}
  165. options={{
  166. title: '公司名称',
  167. headerTitleAlign: 'center',
  168. headerStyle: {
  169. backgroundColor: '#ffffff',
  170. },
  171. headerTintColor: '#000000',
  172. }}
  173. />
  174. <Stack.Screen
  175. name="change_address"
  176. component={change_address}
  177. options={{
  178. title: '地址信息',
  179. headerTitleAlign: 'center',
  180. headerStyle: {
  181. backgroundColor: '#ffffff',
  182. },
  183. headerTintColor: '#000000',
  184. }}
  185. />
  186. <Stack.Screen
  187. name="change_phone"
  188. component={change_phone}
  189. options={{
  190. title: '修改手机号码',
  191. headerTitleAlign: 'center',
  192. headerStyle: {
  193. backgroundColor: '#ffffff',
  194. },
  195. headerTintColor: '#000000',
  196. }}
  197. />
  198. <Stack.Screen
  199. name="change_profiles"
  200. component={change_profiles}
  201. options={{
  202. title: '简介',
  203. headerTitleAlign: 'center',
  204. headerStyle: {
  205. backgroundColor: '#ffffff',
  206. },
  207. headerTintColor: '#000000',
  208. }}
  209. />
  210. <Stack.Screen
  211. name="app_update"
  212. component={app_update}
  213. options={{
  214. title: '更新',
  215. headerTitleAlign: 'center',
  216. headerStyle: {
  217. backgroundColor: '#ffffff',
  218. },
  219. headerTintColor: '#000000',
  220. }}
  221. />
  222. <Stack.Screen
  223. name="service_handle"
  224. component={service_handle}
  225. options={{
  226. title: '服务办理',
  227. headerTitleAlign: 'center',
  228. headerStyle: {
  229. backgroundColor: '#ffffff',
  230. },
  231. headerTintColor: '#000000',
  232. }}
  233. />
  234. <Stack.Screen
  235. name="problem"
  236. component={problem}
  237. options={{
  238. title: '常见问题',
  239. headerTitleAlign: 'center',
  240. headerStyle: {
  241. backgroundColor: '#ffffff',
  242. },
  243. headerTintColor: '#000000',
  244. }}
  245. />
  246. <Stack.Screen
  247. name="agreement"
  248. component={agreement}
  249. options={{
  250. title: '会员服务协议',
  251. headerTitleAlign: 'center',
  252. headerStyle: {
  253. backgroundColor: '#ffffff',
  254. },
  255. headerTintColor: '#000000',
  256. }}
  257. />
  258. </Stack.Navigator>
  259. );
  260. }
  261. //判断导航栏是否显示
  262. shouldComponentUpdate(
  263. nextProps: Readonly<P>,
  264. nextState: Readonly<S>,
  265. nextContext: any,
  266. ): boolean {
  267. if (nextProps.route.state.index === 0) {
  268. this.props.navigation.setOptions({
  269. tabBarVisible: true,
  270. });
  271. }
  272. return true;
  273. }
  274. }