/* 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 || "无"} ); }