feat(finance): 订单页人工录单按单实际金额计入成本
This commit is contained in:
@@ -22,10 +22,11 @@ import {
|
||||
} from 'antd'
|
||||
import type { TableColumnsType } from 'antd'
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { useState } from 'react'
|
||||
import { useNavigate, useParams } from 'react-router'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useNavigate, useParams, useSearchParams } from 'react-router'
|
||||
|
||||
import JsonPreview from '@/components/admin/JsonPreview'
|
||||
import ManualOrderCostModal from '@/components/admin/ManualOrderCostModal'
|
||||
import PageHeader from '@/components/admin/PageHeader'
|
||||
import StatusTag from '@/components/admin/StatusTag'
|
||||
import { fetchAdminOrderDetail, updateAdminOrderClaimStatus } from '@/services/admin'
|
||||
@@ -38,10 +39,27 @@ export default function AdminOrderDetailPage() {
|
||||
const queryClient = useQueryClient()
|
||||
const { message, modal } = App.useApp()
|
||||
const { orderId = '' } = useParams()
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const [statusModalVisible, setStatusModalVisible] = useState(false)
|
||||
const [manualCostOpen, setManualCostOpen] = useState(false)
|
||||
const [targetStatus, setTargetStatus] = useState<'active' | 'paused' | 'closed'>('active')
|
||||
const [statusReason, setStatusReason] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
if (searchParams.get('manualCost') === '1') {
|
||||
setManualCostOpen(true)
|
||||
}
|
||||
}, [searchParams])
|
||||
|
||||
function closeManualCost() {
|
||||
setManualCostOpen(false)
|
||||
if (searchParams.get('manualCost')) {
|
||||
const next = new URLSearchParams(searchParams)
|
||||
next.delete('manualCost')
|
||||
setSearchParams(next, { replace: true })
|
||||
}
|
||||
}
|
||||
|
||||
const query = useQuery({
|
||||
queryKey: ['admin-order-detail', orderId],
|
||||
queryFn: () => fetchAdminOrderDetail(orderId),
|
||||
@@ -183,11 +201,8 @@ export default function AdminOrderDetailPage() {
|
||||
title="基础信息"
|
||||
extra={
|
||||
<Space>
|
||||
<Button
|
||||
icon={<FileTextOutlined />}
|
||||
onClick={() => navigate(`/admin/manual-expenses?orderId=${detail.order.orderId}`)}
|
||||
>
|
||||
登记人工支出
|
||||
<Button icon={<FileTextOutlined />} onClick={() => setManualCostOpen(true)}>
|
||||
人工录单
|
||||
</Button>
|
||||
{isAutoClaimOrder ? (
|
||||
<>
|
||||
@@ -368,6 +383,19 @@ export default function AdminOrderDetailPage() {
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
|
||||
<ManualOrderCostModal
|
||||
open={manualCostOpen}
|
||||
orderId={detail.order.orderId}
|
||||
orderNo={detail.order.platformOrderId || String(detail.order.orderId)}
|
||||
items={detail.items.map((item) => ({
|
||||
orderItemId: item.orderItemId,
|
||||
itemTitle: item.itemTitle,
|
||||
skuNick: item.skuNick,
|
||||
quantity: item.quantity,
|
||||
}))}
|
||||
onClose={closeManualCost}
|
||||
/>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user