Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e4cc08224 | |||
| e5f53c2265 |
@@ -1,6 +1,8 @@
|
||||
import { TspProviderResponseStatus } from '@/shared/catalog';
|
||||
import { IPosSaleInvoicesSummaryResponse } from './io';
|
||||
|
||||
export interface IPosSaleInvoiceFiscalActionResponse {
|
||||
invoice: IPosSaleInvoicesSummaryResponse;
|
||||
message?: string;
|
||||
status: TspProviderResponseStatus;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
[sendToTspLoading]="sendToTspLoading()"
|
||||
[inquiryLoading]="inquiryLoading()"
|
||||
[resendToTspLoading]="resendToTspLoading()"
|
||||
[correctionLoading]="correctionLoading()"
|
||||
[returnFromSaleLoading]="backFromSaleLoading()"
|
||||
(onSendToTsp)="sendToTsp()"
|
||||
(onResendToTsp)="resendToTsp()"
|
||||
(onInquiry)="inquiry()"
|
||||
|
||||
@@ -94,7 +94,12 @@ export class PosSaleInvoiceComponent {
|
||||
this.correctionLoading.set(false);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
.subscribe((res) => {
|
||||
this.toastService.success({
|
||||
text: `اصلاحیهی صورتحساب با شمارهی ${res.invoice?.invoice_number} با موفقیت ایجاد شد.`,
|
||||
});
|
||||
this.store.updateStatus(res.status);
|
||||
});
|
||||
}
|
||||
returnFromSale(data: IPosReturnFromSaleRequest) {
|
||||
this.backFromSaleLoading.set(true);
|
||||
@@ -105,7 +110,12 @@ export class PosSaleInvoiceComponent {
|
||||
this.backFromSaleLoading.set(false);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
.subscribe((res) => {
|
||||
this.toastService.success({
|
||||
text: `برگشت از فروش با شمارهی ${res.invoice?.invoice_number} با موفقیت ایجاد شد.`,
|
||||
});
|
||||
this.store.updateStatus(res.status);
|
||||
});
|
||||
}
|
||||
revoke() {
|
||||
this.revokeLoading.set(true);
|
||||
@@ -116,7 +126,12 @@ export class PosSaleInvoiceComponent {
|
||||
this.revokeLoading.set(false);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
.subscribe((res) => {
|
||||
this.toastService.success({
|
||||
text: `صورتحساب شمارهی ${res.invoice?.invoice_number} با موفقیت ابطال شد.`,
|
||||
});
|
||||
this.store.updateStatus(res.status);
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
<pos-order-price-info-card [info]="totalPriceInfo" />
|
||||
|
||||
<app-form-footer-actions [loading]="submitLoading()" (onCancel)="close()" />
|
||||
<app-form-footer-actions [loading]="loading || submitLoading()" (onCancel)="close()" />
|
||||
</form>
|
||||
|
||||
<shared-light-bottomsheet
|
||||
|
||||
@@ -42,6 +42,7 @@ export class SharedCorrectionFormComponent extends AbstractForm<
|
||||
@Input() beforeSubmit?: (payload: CorrectionInvoiceFormValue) => Promise<boolean> | boolean;
|
||||
@Input({ required: true }) invoiceDate!: string;
|
||||
@Input() visible = false;
|
||||
@Input() loading = false;
|
||||
|
||||
form = this.fb.group({
|
||||
invoice_date: [this.invoiceDate],
|
||||
|
||||
@@ -22,5 +22,5 @@
|
||||
|
||||
<pos-order-price-info-card [info]="totalPriceInfo" />
|
||||
|
||||
<app-form-footer-actions (onCancel)="close()" />
|
||||
<app-form-footer-actions [loading]="loading || submitLoading()" (onCancel)="close()" />
|
||||
</form>
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
[initialValues]="invoice.items"
|
||||
[invoiceDate]="invoice.invoice_date"
|
||||
[beforeSubmit]="beforeCorrectionSubmitHandler.bind(this)"
|
||||
[loading]="correctionLoading || false"
|
||||
(onSubmit)="correctionSubmit($event)"
|
||||
(onClose)="cancelCorrection()" />
|
||||
</shared-light-bottomsheet>
|
||||
|
||||
@@ -110,8 +110,10 @@ export class SharedSaleInvoiceSingleViewComponent {
|
||||
showQrCodeDialog = signal(false);
|
||||
showCorrectionPaymentDialog = signal(false);
|
||||
correctionRequiredPayment = signal(0);
|
||||
paymentData = signal<Maybe<IPayment>>(null);
|
||||
readonly isApplication = config.isPosApplication;
|
||||
private pendingCorrectionSubmitResolver: Maybe<(allowed: boolean) => void> = null;
|
||||
private pendingCorrectionSubmitResolver: Maybe<(allowed: boolean, payment?: IPayment) => void> =
|
||||
null;
|
||||
|
||||
publicInvoiceRoute = computed(() => {
|
||||
if (this.invoice) {
|
||||
@@ -282,6 +284,7 @@ export class SharedSaleInvoiceSingleViewComponent {
|
||||
total_amount,
|
||||
discount_amount,
|
||||
tax_amount,
|
||||
payments: this.paymentData() || undefined,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -310,7 +313,12 @@ export class SharedSaleInvoiceSingleViewComponent {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (await this.beforeCorrectionSubmit?.(mapped)) ?? true;
|
||||
return (
|
||||
(await this.beforeCorrectionSubmit?.({
|
||||
...mapped,
|
||||
payments: this.paymentData() || undefined,
|
||||
})) ?? true
|
||||
);
|
||||
}
|
||||
|
||||
confirmCorrectionPayment(_event: {
|
||||
@@ -318,7 +326,8 @@ export class SharedSaleInvoiceSingleViewComponent {
|
||||
settlementType: 'CASH' | 'CREDIT' | 'MIXED';
|
||||
}) {
|
||||
this.showCorrectionPaymentDialog.set(false);
|
||||
this.pendingCorrectionSubmitResolver?.(true);
|
||||
this.paymentData.set(_event.payment);
|
||||
this.pendingCorrectionSubmitResolver?.(true, _event.payment);
|
||||
this.pendingCorrectionSubmitResolver = null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user