product_tax_class_code.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import React, {Component} from 'react';
  2. import {
  3. Animated,
  4. View,
  5. Image,
  6. TouchableHighlight,
  7. Text,
  8. StyleSheet,
  9. TextInput,
  10. FlatList,
  11. TouchableOpacity,
  12. ActivityIndicator,
  13. ScrollView,
  14. Dimensions,
  15. Picker,
  16. DeviceEventEmitter,
  17. } from 'react-native';
  18. import login_css from '../../login/login_css';
  19. import public_css from '../../../source/css/public_css';
  20. import loading_css from '../../../source/css/loading_css';
  21. import Spinner from 'react-native-loading-spinner-overlay';
  22. import {RequestNetwork} from '../../../data/encryption';
  23. import {RetrieveData, StorageData} from '../../../data/storage';
  24. import SearchBar from '../../../components/searchBar/search_bar';
  25. import { ToastShow } from "../../../components/toast/toast";
  26. export default class product_tax_class_code extends Component {
  27. constructor(props) {
  28. super(props);
  29. this.props.navigation.dangerouslyGetParent().setOptions({
  30. tabBarVisible: false,
  31. });
  32. this.state = {
  33. taxClassCodes: [
  34. '0012324441244',
  35. '0012324443244',
  36. '0012324441244',
  37. '0012324441244',
  38. '0012324441244',
  39. '0012324441244',
  40. '0012324441244',
  41. '0012324441244',
  42. ],
  43. };
  44. }
  45. //模拟获取税率编码
  46. _fetchTestTaxClassCde = async () => {
  47. this.setState({
  48. taxClassCodes: [
  49. '0012324141244',
  50. '0012454663',
  51. '4rett333366',
  52. '467773443',
  53. '143434252634',
  54. '9575645333',
  55. '3476490446213334',
  56. '524543796053535',
  57. ],
  58. });
  59. };
  60. //获取税类编码
  61. _fetchTaxClassCde = async () => {
  62. const token = await RetrieveData('token');
  63. const account = await RetrieveData('account');
  64. if (token && account) {
  65. const url = '/auth/ent/user/findManageInfoByMobile';
  66. let response = await RequestNetwork(
  67. url,
  68. token,
  69. {
  70. mobile: account,
  71. reqChannel: 3,
  72. },
  73. false,
  74. 1,
  75. );
  76. if (response.code != 0) {
  77. ToastShow(1, response.msg);
  78. } else {
  79. let ents = [];
  80. for (let i = 0; i < response.data.ents.length; i++) {}
  81. this.setState({});
  82. }
  83. }
  84. };
  85. //搜索数据
  86. _searchData = (text) => {
  87. // this.setState({productName: text});
  88. // this._fetchData();
  89. };
  90. //每项列表分割线
  91. _itemSeparatorComponent() {
  92. return <View style={{height: 1, backgroundColor: '#696969'}} />;
  93. }
  94. render() {
  95. return (
  96. <View>
  97. <View
  98. style={{
  99. flexDirection: 'column',
  100. display: 'flex',
  101. marginTop: 20,
  102. marginBottom: 100,
  103. }}>
  104. <View>
  105. <SearchBar _searchData={this._searchData.bind(this)} />
  106. </View>
  107. <View style={styles.cardList}>
  108. <FlatList
  109. data={this.state.taxClassCodes}
  110. renderItem={({item, index}) => (
  111. <TouchableOpacity
  112. onPress={() => {
  113. DeviceEventEmitter.emit('getTaxClassCode', item);
  114. this.props.navigation.goBack();
  115. }}>
  116. <View style={styles.taxClassRow}>
  117. <Text>{item}</Text>
  118. </View>
  119. </TouchableOpacity>
  120. )}
  121. ItemSeparatorComponent={this._itemSeparatorComponent}
  122. />
  123. </View>
  124. </View>
  125. </View>
  126. );
  127. }
  128. }
  129. const styles = StyleSheet.create({
  130. cardList: {
  131. marginTop: 20,
  132. },
  133. taxClassRow: {
  134. height: 45,
  135. backgroundColor: '#ffffff',
  136. justifyContent: 'center',
  137. alignItems: 'center',
  138. },
  139. dorpDownRow: {
  140. flexDirection: 'row',
  141. height: 60,
  142. justifyContent: 'space-between',
  143. alignItems: 'center',
  144. },
  145. });