Guest User

Untitled

a guest
Sep 26th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.91 KB | None | 0 0
  1. import React from 'react';
  2. import {StyleSheet,Text,Dimensions,View,TouchableOpacity,TextInput,Keyboard,Image,Alert} from 'react-native';
  3. import Icon from 'react-native-vector-icons/FontAwesome';
  4.  
  5. const {width, height} = Dimensions.get('window');
  6.  
  7. export default class loginView extends React.Component {
  8. static navigationOptions= ({navigation}) =>({title: 'Login'});
  9.  
  10. constructor(props){
  11. super(props)
  12. this.state={userName:'', userPassword:'', }
  13. }
  14.  
  15. login=()=>{
  16. const {userName,userPassword} = this.state;
  17.  
  18. if(userName=="" || userPassword==""){this.setState({mensaje:'debe llenar los campos'})}
  19. else{
  20. fetch('http://www.yarascorp.com/reactnative/login.php',{
  21. method:'post',
  22. header:{'Accept':'application/json', 'Content-type':'application/json'},
  23. body:JSON.stringify({name:userName, password:userPassword })
  24. })
  25. .then((response)=>response.json())
  26. .then((responseJson)=>{
  27. if(responseJson == "Correcto"){
  28. this.setState({mensaje:'Inicio correcto'})
  29. this.props.navigation.navigate("Profile");
  30. }else{
  31. this.setState({mensaje:'Error con el usuario o clave'})
  32. }
  33. })
  34. .catch((error)=>{console.error(error);});
  35. }
  36. Keyboard.dismiss();
  37. }
  38.  
  39. render() {
  40. return (
  41. <View style={styles.container}>
  42. <View style={styles.contlogo}>
  43. <View style={styles.hlogo}><Image style={styles.coverImage1} source={require('../imgs/costco.png')}/></View>
  44. <View style={styles.hlogo}><Image style={styles.coverImage2} source={require('../imgs/logometalss.png')}/></View>
  45. </View>
  46. <View style={styles.cuerpo}>
  47. <View style={styles.campos}>
  48. <Icon style={styles.infoIcon} name="user" size={20} color="grey"/>
  49. <TextInput
  50. placeholder="Ingrese Usuario" style={styles.textInput} underlineColorAndroid="transparent"
  51. onChangeText={userName => this.setState({userName})} value={this.state.userName}
  52. />
  53. </View>
  54. <View style={styles.campos}>
  55. <Icon style={styles.infoIcon} name="key" size={20} color="grey"/>
  56. <TextInput
  57. secureTextEntry={true} placeholder="Ingrese Clave" style={styles.textInput}
  58. underlineColorAndroid="transparent" onChangeText={userPassword => this.setState({userPassword})} value={this.state.text1}/>
  59. </View>
  60. <TouchableOpacity onPress={this.login}style={{width:250,padding:10,marginTop:20,backgroundColor:"#A30000",alignItems:'center'}}>
  61. <Text style={{color:'white',fontWeight:'bold'}}>Entrar</Text>
  62. </TouchableOpacity>
  63. <Text style={styles.mensaje}>{this.state.mensaje}</Text>
  64. </View>
  65. </View>
  66. );
  67. }
  68. }
  69.  
  70. import React from 'react';
  71. import {StyleSheet,Text,View,Button,Alert,ActivityIndicator,ListView,Platform,TouchableOpacity} from 'react-native';
  72. import loginView from '../pages/loginView';
  73.  
  74.  
  75. export default class visorView extends React.Component{
  76. static navigationOptions=({navigation}) =>({header: null,});
  77. static navigationOptions={tabBarLabel:'Visor'}
  78.  
  79.  
  80. constructor(props){
  81. super(props);
  82. this.state={
  83. isLoading: true,
  84. }
  85. }
  86.  
  87. GetItem (cliente,deservicios){
  88. Alert.alert(cliente, deservicios);
  89. }
  90.  
  91. componentDidMount(){
  92. return fetch('http://www.yarascorp.com/reactnative/ordenesprcostco.php')
  93. .then((response)=>response.json())
  94. .then((responseJson)=>{
  95. let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
  96. this.setState({
  97. isLoading: false,
  98. dataSource: ds.cloneWithRows(responseJson),
  99. },function(){
  100. // In this block you can do something with new state.
  101. });
  102. })
  103. .catch((error)=>{
  104. console.error(error);
  105. });
  106. }
  107.  
  108. ListViewItemSeparator=()=>{
  109. return(
  110. <View
  111. style={{
  112. height:.5,
  113. width:"100%",
  114. backgroundColor:"#000",
  115. }}
  116. />
  117. );
  118. }
  119.  
  120. render(){
  121. if(this.state.isLoading){
  122. return(
  123. <View style={{flex: 1, paddingTop: 20}}>
  124. <ActivityIndicator />
  125. </View>
  126. );
  127. }
  128. return(
  129. <View style={styles.container}>
  130. <View style={styles.cabecera}>
  131. <Text style={styles.titulo}>- Visor de pedidos -</Text>
  132. </View>
  133. <View style={styles.MainContainer}>
  134. <ListView
  135. dataSource={this.state.dataSource}
  136. renderSeparator={this.ListViewItemSeparator}
  137. renderRow={(rowData) =>
  138. <View style={{flex:1, flexDirection: 'column'}} >
  139. <TouchableOpacity onPress={this.GetItem.bind(this,rowData.cliente,rowData.descripcion)} >
  140. <Text style={styles.textViewContainer} autoCapitalize="characters">{rowData.cliente+' / '+rowData.direccion}</Text>
  141. </TouchableOpacity>
  142. </View>
  143. }
  144. />
  145. </View>
  146. </View>
  147. );
  148. }
  149. }
Add Comment
Please, Sign In to add comment