fix(admin): allow manual container nodes without tracking

This commit is contained in:
2026-09-10 12:17:54 +08:00
parent e3b2552d8d
commit 20e4da5bb5
7 changed files with 75 additions and 85 deletions
@@ -39,7 +39,7 @@ describe('CarrierScheduleQueryPanel', () => {
expect(source).not.toMatch(new RegExp(`\\b${['ARR', 'IVED'].join('')}:`))
expect(source).toContain("latestActualNode === 'EMPTY_RETURNED'")
expect(source).toContain("'已停止 · 已还柜'")
expect(source).toContain('确认离仓后自动开始船节点跟踪')
expect(source).toContain('当前未开启跟踪任务')
expect(source).not.toContain('/' + 'scheduler')
expect(source).not.toContain('/' + 'attempts')
})
@@ -47,7 +47,7 @@ describe('CarrierScheduleQueryPanel', () => {
it('uses a compact no-task state without the large empty illustration', () => {
expect(source).toContain('class="tracking-prompt"')
expect(source).not.toContain('<el-empty v-else-if="!query"')
expect(source).toContain('确认离仓后自动开始船节点跟踪')
expect(source).toContain('当前未开启跟踪任务')
})
it('keeps estimated facts labelled and separate from actual progress', () => {
@@ -57,9 +57,8 @@ describe('CarrierScheduleQueryPanel', () => {
expect(source).toContain('item.actualAt')
})
it('blocks repeated actual progress and folds older immutable facts out of the primary trajectory', () => {
expect(source).toContain('isManualActualNodeAllowed')
expect(source).toContain(':disabled="Boolean(manualForm.actualAt) && !isManualActualNodeAllowed(node)"')
it('keeps historical immutable facts while allowing current-node correction', () => {
expect(source).not.toContain('isManualActualNodeAllowed')
expect(source).toContain('primaryNodeFacts')
expect(source).toContain('supersededActualNodes')
expect(source).toContain('历史重复实际节点')
@@ -67,7 +66,7 @@ describe('CarrierScheduleQueryPanel', () => {
it('uses the frozen manual-node permission and keeps exceptions separate', () => {
expect(source).toContain("access.can('platform:firstleg:port-schedule-query:manual')")
expect(source).toContain('appendCarrierScheduleManualNode')
expect(source).toContain('appendContainerShippingNode')
expect(source).toContain('manualIdempotencyKey')
expect(source).toContain("type: '异常'")
expect(source).toContain('船运跟踪')