set sepas favicon and update many things in correction and shared sale invoice
Production CI / validate-and-build (push) Failing after 1m2s

This commit is contained in:
2026-06-17 08:48:34 +03:30
parent ea458c7b72
commit b57d6b4e4b
31 changed files with 209 additions and 127 deletions
@@ -3,8 +3,11 @@ import { NativeBridgeService } from '@/core/services';
import { NavigationService } from '@/core/services/navigation.service';
import { ToastService } from '@/core/services/toast.service';
import { PosConfigPrintService } from '@/domains/pos/modules/configs/components/print/services/main.service';
import { IPosReturnFromSaleRequest } from '@/domains/pos/modules/saleInvoices/models/returnFromSale';
import { IPayment, IPosOrderItem } from '@/domains/pos/modules/shop/models';
import {
IPosReturnFromSaleItem,
IPosReturnFromSaleRequest,
} from '@/domains/pos/modules/saleInvoices/models/returnFromSale';
import { IPayment } from '@/domains/pos/modules/shop/models';
import { PosInfoStore } from '@/domains/pos/store';
import { TspProviderResponseStatus } from '@/shared/catalog';
import { SharedLightBottomsheetComponent } from '@/shared/components';
@@ -88,6 +91,8 @@ export class SharedSaleInvoiceSingleViewComponent {
@Input() sendToTspLoading: boolean = false;
@Input() resendToTspLoading: boolean = false;
@Input() inquiryLoading: boolean = false;
@Input() correctionLoading: boolean = false;
@Input() returnFromSaleLoading: boolean = false;
@Input() beforeCorrectionSubmit?: (data: ICorrectionRequest) => Promise<boolean> | boolean;
@Output() onRefresh = new EventEmitter<void>();
@@ -115,6 +120,10 @@ export class SharedSaleInvoiceSingleViewComponent {
return '';
});
canDoActionOnInvoice = computed(() => {
return !this.invoice?.referenced_by;
});
showErrors = () => {};
inquiry = () => {
this.onInquiry.emit();
@@ -319,45 +328,35 @@ export class SharedSaleInvoiceSingleViewComponent {
this.pendingCorrectionSubmitResolver = null;
}
cancelCorrection() {
this.showCorrectionForm.set(false);
this.cancelCorrectionPayment();
}
cancelReturn() {
this.showReturnFromSaleForm.set(false);
}
private mapReturnFromSaleRequest(event: ReturnFromSaleFormValue): IPosReturnFromSaleRequest {
const invoiceItems = this.invoice?.items || [];
const itemMap = new Map(invoiceItems.map((item) => [item.id, item]));
const items: IPosOrderItem[] = (event.items || [])
const items: IPosReturnFromSaleItem[] = (event.items || [])
.map((item) => {
const source = itemMap.get(item.id);
if (!source) return null;
const quantity = Number(item.quantity || 0);
const unit_price = Number(source.unit_price || 0);
const discount_amount = Number(source.discount_amount || 0);
const base_total_amount = unit_price * quantity;
const total_amount = Number(source.total_amount || 0);
const tax_amount = Number(source.tax_amount || 0);
return {
good_id: source.good_id,
service_id: source.service_id || undefined,
quantity,
unit_price,
discount_amount,
base_total_amount,
total_amount,
tax_amount,
measure_unit: source.good_snapshot.measure_unit,
payload: source.payload as any,
notes: source.notes,
image_url: source.good_snapshot.image_url,
} as IPosOrderItem;
};
})
.filter((item): item is IPosOrderItem => !!item);
.filter((item): item is IPosReturnFromSaleItem => !!item);
return {
invoice_date: this.invoice?.invoice_date || '',
items,
total_amount: items.reduce((sum, item) => sum + Number(item.total_amount || 0), 0),
discount_amount: items.reduce((sum, item) => sum + Number(item.discount_amount || 0), 0),
tax_amount: items.reduce((sum, item) => sum + Number(item.tax_amount || 0), 0),
};
}