Merge branch 'release/test' of http://8.163.30.128:10082/html/client-web into dev

This commit is contained in:
2026-08-25 17:55:41 +08:00
2 changed files with 21 additions and 4 deletions
@@ -28,6 +28,7 @@ import { useFirstLegOrdersStore } from '@/modules/first-leg/store/firstLegOrders
import { useTenantAdministrationStore } from '@/modules/tenant-management/public'
import { useAuthStore } from '@/modules/auth/public'
import { useUnsavedWorkRegistration } from '@/navigation/workspace-tabs/unsavedWork'
import { useWorkspaceTabsStore } from '@/navigation/workspace-tabs/workspaceTabs'
import type { FirstLegPartyRole, FirstLegPartySnapshot } from '@/modules/first-leg/data/firstLegParties'
import type { FirstLegCargoItem, FirstLegOrder, FirstLegOrderDraft } from '@/modules/first-leg/types/firstLegOrder'
import type { MerchantInboundBilling } from '@/modules/first-leg/types/inboundBilling'
@@ -45,6 +46,7 @@ import { createPriceEstimateBreakdown } from '@/modules/first-leg/utils/priceEst
const store = useFirstLegOrdersStore()
const tenantStore = useTenantAdministrationStore()
const workspace = useWorkspaceTabsStore()
const auth = useAuthStore()
const route = useRoute()
const router = useRouter()
@@ -517,7 +519,7 @@ async function loadPageData() {
: Promise.resolve()
const orderPageRequest = isCreatePage.value
? store.loadWarehouseType('DOMESTIC', true)
: store.load()
: store.load({ includeDrafts: true })
const [ordersResult, companyResult, destinationResult, policyResult] = await Promise.allSettled([
orderPageRequest,
companyRequest,
@@ -581,6 +583,10 @@ onMounted(() => {
void loadPageData()
})
watch(() => auth.isAuthenticated, (authenticated, wasAuthenticated) => {
if (authenticated && !wasAuthenticated && !isCreatePage.value) void loadPageData()
})
watch(isCreatePage, (isCreate, wasCreate) => {
if (!isCreate || wasCreate) return
if (routeDraftId.value) return
@@ -1500,7 +1506,12 @@ async function submitOrder() {
const order = await store.submitSaved(savedOrder.id, knownCompanyAuditStatus)
markEditorClean()
editorOpen.value = false
if (isCreatePage.value) await router.push({ name: 'first-leg-orders' })
if (isCreatePage.value) {
workspace.close(['first-leg-order-create', 'first-leg-order-edit'])
await router.push({ name: 'first-leg-orders' })
ElMessage.success('订单已提交,等待平台审核')
return
}
detailId.value = order.id
detailOpen.value = true
ElMessage.success('订单已提交,等待平台审核')
@@ -11,6 +11,7 @@ import {
type MerchantPricingChannel,
} from '@/modules/first-leg/api/firstLeg'
import { useFirstLegOrdersStore } from '@/modules/first-leg/store/firstLegOrders'
import { useWorkspaceTabsStore } from '@/navigation/workspace-tabs/workspaceTabs'
import type { FirstLegOrderDraft } from '@/modules/first-leg/types/firstLegOrder'
import { createEmptyCargoItem } from '@/modules/first-leg/utils/firstLegOrder'
@@ -55,6 +56,7 @@ interface QuickDraftResult {
const router = useRouter()
const auth = useAuthStore()
const store = useFirstLegOrdersStore()
const workspace = useWorkspaceTabsStore()
const loading = ref(false)
const submitting = ref(false)
const loadError = ref('')
@@ -385,11 +387,15 @@ async function submitQuickOrder() {
if (successfulIds.has(rows[index].id)) rows.splice(index, 1)
}
if (rows.length === 0) rows.push(createRow())
resultDialogOpen.value = successes.length > 0
resultDialogOpen.value = successes.length > 0 && failures.length > 0
if (failures.length) ElMessage.error(`${failures.length} 张草稿生成失败:${failures[0].errorMessage || '草稿单生成失败'}`)
else {
activeBatchKey.value = ''
ElMessage.success(`已生成 ${successes.length} 张草稿单`)
await Promise.all(successes.map((item) => store.loadDraftDetail(item.draftId)))
workspace.close(['first-leg-quick-order'])
await router.push({ name: 'first-leg-orders' })
const orderNumbers = successes.map((item) => item.orderNo || item.draftId).join('、')
ElMessage.success(`已生成 ${successes.length} 张草稿单:${orderNumbers}`)
}
} catch (error) {
ElMessage.error(error instanceof Error ? error.message : '批量草稿生成失败')