import hocAuth from "@/hocs/auth"; import { CommonComponent } from "@/types/typings"; import Taro, { useDidShow } from "@tarojs/taro"; import { business } from "@/services"; import { useEffect, useState } from "react"; import { View } from "@tarojs/components"; import { SafeArea } from "@nutui/nutui-react-taro"; import { PurchaseOrderFinalApprove, PurchaseOrderRejectFinal, } from "@/components"; import buildUrl from "@/utils/buildUrl"; import { formatCurrency, formatUnitPrice } from "@/utils/format"; import { PurchaseOrderCalculator } from "@/utils/PurchaseOrderCalculator"; export default hocAuth(function Page(props: CommonComponent) { const { router, isInitialized, setIsInitialized } = props; const orderId = router.params .orderId as BusinessAPI.PurchaseOrderVO["orderId"]; const [purchaseOrderVO, setPurchaseOrderVO] = useState(); const init = async (orderId: BusinessAPI.PurchaseOrderVO["orderId"]) => { const { data } = await business.purchaseOrder.showPurchaseOrder({ purchaseOrderShowQry: { orderId, }, }); if (data.success) { setPurchaseOrderVO(data.data); } }; useEffect(() => { if (orderId && !isInitialized) { init(orderId).then(() => { setIsInitialized(true); }); } }, []); useDidShow(() => { if (orderId && isInitialized) { init(orderId).then(); } }); if (!purchaseOrderVO) { return; } const calculator = new PurchaseOrderCalculator(purchaseOrderVO); return ( <> 收购单价 {formatUnitPrice(calculator.getAveragePurchasePrice())} 元/斤 市场报价 {formatUnitPrice(calculator.getAverageSalesPrice())} 元 元/斤 成本明细 西瓜采购成本 ¥{formatCurrency(calculator.getSupplierPurchaseCost())} 元 {purchaseOrderVO.orderDealer?.freightCostFlag && ( 运输费 ¥{purchaseOrderVO.orderVehicle.price} 元 )} {purchaseOrderVO.orderCostList.map((item) => { return ( item.price * item.count > 0 && ( {item.name} ¥{item.price * item.count} 元 {item.name === "人工费" && ( 工头: {purchaseOrderVO.foreman} )} ) ); })} {purchaseOrderVO.orderDealer?.taxSubsidy && ( 公司返点 ¥{purchaseOrderVO.orderDealer?.taxSubsidy} 元 )} {purchaseOrderVO.orderDealer?.taxProvision && ( 计提税金 ¥{purchaseOrderVO.orderDealer?.taxProvision} 元 )} {purchaseOrderVO.orderDealer?.costDifference && ( 调诚信志远分成 ¥{purchaseOrderVO.orderDealer?.costDifference} 元 )} 成本合计 ¥{calculator.getMelonCost1()} 元 成本单价 ¥{calculator.getSingleCost()} 元/斤 分成利润 ¥{calculator.getShareProfit()} 元 {/* 按钮操作 */} {purchaseOrderVO.state === "WAITING_APPROVE" && ( <> { // 返回首页 Taro.redirectTo({ url: "/pages/purchase/approver/audit/list", }); }} /> { // 关闭当前页面并跳转到采购单审核通过页面 Taro.redirectTo({ url: buildUrl(`/pages/purchase/approver/audit/result`, { orderId: purchaseOrderVO?.orderId, }), }); }} /> )} ); });