Authored by 盖剑秋

Anti fraud tips and fix few bugs. reviewed by redding.

'use strict';
import React, {Component} from 'react';
import Immutable, {Map} from 'immutable';
import ReactNative, {
View,
Text,
Image,
ListView,
StyleSheet,
Dimensions,
TouchableOpacity,
InteractionManager,
Platform
} from 'react-native';
export default class AntiFraudTip extends Component {
constructor(props) {
super(props);
}
render() {
return (
<TouchableOpacity activeOpacity={1} style={styles.container} onPress={
() => {
this.props.onPressAntiFraudTip && this.props.onPressAntiFraudTip();
}
}>
<View style={styles.leftPart}>
<View style={styles.topPart}>
<Image style={{
width: 14,
height: 14
}} source={require('../../image/tan_ic.png')}/>
<Text style={styles.codeText}>关于防诈骗的重要提醒
</Text>
</View>
<Text style={styles.otherText}>有货不会以任何理由要求您退货退款,请提高警惕。
</Text>
</View>
<Image style={{
width: 15,
height: 15
}} source={require('../../image/shared_next_icon.png')}/>
</TouchableOpacity>
);
}
}
let {width, height} = Dimensions.get('window');
let styles = StyleSheet.create({
container: {
width: width,
height: 63,
flexDirection: 'row',
backgroundColor: 'white',
borderColor: '#f0f0f0',
alignItems: 'center',
borderBottomWidth: 10
},
codeText: {
fontSize: 14,
marginBottom: 0,
marginLeft: 4,
color: '#444444'
},
topPart: {
flexDirection: 'row',
marginLeft: 15,
alignItems: 'center',
marginTop: 8,
},
leftPart: {
width: width - 30,
flexDirection: 'column',
paddingBottom: 10
},
otherText: {
fontSize: 12,
marginLeft: 15,
marginTop: 8,
color: '#b0b0b0',
}
});
... ...
... ... @@ -16,6 +16,7 @@ import YohoGiveCoinCell from './YohoGiveCoinCell'
import YohoReturnCoinCell from './YohoReturnCoinCell'
import Prompt from '../../../coupon/components/coupon/Prompt';
import DistributionInfoCell from './DistributionInfoCell'
import AntiFraudTip from './AntiFraudTip'
import ReactNative, {
View,
... ... @@ -41,6 +42,9 @@ export default class Detail extends Component {
}
renderRow(rowData, sectionID, rowID, highlightRow) {
switch (sectionID) {
case 'tip':
return(<AntiFraudTip onPressAntiFraudTip={this.props.onPressAntiFraudTip}/>)
break;
case 'address':
return (<AddressCell channel={this.props.channel} data={rowData}/>);
break;
... ... @@ -185,6 +189,9 @@ export default class Detail extends Component {
}
let dataSource = {
'tip': data
? [1]
: [],
'address': data
? [addressBlob]
: [],
... ...
... ... @@ -66,8 +66,10 @@ export default class Detail extends Component {
render() {
let {pay_lefttime, counter_flag, is_cancel} = this.props.data.toJS();
let marginTop = this.showTimer? -30 : 0;
return (
<View style={{backgroundColor: 'transparent'}}>
<View style={{backgroundColor: 'transparent', marginTop}}>
{this.showTimer && this.state.timeLeft
? <View style={styles.timerContainer}>
<Image style={styles.clockImage} source={require('../../image/countDown.png')}/>
... ...
... ... @@ -54,8 +54,9 @@ class DetailContainer extends Component {
this.pushMultiPackageWithPackages = this.pushMultiPackageWithPackages.bind(this);
this.onPressReturnOrderCode = this.onPressReturnOrderCode.bind(this);
this.showDelayDeliveryNotice = this.showDelayDeliveryNotice.bind(this);
this.onPressAntiFraudTip = this.onPressAntiFraudTip.bind(this);
this.subscription = NativeAppEventEmitter.addListener(
'YHNotificationChangeOnLinePayToCodPay',
'YHChangeOnLinePayToCodPayEvent',
(reminder) => {
this.props.actions.getDetail();
}
... ... @@ -102,6 +103,10 @@ class DetailContainer extends Component {
ReactNative.NativeModules.YH_OrderHelper.onPressReturnOrderCode();
}
onPressAntiFraudTip() {
}
showDelayDeliveryNotice(noticeString){
NativeModules.YH_OrderHelper.deliveryDelayNotice(noticeString);
}
... ... @@ -120,6 +125,7 @@ class DetailContainer extends Component {
pushMultiPackageWithPackages={this.pushMultiPackageWithPackages}
onPressReturnOrderCode={this.onPressReturnOrderCode}
_onPressDelayNotice={this.showDelayDeliveryNotice}
onPressAntiFraudTip={this.onPressAntiFraudTip}
/>
);
}
... ...