import React, { Component } from 'react' import { StyleSheet, View, Image, StatusBar, Dimensions, PixelRatio, TouchableOpacity, Text, FlatList, ScrollView, ImageBackground, RefreshControl, ActivityIndicator, } from 'react-native' import { connect } from 'react-redux' import png from '../../../../static/images/defaultimg.jpg' import Icon from '../../../../components/Iconfont/Iconfont' import { NavigationActions, createAction } from '../../../../utils' import { ReturnDate } from '../../../../utils/utils' import signPng from '../../../../static/images/signed.png' import EmptyOrder from '../../../../static/images/Empty-order.png' import { ImageBaseUrl } from '../../../../utils/fetch/Fetchx' const { width, height } = Dimensions.get('window') @connect(({ theme, ordersign }) => ({ ...theme, ...ordersign })) class DeliverySign extends Component { constructor() { super() this.state = { activeSection: 'suibianshuru', setButton: 0, isRefreshing: false, Loading: false, SubmitLoad: false, } this.page = 0 this.size = 5 } componentDidMount = () => { this.onRefresh() } onRefresh() { this.props.dispatch( createAction('ordersign/getSignList')({ signData: [], pageInfo: { page: 0, size: this.size }, searchInfo: { search_EQ_customerId: CUSTOMERINFO.id, }, }) ) this.page = 0 } gotoDetail = () => { this.props.dispatch(NavigationActions.navigate({ routeName: 'Detail' })) } _toggle(key) { if (this.state.activeSection == key) { this.setState({ activeSection: key + 'asd' }) } else { this.setState({ activeSection: key }) } } async submitSign(data) { this.props.dispatch( createAction('ordersign/getSignDetail')({ saleOutOrderId: data.id, confirmCb: () => this.onRefresh(), }) ) // this.setState({ SubmitLoad: true }); // data.saleOutOrderItemInfoDtos.map(item => { // item.signNum = item.mainNum; // item.persistStatus = "upd"; // }); // const result = await authService.confirmSign(data.saleOutOrderItemInfoDtos); // if (result && result.status == "200") { // this.onRefresh(); // } // this.setState({ SubmitLoad: false }); } // 订单列表Render topOrderRender(item, index) { let imageArr = [], imalength = item.goodsImgs.length, signState = false if ( item.saleOutOrderItemInfoDtos.some( data => !data.signNum || (data.signNum && data.signNum <= 0) ) ) { signState = true } if (imalength.length > 3) { imalength = 3 } for (let i = 0; i < imalength; i++) { imageArr.push( ) } return ( { // item && item.c == "unsigned" // ? // : null; // }} style={{ paddingHorizontal: 10, }} > {/* 订单信息栏 */} 发货编号:{item.billCode} {ReturnDate(item.billDate)} {imageArr} {/* {imageArr.length > 3 ? imageArr.slice(0, 3) : imageArr} */} {imalength > 3 ? ( ...... ) : null} {item.totalAssistNum} {/* */} {signState ? null : ( // {item.billStatusCode == "unsigned" ? null : ( )} {/* 签收栏 */} {signState ? ( // {item.billStatusCode == "unsigned" ? ( {signState ? '未签收' : '已签收'} {/* {item.billStatusName} */} this.submitSign(item)} style={{ paddingHorizontal: 18, paddingVertical: 4, backgroundColor: '#E14C46', borderRadius: 100, }} > 签收 ) : null} ) } setTouch(index) { this.setState({ setButton: index }) } // 订单按钮组 setList() { let textColor = ['#999', '#E14C46'] let border = ['transparent', '#E14C46'] setArr = [] const setAtt = [ { touchName: '全部' }, { touchName: '未签收' }, { touchName: '已签收' }, ] for (let j = 0; j < setAtt.length; j++) { setArr.push( { this.setTouch(j) }} key={j} style={{ justifyContent: 'center' }} > {setAtt[j].touchName} ) } return setArr } // 底部 footerCom() { if (this.props.showFoot == 0) { return } else if (this.props.showFoot == 1) { return ( 没有更多数据 ) } else if (this.props.showFoot == 2) { return ( 正在加载更多数据... ) } } render() { const { signData, totalPages } = this.props return ( {/* {this.setList()} */} {signData && signData.length > 0 ? ( this.state.Loading ? ( ) : ( index} data={signData} extraData={this.state} renderItem={({ item, index }) => this.topOrderRender(item, index)} ListFooterComponent={this.footerCom.bind(this)} // initialNumToRender={5} onEndReachedThreshold={0.1} onEndReached={e => { if (this.props.showFoot != 0) { return } if (this.page != 1 && this.page >= totalPages) { return } else { this.page++ } this.props.dispatch( createAction('ordersign/getSignList')({ signData: signData, pageInfo: { page: this.page, size: this.size }, forUse: 'slipOn', searchInfo: { search_EQ_customerId: CUSTOMERINFO.id, }, }) ) }} refreshControl={ this.onRefresh)或者通过bind来绑定this引用来调用方法 tintColor="red" title={this.props.isRefreshing ? '刷新中....' : '下拉刷新'} /> } /> ) ) : ( this.onRefresh)或者通过bind来绑定this引用来调用方法 tintColor="red" title={this.props.isRefreshing ? '刷新中....' : '下拉刷新'} /> } > 您还没有相关订单~ )} ) } } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#f5f5f5', }, CardText999: { fontSize: 13, lineHeight: 17, letterSpacing: 0.14, color: '#999', }, CardText333: { fontSize: 13, lineHeight: 17, letterSpacing: 0.14, color: '#333', }, CardText666: { fontSize: 13, lineHeight: 17, letterSpacing: 0.14, color: '#666', }, CardTextFFF: { fontSize: 13, lineHeight: 17, letterSpacing: 0.14, color: '#FFF', }, CardTextPrice: { fontSize: 17, lineHeight: 22, letterSpacing: 0.19, color: '#E14C46', }, footer: { flex: 1, flexDirection: 'row', height: 24, justifyContent: 'center', alignItems: 'center', marginBottom: 10, marginTop: 10, }, }) export default DeliverySign