/* eslint-disable react/jsx-props-no-spreading */
/* eslint-disable no-shadow */
import React from "react";
import { StyleSheet } from "react-native";
import {
Card,
Text,
Button,
Layout,
MenuGroup,
MenuItem,
} from "@ui-kitten/components";
import { Linking } from "expo";
import { useModel } from "flooks";
const styles = StyleSheet.create({
orderItem1: {
justifyContent: "space-between",
flexDirection: "row",
marginBottom: 10,
},
orderItem2: {
alignItems: "flex-start",
flexDirection: "row",
marginBottom: 15,
},
leftText: {
flexShrink: 0,
marginRight: 8,
minWidth: 60,
},
menuGroup: {
padding: 0,
margin: 0,
},
lay: {
flex: 1,
},
menuTitle: {
flexDirection: "row",
flex: 1,
},
footerContainer: {
flexDirection: "row",
justifyContent: "flex-end",
},
footerControl: {
width: 112,
marginLeft: 5,
},
sub: {
flex: 1,
flexShrink: 0,
},
menuItem: {
flex: 1,
// paddingHorizontal: 0,
// paddingVertical: 0,
// paddingLeft: 0,
// marginTop: 5,
// marginHorizontal: 5,
},
right: {
textAlign: "right",
},
center: {
textAlign: "center",
},
});
const MenuTitle = (title, sub, num, index) => (
{title}
{num && (
{num}
)}
{sub}
);
const lsitMenu = list => {
return (
{[...list].map((item, index) => {
const { goods } = item;
return MenuTitle(goods.name, item.goodsRealPrice, item.num, index + 1);
})}
);
};
function getGoodsInfo(orderGoodsSpecs) {
const info = {
list: orderGoodsSpecs,
name: "",
num: 0,
};
if (orderGoodsSpecs.length > 0) {
info.num = orderGoodsSpecs.reduce((pre, cur) => {
return pre + cur.num;
}, 0);
info.name = orderGoodsSpecs[0].goods.name;
}
return info;
}
export default function OrderCard(props) {
const {
orderInfo2,
orderInfo3,
orderInfo4,
orderInfo5,
orderInfo6,
getWordsStr,
orderButton1,
orderButton2,
overTips,
} = useModel("wordsModel");
const { showDialog } = useModel("dialogModel");
const { receivedOrder } = useModel("orderInfoModel");
const { info, updateInfo, style } = props;
const {
id,
payMethod,
orderTime,
userAddress,
merchantStatus,
user,
riderStatus,
remark,
orderGoodsSpecs,
realAmount,
riderName,
timeOfArrival,
userReceivedTime,
} = info || {};
const Footer = props => {
if (riderStatus && riderStatus !== "NOT_RECEIVED") {
return (
骑手:
{riderName}
预计送达时间:
{timeOfArrival}
{riderStatus === "CARRY_OUT" && (
实际送达时间:
{userReceivedTime}
)}
);
}
if (merchantStatus === "NOT_RECEIVED") {
return (
);
}
return null;
};
const orderGoodsSpecsShowInfo = getGoodsInfo(orderGoodsSpecs || []);
return (
{riderStatus ? (
骑手
{getWordsStr(riderStatus)}
) : (
商家
{getWordsStr(merchantStatus)}
)}
{id}
{orderInfo2}:{orderTime}
{user.nickname}
{getWordsStr(payMethod)}
{user.phone}
{orderInfo4}
{userAddress}
{orderInfo5}
MenuTitle(orderGoodsSpecsShowInfo.name, realAmount)}
style={styles.menuGroup}
>
{orderInfo6}:
{remark || "无"}
);
}