Merged PR 2074: fix(remission): Implementation of Abort Remission Logic

fix(remission): Implementation of Abort Remission Logic

Ref: #5489
This commit is contained in:
Nino Righi
2025-12-10 09:48:49 +00:00
committed by Lorenz Hilpert
parent 7200eaefbf
commit ccc5285602
2 changed files with 29 additions and 0 deletions

View File

@@ -63,6 +63,18 @@
} }
</div> </div>
} }
<button
type="button"
uiButton
color="tertiary"
size="large"
(click)="abortRemission()"
class="fixed right-[15rem] bottom-6"
>
Warenbegleitschein abbrechen
</button>
@if (!returnLoading() && !returnData()?.completed) { @if (!returnLoading() && !returnData()?.completed) {
<lib-remission-return-receipt-complete <lib-remission-return-receipt-complete
[returnId]="returnId()" [returnId]="returnId()"

View File

@@ -17,6 +17,7 @@ import {
getPackageNumbersFromReturn, getPackageNumbersFromReturn,
getReceiptItemsFromReturn, getReceiptItemsFromReturn,
getReceiptNumberFromReturn, getReceiptNumberFromReturn,
RemissionStore,
} from '@isa/remission/data-access'; } from '@isa/remission/data-access';
import { EmptyStateComponent } from '@isa/ui/empty-state'; import { EmptyStateComponent } from '@isa/ui/empty-state';
import { EMPTY_WBS_DESCRIPTION, EMPTY_WBS_TITLE } from './constants'; import { EMPTY_WBS_DESCRIPTION, EMPTY_WBS_TITLE } from './constants';
@@ -24,6 +25,8 @@ import {
RemissionReturnReceiptActionsComponent, RemissionReturnReceiptActionsComponent,
RemissionReturnReceiptCompleteComponent, RemissionReturnReceiptCompleteComponent,
} from '@isa/remission/shared/return-receipt-actions'; } from '@isa/remission/shared/return-receipt-actions';
import { Router } from '@angular/router';
import { injectTabId } from '@isa/core/tabs';
@Component({ @Component({
selector: 'remi-remission-return-receipt-details', selector: 'remi-remission-return-receipt-details',
@@ -53,6 +56,15 @@ export class RemissionReturnReceiptDetailsComponent {
/** Angular Location service for navigation */ /** Angular Location service for navigation */
location = inject(Location); location = inject(Location);
/** Remission store for managing remission state */
#store = inject(RemissionStore);
/** Angular Router for navigation */
#router = inject(Router);
/** Injects the current activated tab ID as a signal. */
#tabId = injectTabId();
/** /**
* Required input for the return ID. * Required input for the return ID.
* Automatically coerced to a number from string input. * Automatically coerced to a number from string input.
@@ -111,4 +123,9 @@ export class RemissionReturnReceiptDetailsComponent {
const returnData = this.returnData(); const returnData = this.returnData();
return getPackageNumbersFromReturn(returnData!) !== ''; return getPackageNumbersFromReturn(returnData!) !== '';
}); });
async abortRemission() {
this.#store.clearState();
await this.#router.navigate(['/', this.#tabId(), 'remission']);
}
} }