Merge branch 'release/test' of http://8.163.30.128:10082/html/client-web into dev
This commit is contained in:
@@ -28,6 +28,7 @@ import { useFirstLegOrdersStore } from '@/modules/first-leg/store/firstLegOrders
|
|||||||
import { useTenantAdministrationStore } from '@/modules/tenant-management/public'
|
import { useTenantAdministrationStore } from '@/modules/tenant-management/public'
|
||||||
import { useAuthStore } from '@/modules/auth/public'
|
import { useAuthStore } from '@/modules/auth/public'
|
||||||
import { useUnsavedWorkRegistration } from '@/navigation/workspace-tabs/unsavedWork'
|
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 { FirstLegPartyRole, FirstLegPartySnapshot } from '@/modules/first-leg/data/firstLegParties'
|
||||||
import type { FirstLegCargoItem, FirstLegOrder, FirstLegOrderDraft } from '@/modules/first-leg/types/firstLegOrder'
|
import type { FirstLegCargoItem, FirstLegOrder, FirstLegOrderDraft } from '@/modules/first-leg/types/firstLegOrder'
|
||||||
import type { MerchantInboundBilling } from '@/modules/first-leg/types/inboundBilling'
|
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 store = useFirstLegOrdersStore()
|
||||||
const tenantStore = useTenantAdministrationStore()
|
const tenantStore = useTenantAdministrationStore()
|
||||||
|
const workspace = useWorkspaceTabsStore()
|
||||||
const auth = useAuthStore()
|
const auth = useAuthStore()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -517,7 +519,7 @@ async function loadPageData() {
|
|||||||
: Promise.resolve()
|
: Promise.resolve()
|
||||||
const orderPageRequest = isCreatePage.value
|
const orderPageRequest = isCreatePage.value
|
||||||
? store.loadWarehouseType('DOMESTIC', true)
|
? store.loadWarehouseType('DOMESTIC', true)
|
||||||
: store.load()
|
: store.load({ includeDrafts: true })
|
||||||
const [ordersResult, companyResult, destinationResult, policyResult] = await Promise.allSettled([
|
const [ordersResult, companyResult, destinationResult, policyResult] = await Promise.allSettled([
|
||||||
orderPageRequest,
|
orderPageRequest,
|
||||||
companyRequest,
|
companyRequest,
|
||||||
@@ -581,6 +583,10 @@ onMounted(() => {
|
|||||||
void loadPageData()
|
void loadPageData()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(() => auth.isAuthenticated, (authenticated, wasAuthenticated) => {
|
||||||
|
if (authenticated && !wasAuthenticated && !isCreatePage.value) void loadPageData()
|
||||||
|
})
|
||||||
|
|
||||||
watch(isCreatePage, (isCreate, wasCreate) => {
|
watch(isCreatePage, (isCreate, wasCreate) => {
|
||||||
if (!isCreate || wasCreate) return
|
if (!isCreate || wasCreate) return
|
||||||
if (routeDraftId.value) return
|
if (routeDraftId.value) return
|
||||||
@@ -1500,7 +1506,12 @@ async function submitOrder() {
|
|||||||
const order = await store.submitSaved(savedOrder.id, knownCompanyAuditStatus)
|
const order = await store.submitSaved(savedOrder.id, knownCompanyAuditStatus)
|
||||||
markEditorClean()
|
markEditorClean()
|
||||||
editorOpen.value = false
|
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
|
detailId.value = order.id
|
||||||
detailOpen.value = true
|
detailOpen.value = true
|
||||||
ElMessage.success('订单已提交,等待平台审核')
|
ElMessage.success('订单已提交,等待平台审核')
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
type MerchantPricingChannel,
|
type MerchantPricingChannel,
|
||||||
} from '@/modules/first-leg/api/firstLeg'
|
} from '@/modules/first-leg/api/firstLeg'
|
||||||
import { useFirstLegOrdersStore } from '@/modules/first-leg/store/firstLegOrders'
|
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 type { FirstLegOrderDraft } from '@/modules/first-leg/types/firstLegOrder'
|
||||||
import { createEmptyCargoItem } from '@/modules/first-leg/utils/firstLegOrder'
|
import { createEmptyCargoItem } from '@/modules/first-leg/utils/firstLegOrder'
|
||||||
|
|
||||||
@@ -55,6 +56,7 @@ interface QuickDraftResult {
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const auth = useAuthStore()
|
const auth = useAuthStore()
|
||||||
const store = useFirstLegOrdersStore()
|
const store = useFirstLegOrdersStore()
|
||||||
|
const workspace = useWorkspaceTabsStore()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const submitting = ref(false)
|
const submitting = ref(false)
|
||||||
const loadError = ref('')
|
const loadError = ref('')
|
||||||
@@ -385,11 +387,15 @@ async function submitQuickOrder() {
|
|||||||
if (successfulIds.has(rows[index].id)) rows.splice(index, 1)
|
if (successfulIds.has(rows[index].id)) rows.splice(index, 1)
|
||||||
}
|
}
|
||||||
if (rows.length === 0) rows.push(createRow())
|
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 || '草稿单生成失败'}`)
|
if (failures.length) ElMessage.error(`${failures.length} 张草稿生成失败:${failures[0].errorMessage || '草稿单生成失败'}`)
|
||||||
else {
|
else {
|
||||||
activeBatchKey.value = ''
|
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) {
|
} catch (error) {
|
||||||
ElMessage.error(error instanceof Error ? error.message : '批量草稿生成失败')
|
ElMessage.error(error instanceof Error ? error.message : '批量草稿生成失败')
|
||||||
|
|||||||
Reference in New Issue
Block a user