|
|
@@ -2,7 +2,7 @@ import { StackScreenProps } from '@react-navigation/stack';
|
|
|
import * as React from 'react';
|
|
|
import { RefreshControl } from 'react-native';
|
|
|
import { useFocusEffect } from '@react-navigation/native';
|
|
|
-import { Div, Button, Image, Text, Avatar } from 'react-native-magnus';
|
|
|
+import { Div, Button, Image, Text, Avatar, Icon } from 'react-native-magnus';
|
|
|
import { FlatList } from 'react-native-gesture-handler';
|
|
|
import Constants from 'expo-constants';
|
|
|
import TimScreen from '../notice/TimScreen';
|
|
|
@@ -10,6 +10,7 @@ import TimScreen from '../notice/TimScreen';
|
|
|
import useModel from 'flooks';
|
|
|
import Map from '../map/model';
|
|
|
import OrderModel from './model';
|
|
|
+import User from '../stores/User';
|
|
|
import { useMount, useRequest, useCreation } from 'ahooks';
|
|
|
import { useTranslation } from 'react-i18next';
|
|
|
|
|
|
@@ -31,14 +32,18 @@ export default function OrderScreen({ navigation }: StackScreenProps) {
|
|
|
[]
|
|
|
);
|
|
|
|
|
|
+ const { getSignInfo, sign, riderOrder } = useModel(User, [
|
|
|
+ 'getSignInfo',
|
|
|
+ 'sign',
|
|
|
+ ]);
|
|
|
+
|
|
|
const [chooseStatus, setChooseStatus] = React.useState<string>(
|
|
|
'NOT_RECEIVED'
|
|
|
);
|
|
|
useMount(() => {
|
|
|
getNowLocation();
|
|
|
+ getSignInfo();
|
|
|
});
|
|
|
- const { addressName } = locationInfo;
|
|
|
-
|
|
|
const chooseStatusInfo = useCreation(() => {
|
|
|
return orderRiderStatus.get(chooseStatus);
|
|
|
}, [chooseStatus]);
|
|
|
@@ -85,7 +90,33 @@ export default function OrderScreen({ navigation }: StackScreenProps) {
|
|
|
px={14}
|
|
|
px={15}
|
|
|
>
|
|
|
- <Image w={50} h={50} source={require('../assets/images/logo.png')} />
|
|
|
+ {/* <Image w={50} h={50} source={require('../assets/images/logo.png')} /> */}
|
|
|
+ <Button
|
|
|
+ bg="transparent"
|
|
|
+ onPress={() => {
|
|
|
+ if (sign) {
|
|
|
+ alert(navigation, {
|
|
|
+ msg: '确定要休息吗?',
|
|
|
+ submitEvent: riderOrder,
|
|
|
+ hasCancel: true,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ riderOrder();
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Div alignItems="center">
|
|
|
+ <Icon
|
|
|
+ fontSize="6xl"
|
|
|
+ color="white"
|
|
|
+ fontFamily="MaterialCommunityIcons"
|
|
|
+ name={sign ? 'coffee' : 'motorbike'}
|
|
|
+ />
|
|
|
+ <Text fontSize="sm" color="white" fontWeight="bold">
|
|
|
+ {sign ? '休息' : '开工'}
|
|
|
+ </Text>
|
|
|
+ </Div>
|
|
|
+ </Button>
|
|
|
<Text fontSize="xl" color="white" mr={50} textAlign="center" flex={1}>
|
|
|
骑手客户端
|
|
|
</Text>
|
|
|
@@ -116,6 +147,7 @@ export default function OrderScreen({ navigation }: StackScreenProps) {
|
|
|
renderItem={({ item }) => {
|
|
|
return (
|
|
|
<OrderCom
|
|
|
+ sign={sign}
|
|
|
info={item}
|
|
|
type={chooseStatusInfo.type}
|
|
|
goDetail={() =>
|
|
|
@@ -197,6 +229,7 @@ export default function OrderScreen({ navigation }: StackScreenProps) {
|
|
|
return <></>;
|
|
|
}
|
|
|
}}
|
|
|
+ extraData={sign}
|
|
|
/>
|
|
|
|
|
|
<Div position="absolute" w={0} h={0} bottom={0} left={0} zIndex={0}>
|