import React, { Component } from "react"; import { Input, Typography, Button, Divider, message } from "antd"; import { withRouter, RouteComponentProps } from "react-router-dom"; import { observer, inject } from "mobx-react"; import { CustBreadcrumb } from "@/components/CustComponents"; import MainLayout from "@/layout"; import EditOrderList from "@/components/EditOrderList"; import Address from "./address"; import Api from "@/api"; import { HTTP_STATUS } from "@/shared/common/constants"; import { PurchaseList, PurchaseMethod } from "@/api/service/PurchaseService"; import { UserContactViewDto } from "@/api/service/ContactService"; import { ICart } from "@/models/cart"; import "./index.scss"; type P = RouteComponentProps & { cartStore?: ICart; }; type S = { order: PurchaseList; defaultAddress: UserContactViewDto; purchaseMethod: PurchaseMethod; //下单方式 comment: string; }; const { TextArea } = Input; const routes = [ { path: "/account/cart", name: "采购单" }, { name: "订单结算" } ]; @inject("cartStore") @observer class Settlement extends Component { state = { order: null, defaultAddress: null, purchaseMethod: PurchaseMethod.DIRECT, comment: "" }; UNSAFE_componentWillMount() { const { state } = this.props.location; console.log({ state }); if (!state || !state.products) { return false; } this.getProductInfo(state.products); this.setState({ purchaseMethod: state.purchaseMethod || PurchaseMethod.DIRECT }); } getProductInfo = async products => { const res = await Api.purchase.purchaseList(products); console.log(res); if (HTTP_STATUS.SUCCESSS === res.code) { this.setState({ order: res.data }); } else { message.error(res.message); } }; addressChange = item => { console.log(item, "addressChange"); this.setState({ defaultAddress: item }); }; textAreaChange = e => { const { value } = e.target; this.setState({ comment: value }); }; submitOrder = async () => { const { defaultAddress, purchaseMethod, order, comment } = this.state; const { state } = this.props.location; if (!defaultAddress) { message.warn("请先添加收货地址"); return false; } const params = { purchaseMethod, // 收货地址 contactId: defaultAddress.usrContactId, // 备注 comment, purchaseProductGroups: state.products }; console.log({ params }, "--submitOrder--"); const res = await Api.purchase.submit(params); console.log({ res }); if (HTTP_STATUS.SUCCESSS === res.code) { message.success("订单提交成功"); this.props.history.push({ pathname: "/order/paymentConfirm", state: { contextId: res.data } }); } else { message.error(res.message); } }; render() { const { order } = this.state; const productList = order && order.purchaseList ? order.purchaseList : []; const balance = order && order.balance ? order.balance : 0; const productTypeCount = order && order.productTypeCount ? order.productTypeCount : 0; const totalAmount = order && order.totalAmount ? order.totalAmount : 0; const totalDiscountedAmount = order && order.totalDiscountedAmount ? order.totalDiscountedAmount : 0; const totalQuantity = order && order.totalQuantity ? order.totalQuantity : 0; return (

选择收货地址

确认订单信息

备注: