优化
This commit is contained in:
@@ -151,11 +151,14 @@ describe('UnifiedOrdersView contract', () => {
|
||||
it('keeps only confirmed business actions as explicit boundaries', () => {
|
||||
expect(source).toContain('nextActionBoundary')
|
||||
expect(source).not.toContain('class="action-boundary"')
|
||||
expect(source).toContain("can('platform:firstleg:inbound:view')")
|
||||
expect(source).toContain("can('platform:firstleg:inbound:measure:view')")
|
||||
expect(source).toContain('openMeasurement')
|
||||
expect(source).toContain('<InboundMeasurementPanel')
|
||||
expect(source).toContain('width="min(1180px, calc(100vw - 32px))"')
|
||||
expect(source).toContain('<InboundMeasurementDialog')
|
||||
expect(source).toContain('measurementDialogOpen.value = true')
|
||||
expect(source).toContain('@updated="handleMeasurementUpdated"')
|
||||
expect(source).toContain('@submitted="handleMeasurementSubmitted"')
|
||||
expect(source).not.toContain('<InboundMeasurementPanel')
|
||||
expect(source).not.toContain('class="inbound-task-dialog"')
|
||||
expect(source).not.toContain("name: 'inbound-order-detail'")
|
||||
expect(source).not.toContain('openInboundFromDetail')
|
||||
expect(source).not.toContain('inbound-code-link')
|
||||
|
||||
@@ -50,7 +50,7 @@ import {
|
||||
import {
|
||||
downloadWeightImage,
|
||||
getInboundMeasurement,
|
||||
InboundMeasurementPanel,
|
||||
InboundMeasurementDialog,
|
||||
type InboundMeasurementDetail,
|
||||
} from '@/modules/inbounds'
|
||||
import {
|
||||
@@ -644,17 +644,23 @@ async function openDetail(row: UnifiedOrderResource) {
|
||||
}
|
||||
|
||||
function openMeasurement(row: UnifiedOrderResource) {
|
||||
if (!row.inboundId || !can('platform:firstleg:inbound:view')) return
|
||||
if (!row.inboundId || !can('platform:firstleg:inbound:measure:view')) return
|
||||
measurementOrder.value = row
|
||||
measurementDialogOpen.value = true
|
||||
}
|
||||
|
||||
function handleMeasurementChanged() {
|
||||
measurementDialogOpen.value = false
|
||||
measurementOrder.value = null
|
||||
function handleMeasurementUpdated() {
|
||||
void loadOrders()
|
||||
}
|
||||
|
||||
function handleMeasurementSubmitted() {
|
||||
void loadOrders()
|
||||
}
|
||||
|
||||
function clearMeasurementOrder() {
|
||||
measurementOrder.value = null
|
||||
}
|
||||
|
||||
type UnifiedOrderRowAction = 'note' | 'approve' | 'measurement'
|
||||
const unifiedOrderRowActionIcons: Record<UnifiedOrderRowAction, Component> = {
|
||||
note: StickyNote,
|
||||
@@ -665,7 +671,7 @@ function unifiedOrderSecondaryActions(row: UnifiedOrderResource): UnifiedOrderRo
|
||||
return [
|
||||
...(can('platform:order:note') ? ['note' as const] : []),
|
||||
...(canApprove(row) ? ['approve' as const] : []),
|
||||
...(row.mainStatus === 'WAIT_MEASURE' && row.inboundId && can('platform:firstleg:inbound:view') ? ['measurement' as const] : []),
|
||||
...(row.mainStatus === 'WAIT_MEASURE' && row.inboundId && can('platform:firstleg:inbound:measure:view') ? ['measurement' as const] : []),
|
||||
]
|
||||
}
|
||||
function directUnifiedOrderActions(row: UnifiedOrderResource) {
|
||||
@@ -1048,23 +1054,16 @@ onMounted(() => {
|
||||
<el-alert title="确认订单资料无误后审核通过,订单将进入待测量阶段。" type="info" :closable="false" show-icon />
|
||||
</AppDialog>
|
||||
|
||||
<el-dialog
|
||||
<InboundMeasurementDialog
|
||||
v-if="measurementOrder?.inboundId"
|
||||
v-model="measurementDialogOpen"
|
||||
:title="measurementOrder?.inboundCode ? `测量 · ${measurementOrder.inboundCode}` : '测量'"
|
||||
width="min(1180px, calc(100vw - 32px))"
|
||||
top="4vh"
|
||||
destroy-on-close
|
||||
append-to-body
|
||||
class="inbound-task-dialog"
|
||||
@closed="measurementOrder = null"
|
||||
>
|
||||
<InboundMeasurementPanel
|
||||
v-if="measurementOrder?.inboundId"
|
||||
:tenant-id="String(measurementOrder.tenantId)"
|
||||
:inbound-id="String(measurementOrder.inboundId)"
|
||||
@changed="handleMeasurementChanged"
|
||||
/>
|
||||
</el-dialog>
|
||||
:customer-id="String(measurementOrder.tenantId)"
|
||||
:inbound-id="String(measurementOrder.inboundId)"
|
||||
:inbound-code="measurementOrder.inboundCode"
|
||||
@updated="handleMeasurementUpdated"
|
||||
@submitted="handleMeasurementSubmitted"
|
||||
@closed="clearMeasurementOrder"
|
||||
/>
|
||||
|
||||
</section>
|
||||
</AdminPage>
|
||||
|
||||
Reference in New Issue
Block a user