@hitsoft/smart-warehouse 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -277,6 +277,12 @@ class OrdersComponent {
277
277
  this.toasterService = toasterService;
278
278
  this.confirmationService = confirmationService;
279
279
  this.selectedOrders = [];
280
+ this.autoRefreshHandle = null;
281
+ this.onVisibilityChange = () => {
282
+ if (!document.hidden) {
283
+ this.autoRefreshTick();
284
+ }
285
+ };
280
286
  // Toolbar filters
281
287
  this.selectedWarehouse = '';
282
288
  this.selectedDate = new Date().toISOString().substring(0, 10);
@@ -304,6 +310,42 @@ class OrdersComponent {
304
310
  ngOnInit() {
305
311
  this.loadWarehouses();
306
312
  this.setupDataSource();
313
+ this.startAutoRefresh();
314
+ }
315
+ ngOnDestroy() {
316
+ this.stopAutoRefresh();
317
+ }
318
+ startAutoRefresh() {
319
+ this.autoRefreshHandle = window.setInterval(() => this.autoRefreshTick(), OrdersComponent.AUTO_REFRESH_MS);
320
+ document.addEventListener('visibilitychange', this.onVisibilityChange);
321
+ }
322
+ stopAutoRefresh() {
323
+ if (this.autoRefreshHandle !== null) {
324
+ window.clearInterval(this.autoRefreshHandle);
325
+ this.autoRefreshHandle = null;
326
+ }
327
+ document.removeEventListener('visibilitychange', this.onVisibilityChange);
328
+ }
329
+ /**
330
+ * Kullanıcıyı rahatsız etmeyecek durumdaysak grid'i tazeler. Şu hallerde tur atlanır:
331
+ * sekme arka planda, kullanıcı satır seçmiş (toplu işlem yapmak üzere olabilir),
332
+ * bir istek/işlem sürüyor ya da bir popup açık.
333
+ */
334
+ autoRefreshTick() {
335
+ var _a, _b;
336
+ if (document.hidden)
337
+ return;
338
+ if (this.selectedOrders.length > 0)
339
+ return;
340
+ if (this.bosKasaPopupVisible)
341
+ return;
342
+ if (this.isLoadingWarehouses ||
343
+ this.isGorevBaslatLoading ||
344
+ this.isReservationLoading ||
345
+ this.isBeeCellLoading) {
346
+ return;
347
+ }
348
+ (_b = (_a = this.dxOrdersInstance) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.refresh(true);
307
349
  }
308
350
  loadWarehouses() {
309
351
  this.isLoadingWarehouses = true;
@@ -435,6 +477,37 @@ class OrdersComponent {
435
477
  // Görevi Tamamla: İşleniyor (2) durumundaki siparişleri BeeCell görevi bitmişse doğrudan
436
478
  // Tamamlandı'ya (3) götürür — eski "Görev Tamamla" + "Onay Ver" iki adımı, eski sistemin
437
479
  // tek-aksiyon davranışına uygun şekilde tek butonda birleştirir.
480
+ /**
481
+ * "Görevi Tamamla" yalnızca "İşleniyor" (2) durumundaki siparişlerde anlamlı — backend
482
+ * (ApproveTaskAsync) bu şartı arıyor. Normal akışta artık gerekmiyor: görev bitince stok nakli
483
+ * de fatura da otomatik yazılıyor ve sipariş kendiliğinden "Tamamlandı" oluyor. Buton yalnızca
484
+ * fatura hatası, BeeCell'e gitmemiş/iptal olmuş görev ve Depo Talepleri akışı için kalıyor.
485
+ */
486
+ get canOnayVer() {
487
+ return this.selectedOrders.length > 0
488
+ && this.selectedOrders.every(o => o.U_SWDurum === '2');
489
+ }
490
+ get onayVerTooltip() {
491
+ if (this.selectedOrders.length === 0)
492
+ return 'Önce sipariş seçin.';
493
+ if (this.canOnayVer)
494
+ return 'Seçili siparişlerin faturasını kesip kapatır.';
495
+ return 'Yalnızca "İşleniyor" durumundaki siparişlerde kullanılabilir. '
496
+ + 'Görev bitince fatura zaten otomatik kesilir.';
497
+ }
498
+ /** "Sipariş Kapat" aktif görevi olan (2) siparişte çalışmaz — CloseOrderAsync reddediyor. */
499
+ get canSiparisKapat() {
500
+ return this.selectedOrders.length > 0
501
+ && this.selectedOrders.every(o => o.U_SWDurum !== '2');
502
+ }
503
+ get siparisKapatTooltip() {
504
+ if (this.selectedOrders.length === 0)
505
+ return 'Önce sipariş seçin.';
506
+ if (this.canSiparisKapat)
507
+ return 'Siparişi sevkiyata sokmadan kapatır (belge oluşturulmaz).';
508
+ return '"İşleniyor" durumundaki sipariş kapatılamaz — önce görevi tamamlayın '
509
+ + 'ya da BeeCell\'de iptal edin.';
510
+ }
438
511
  onOnayVer() {
439
512
  if (!this.selectedOrders || this.selectedOrders.length === 0) {
440
513
  this.toasterService.warn('Lütfen en az bir sipariş seçiniz.');
@@ -449,7 +522,7 @@ class OrdersComponent {
449
522
  }
450
523
  const docEntries = this.selectedOrders.map(o => o.DocEntry);
451
524
  this.confirmationService
452
- .warn('Seçili siparişler tamamlanacak. Stok nakli ve fatura oluşturulacaktır. Emin misiniz?', 'Görevi Tamamla')
525
+ .warn('Seçili siparişler için fatura kesilecek ve sipariş kapatılacaktır. Emin misiniz?', 'Görevi Tamamla')
453
526
  .subscribe((status) => {
454
527
  if (status === 'confirm') {
455
528
  this.orderService.approveTask(docEntries, this.activeListType).subscribe({
@@ -712,12 +785,16 @@ class OrdersComponent {
712
785
  // TODO: Implement
713
786
  }
714
787
  }
788
+ // Otomatik yenileme: yeni sipariş / durum değişikliği arka plan Hangfire işlerinden geldiğinde
789
+ // kullanıcı sayfayı elle yenilemeden görsün diye grid periyodik olarak SESSİZCE tazelenir
790
+ // (repaintChangesOnly sayesinde yalnızca değişen satırlar boyanır, seçim DocEntry ile korunur).
791
+ OrdersComponent.AUTO_REFRESH_MS = 45000;
715
792
  OrdersComponent.MAX_SHORT_ITEMS_DETAILED = 5;
716
793
  OrdersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OrdersComponent, deps: [{ token: OrderService }, { token: WarehouseService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
717
- OrdersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OrdersComponent, selector: "lib-orders", viewQueries: [{ propertyName: "dxOrdersInstance", first: true, predicate: ["dxOrdersInstance"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'SmartWarehouse::Orders' | abpLocalization\">\r\n\r\n <!-- Toolbar -->\r\n <div class=\"orders-toolbar\">\r\n <!-- Row 1: Filters -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"toolbar-group\">\r\n <label>Sipari\u015F Grubu</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip list-purchase\" [class.active]=\"activeListType === '1'\"\r\n (click)=\"toggleListType('1')\">\r\n <i class=\"fa fa-shopping-cart\"></i> Sanayi Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-distribution\" [class.active]=\"activeListType === '2'\"\r\n (click)=\"toggleListType('2')\">\r\n <i class=\"fa fa-truck\"></i> Da\u011F\u0131t\u0131m Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-warehouse\" [class.active]=\"activeListType === '3'\"\r\n (click)=\"toggleListType('3')\">\r\n <i class=\"fa fa-warehouse\"></i> Depo Talepleri\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--durum\">\r\n <label>Durum</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip pending\" [class.active]=\"activeStatus === 'beklemede'\"\r\n (click)=\"toggleStatus('beklemede')\">\r\n <i class=\"fa fa-clock\"></i> Beklemede\r\n </span>\r\n <span class=\"status-chip processing\" [class.active]=\"activeStatus === 'isleniyor'\"\r\n (click)=\"toggleStatus('isleniyor')\">\r\n <i class=\"fa fa-spinner\"></i> \u0130\u015Fleniyor\r\n </span>\r\n <span class=\"status-chip awaiting\" [class.active]=\"activeStatus === 'onayBekliyor'\"\r\n (click)=\"toggleStatus('onayBekliyor')\">\r\n <i class=\"fa fa-hourglass-half\"></i> Onay Bekliyor\r\n </span>\r\n <span class=\"status-chip completed\" [class.active]=\"activeStatus === 'tamamlandi'\"\r\n (click)=\"toggleStatus('tamamlandi')\">\r\n <i class=\"fa fa-check-circle\"></i> Tamamland\u0131\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--depo\">\r\n <label>Depo</label>\r\n <select [(ngModel)]=\"selectedWarehouse\" class=\"form-select\">\r\n <option value=\"\">T\u00FCm\u00FC</option>\r\n <option *ngFor=\"let wh of warehouses\" [value]=\"wh.WhsCode\">{{ wh.WhsName }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <hr class=\"toolbar-divider\" />\r\n\r\n <!-- Row 3: Action input + related buttons | Reservation | Refresh/Excel -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"action-group\">\r\n <button class=\"btn btn-action-primary btn-sm\" (click)=\"onGorevBaslat()\" [disabled]=\"isGorevBaslatLoading\">\r\n <i class=\"fa fa-plus-circle\"></i> G\u00F6rev Ba\u015Flat\r\n </button>\r\n <button class=\"btn btn-action-approve btn-sm\" (click)=\"onOnayVer()\">\r\n <i class=\"fa fa-thumbs-up\"></i> G\u00F6revi Tamamla\r\n </button>\r\n <button class=\"btn btn-action-danger btn-sm\" (click)=\"onSiparisKapat()\">\r\n <i class=\"fa fa-times-circle\"></i> Sipari\u015F Kapat\r\n </button>\r\n <button class=\"btn btn-action-sync btn-sm\" (click)=\"onDurumGuncelle()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-sync-alt\"></i> Durum G\u00FCncelle\r\n </button>\r\n <button class=\"btn btn-action-info btn-sm\" (click)=\"onBosKasaGetir()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box-open\"></i> Bo\u015F Kasa Getir\r\n </button>\r\n <button class=\"btn btn-action-warning btn-sm\" (click)=\"onYarimKasa()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box\"></i> Yar\u0131m Kasa Getir\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-reservation btn-sm\" (click)=\"onRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Rezervasyon Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-cancel btn-sm\" (click)=\"onRezervasyonSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Rezervasyon Sil\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk btn-sm\" (click)=\"onTopluRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Toplu Rez. Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk-cancel btn-sm\" (click)=\"onTumRezervasyonlariSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Toplu Rez. Sil\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-secondary btn-sm\" (click)=\"onRefresh()\">\r\n <i class=\"fa fa-redo\"></i> Yenile\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Data Grid -->\r\n <div class=\"card orders-grid-card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dxOrdersInstance\r\n [dataSource]=\"ordersDataSource\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [remoteOperations]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n (onRowClick)=\"onRowClick($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event)\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n style=\"height: 60vh\"\r\n >\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[5, 10, 20]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\"\r\n >\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxo-column-chooser\r\n [allowSearch]=\"true\"\r\n [enabled]=\"true\"\r\n mode=\"select\"\r\n ></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"standard\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection\r\n mode=\"multiple\"\r\n showCheckBoxesMode=\"always\"\r\n [allowSelectAll]=\"true\"\r\n ></dxo-selection>\r\n\r\n <dxi-column\r\n dataField=\"DocNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardName\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardName' | abpLocalization }}\"\r\n [width]=\"220\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDueDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDueDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTalepTarihi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTalepTarihi' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWDurum\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWDurum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n cellTemplate=\"swDurumTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWIsError\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWIsError' | abpLocalization }}\"\r\n [width]=\"50\"\r\n cellTemplate=\"errorTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWErrorMessage\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWErrorMessage' | abpLocalization }}\"\r\n [width]=\"260\"\r\n cellTemplate=\"errorMessageTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"OwnerCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:OwnerCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Comments\"\r\n caption=\"{{ 'SmartWarehouse::Order:Comments' | abpLocalization }}\"\r\n [width]=\"200\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWGonderildi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWGonderildi' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWStationCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWStationCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWEyeCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWEyeCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWOrderType\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWOrderType' | abpLocalization }}\"\r\n [width]=\"160\"\r\n cellTemplate=\"orderTypeTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"NumAtCard\"\r\n caption=\"{{ 'SmartWarehouse::Order:NumAtCard' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocCur\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocCur' | abpLocalization }}\"\r\n [width]=\"90\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocStatus\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocStatus' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"statusTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocEntry\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocEntry' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-success': cell.value === 'O',\r\n 'bg-secondary': cell.value === 'C'\r\n }\"\r\n >\r\n {{ cell.value === 'O' ? 'A\u00E7\u0131k' : 'Kapal\u0131' }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'swDurumTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-warning': cell.value === '0' || !cell.value,\r\n 'bg-info': cell.value === '1',\r\n 'bg-primary': cell.value === '2',\r\n 'bg-success': cell.value === '3'\r\n }\"\r\n >\r\n {{\r\n cell.value === '1' ? 'Onay Bekliyor' :\r\n cell.value === '2' ? '\u0130\u015Fleniyor' :\r\n cell.value === '3' ? 'Tamamland\u0131' : 'Beklemede'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorTemplate'\">\r\n <i\r\n *ngIf=\"cell.value === 'Y'\"\r\n class=\"fa fa-exclamation-triangle text-danger\"\r\n [title]=\"cell.data.U_SWErrorMessage\"\r\n ></i>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorMessageTemplate'\">\r\n <span\r\n *ngIf=\"cell.data.U_SWIsError === 'Y'\"\r\n class=\"error-message-cell\"\r\n [title]=\"cell.value\"\r\n >{{ cell.value }}</span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'orderTypeTemplate'\">\r\n <span class=\"badge bg-secondary\">\r\n {{\r\n cell.value === '1' ? 'Sanayi Sipari\u015Fleri' :\r\n cell.value === '2' ? 'Da\u011F\u0131t\u0131m Sipari\u015Fleri' :\r\n cell.value === '3' ? 'Depo Talepleri' : '-'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <!-- Master-Detail: Sipari\u015F Sat\u0131rlar\u0131 -->\r\n <dxo-master-detail [enabled]=\"true\" template=\"orderLinesTemplate\"></dxo-master-detail>\r\n\r\n <div *dxTemplate=\"let detail of 'orderLinesTemplate'\">\r\n <div class=\"p-3\">\r\n <h6 class=\"mb-3\">\r\n <i class=\"fa fa-list me-1\"></i>\r\n {{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}:\r\n {{ detail.data.DocNum }} - Sipari\u015F Sat\u0131rlar\u0131\r\n </h6>\r\n <dx-data-grid\r\n [dataSource]=\"detail.data.DocumentLines\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n >\r\n <dxi-column\r\n dataField=\"LineNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineNum' | abpLocalization }}\"\r\n [width]=\"70\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:ItemCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemDescription\"\r\n caption=\"Kalem Ad\u0131\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Quantity\"\r\n caption=\"{{ 'SmartWarehouse::Order:Quantity' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTeslimMiktar\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTeslimMiktar' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"LineTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"WarehouseCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:WhsCode' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ShipDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:ShipDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SonGorevId\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SonGorevId' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n\r\n <dxo-summary>\r\n <dxi-total-item\r\n column=\"lineTotal\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.00\"\r\n ></dxi-total-item>\r\n <dxi-total-item\r\n column=\"quantity\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.##\"\r\n ></dxi-total-item>\r\n </dxo-summary>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n\r\n <!-- Bo\u015F / Yar\u0131m Kasa Popup -->\r\n <dx-popup\r\n [visible]=\"bosKasaPopupVisible\"\r\n (onHidden)=\"bosKasaPopupVisible = false\"\r\n [width]=\"380\"\r\n [height]=\"'auto'\"\r\n [showTitle]=\"true\"\r\n [title]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa Getir' : 'Yar\u0131m Kasa Getir'\"\r\n [dragEnabled]=\"true\"\r\n [resizeEnabled]=\"false\"\r\n [showCloseButton]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" class=\"p-3\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\u0130stasyon No</label>\r\n <dx-number-box [(value)]=\"bosKasaStationId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Raf No (Shelf ID)</label>\r\n <dx-number-box [(value)]=\"bosKasaShelfId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Kasa Adedi</label>\r\n <dx-number-box [(value)]=\"bosKasaBoxCount\" [min]=\"1\" [max]=\"50\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"d-flex justify-content-end gap-2 mt-3\">\r\n <dx-button text=\"\u0130ptal\" (onClick)=\"bosKasaPopupVisible = false\" type=\"normal\"></dx-button>\r\n <dx-button\r\n [text]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa G\u00F6nder' : 'Yar\u0131m Kasa G\u00F6nder'\"\r\n type=\"default\"\r\n (onClick)=\"onBosKasaGonder()\"\r\n ></dx-button>\r\n </div>\r\n </div>\r\n </dx-popup>\r\n\r\n</abp-page>\r\n", styles: [":host{display:block;max-width:100%;overflow-x:hidden}.orders-toolbar{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000f;max-width:100%;overflow:hidden}.toolbar-divider{border:none;border-top:1px solid #eee;margin:10px 0}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.toolbar-group{display:flex;flex-direction:column;gap:4px}.toolbar-group--durum{margin-left:80px}.toolbar-group--depo{margin-left:auto}.toolbar-group label{font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.toolbar-group select,.toolbar-group input[type=date]{height:36px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px;background:#fff;transition:border-color .15s}.toolbar-group select:focus,.toolbar-group input[type=date]:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-group select{min-width:180px}.radio-group{display:flex;gap:12px;height:36px;align-items:center}.radio-group .form-check{margin:0;padding-left:22px}.radio-group .form-check-label{font-size:13px;cursor:pointer;white-space:nowrap}.status-group{display:flex;gap:10px;align-items:center}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;-webkit-user-select:none;user-select:none}.status-chip.pending{background:#fff9e6;color:#c9a227;border-color:#ffe082}.status-chip.pending.active{background:#ffc107;color:#fff;border-color:#ffc107}.status-chip.processing{background:#e8f0fe;color:#7aadf5;border-color:#a8c8f7}.status-chip.processing.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.status-chip.awaiting{background:#e6f9fc;color:#6ec6d8;border-color:#a0e1ed}.status-chip.awaiting.active{background:#0dcaf0;color:#fff;border-color:#0dcaf0}.status-chip.completed{background:#e8f5e9;color:#6db680;border-color:#a5d6a7}.status-chip.completed.active{background:#198754;color:#fff;border-color:#198754}.status-chip.list-purchase{background:#eef0fa;color:#9aa1d4;border-color:#b3b9e6}.status-chip.list-purchase.active{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.status-chip.list-distribution{background:#fce8ee;color:#e87a9e;border-color:#f0a3bb}.status-chip.list-distribution.active{background:#e91e63;color:#fff;border-color:#e91e63}.status-chip.list-warehouse{background:#e5f5f4;color:#6db5ab;border-color:#a0d4cd}.status-chip.list-warehouse.active{background:#009688;color:#fff;border-color:#009688}.action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-input{width:140px;height:32px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px}.action-input:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-separator{width:1px;height:28px;background:#dee2e6;align-self:center}.reservation-group{display:flex;align-items:center;gap:8px}.toolbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 12px;border-radius:6px;font-weight:500;white-space:nowrap;transition:all .15s}.btn-action-primary{background:#556ee6;color:#fff;border:none}.btn-action-primary:hover{background:#4458cb;color:#fff}.btn-action-success{background:#34c38f;color:#fff;border:none}.btn-action-success:hover{background:#2ca67a;color:#fff}.btn-action-approve{background:#6f42c1;color:#fff;border:none}.btn-action-approve:hover{background:#5a32a3;color:#fff}.btn-action-warning{background:#f1b44c;color:#fff;border:none}.btn-action-warning:hover{background:#d9a043;color:#fff}.btn-action-info{background:#50a5f1;color:#fff;border:none}.btn-action-info:hover{background:#3d8ed8;color:#fff}.btn-action-danger{background:#f46a6a;color:#fff;border:none}.btn-action-danger:hover{background:#e05555;color:#fff}.btn-action-outline{background:transparent;color:#556ee6;border:1px solid #556ee6}.btn-action-outline:hover{background:#556ee6;color:#fff}.btn-action-secondary{background:#74788d;color:#fff;border:none}.btn-action-secondary:hover{background:#5f6373;color:#fff}.btn-action-reservation{background:#7c4dff;color:#fff;border:none}.btn-action-reservation:hover{background:#651fff;color:#fff}.btn-action-reservation:disabled{background:#b39ddb;cursor:not-allowed}.btn-action-reservation-cancel{background:#ff6e40;color:#fff;border:none}.btn-action-reservation-cancel:hover{background:#ff3d00;color:#fff}.btn-action-reservation-cancel:disabled{background:#ffab91;cursor:not-allowed}.btn-action-reservation-bulk{background:#536dfe;color:#fff;border:none}.btn-action-reservation-bulk:hover{background:#304ffe;color:#fff}.btn-action-reservation-bulk:disabled{background:#8c9eff;cursor:not-allowed}.btn-action-reservation-bulk-cancel{background:#ff5252;color:#fff;border:none}.btn-action-reservation-bulk-cancel:hover{background:#ff1744;color:#fff}.btn-action-reservation-bulk-cancel:disabled{background:#ff8a80;cursor:not-allowed}.action-divider{width:1px;height:24px;background:#dee2e6;display:inline-block;vertical-align:middle;margin:0 4px}.orders-grid-card{border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f;overflow:hidden;max-width:100%}.orders-grid-card .card-body{padding:12px;overflow-x:auto}::ng-deep .order-row-error{background-color:#fdecea!important}::ng-deep .order-row-error:hover{background-color:#fbd9d5!important}::ng-deep .error-message-cell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b02a37;font-size:12px}@media (max-width: 1200px){.toolbar-actions{margin-left:0}.radio-group{flex-wrap:wrap;height:auto}.action-group{width:100%}.toolbar-separator{display:none}}@media (max-width: 992px){.toolbar-group--durum,.toolbar-group--depo{margin-left:0}.toolbar-row{gap:12px}.toolbar-group select{min-width:0}.status-group{flex-wrap:wrap;gap:6px}.reservation-group{flex-wrap:wrap}}@media (max-width: 768px){.orders-toolbar{padding:12px}.toolbar-row{flex-direction:column;align-items:stretch;gap:10px}.toolbar-group,.toolbar-group select,.toolbar-group input[type=date]{width:100%}.radio-group{flex-direction:column;align-items:flex-start;gap:8px}.status-group{flex-wrap:wrap;gap:6px}.status-chip{font-size:11px;padding:3px 10px}.action-group,.reservation-group,.toolbar-actions{flex-wrap:wrap;gap:6px}.action-divider{display:none}.action-input{width:100%}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{flex:1 1 calc(50% - 6px);justify-content:center}.status-chip{font-size:10px;padding:2px 8px}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i7.DxoColumnChooserComponent, selector: "dxo-column-chooser", inputs: ["allowSearch", "emptyPanelText", "enabled", "height", "mode", "searchTimeout", "sortOrder", "title", "width"] }, { kind: "component", type: i7.DxoColumnFixingComponent, selector: "dxo-column-fixing", inputs: ["enabled", "texts"] }, { kind: "component", type: i7.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i7.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i7.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i7.DxoFilterBuilderComponent, selector: "dxo-filter-builder", inputs: ["accessKey", "activeStateEnabled", "allowHierarchicalFields", "customOperations", "disabled", "elementAttr", "fields", "filterOperationDescriptions", "focusStateEnabled", "groupOperationDescriptions", "groupOperations", "height", "hint", "hoverStateEnabled", "maxGroupLevel", "onContentReady", "onDisposing", "onEditorPrepared", "onEditorPreparing", "onInitialized", "onOptionChanged", "onValueChanged", "rtlEnabled", "tabIndex", "value", "visible", "width"], outputs: ["valueChange"] }, { kind: "component", type: i7.DxoFilterPanelComponent, selector: "dxo-filter-panel", inputs: ["customizeText", "filterEnabled", "texts", "visible"], outputs: ["filterEnabledChange"] }, { kind: "component", type: i7.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i7.DxoMasterDetailComponent, selector: "dxo-master-detail", inputs: ["autoExpandAll", "enabled", "template"] }, { kind: "component", type: i7.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i7.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i7.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i7.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i7.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i7.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "directive", type: i8.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i6.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i6.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i5$1.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
794
+ OrdersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: OrdersComponent, selector: "lib-orders", viewQueries: [{ propertyName: "dxOrdersInstance", first: true, predicate: ["dxOrdersInstance"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'SmartWarehouse::Orders' | abpLocalization\">\r\n\r\n <!-- Toolbar -->\r\n <div class=\"orders-toolbar\">\r\n <!-- Row 1: Filters -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"toolbar-group\">\r\n <label>Sipari\u015F Grubu</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip list-purchase\" [class.active]=\"activeListType === '1'\"\r\n (click)=\"toggleListType('1')\">\r\n <i class=\"fa fa-shopping-cart\"></i> Sanayi Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-distribution\" [class.active]=\"activeListType === '2'\"\r\n (click)=\"toggleListType('2')\">\r\n <i class=\"fa fa-truck\"></i> Da\u011F\u0131t\u0131m Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-warehouse\" [class.active]=\"activeListType === '3'\"\r\n (click)=\"toggleListType('3')\">\r\n <i class=\"fa fa-warehouse\"></i> Depo Talepleri\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--durum\">\r\n <label>Durum</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip pending\" [class.active]=\"activeStatus === 'beklemede'\"\r\n (click)=\"toggleStatus('beklemede')\">\r\n <i class=\"fa fa-clock\"></i> Beklemede\r\n </span>\r\n <span class=\"status-chip processing\" [class.active]=\"activeStatus === 'isleniyor'\"\r\n (click)=\"toggleStatus('isleniyor')\">\r\n <i class=\"fa fa-spinner\"></i> \u0130\u015Fleniyor\r\n </span>\r\n <span class=\"status-chip awaiting\" [class.active]=\"activeStatus === 'onayBekliyor'\"\r\n (click)=\"toggleStatus('onayBekliyor')\">\r\n <i class=\"fa fa-hourglass-half\"></i> Onay Bekliyor\r\n </span>\r\n <span class=\"status-chip completed\" [class.active]=\"activeStatus === 'tamamlandi'\"\r\n (click)=\"toggleStatus('tamamlandi')\">\r\n <i class=\"fa fa-check-circle\"></i> Tamamland\u0131\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--depo\">\r\n <label>Depo</label>\r\n <select [(ngModel)]=\"selectedWarehouse\" class=\"form-select\">\r\n <option value=\"\">T\u00FCm\u00FC</option>\r\n <option *ngFor=\"let wh of warehouses\" [value]=\"wh.WhsCode\">{{ wh.WhsName }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <hr class=\"toolbar-divider\" />\r\n\r\n <!-- Row 3: Action input + related buttons | Reservation | Refresh/Excel -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"action-group\">\r\n <button class=\"btn btn-action-primary btn-sm\" (click)=\"onGorevBaslat()\" [disabled]=\"isGorevBaslatLoading\">\r\n <i class=\"fa fa-plus-circle\"></i> G\u00F6rev Ba\u015Flat\r\n </button>\r\n <button class=\"btn btn-action-approve btn-sm\" (click)=\"onOnayVer()\"\r\n [disabled]=\"!canOnayVer\" [title]=\"onayVerTooltip\">\r\n <i class=\"fa fa-thumbs-up\"></i> G\u00F6revi Tamamla\r\n </button>\r\n <button class=\"btn btn-action-danger btn-sm\" (click)=\"onSiparisKapat()\"\r\n [disabled]=\"!canSiparisKapat\" [title]=\"siparisKapatTooltip\">\r\n <i class=\"fa fa-times-circle\"></i> Sipari\u015F Kapat\r\n </button>\r\n <button class=\"btn btn-action-sync btn-sm\" (click)=\"onDurumGuncelle()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-sync-alt\"></i> Durum G\u00FCncelle\r\n </button>\r\n <button class=\"btn btn-action-info btn-sm\" (click)=\"onBosKasaGetir()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box-open\"></i> Bo\u015F Kasa Getir\r\n </button>\r\n <button class=\"btn btn-action-warning btn-sm\" (click)=\"onYarimKasa()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box\"></i> Yar\u0131m Kasa Getir\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-reservation btn-sm\" (click)=\"onRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Rezervasyon Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-cancel btn-sm\" (click)=\"onRezervasyonSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Rezervasyon Sil\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk btn-sm\" (click)=\"onTopluRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Toplu Rez. Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk-cancel btn-sm\" (click)=\"onTumRezervasyonlariSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Toplu Rez. Sil\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-secondary btn-sm\" (click)=\"onRefresh()\">\r\n <i class=\"fa fa-redo\"></i> Yenile\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Data Grid -->\r\n <div class=\"card orders-grid-card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dxOrdersInstance\r\n [dataSource]=\"ordersDataSource\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [remoteOperations]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n (onRowClick)=\"onRowClick($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event)\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n style=\"height: 60vh\"\r\n >\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[5, 10, 20]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\"\r\n >\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxo-column-chooser\r\n [allowSearch]=\"true\"\r\n [enabled]=\"true\"\r\n mode=\"select\"\r\n ></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"standard\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection\r\n mode=\"multiple\"\r\n showCheckBoxesMode=\"always\"\r\n [allowSelectAll]=\"true\"\r\n ></dxo-selection>\r\n\r\n <dxi-column\r\n dataField=\"DocNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardName\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardName' | abpLocalization }}\"\r\n [width]=\"220\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDueDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDueDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTalepTarihi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTalepTarihi' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWDurum\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWDurum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n cellTemplate=\"swDurumTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWIsError\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWIsError' | abpLocalization }}\"\r\n [width]=\"50\"\r\n cellTemplate=\"errorTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWErrorMessage\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWErrorMessage' | abpLocalization }}\"\r\n [width]=\"260\"\r\n cellTemplate=\"errorMessageTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"OwnerCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:OwnerCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Comments\"\r\n caption=\"{{ 'SmartWarehouse::Order:Comments' | abpLocalization }}\"\r\n [width]=\"200\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWGonderildi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWGonderildi' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWStationCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWStationCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWEyeCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWEyeCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWOrderType\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWOrderType' | abpLocalization }}\"\r\n [width]=\"160\"\r\n cellTemplate=\"orderTypeTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"NumAtCard\"\r\n caption=\"{{ 'SmartWarehouse::Order:NumAtCard' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocCur\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocCur' | abpLocalization }}\"\r\n [width]=\"90\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocStatus\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocStatus' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"statusTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocEntry\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocEntry' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-success': cell.value === 'O',\r\n 'bg-secondary': cell.value === 'C'\r\n }\"\r\n >\r\n {{ cell.value === 'O' ? 'A\u00E7\u0131k' : 'Kapal\u0131' }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'swDurumTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-warning': cell.value === '0' || !cell.value,\r\n 'bg-info': cell.value === '1',\r\n 'bg-primary': cell.value === '2',\r\n 'bg-success': cell.value === '3'\r\n }\"\r\n >\r\n {{\r\n cell.value === '1' ? 'Onay Bekliyor' :\r\n cell.value === '2' ? '\u0130\u015Fleniyor' :\r\n cell.value === '3' ? 'Tamamland\u0131' : 'Beklemede'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorTemplate'\">\r\n <i\r\n *ngIf=\"cell.value === 'Y'\"\r\n class=\"fa fa-exclamation-triangle text-danger\"\r\n [title]=\"cell.data.U_SWErrorMessage\"\r\n ></i>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorMessageTemplate'\">\r\n <span\r\n *ngIf=\"cell.data.U_SWIsError === 'Y'\"\r\n class=\"error-message-cell\"\r\n [title]=\"cell.value\"\r\n >{{ cell.value }}</span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'orderTypeTemplate'\">\r\n <span class=\"badge bg-secondary\">\r\n {{\r\n cell.value === '1' ? 'Sanayi Sipari\u015Fleri' :\r\n cell.value === '2' ? 'Da\u011F\u0131t\u0131m Sipari\u015Fleri' :\r\n cell.value === '3' ? 'Depo Talepleri' : '-'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <!-- Master-Detail: Sipari\u015F Sat\u0131rlar\u0131 -->\r\n <dxo-master-detail [enabled]=\"true\" template=\"orderLinesTemplate\"></dxo-master-detail>\r\n\r\n <div *dxTemplate=\"let detail of 'orderLinesTemplate'\">\r\n <div class=\"p-3\">\r\n <h6 class=\"mb-3\">\r\n <i class=\"fa fa-list me-1\"></i>\r\n {{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}:\r\n {{ detail.data.DocNum }} - Sipari\u015F Sat\u0131rlar\u0131\r\n </h6>\r\n <dx-data-grid\r\n [dataSource]=\"detail.data.DocumentLines\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n >\r\n <dxi-column\r\n dataField=\"LineNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineNum' | abpLocalization }}\"\r\n [width]=\"70\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:ItemCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemDescription\"\r\n caption=\"Kalem Ad\u0131\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Quantity\"\r\n caption=\"{{ 'SmartWarehouse::Order:Quantity' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTeslimMiktar\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTeslimMiktar' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"LineTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"WarehouseCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:WhsCode' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ShipDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:ShipDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SonGorevId\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SonGorevId' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n\r\n <dxo-summary>\r\n <dxi-total-item\r\n column=\"lineTotal\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.00\"\r\n ></dxi-total-item>\r\n <dxi-total-item\r\n column=\"quantity\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.##\"\r\n ></dxi-total-item>\r\n </dxo-summary>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n\r\n <!-- Bo\u015F / Yar\u0131m Kasa Popup -->\r\n <dx-popup\r\n [visible]=\"bosKasaPopupVisible\"\r\n (onHidden)=\"bosKasaPopupVisible = false\"\r\n [width]=\"380\"\r\n [height]=\"'auto'\"\r\n [showTitle]=\"true\"\r\n [title]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa Getir' : 'Yar\u0131m Kasa Getir'\"\r\n [dragEnabled]=\"true\"\r\n [resizeEnabled]=\"false\"\r\n [showCloseButton]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" class=\"p-3\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\u0130stasyon No</label>\r\n <dx-number-box [(value)]=\"bosKasaStationId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Raf No (Shelf ID)</label>\r\n <dx-number-box [(value)]=\"bosKasaShelfId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Kasa Adedi</label>\r\n <dx-number-box [(value)]=\"bosKasaBoxCount\" [min]=\"1\" [max]=\"50\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"d-flex justify-content-end gap-2 mt-3\">\r\n <dx-button text=\"\u0130ptal\" (onClick)=\"bosKasaPopupVisible = false\" type=\"normal\"></dx-button>\r\n <dx-button\r\n [text]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa G\u00F6nder' : 'Yar\u0131m Kasa G\u00F6nder'\"\r\n type=\"default\"\r\n (onClick)=\"onBosKasaGonder()\"\r\n ></dx-button>\r\n </div>\r\n </div>\r\n </dx-popup>\r\n\r\n</abp-page>\r\n", styles: [":host{display:block;max-width:100%;overflow-x:hidden}.orders-toolbar{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000f;max-width:100%;overflow:hidden}.toolbar-divider{border:none;border-top:1px solid #eee;margin:10px 0}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.toolbar-group{display:flex;flex-direction:column;gap:4px}.toolbar-group--durum{margin-left:80px}.toolbar-group--depo{margin-left:auto}.toolbar-group label{font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.toolbar-group select,.toolbar-group input[type=date]{height:36px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px;background:#fff;transition:border-color .15s}.toolbar-group select:focus,.toolbar-group input[type=date]:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-group select{min-width:180px}.radio-group{display:flex;gap:12px;height:36px;align-items:center}.radio-group .form-check{margin:0;padding-left:22px}.radio-group .form-check-label{font-size:13px;cursor:pointer;white-space:nowrap}.status-group{display:flex;gap:10px;align-items:center}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;-webkit-user-select:none;user-select:none}.status-chip.pending{background:#fff9e6;color:#c9a227;border-color:#ffe082}.status-chip.pending.active{background:#ffc107;color:#fff;border-color:#ffc107}.status-chip.processing{background:#e8f0fe;color:#7aadf5;border-color:#a8c8f7}.status-chip.processing.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.status-chip.awaiting{background:#e6f9fc;color:#6ec6d8;border-color:#a0e1ed}.status-chip.awaiting.active{background:#0dcaf0;color:#fff;border-color:#0dcaf0}.status-chip.completed{background:#e8f5e9;color:#6db680;border-color:#a5d6a7}.status-chip.completed.active{background:#198754;color:#fff;border-color:#198754}.status-chip.list-purchase{background:#eef0fa;color:#9aa1d4;border-color:#b3b9e6}.status-chip.list-purchase.active{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.status-chip.list-distribution{background:#fce8ee;color:#e87a9e;border-color:#f0a3bb}.status-chip.list-distribution.active{background:#e91e63;color:#fff;border-color:#e91e63}.status-chip.list-warehouse{background:#e5f5f4;color:#6db5ab;border-color:#a0d4cd}.status-chip.list-warehouse.active{background:#009688;color:#fff;border-color:#009688}.action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-input{width:140px;height:32px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px}.action-input:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-separator{width:1px;height:28px;background:#dee2e6;align-self:center}.reservation-group{display:flex;align-items:center;gap:8px}.toolbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 12px;border-radius:6px;font-weight:500;white-space:nowrap;transition:all .15s}.btn-action-primary{background:#556ee6;color:#fff;border:none}.btn-action-primary:hover{background:#4458cb;color:#fff}.btn-action-success{background:#34c38f;color:#fff;border:none}.btn-action-success:hover{background:#2ca67a;color:#fff}.btn-action-approve{background:#6f42c1;color:#fff;border:none}.btn-action-approve:hover{background:#5a32a3;color:#fff}.btn-action-warning{background:#f1b44c;color:#fff;border:none}.btn-action-warning:hover{background:#d9a043;color:#fff}.btn-action-info{background:#50a5f1;color:#fff;border:none}.btn-action-info:hover{background:#3d8ed8;color:#fff}.btn-action-danger{background:#f46a6a;color:#fff;border:none}.btn-action-danger:hover{background:#e05555;color:#fff}.btn-action-outline{background:transparent;color:#556ee6;border:1px solid #556ee6}.btn-action-outline:hover{background:#556ee6;color:#fff}.btn-action-secondary{background:#74788d;color:#fff;border:none}.btn-action-secondary:hover{background:#5f6373;color:#fff}.btn-action-reservation{background:#7c4dff;color:#fff;border:none}.btn-action-reservation:hover{background:#651fff;color:#fff}.btn-action-reservation:disabled{background:#b39ddb;cursor:not-allowed}.btn-action-reservation-cancel{background:#ff6e40;color:#fff;border:none}.btn-action-reservation-cancel:hover{background:#ff3d00;color:#fff}.btn-action-reservation-cancel:disabled{background:#ffab91;cursor:not-allowed}.btn-action-reservation-bulk{background:#536dfe;color:#fff;border:none}.btn-action-reservation-bulk:hover{background:#304ffe;color:#fff}.btn-action-reservation-bulk:disabled{background:#8c9eff;cursor:not-allowed}.btn-action-reservation-bulk-cancel{background:#ff5252;color:#fff;border:none}.btn-action-reservation-bulk-cancel:hover{background:#ff1744;color:#fff}.btn-action-reservation-bulk-cancel:disabled{background:#ff8a80;cursor:not-allowed}.action-divider{width:1px;height:24px;background:#dee2e6;display:inline-block;vertical-align:middle;margin:0 4px}.orders-grid-card{border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f;overflow:hidden;max-width:100%}.orders-grid-card .card-body{padding:12px;overflow-x:auto}::ng-deep .order-row-error{background-color:#fdecea!important}::ng-deep .order-row-error:hover{background-color:#fbd9d5!important}::ng-deep .error-message-cell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b02a37;font-size:12px}@media (max-width: 1200px){.toolbar-actions{margin-left:0}.radio-group{flex-wrap:wrap;height:auto}.action-group{width:100%}.toolbar-separator{display:none}}@media (max-width: 992px){.toolbar-group--durum,.toolbar-group--depo{margin-left:0}.toolbar-row{gap:12px}.toolbar-group select{min-width:0}.status-group{flex-wrap:wrap;gap:6px}.reservation-group{flex-wrap:wrap}}@media (max-width: 768px){.orders-toolbar{padding:12px}.toolbar-row{flex-direction:column;align-items:stretch;gap:10px}.toolbar-group,.toolbar-group select,.toolbar-group input[type=date]{width:100%}.radio-group{flex-direction:column;align-items:flex-start;gap:8px}.status-group{flex-wrap:wrap;gap:6px}.status-chip{font-size:11px;padding:3px 10px}.action-group,.reservation-group,.toolbar-actions{flex-wrap:wrap;gap:6px}.action-divider{display:none}.action-input{width:100%}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{flex:1 1 calc(50% - 6px);justify-content:center}.status-chip{font-size:10px;padding:2px 8px}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i7.DxoColumnChooserComponent, selector: "dxo-column-chooser", inputs: ["allowSearch", "emptyPanelText", "enabled", "height", "mode", "searchTimeout", "sortOrder", "title", "width"] }, { kind: "component", type: i7.DxoColumnFixingComponent, selector: "dxo-column-fixing", inputs: ["enabled", "texts"] }, { kind: "component", type: i7.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i7.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i7.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i7.DxoFilterBuilderComponent, selector: "dxo-filter-builder", inputs: ["accessKey", "activeStateEnabled", "allowHierarchicalFields", "customOperations", "disabled", "elementAttr", "fields", "filterOperationDescriptions", "focusStateEnabled", "groupOperationDescriptions", "groupOperations", "height", "hint", "hoverStateEnabled", "maxGroupLevel", "onContentReady", "onDisposing", "onEditorPrepared", "onEditorPreparing", "onInitialized", "onOptionChanged", "onValueChanged", "rtlEnabled", "tabIndex", "value", "visible", "width"], outputs: ["valueChange"] }, { kind: "component", type: i7.DxoFilterPanelComponent, selector: "dxo-filter-panel", inputs: ["customizeText", "filterEnabled", "texts", "visible"], outputs: ["filterEnabledChange"] }, { kind: "component", type: i7.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i7.DxoMasterDetailComponent, selector: "dxo-master-detail", inputs: ["autoExpandAll", "enabled", "template"] }, { kind: "component", type: i7.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i7.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i7.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i7.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i7.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i7.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "directive", type: i8.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i6.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i6.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i5$1.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
718
795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OrdersComponent, decorators: [{
719
796
  type: Component,
720
- args: [{ selector: 'lib-orders', template: "<abp-page [title]=\"'SmartWarehouse::Orders' | abpLocalization\">\r\n\r\n <!-- Toolbar -->\r\n <div class=\"orders-toolbar\">\r\n <!-- Row 1: Filters -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"toolbar-group\">\r\n <label>Sipari\u015F Grubu</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip list-purchase\" [class.active]=\"activeListType === '1'\"\r\n (click)=\"toggleListType('1')\">\r\n <i class=\"fa fa-shopping-cart\"></i> Sanayi Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-distribution\" [class.active]=\"activeListType === '2'\"\r\n (click)=\"toggleListType('2')\">\r\n <i class=\"fa fa-truck\"></i> Da\u011F\u0131t\u0131m Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-warehouse\" [class.active]=\"activeListType === '3'\"\r\n (click)=\"toggleListType('3')\">\r\n <i class=\"fa fa-warehouse\"></i> Depo Talepleri\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--durum\">\r\n <label>Durum</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip pending\" [class.active]=\"activeStatus === 'beklemede'\"\r\n (click)=\"toggleStatus('beklemede')\">\r\n <i class=\"fa fa-clock\"></i> Beklemede\r\n </span>\r\n <span class=\"status-chip processing\" [class.active]=\"activeStatus === 'isleniyor'\"\r\n (click)=\"toggleStatus('isleniyor')\">\r\n <i class=\"fa fa-spinner\"></i> \u0130\u015Fleniyor\r\n </span>\r\n <span class=\"status-chip awaiting\" [class.active]=\"activeStatus === 'onayBekliyor'\"\r\n (click)=\"toggleStatus('onayBekliyor')\">\r\n <i class=\"fa fa-hourglass-half\"></i> Onay Bekliyor\r\n </span>\r\n <span class=\"status-chip completed\" [class.active]=\"activeStatus === 'tamamlandi'\"\r\n (click)=\"toggleStatus('tamamlandi')\">\r\n <i class=\"fa fa-check-circle\"></i> Tamamland\u0131\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--depo\">\r\n <label>Depo</label>\r\n <select [(ngModel)]=\"selectedWarehouse\" class=\"form-select\">\r\n <option value=\"\">T\u00FCm\u00FC</option>\r\n <option *ngFor=\"let wh of warehouses\" [value]=\"wh.WhsCode\">{{ wh.WhsName }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <hr class=\"toolbar-divider\" />\r\n\r\n <!-- Row 3: Action input + related buttons | Reservation | Refresh/Excel -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"action-group\">\r\n <button class=\"btn btn-action-primary btn-sm\" (click)=\"onGorevBaslat()\" [disabled]=\"isGorevBaslatLoading\">\r\n <i class=\"fa fa-plus-circle\"></i> G\u00F6rev Ba\u015Flat\r\n </button>\r\n <button class=\"btn btn-action-approve btn-sm\" (click)=\"onOnayVer()\">\r\n <i class=\"fa fa-thumbs-up\"></i> G\u00F6revi Tamamla\r\n </button>\r\n <button class=\"btn btn-action-danger btn-sm\" (click)=\"onSiparisKapat()\">\r\n <i class=\"fa fa-times-circle\"></i> Sipari\u015F Kapat\r\n </button>\r\n <button class=\"btn btn-action-sync btn-sm\" (click)=\"onDurumGuncelle()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-sync-alt\"></i> Durum G\u00FCncelle\r\n </button>\r\n <button class=\"btn btn-action-info btn-sm\" (click)=\"onBosKasaGetir()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box-open\"></i> Bo\u015F Kasa Getir\r\n </button>\r\n <button class=\"btn btn-action-warning btn-sm\" (click)=\"onYarimKasa()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box\"></i> Yar\u0131m Kasa Getir\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-reservation btn-sm\" (click)=\"onRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Rezervasyon Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-cancel btn-sm\" (click)=\"onRezervasyonSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Rezervasyon Sil\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk btn-sm\" (click)=\"onTopluRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Toplu Rez. Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk-cancel btn-sm\" (click)=\"onTumRezervasyonlariSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Toplu Rez. Sil\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-secondary btn-sm\" (click)=\"onRefresh()\">\r\n <i class=\"fa fa-redo\"></i> Yenile\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Data Grid -->\r\n <div class=\"card orders-grid-card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dxOrdersInstance\r\n [dataSource]=\"ordersDataSource\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [remoteOperations]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n (onRowClick)=\"onRowClick($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event)\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n style=\"height: 60vh\"\r\n >\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[5, 10, 20]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\"\r\n >\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxo-column-chooser\r\n [allowSearch]=\"true\"\r\n [enabled]=\"true\"\r\n mode=\"select\"\r\n ></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"standard\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection\r\n mode=\"multiple\"\r\n showCheckBoxesMode=\"always\"\r\n [allowSelectAll]=\"true\"\r\n ></dxo-selection>\r\n\r\n <dxi-column\r\n dataField=\"DocNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardName\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardName' | abpLocalization }}\"\r\n [width]=\"220\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDueDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDueDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTalepTarihi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTalepTarihi' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWDurum\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWDurum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n cellTemplate=\"swDurumTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWIsError\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWIsError' | abpLocalization }}\"\r\n [width]=\"50\"\r\n cellTemplate=\"errorTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWErrorMessage\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWErrorMessage' | abpLocalization }}\"\r\n [width]=\"260\"\r\n cellTemplate=\"errorMessageTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"OwnerCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:OwnerCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Comments\"\r\n caption=\"{{ 'SmartWarehouse::Order:Comments' | abpLocalization }}\"\r\n [width]=\"200\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWGonderildi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWGonderildi' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWStationCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWStationCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWEyeCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWEyeCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWOrderType\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWOrderType' | abpLocalization }}\"\r\n [width]=\"160\"\r\n cellTemplate=\"orderTypeTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"NumAtCard\"\r\n caption=\"{{ 'SmartWarehouse::Order:NumAtCard' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocCur\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocCur' | abpLocalization }}\"\r\n [width]=\"90\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocStatus\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocStatus' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"statusTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocEntry\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocEntry' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-success': cell.value === 'O',\r\n 'bg-secondary': cell.value === 'C'\r\n }\"\r\n >\r\n {{ cell.value === 'O' ? 'A\u00E7\u0131k' : 'Kapal\u0131' }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'swDurumTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-warning': cell.value === '0' || !cell.value,\r\n 'bg-info': cell.value === '1',\r\n 'bg-primary': cell.value === '2',\r\n 'bg-success': cell.value === '3'\r\n }\"\r\n >\r\n {{\r\n cell.value === '1' ? 'Onay Bekliyor' :\r\n cell.value === '2' ? '\u0130\u015Fleniyor' :\r\n cell.value === '3' ? 'Tamamland\u0131' : 'Beklemede'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorTemplate'\">\r\n <i\r\n *ngIf=\"cell.value === 'Y'\"\r\n class=\"fa fa-exclamation-triangle text-danger\"\r\n [title]=\"cell.data.U_SWErrorMessage\"\r\n ></i>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorMessageTemplate'\">\r\n <span\r\n *ngIf=\"cell.data.U_SWIsError === 'Y'\"\r\n class=\"error-message-cell\"\r\n [title]=\"cell.value\"\r\n >{{ cell.value }}</span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'orderTypeTemplate'\">\r\n <span class=\"badge bg-secondary\">\r\n {{\r\n cell.value === '1' ? 'Sanayi Sipari\u015Fleri' :\r\n cell.value === '2' ? 'Da\u011F\u0131t\u0131m Sipari\u015Fleri' :\r\n cell.value === '3' ? 'Depo Talepleri' : '-'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <!-- Master-Detail: Sipari\u015F Sat\u0131rlar\u0131 -->\r\n <dxo-master-detail [enabled]=\"true\" template=\"orderLinesTemplate\"></dxo-master-detail>\r\n\r\n <div *dxTemplate=\"let detail of 'orderLinesTemplate'\">\r\n <div class=\"p-3\">\r\n <h6 class=\"mb-3\">\r\n <i class=\"fa fa-list me-1\"></i>\r\n {{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}:\r\n {{ detail.data.DocNum }} - Sipari\u015F Sat\u0131rlar\u0131\r\n </h6>\r\n <dx-data-grid\r\n [dataSource]=\"detail.data.DocumentLines\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n >\r\n <dxi-column\r\n dataField=\"LineNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineNum' | abpLocalization }}\"\r\n [width]=\"70\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:ItemCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemDescription\"\r\n caption=\"Kalem Ad\u0131\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Quantity\"\r\n caption=\"{{ 'SmartWarehouse::Order:Quantity' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTeslimMiktar\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTeslimMiktar' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"LineTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"WarehouseCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:WhsCode' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ShipDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:ShipDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SonGorevId\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SonGorevId' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n\r\n <dxo-summary>\r\n <dxi-total-item\r\n column=\"lineTotal\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.00\"\r\n ></dxi-total-item>\r\n <dxi-total-item\r\n column=\"quantity\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.##\"\r\n ></dxi-total-item>\r\n </dxo-summary>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n\r\n <!-- Bo\u015F / Yar\u0131m Kasa Popup -->\r\n <dx-popup\r\n [visible]=\"bosKasaPopupVisible\"\r\n (onHidden)=\"bosKasaPopupVisible = false\"\r\n [width]=\"380\"\r\n [height]=\"'auto'\"\r\n [showTitle]=\"true\"\r\n [title]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa Getir' : 'Yar\u0131m Kasa Getir'\"\r\n [dragEnabled]=\"true\"\r\n [resizeEnabled]=\"false\"\r\n [showCloseButton]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" class=\"p-3\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\u0130stasyon No</label>\r\n <dx-number-box [(value)]=\"bosKasaStationId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Raf No (Shelf ID)</label>\r\n <dx-number-box [(value)]=\"bosKasaShelfId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Kasa Adedi</label>\r\n <dx-number-box [(value)]=\"bosKasaBoxCount\" [min]=\"1\" [max]=\"50\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"d-flex justify-content-end gap-2 mt-3\">\r\n <dx-button text=\"\u0130ptal\" (onClick)=\"bosKasaPopupVisible = false\" type=\"normal\"></dx-button>\r\n <dx-button\r\n [text]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa G\u00F6nder' : 'Yar\u0131m Kasa G\u00F6nder'\"\r\n type=\"default\"\r\n (onClick)=\"onBosKasaGonder()\"\r\n ></dx-button>\r\n </div>\r\n </div>\r\n </dx-popup>\r\n\r\n</abp-page>\r\n", styles: [":host{display:block;max-width:100%;overflow-x:hidden}.orders-toolbar{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000f;max-width:100%;overflow:hidden}.toolbar-divider{border:none;border-top:1px solid #eee;margin:10px 0}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.toolbar-group{display:flex;flex-direction:column;gap:4px}.toolbar-group--durum{margin-left:80px}.toolbar-group--depo{margin-left:auto}.toolbar-group label{font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.toolbar-group select,.toolbar-group input[type=date]{height:36px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px;background:#fff;transition:border-color .15s}.toolbar-group select:focus,.toolbar-group input[type=date]:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-group select{min-width:180px}.radio-group{display:flex;gap:12px;height:36px;align-items:center}.radio-group .form-check{margin:0;padding-left:22px}.radio-group .form-check-label{font-size:13px;cursor:pointer;white-space:nowrap}.status-group{display:flex;gap:10px;align-items:center}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;-webkit-user-select:none;user-select:none}.status-chip.pending{background:#fff9e6;color:#c9a227;border-color:#ffe082}.status-chip.pending.active{background:#ffc107;color:#fff;border-color:#ffc107}.status-chip.processing{background:#e8f0fe;color:#7aadf5;border-color:#a8c8f7}.status-chip.processing.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.status-chip.awaiting{background:#e6f9fc;color:#6ec6d8;border-color:#a0e1ed}.status-chip.awaiting.active{background:#0dcaf0;color:#fff;border-color:#0dcaf0}.status-chip.completed{background:#e8f5e9;color:#6db680;border-color:#a5d6a7}.status-chip.completed.active{background:#198754;color:#fff;border-color:#198754}.status-chip.list-purchase{background:#eef0fa;color:#9aa1d4;border-color:#b3b9e6}.status-chip.list-purchase.active{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.status-chip.list-distribution{background:#fce8ee;color:#e87a9e;border-color:#f0a3bb}.status-chip.list-distribution.active{background:#e91e63;color:#fff;border-color:#e91e63}.status-chip.list-warehouse{background:#e5f5f4;color:#6db5ab;border-color:#a0d4cd}.status-chip.list-warehouse.active{background:#009688;color:#fff;border-color:#009688}.action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-input{width:140px;height:32px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px}.action-input:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-separator{width:1px;height:28px;background:#dee2e6;align-self:center}.reservation-group{display:flex;align-items:center;gap:8px}.toolbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 12px;border-radius:6px;font-weight:500;white-space:nowrap;transition:all .15s}.btn-action-primary{background:#556ee6;color:#fff;border:none}.btn-action-primary:hover{background:#4458cb;color:#fff}.btn-action-success{background:#34c38f;color:#fff;border:none}.btn-action-success:hover{background:#2ca67a;color:#fff}.btn-action-approve{background:#6f42c1;color:#fff;border:none}.btn-action-approve:hover{background:#5a32a3;color:#fff}.btn-action-warning{background:#f1b44c;color:#fff;border:none}.btn-action-warning:hover{background:#d9a043;color:#fff}.btn-action-info{background:#50a5f1;color:#fff;border:none}.btn-action-info:hover{background:#3d8ed8;color:#fff}.btn-action-danger{background:#f46a6a;color:#fff;border:none}.btn-action-danger:hover{background:#e05555;color:#fff}.btn-action-outline{background:transparent;color:#556ee6;border:1px solid #556ee6}.btn-action-outline:hover{background:#556ee6;color:#fff}.btn-action-secondary{background:#74788d;color:#fff;border:none}.btn-action-secondary:hover{background:#5f6373;color:#fff}.btn-action-reservation{background:#7c4dff;color:#fff;border:none}.btn-action-reservation:hover{background:#651fff;color:#fff}.btn-action-reservation:disabled{background:#b39ddb;cursor:not-allowed}.btn-action-reservation-cancel{background:#ff6e40;color:#fff;border:none}.btn-action-reservation-cancel:hover{background:#ff3d00;color:#fff}.btn-action-reservation-cancel:disabled{background:#ffab91;cursor:not-allowed}.btn-action-reservation-bulk{background:#536dfe;color:#fff;border:none}.btn-action-reservation-bulk:hover{background:#304ffe;color:#fff}.btn-action-reservation-bulk:disabled{background:#8c9eff;cursor:not-allowed}.btn-action-reservation-bulk-cancel{background:#ff5252;color:#fff;border:none}.btn-action-reservation-bulk-cancel:hover{background:#ff1744;color:#fff}.btn-action-reservation-bulk-cancel:disabled{background:#ff8a80;cursor:not-allowed}.action-divider{width:1px;height:24px;background:#dee2e6;display:inline-block;vertical-align:middle;margin:0 4px}.orders-grid-card{border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f;overflow:hidden;max-width:100%}.orders-grid-card .card-body{padding:12px;overflow-x:auto}::ng-deep .order-row-error{background-color:#fdecea!important}::ng-deep .order-row-error:hover{background-color:#fbd9d5!important}::ng-deep .error-message-cell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b02a37;font-size:12px}@media (max-width: 1200px){.toolbar-actions{margin-left:0}.radio-group{flex-wrap:wrap;height:auto}.action-group{width:100%}.toolbar-separator{display:none}}@media (max-width: 992px){.toolbar-group--durum,.toolbar-group--depo{margin-left:0}.toolbar-row{gap:12px}.toolbar-group select{min-width:0}.status-group{flex-wrap:wrap;gap:6px}.reservation-group{flex-wrap:wrap}}@media (max-width: 768px){.orders-toolbar{padding:12px}.toolbar-row{flex-direction:column;align-items:stretch;gap:10px}.toolbar-group,.toolbar-group select,.toolbar-group input[type=date]{width:100%}.radio-group{flex-direction:column;align-items:flex-start;gap:8px}.status-group{flex-wrap:wrap;gap:6px}.status-chip{font-size:11px;padding:3px 10px}.action-group,.reservation-group,.toolbar-actions{flex-wrap:wrap;gap:6px}.action-divider{display:none}.action-input{width:100%}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{flex:1 1 calc(50% - 6px);justify-content:center}.status-chip{font-size:10px;padding:2px 8px}}\n"] }]
797
+ args: [{ selector: 'lib-orders', template: "<abp-page [title]=\"'SmartWarehouse::Orders' | abpLocalization\">\r\n\r\n <!-- Toolbar -->\r\n <div class=\"orders-toolbar\">\r\n <!-- Row 1: Filters -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"toolbar-group\">\r\n <label>Sipari\u015F Grubu</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip list-purchase\" [class.active]=\"activeListType === '1'\"\r\n (click)=\"toggleListType('1')\">\r\n <i class=\"fa fa-shopping-cart\"></i> Sanayi Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-distribution\" [class.active]=\"activeListType === '2'\"\r\n (click)=\"toggleListType('2')\">\r\n <i class=\"fa fa-truck\"></i> Da\u011F\u0131t\u0131m Sipari\u015Fleri\r\n </span>\r\n <span class=\"status-chip list-warehouse\" [class.active]=\"activeListType === '3'\"\r\n (click)=\"toggleListType('3')\">\r\n <i class=\"fa fa-warehouse\"></i> Depo Talepleri\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--durum\">\r\n <label>Durum</label>\r\n <div class=\"status-group\">\r\n <span class=\"status-chip pending\" [class.active]=\"activeStatus === 'beklemede'\"\r\n (click)=\"toggleStatus('beklemede')\">\r\n <i class=\"fa fa-clock\"></i> Beklemede\r\n </span>\r\n <span class=\"status-chip processing\" [class.active]=\"activeStatus === 'isleniyor'\"\r\n (click)=\"toggleStatus('isleniyor')\">\r\n <i class=\"fa fa-spinner\"></i> \u0130\u015Fleniyor\r\n </span>\r\n <span class=\"status-chip awaiting\" [class.active]=\"activeStatus === 'onayBekliyor'\"\r\n (click)=\"toggleStatus('onayBekliyor')\">\r\n <i class=\"fa fa-hourglass-half\"></i> Onay Bekliyor\r\n </span>\r\n <span class=\"status-chip completed\" [class.active]=\"activeStatus === 'tamamlandi'\"\r\n (click)=\"toggleStatus('tamamlandi')\">\r\n <i class=\"fa fa-check-circle\"></i> Tamamland\u0131\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"toolbar-group toolbar-group--depo\">\r\n <label>Depo</label>\r\n <select [(ngModel)]=\"selectedWarehouse\" class=\"form-select\">\r\n <option value=\"\">T\u00FCm\u00FC</option>\r\n <option *ngFor=\"let wh of warehouses\" [value]=\"wh.WhsCode\">{{ wh.WhsName }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <hr class=\"toolbar-divider\" />\r\n\r\n <!-- Row 3: Action input + related buttons | Reservation | Refresh/Excel -->\r\n <div class=\"toolbar-row\">\r\n <div class=\"action-group\">\r\n <button class=\"btn btn-action-primary btn-sm\" (click)=\"onGorevBaslat()\" [disabled]=\"isGorevBaslatLoading\">\r\n <i class=\"fa fa-plus-circle\"></i> G\u00F6rev Ba\u015Flat\r\n </button>\r\n <button class=\"btn btn-action-approve btn-sm\" (click)=\"onOnayVer()\"\r\n [disabled]=\"!canOnayVer\" [title]=\"onayVerTooltip\">\r\n <i class=\"fa fa-thumbs-up\"></i> G\u00F6revi Tamamla\r\n </button>\r\n <button class=\"btn btn-action-danger btn-sm\" (click)=\"onSiparisKapat()\"\r\n [disabled]=\"!canSiparisKapat\" [title]=\"siparisKapatTooltip\">\r\n <i class=\"fa fa-times-circle\"></i> Sipari\u015F Kapat\r\n </button>\r\n <button class=\"btn btn-action-sync btn-sm\" (click)=\"onDurumGuncelle()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-sync-alt\"></i> Durum G\u00FCncelle\r\n </button>\r\n <button class=\"btn btn-action-info btn-sm\" (click)=\"onBosKasaGetir()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box-open\"></i> Bo\u015F Kasa Getir\r\n </button>\r\n <button class=\"btn btn-action-warning btn-sm\" (click)=\"onYarimKasa()\" [disabled]=\"isBeeCellLoading\">\r\n <i class=\"fa fa-box\"></i> Yar\u0131m Kasa Getir\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-reservation btn-sm\" (click)=\"onRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Rezervasyon Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-cancel btn-sm\" (click)=\"onRezervasyonSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Rezervasyon Sil\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk btn-sm\" (click)=\"onTopluRezervasyonYap()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-lock\"></i> Toplu Rez. Yap\r\n </button>\r\n <button class=\"btn btn-action-reservation-bulk-cancel btn-sm\" (click)=\"onTumRezervasyonlariSil()\" [disabled]=\"isReservationLoading\">\r\n <i class=\"fa fa-unlock\"></i> Toplu Rez. Sil\r\n </button>\r\n <span class=\"action-divider\"></span>\r\n <button class=\"btn btn-action-secondary btn-sm\" (click)=\"onRefresh()\">\r\n <i class=\"fa fa-redo\"></i> Yenile\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Data Grid -->\r\n <div class=\"card orders-grid-card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dxOrdersInstance\r\n [dataSource]=\"ordersDataSource\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [remoteOperations]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n (onRowClick)=\"onRowClick($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event)\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n style=\"height: 60vh\"\r\n >\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[5, 10, 20]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\"\r\n >\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxo-column-chooser\r\n [allowSearch]=\"true\"\r\n [enabled]=\"true\"\r\n mode=\"select\"\r\n ></dxo-column-chooser>\r\n <dxo-column-fixing [enabled]=\"true\"></dxo-column-fixing>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [allowExportSelectedData]=\"false\"></dxo-export>\r\n <dxo-filter-builder [allowHierarchicalFields]=\"true\"></dxo-filter-builder>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"standard\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection\r\n mode=\"multiple\"\r\n showCheckBoxesMode=\"always\"\r\n [allowSelectAll]=\"true\"\r\n ></dxo-selection>\r\n\r\n <dxi-column\r\n dataField=\"DocNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"CardName\"\r\n caption=\"{{ 'SmartWarehouse::Order:CardName' | abpLocalization }}\"\r\n [width]=\"220\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocDueDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocDueDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTalepTarihi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTalepTarihi' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWDurum\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWDurum' | abpLocalization }}\"\r\n [width]=\"110\"\r\n cellTemplate=\"swDurumTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWIsError\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWIsError' | abpLocalization }}\"\r\n [width]=\"50\"\r\n cellTemplate=\"errorTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWErrorMessage\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWErrorMessage' | abpLocalization }}\"\r\n [width]=\"260\"\r\n cellTemplate=\"errorMessageTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"OwnerCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:OwnerCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Comments\"\r\n caption=\"{{ 'SmartWarehouse::Order:Comments' | abpLocalization }}\"\r\n [width]=\"200\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWGonderildi\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWGonderildi' | abpLocalization }}\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWStationCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWStationCode' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWEyeCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWEyeCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWOrderType\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWOrderType' | abpLocalization }}\"\r\n [width]=\"160\"\r\n cellTemplate=\"orderTypeTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"NumAtCard\"\r\n caption=\"{{ 'SmartWarehouse::Order:NumAtCard' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"130\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocCur\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocCur' | abpLocalization }}\"\r\n [width]=\"90\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocStatus\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocStatus' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"statusTemplate\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"DocEntry\"\r\n caption=\"{{ 'SmartWarehouse::Order:DocEntry' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-success': cell.value === 'O',\r\n 'bg-secondary': cell.value === 'C'\r\n }\"\r\n >\r\n {{ cell.value === 'O' ? 'A\u00E7\u0131k' : 'Kapal\u0131' }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'swDurumTemplate'\">\r\n <span\r\n class=\"badge\"\r\n [ngClass]=\"{\r\n 'bg-warning': cell.value === '0' || !cell.value,\r\n 'bg-info': cell.value === '1',\r\n 'bg-primary': cell.value === '2',\r\n 'bg-success': cell.value === '3'\r\n }\"\r\n >\r\n {{\r\n cell.value === '1' ? 'Onay Bekliyor' :\r\n cell.value === '2' ? '\u0130\u015Fleniyor' :\r\n cell.value === '3' ? 'Tamamland\u0131' : 'Beklemede'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorTemplate'\">\r\n <i\r\n *ngIf=\"cell.value === 'Y'\"\r\n class=\"fa fa-exclamation-triangle text-danger\"\r\n [title]=\"cell.data.U_SWErrorMessage\"\r\n ></i>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'errorMessageTemplate'\">\r\n <span\r\n *ngIf=\"cell.data.U_SWIsError === 'Y'\"\r\n class=\"error-message-cell\"\r\n [title]=\"cell.value\"\r\n >{{ cell.value }}</span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'orderTypeTemplate'\">\r\n <span class=\"badge bg-secondary\">\r\n {{\r\n cell.value === '1' ? 'Sanayi Sipari\u015Fleri' :\r\n cell.value === '2' ? 'Da\u011F\u0131t\u0131m Sipari\u015Fleri' :\r\n cell.value === '3' ? 'Depo Talepleri' : '-'\r\n }}\r\n </span>\r\n </div>\r\n\r\n <!-- Master-Detail: Sipari\u015F Sat\u0131rlar\u0131 -->\r\n <dxo-master-detail [enabled]=\"true\" template=\"orderLinesTemplate\"></dxo-master-detail>\r\n\r\n <div *dxTemplate=\"let detail of 'orderLinesTemplate'\">\r\n <div class=\"p-3\">\r\n <h6 class=\"mb-3\">\r\n <i class=\"fa fa-list me-1\"></i>\r\n {{ 'SmartWarehouse::Order:DocNum' | abpLocalization }}:\r\n {{ detail.data.DocNum }} - Sipari\u015F Sat\u0131rlar\u0131\r\n </h6>\r\n <dx-data-grid\r\n [dataSource]=\"detail.data.DocumentLines\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n >\r\n <dxi-column\r\n dataField=\"LineNum\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineNum' | abpLocalization }}\"\r\n [width]=\"70\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:ItemCode' | abpLocalization }}\"\r\n [width]=\"140\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ItemDescription\"\r\n caption=\"Kalem Ad\u0131\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"Quantity\"\r\n caption=\"{{ 'SmartWarehouse::Order:Quantity' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SWTeslimMiktar\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SWTeslimMiktar' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.##\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"LineTotal\"\r\n caption=\"{{ 'SmartWarehouse::Order:LineTotal' | abpLocalization }}\"\r\n dataType=\"number\"\r\n format=\"#,##0.00\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"WarehouseCode\"\r\n caption=\"{{ 'SmartWarehouse::Order:WhsCode' | abpLocalization }}\"\r\n [width]=\"100\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"ShipDate\"\r\n caption=\"{{ 'SmartWarehouse::Order:ShipDate' | abpLocalization }}\"\r\n dataType=\"date\"\r\n format=\"dd.MM.yyyy\"\r\n [width]=\"110\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"U_SonGorevId\"\r\n caption=\"{{ 'SmartWarehouse::Order:U_SonGorevId' | abpLocalization }}\"\r\n [width]=\"120\"\r\n ></dxi-column>\r\n\r\n <dxo-summary>\r\n <dxi-total-item\r\n column=\"lineTotal\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.00\"\r\n ></dxi-total-item>\r\n <dxi-total-item\r\n column=\"quantity\"\r\n summaryType=\"sum\"\r\n displayFormat=\"Toplam: {0}\"\r\n valueFormat=\"#,##0.##\"\r\n ></dxi-total-item>\r\n </dxo-summary>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n\r\n <!-- Bo\u015F / Yar\u0131m Kasa Popup -->\r\n <dx-popup\r\n [visible]=\"bosKasaPopupVisible\"\r\n (onHidden)=\"bosKasaPopupVisible = false\"\r\n [width]=\"380\"\r\n [height]=\"'auto'\"\r\n [showTitle]=\"true\"\r\n [title]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa Getir' : 'Yar\u0131m Kasa Getir'\"\r\n [dragEnabled]=\"true\"\r\n [resizeEnabled]=\"false\"\r\n [showCloseButton]=\"true\"\r\n [closeOnOutsideClick]=\"false\"\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" class=\"p-3\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\u0130stasyon No</label>\r\n <dx-number-box [(value)]=\"bosKasaStationId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Raf No (Shelf ID)</label>\r\n <dx-number-box [(value)]=\"bosKasaShelfId\" [min]=\"1\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Kasa Adedi</label>\r\n <dx-number-box [(value)]=\"bosKasaBoxCount\" [min]=\"1\" [max]=\"50\" [showSpinButtons]=\"true\"></dx-number-box>\r\n </div>\r\n <div class=\"d-flex justify-content-end gap-2 mt-3\">\r\n <dx-button text=\"\u0130ptal\" (onClick)=\"bosKasaPopupVisible = false\" type=\"normal\"></dx-button>\r\n <dx-button\r\n [text]=\"bosKasaMode === 'empty' ? 'Bo\u015F Kasa G\u00F6nder' : 'Yar\u0131m Kasa G\u00F6nder'\"\r\n type=\"default\"\r\n (onClick)=\"onBosKasaGonder()\"\r\n ></dx-button>\r\n </div>\r\n </div>\r\n </dx-popup>\r\n\r\n</abp-page>\r\n", styles: [":host{display:block;max-width:100%;overflow-x:hidden}.orders-toolbar{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000f;max-width:100%;overflow:hidden}.toolbar-divider{border:none;border-top:1px solid #eee;margin:10px 0}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.toolbar-group{display:flex;flex-direction:column;gap:4px}.toolbar-group--durum{margin-left:80px}.toolbar-group--depo{margin-left:auto}.toolbar-group label{font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.toolbar-group select,.toolbar-group input[type=date]{height:36px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px;background:#fff;transition:border-color .15s}.toolbar-group select:focus,.toolbar-group input[type=date]:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-group select{min-width:180px}.radio-group{display:flex;gap:12px;height:36px;align-items:center}.radio-group .form-check{margin:0;padding-left:22px}.radio-group .form-check-label{font-size:13px;cursor:pointer;white-space:nowrap}.status-group{display:flex;gap:10px;align-items:center}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;-webkit-user-select:none;user-select:none}.status-chip.pending{background:#fff9e6;color:#c9a227;border-color:#ffe082}.status-chip.pending.active{background:#ffc107;color:#fff;border-color:#ffc107}.status-chip.processing{background:#e8f0fe;color:#7aadf5;border-color:#a8c8f7}.status-chip.processing.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.status-chip.awaiting{background:#e6f9fc;color:#6ec6d8;border-color:#a0e1ed}.status-chip.awaiting.active{background:#0dcaf0;color:#fff;border-color:#0dcaf0}.status-chip.completed{background:#e8f5e9;color:#6db680;border-color:#a5d6a7}.status-chip.completed.active{background:#198754;color:#fff;border-color:#198754}.status-chip.list-purchase{background:#eef0fa;color:#9aa1d4;border-color:#b3b9e6}.status-chip.list-purchase.active{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.status-chip.list-distribution{background:#fce8ee;color:#e87a9e;border-color:#f0a3bb}.status-chip.list-distribution.active{background:#e91e63;color:#fff;border-color:#e91e63}.status-chip.list-warehouse{background:#e5f5f4;color:#6db5ab;border-color:#a0d4cd}.status-chip.list-warehouse.active{background:#009688;color:#fff;border-color:#009688}.action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-input{width:140px;height:32px;border:1px solid #ced4da;border-radius:6px;padding:0 10px;font-size:13px}.action-input:focus{border-color:#556ee6;outline:none;box-shadow:0 0 0 2px #556ee626}.toolbar-separator{width:1px;height:28px;background:#dee2e6;align-self:center}.reservation-group{display:flex;align-items:center;gap:8px}.toolbar-actions{display:flex;gap:8px;margin-left:auto;align-items:center}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 12px;border-radius:6px;font-weight:500;white-space:nowrap;transition:all .15s}.btn-action-primary{background:#556ee6;color:#fff;border:none}.btn-action-primary:hover{background:#4458cb;color:#fff}.btn-action-success{background:#34c38f;color:#fff;border:none}.btn-action-success:hover{background:#2ca67a;color:#fff}.btn-action-approve{background:#6f42c1;color:#fff;border:none}.btn-action-approve:hover{background:#5a32a3;color:#fff}.btn-action-warning{background:#f1b44c;color:#fff;border:none}.btn-action-warning:hover{background:#d9a043;color:#fff}.btn-action-info{background:#50a5f1;color:#fff;border:none}.btn-action-info:hover{background:#3d8ed8;color:#fff}.btn-action-danger{background:#f46a6a;color:#fff;border:none}.btn-action-danger:hover{background:#e05555;color:#fff}.btn-action-outline{background:transparent;color:#556ee6;border:1px solid #556ee6}.btn-action-outline:hover{background:#556ee6;color:#fff}.btn-action-secondary{background:#74788d;color:#fff;border:none}.btn-action-secondary:hover{background:#5f6373;color:#fff}.btn-action-reservation{background:#7c4dff;color:#fff;border:none}.btn-action-reservation:hover{background:#651fff;color:#fff}.btn-action-reservation:disabled{background:#b39ddb;cursor:not-allowed}.btn-action-reservation-cancel{background:#ff6e40;color:#fff;border:none}.btn-action-reservation-cancel:hover{background:#ff3d00;color:#fff}.btn-action-reservation-cancel:disabled{background:#ffab91;cursor:not-allowed}.btn-action-reservation-bulk{background:#536dfe;color:#fff;border:none}.btn-action-reservation-bulk:hover{background:#304ffe;color:#fff}.btn-action-reservation-bulk:disabled{background:#8c9eff;cursor:not-allowed}.btn-action-reservation-bulk-cancel{background:#ff5252;color:#fff;border:none}.btn-action-reservation-bulk-cancel:hover{background:#ff1744;color:#fff}.btn-action-reservation-bulk-cancel:disabled{background:#ff8a80;cursor:not-allowed}.action-divider{width:1px;height:24px;background:#dee2e6;display:inline-block;vertical-align:middle;margin:0 4px}.orders-grid-card{border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f;overflow:hidden;max-width:100%}.orders-grid-card .card-body{padding:12px;overflow-x:auto}::ng-deep .order-row-error{background-color:#fdecea!important}::ng-deep .order-row-error:hover{background-color:#fbd9d5!important}::ng-deep .error-message-cell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b02a37;font-size:12px}@media (max-width: 1200px){.toolbar-actions{margin-left:0}.radio-group{flex-wrap:wrap;height:auto}.action-group{width:100%}.toolbar-separator{display:none}}@media (max-width: 992px){.toolbar-group--durum,.toolbar-group--depo{margin-left:0}.toolbar-row{gap:12px}.toolbar-group select{min-width:0}.status-group{flex-wrap:wrap;gap:6px}.reservation-group{flex-wrap:wrap}}@media (max-width: 768px){.orders-toolbar{padding:12px}.toolbar-row{flex-direction:column;align-items:stretch;gap:10px}.toolbar-group,.toolbar-group select,.toolbar-group input[type=date]{width:100%}.radio-group{flex-direction:column;align-items:flex-start;gap:8px}.status-group{flex-wrap:wrap;gap:6px}.status-chip{font-size:11px;padding:3px 10px}.action-group,.reservation-group,.toolbar-actions{flex-wrap:wrap;gap:6px}.action-divider{display:none}.action-input{width:100%}.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.action-group .btn,.reservation-group .btn,.toolbar-actions .btn{flex:1 1 calc(50% - 6px);justify-content:center}.status-chip{font-size:10px;padding:2px 8px}}\n"] }]
721
798
  }], ctorParameters: function () { return [{ type: OrderService }, { type: WarehouseService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; }, propDecorators: { dxOrdersInstance: [{
722
799
  type: ViewChild,
723
800
  args: ['dxOrdersInstance', { static: false }]