CheckCustomerDetail.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. import React, {Component} from 'react';
  2. import {
  3. View,
  4. Text,
  5. StyleSheet,
  6. ScrollView,
  7. } from 'react-native';
  8. import {Provider, Button, List} from '@ant-design/react-native';
  9. import {connect} from 'react-redux';
  10. import CallPhone from '../../components/CallPhone';
  11. import ComponentsStyles from '../../components/ComponentsStyles';
  12. @connect(customer => ({...customer}))
  13. class CheckCustomerDetail extends Component {
  14. // 潜客跟踪
  15. constructor(props) {
  16. super(props);
  17. this.state = {
  18. page: 1,
  19. rows: 10,
  20. id: this.props.navigation.state.params.id,
  21. };
  22. };
  23. componentDidMount() {
  24. this._fetchData();
  25. }
  26. _fetchData = () => {
  27. this.props.dispatch({
  28. type: 'customer/fetchCustomerReviewDetail',
  29. payload: {id: this.state.id},
  30. });
  31. };
  32. baseInfo = (reviewDetailData) => {
  33. return <View style={{marginTop: 5}}>
  34. <List style={styles.listStyle}>
  35. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.name}</Text>} arrow="empty">
  36. <Text style={ComponentsStyles.font15}>姓名</Text>
  37. </List.Item>
  38. <View style={styles.telItemView}>
  39. <Text style={ComponentsStyles.font15}>电话</Text>
  40. <View style={styles.telView}>
  41. <Text style={ComponentsStyles.icon}>{'\ue61a'}</Text>
  42. <Text
  43. style={styles.telText}
  44. onPress={() => CallPhone(reviewDetailData.tel, 1)}>
  45. {reviewDetailData.tel}
  46. </Text>
  47. </View>
  48. </View>
  49. <List.Item extra={<Text style={ComponentsStyles.IDText}>{reviewDetailData.address}</Text>}
  50. wrap
  51. multipleLine arrow="empty">
  52. <Text style={ComponentsStyles.font15}>地址</Text>
  53. </List.Item>
  54. <List.Item extra={<Text style={ComponentsStyles.IDText}>{reviewDetailData.village}</Text>}
  55. wrap
  56. multipleLine arrow="empty">
  57. <Text style={ComponentsStyles.font15}>小区</Text>
  58. </List.Item>
  59. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.project_text}</Text>}
  60. arrow="empty">
  61. <Text style={ComponentsStyles.font15}>项目</Text>
  62. </List.Item>
  63. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.stage_progress_text}</Text>}
  64. arrow="empty">
  65. <Text style={ComponentsStyles.font15}>阶段进度</Text>
  66. </List.Item>
  67. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.description}</Text>}
  68. arrow="empty">
  69. <Text style={ComponentsStyles.font15}>回访情况</Text>
  70. </List.Item>
  71. <View style={styles.descView}>
  72. <Text style={ComponentsStyles.font15}>回访情况</Text>
  73. <Text style={[ComponentsStyles.font15, styles.descText]}>{reviewDetailData.description}</Text>
  74. </View>
  75. <View
  76. style={styles.descView}>
  77. <Text style={ComponentsStyles.font15}>支援或放弃</Text>
  78. <Text style={[ComponentsStyles.font15, styles.descText]}>{reviewDetailData.instruction}</Text>
  79. </View>
  80. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.is_giveup_text}</Text>}
  81. arrow='empty'>
  82. <Text style={ComponentsStyles.font15}>是否放弃</Text>
  83. </List.Item>
  84. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.check_status_text}</Text>}
  85. arrow='empty'>
  86. <Text style={ComponentsStyles.font15}>审核状态</Text>
  87. </List.Item>
  88. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.create_user_text}</Text>}
  89. arrow='empty'>
  90. <Text style={ComponentsStyles.font15}>跟踪人员</Text>
  91. </List.Item>
  92. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.create_time_f}</Text>}
  93. arrow='empty'>
  94. <Text style={ComponentsStyles.font15}>跟踪时间</Text>
  95. </List.Item>
  96. <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.next_time_f}</Text>}
  97. arrow='empty'>
  98. <Text style={ComponentsStyles.font15}>下次跟踪</Text>
  99. </List.Item>
  100. </List>
  101. </View>;
  102. };
  103. render() {
  104. const {customerReviewDetail} = this.props.customer;
  105. return (
  106. <Provider>
  107. <ScrollView>
  108. {this.baseInfo(customerReviewDetail)}
  109. </ScrollView>
  110. <Button
  111. type="primary"
  112. onPress={() => this.props.navigation.navigate('CheckCustomer',
  113. {
  114. item: customerReviewDetail,
  115. })}
  116. style={ComponentsStyles.button}
  117. >
  118. <Text
  119. style={{color: '#fff'}}>审核</Text>
  120. </Button>
  121. </Provider>
  122. );
  123. }
  124. }
  125. const styles = StyleSheet.create({
  126. modalText: {
  127. color: '#333',
  128. fontSize: 16,
  129. textAlign: 'center',
  130. textAlignVertical: 'center',
  131. },
  132. textInput: {
  133. width: '80%',
  134. textAlign: 'left',
  135. paddingHorizontal: 10,
  136. },
  137. modalContainer: {
  138. flexDirection: 'row',
  139. paddingHorizontal: 10,
  140. paddingLeft: 13,
  141. borderBottomWidth: 1,
  142. borderBottomColor: '#eee',
  143. },
  144. textStyle: {
  145. fontSize: 16,
  146. paddingVertical: 10,
  147. },
  148. telItemView: {
  149. flex: 1,
  150. flexDirection: 'row',
  151. marginLeft: 15,
  152. paddingRight: 18,
  153. paddingVertical: 8,
  154. borderBottomWidth: 0.5,
  155. borderBottomColor: '#eaeaea',
  156. },
  157. telName: {
  158. color: '#333',
  159. fontSize: 18,
  160. },
  161. telView: {
  162. flex: 1,
  163. flexDirection: 'row',
  164. justifyContent: 'flex-end',
  165. alignItems: 'center',
  166. },
  167. telText: {
  168. color: '#2b90ea',
  169. fontSize: 15,
  170. },
  171. listStyle: {
  172. borderBottomWidth: 10,
  173. borderBottomColor: '#f6f7f8',
  174. },
  175. reportMain: {
  176. marginTop: 5,
  177. // marginBottom: 5,
  178. backgroundColor: '#fff',
  179. paddingHorizontal: 10,
  180. // borderWidth:1,
  181. },
  182. customerText: {
  183. color: '#333',
  184. fontSize: 16,
  185. },
  186. row5: {
  187. flexDirection: 'row',
  188. paddingVertical: 5,
  189. },
  190. red5: {
  191. fontSize: 15,
  192. color: 'red',
  193. padding: 2,
  194. },
  195. descView: {
  196. marginHorizontal: 15,
  197. paddingVertical: 2,
  198. borderBottomWidth: 1,
  199. borderBottomColor: '#eee',
  200. },
  201. descText: {
  202. color: '#928f8f',
  203. paddingVertical: 2,
  204. },
  205. });
  206. export default CheckCustomerDetail;