罗广聪

获取通信列表

@@ -8,7 +8,8 @@ import { @@ -8,7 +8,8 @@ import {
8 TouchableOpacity, 8 TouchableOpacity,
9 ScrollView, 9 ScrollView,
10 ListView, 10 ListView,
11 - Dimensions 11 + Dimensions,
  12 + AsyncStorage,
12 } from "react-native"; 13 } from "react-native";
13 import { StackNavigator, TabNavigator } from "react-navigation"; 14 import { StackNavigator, TabNavigator } from "react-navigation";
14 import post from "../../utils/fetch"; 15 import post from "../../utils/fetch";
@@ -17,13 +18,17 @@ export default class Import extends Component { @@ -17,13 +18,17 @@ export default class Import extends Component {
17 constructor(props) { 18 constructor(props) {
18 super(props); 19 super(props);
19 this.state = { 20 this.state = {
  21 + IS_LOGIN: "",
  22 + USER_ID: "",
20 customersList: this.props.navigation.state.params.customersList, 23 customersList: this.props.navigation.state.params.customersList,
21 selected_list: [], 24 selected_list: [],
22 selected_all: false, 25 selected_all: false,
23 - selected_len: 0, 26 + selected_len: 0
24 }; 27 };
25 } 28 }
26 - componentWillMount() {} 29 + componentWillMount() {
  30 + this.getAsyncStorage()
  31 + }
27 32
28 componentDidMount() { 33 componentDidMount() {
29 console.log("导入客户", this.props.navigation.state.params); 34 console.log("导入客户", this.props.navigation.state.params);
@@ -33,6 +38,22 @@ export default class Import extends Component { @@ -33,6 +38,22 @@ export default class Import extends Component {
33 post("/test/insurance/article", {}, res => {}, err => {}); 38 post("/test/insurance/article", {}, res => {}, err => {});
34 } 39 }
35 40
  41 + getAsyncStorage() {
  42 + const that = this;
  43 + AsyncStorage.multiGet(
  44 + ["IS_LOGIN", "USER_ID"],
  45 + (err, result) => {
  46 + if (err) {
  47 + console.error(err);
  48 + }
  49 + that.setState({
  50 + IS_LOGIN: result[0][1],
  51 + USER_ID: result[1][1] != null ? result[1][1] : "",
  52 + });
  53 + }
  54 + );
  55 + }
  56 +
36 selectItem(item, index) { 57 selectItem(item, index) {
37 const { customersList, selected_all, selected_len } = this.state; 58 const { customersList, selected_all, selected_len } = this.state;
38 let Temp = customersList; 59 let Temp = customersList;
@@ -56,22 +77,20 @@ export default class Import extends Component { @@ -56,22 +77,20 @@ export default class Import extends Component {
56 () => { 77 () => {
57 if (selected_all) { 78 if (selected_all) {
58 this.setState({ 79 this.setState({
59 - selected_list: customersList, 80 + customersList: customersList.map((item, index) => {
60 - customersList: customersList.map((item,index) => {  
61 return { 81 return {
62 ...item, 82 ...item,
63 selected: false 83 selected: false
64 - } 84 + };
65 }) 85 })
66 }); 86 });
67 } else { 87 } else {
68 this.setState({ 88 this.setState({
69 - selected_list: [], 89 + customersList: customersList.map((item, index) => {
70 - customersList: customersList.map((item,index) => {  
71 return { 90 return {
72 ...item, 91 ...item,
73 selected: true 92 selected: true
74 - } 93 + };
75 }) 94 })
76 }); 95 });
77 } 96 }
@@ -79,6 +98,18 @@ export default class Import extends Component { @@ -79,6 +98,18 @@ export default class Import extends Component {
79 ); 98 );
80 } 99 }
81 100
  101 + import() {
  102 + const { customersList,USER_ID } = this.state;
  103 + let Temp = [];
  104 + for (let i = 0, len = customersList.length; i < len; i++) {
  105 + if (customersList[i].selected) {
  106 + Temp.push(customersList[i]);
  107 + }
  108 + }
  109 + console.log("发送通信录", Temp);
  110 + post(`/test/insurance/contact/lot/${USER_ID}`,{'Temp':Temp},res => {console.log('导入成功')},err => {console.log(err)});
  111 + }
  112 +
82 render() { 113 render() {
83 const { navigate } = this.props.navigation; 114 const { navigate } = this.props.navigation;
84 const { customersList, selected_all, selected_len } = this.state; 115 const { customersList, selected_all, selected_len } = this.state;
@@ -151,7 +182,12 @@ export default class Import extends Component { @@ -151,7 +182,12 @@ export default class Import extends Component {
151 <Text></Text> 182 <Text></Text>
152 </View> 183 </View>
153 </View> 184 </View>
154 - <TouchableOpacity style={styles.importBtnContaier}> 185 + <TouchableOpacity
  186 + style={styles.importBtnContaier}
  187 + onPress={() => {
  188 + this.import();
  189 + }}
  190 + >
155 <Text style={styles.importBtnText}>导入</Text> 191 <Text style={styles.importBtnText}>导入</Text>
156 </TouchableOpacity> 192 </TouchableOpacity>
157 </View> 193 </View>
@@ -24,7 +24,7 @@ export default class Customer extends Component { @@ -24,7 +24,7 @@ export default class Customer extends Component {
24 USER_ID: "", 24 USER_ID: "",
25 NICKNAME: "", 25 NICKNAME: "",
26 PROFESSION: "", 26 PROFESSION: "",
27 - hasCustomer: false, 27 + hasCustomer: true,
28 customersList: ["张某某", "周某某", "林某某", "李某某"], 28 customersList: ["张某某", "周某某", "林某某", "李某某"],
29 customersList2: [ 29 customersList2: [
30 { 30 {
@@ -50,11 +50,9 @@ export default class Customer extends Component { @@ -50,11 +50,9 @@ export default class Customer extends Component {
50 this.getAsyncStorage(); 50 this.getAsyncStorage();
51 } 51 }
52 52
53 - componentDidMount() {} 53 + componentDidMount() {
54 -  
55 - getListData() {  
56 - post("/test/insurance/article", {}, res => {}, err => {});  
57 } 54 }
  55 +
58 getAllPhone() { 56 getAllPhone() {
59 const { navigate } = this.props.navigation; 57 const { navigate } = this.props.navigation;
60 Contacts.getAll((err, contacts) => { 58 Contacts.getAll((err, contacts) => {
@@ -65,7 +63,7 @@ export default class Customer extends Component { @@ -65,7 +63,7 @@ export default class Customer extends Component {
65 customersList.push({ 63 customersList.push({
66 name: item.familyName + item.givenName, 64 name: item.familyName + item.givenName,
67 phone: item.phoneNumbers[0] ? item.phoneNumbers[0].number : "", 65 phone: item.phoneNumbers[0] ? item.phoneNumbers[0].number : "",
68 - selected: false, 66 + selected: false
69 }); 67 });
70 }); 68 });
71 // console.log("通信录", contacts); 69 // console.log("通信录", contacts);
@@ -77,20 +75,31 @@ export default class Customer extends Component { @@ -77,20 +75,31 @@ export default class Customer extends Component {
77 75
78 getAsyncStorage() { 76 getAsyncStorage() {
79 const that = this; 77 const that = this;
80 - AsyncStorage.multiGet( 78 + const { USER_ID } = this.state;
81 - ["IS_LOGIN", "USER_ID", "NICKNAME", "PROFESSION"], 79 + AsyncStorage.multiGet(["IS_LOGIN", "USER_ID"], (err, result) => {
82 - (err, result) => { 80 + if (err) {
83 - if (err) { 81 + console.error(err);
84 - console.error(err);  
85 - }  
86 - that.setState({  
87 - IS_LOGIN: result[0][1],  
88 - USER_ID: result[1][1] != null ? result[1][1] : "",  
89 - NICKNAME: result[2][1] != null ? result[2][1] : "",  
90 - PROFESSION: result[3][1] != null ? result[3][1] : ""  
91 - });  
92 } 82 }
93 - ); 83 + that.setState(
  84 + {
  85 + IS_LOGIN: result[0][1],
  86 + USER_ID: result[1][1] != null ? result[1][1] : ""
  87 + },
  88 + () => {
  89 + console.log(that.state.USER_ID)
  90 + post(
  91 + `/test/insurance/contact/get/${that.state.USER_ID}`,
  92 + {},
  93 + res => {
  94 + console.log("通信录返回值", res);
  95 + },
  96 + err => {
  97 + console.log("通信录err", err);
  98 + }
  99 + );
  100 + }
  101 + );
  102 + });
94 } 103 }
95 104
96 _renderBegin() { 105 _renderBegin() {