Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -439,6 +439,8 @@ func InitRoutes(pgDB *sql.DB, mssql *sql.DB, ml *mailer.GraphMailer) *mux.Router
|
||||
{"/api/order/update", "POST", "update", http.HandlerFunc(routes.UpdateOrderHandler)},
|
||||
{"/api/order/get/{id}", "GET", "view", routes.GetOrderByIDHandler(mssql)},
|
||||
{"/api/orders/list", "GET", "view", routes.OrderListRoute(mssql)},
|
||||
{"/api/orders/production-list", "GET", "update", routes.OrderProductionListRoute(mssql)},
|
||||
{"/api/orders/production-items/{id}", "GET", "view", routes.OrderProductionItemsRoute(mssql)},
|
||||
{"/api/orders/close-ready", "GET", "update", routes.OrderCloseReadyListRoute(mssql)},
|
||||
{"/api/orders/bulk-close", "POST", "update", routes.OrderBulkCloseRoute(mssql)},
|
||||
{"/api/orders/export", "GET", "export", routes.OrderListExcelRoute(mssql)},
|
||||
|
||||
@@ -21,6 +21,7 @@ type OrderList struct {
|
||||
// ℹ️ Sipariş Durumu
|
||||
CreditableConfirmedDate string `json:"CreditableConfirmedDate"`
|
||||
IsCreditableConfirmed bool `json:"IsCreditableConfirmed"`
|
||||
HasUretimUrunu bool `json:"HasUretimUrunu"`
|
||||
|
||||
// 💱 Para Birimi
|
||||
DocCurrencyCode string `json:"DocCurrencyCode"`
|
||||
|
||||
@@ -1114,8 +1114,9 @@ func UpdateOrder(header models.OrderHeader, lines []models.OrderDetail, user *mo
|
||||
DELETE FROM BAGGI_V3.dbo.trOrderLine
|
||||
WHERE OrderHeaderID=@p1 AND OrderLineID=@p2 AND ISNULL(IsClosed,0)=0
|
||||
`, header.OrderHeaderID, lineID); err != nil {
|
||||
fmt.Printf("[ORDER_UPDATE] hard delete failed, trying soft-close line_id=%s err=%v\n", lineID, err)
|
||||
fmt.Printf("[ORDER_UPDATE] hard delete failed, trying qty-zero soft-close line_id=%s err=%v\n", lineID, err)
|
||||
|
||||
// IsClosed computed olabilir; sadece miktarları sıfırla.
|
||||
if _, err2 := tx.Exec(`
|
||||
UPDATE BAGGI_V3.dbo.trOrderLine
|
||||
SET
|
||||
@@ -1123,12 +1124,11 @@ SET
|
||||
Qty2 = 0,
|
||||
CancelQty1 = 0,
|
||||
CancelQty2 = 0,
|
||||
IsClosed = 1,
|
||||
LastUpdatedUserName = @p1,
|
||||
LastUpdatedDate = @p2
|
||||
WHERE OrderHeaderID=@p3 AND OrderLineID=@p4 AND ISNULL(IsClosed,0)=0
|
||||
`, v3User, now, header.OrderHeaderID, lineID); err2 != nil {
|
||||
return fmt.Errorf("line delete failed line_id=%s: %v; soft-close failed: %w", lineID, err, err2)
|
||||
return fmt.Errorf("line delete failed line_id=%s: %v; qty-zero soft-close failed: %w", lineID, err, err2)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,6 +112,16 @@ SELECT
|
||||
END AS PackedRatePct,
|
||||
|
||||
ISNULL(h.IsCreditableConfirmed,0) AS IsCreditableConfirmed,
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.trOrderLine l2
|
||||
WHERE l2.OrderHeaderID = h.OrderHeaderID
|
||||
AND ISNULL(l2.ItemCode,'') LIKE 'U%%'
|
||||
)
|
||||
THEN CAST(1 AS bit)
|
||||
ELSE CAST(0 AS bit)
|
||||
END AS HasUretimUrunu,
|
||||
ISNULL(h.Description,'') AS Description,
|
||||
|
||||
usd.Rate AS ExchangeRateUSD
|
||||
|
||||
@@ -58,7 +58,7 @@ func OrderListRoute(mssql *sql.DB) http.Handler {
|
||||
count := 0
|
||||
|
||||
// ==================================================
|
||||
// 🧠 SCAN — SQL SELECT ile BİRE BİR (17 kolon)
|
||||
// 🧠 SCAN — SQL SELECT ile BİRE BİR (18 kolon)
|
||||
// ==================================================
|
||||
for rows.Next() {
|
||||
|
||||
@@ -85,9 +85,10 @@ func OrderListRoute(mssql *sql.DB) http.Handler {
|
||||
&o.PackedRatePct, // 14
|
||||
|
||||
&o.IsCreditableConfirmed, // 15
|
||||
&o.Description, // 16
|
||||
&o.HasUretimUrunu, // 16
|
||||
&o.Description, // 17
|
||||
|
||||
&o.ExchangeRateUSD, // 17
|
||||
&o.ExchangeRateUSD, // 18
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
}
|
||||
|
||||
.q-page {
|
||||
margin-top: 5px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
@@ -288,6 +288,11 @@ body {
|
||||
overflow-y: auto;
|
||||
overflow-x: visible;
|
||||
background: #fff;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
/* Quasar header offsetunu sadece order sayfasında sıfırla */
|
||||
.q-page-container .order-page {
|
||||
margin-top: calc(-1 * var(--header-h) - 58px);
|
||||
}
|
||||
|
||||
.body--drawer-left-open .q-page-container {
|
||||
@@ -344,16 +349,33 @@ body {
|
||||
.filter-bar {
|
||||
background: #fafafa;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 12px 24px;
|
||||
padding: 8px 12px;
|
||||
margin-top:0 !important;
|
||||
}
|
||||
.filter-bar .q-field__label {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
line-height: 1.1;
|
||||
font-size: 12px;
|
||||
}
|
||||
.filter-bar .q-field__control,
|
||||
.filter-bar .q-field__native,
|
||||
.filter-bar .q-field__marginal {
|
||||
min-height: 36px;
|
||||
}
|
||||
.filter-bar-desc {
|
||||
padding: 0 12px 6px;
|
||||
background: #fafafa;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
/* 🔹 Save toolbar */
|
||||
.save-toolbar {
|
||||
background: var(--baggi-gold-pale);
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 10px 16px;
|
||||
padding: 6px 10px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
@@ -454,8 +476,9 @@ body {
|
||||
.order-grid-header .total-row {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
justify-content: space-between;
|
||||
justify-content: flex-start;
|
||||
background: #fff59d;
|
||||
grid-column: 7 / -1;
|
||||
}
|
||||
.order-grid-header .total-cell {
|
||||
width: var(--col-adet);
|
||||
@@ -469,6 +492,9 @@ body {
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
}
|
||||
.order-grid-header .total-cell:last-child {
|
||||
width: var(--col-termin);
|
||||
}
|
||||
/* ===========================================================
|
||||
6️⃣ SUB-HEADER (ÜRÜN GRUBU BAR) — TAM HİZALANMIŞ
|
||||
=========================================================== */
|
||||
@@ -614,6 +640,108 @@ body {
|
||||
padding-top: var(--sub-header-h);
|
||||
z-index: 100;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header {
|
||||
--grid-header-h: var(--beden-h);
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .col-fixed {
|
||||
writing-mode: horizontal-tb;
|
||||
transform: none;
|
||||
height: var(--grid-header-h);
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 4px;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .total-cell {
|
||||
writing-mode: horizontal-tb;
|
||||
transform: none;
|
||||
height: var(--grid-header-h);
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 4px;
|
||||
}
|
||||
.order-grid-header.compact {
|
||||
height: var(--beden-h);
|
||||
}
|
||||
.order-grid-header.compact .beden-block {
|
||||
height: var(--beden-h);
|
||||
}
|
||||
.order-grid-header.compact .col-fixed,
|
||||
.order-grid-header.compact .total-cell {
|
||||
writing-mode: horizontal-tb;
|
||||
transform: none;
|
||||
height: var(--beden-h);
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 4px;
|
||||
}
|
||||
.order-grid-header.compact .total-cell {
|
||||
width: var(--col-adet);
|
||||
}
|
||||
.order-grid-header.compact .total-cell:nth-child(2) {
|
||||
width: var(--col-fiyat);
|
||||
}
|
||||
.order-grid-header.compact .total-cell:nth-child(3) {
|
||||
width: var(--col-pb);
|
||||
}
|
||||
.order-grid-header.compact .total-cell:nth-child(4) {
|
||||
width: var(--col-tutar);
|
||||
}
|
||||
.order-grid-header.compact .total-cell:nth-child(5) {
|
||||
width: var(--col-termin);
|
||||
}
|
||||
.order-grid-header.compact .grp-row {
|
||||
height: var(--beden-h);
|
||||
}
|
||||
.order-grid-header.compact .grp-row:not(:first-child) {
|
||||
display: none;
|
||||
}
|
||||
.order-grid-header.compact .grp-title {
|
||||
display: none;
|
||||
}
|
||||
.order-grid-header.compact .grp-row:first-child .grp-title {
|
||||
display: block;
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
padding-right: 4px;
|
||||
}
|
||||
.order-grid-header.compact .grp-body {
|
||||
height: var(--beden-h);
|
||||
align-items: center;
|
||||
}
|
||||
.order-grid-header.compact .grp-cell.hdr {
|
||||
height: var(--beden-h);
|
||||
font-size: 10px;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .grp-title {
|
||||
display: none;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .grp-row {
|
||||
align-items: center;
|
||||
height: var(--beden-h);
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .grp-body {
|
||||
grid-template-rows: var(--beden-h);
|
||||
align-items: center;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .grp-cell.hdr {
|
||||
height: var(--beden-h);
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-header .total-row {
|
||||
align-items: center;
|
||||
}
|
||||
.order-scroll-y.compact-grid-header .order-grid-body {
|
||||
padding-top: var(--sub-header-h);
|
||||
}
|
||||
|
||||
.summary-row {
|
||||
display: grid;
|
||||
@@ -1086,7 +1214,7 @@ body {
|
||||
z-index: 600;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 10px 16px;
|
||||
padding: 6px 10px;
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.06);
|
||||
min-height: var(--ol-filter-h);
|
||||
display: flex;
|
||||
@@ -1309,7 +1437,7 @@ body {
|
||||
z-index: 620;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 10px 16px;
|
||||
padding: 6px 10px;
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.06);
|
||||
}
|
||||
|
||||
@@ -1530,3 +1658,21 @@ body {
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
/* ===========================================================
|
||||
ORDER ENTRY POPUP EDITOR
|
||||
=========================================================== */
|
||||
.order-editor-card {
|
||||
width: 98vw;
|
||||
max-width: 1900px;
|
||||
}
|
||||
.order-editor-card .editor {
|
||||
max-height: 76vh;
|
||||
overflow: auto;
|
||||
}
|
||||
.order-editor-dialog .q-dialog__inner--minimized {
|
||||
max-width: 98vw;
|
||||
}
|
||||
.order-editor-dialog .q-dialog__inner > div {
|
||||
width: 98vw;
|
||||
max-width: 1900px;
|
||||
}
|
||||
|
||||
@@ -209,6 +209,11 @@ const menuItems = [
|
||||
to: '/app/order-gateway',
|
||||
permission: 'order:view'
|
||||
},
|
||||
{
|
||||
label: 'Üretime Verilen Siparişleri Güncelle',
|
||||
to: '/app/orderproductionupdate',
|
||||
permission: 'order:update'
|
||||
},
|
||||
{
|
||||
label: 'Tamamlanan Siparişleri Toplu Kapatma',
|
||||
to: '/app/order-bulk-close',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<!-- ===========================================================
|
||||
🧾 ORDER ENTRY PAGE (BSSApp)
|
||||
v23 — Sticky-stack + Drawer uyumlu yapı
|
||||
@@ -8,10 +8,11 @@
|
||||
class="order-page"
|
||||
>
|
||||
<!-- 🔄 SAYFA LOADERI -->
|
||||
<q-inner-loading :showing="loadingHeader || loadingCari || loadingModels" color="primary">
|
||||
<q-inner-loading :showing="isPageBlocking" color="primary">
|
||||
<q-spinner size="50px" />
|
||||
</q-inner-loading>
|
||||
|
||||
<template v-if="!isPageBlocking">
|
||||
<!-- =======================================================
|
||||
🔹 STICKY STACK (Filter + Save + Header)
|
||||
======================================================== -->
|
||||
@@ -168,8 +169,22 @@
|
||||
</template>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<!-- 📝 Sipariş Genel Açıklaması (filter bar altında) -->
|
||||
<div class="filter-bar-desc q-mt-sm">
|
||||
<q-input
|
||||
v-model="form.Description"
|
||||
type="textarea"
|
||||
label="Sipariş Genel Açıklaması"
|
||||
filled
|
||||
dense
|
||||
autogrow
|
||||
maxlength="1500"
|
||||
counter
|
||||
placeholder="Siparişe genel açıklama giriniz (örn. teslimat, üretim notu, müşteri isteği...)"
|
||||
:disable="isClosedRow"
|
||||
:readonly="isViewOnly"
|
||||
/>
|
||||
</div>
|
||||
<!-- 🔹 Cari Bilgi Barı -->
|
||||
<q-slide-transition>
|
||||
@@ -212,6 +227,14 @@
|
||||
<div class="save-toolbar">
|
||||
<div class="text-subtitle2 text-weight-bold">Sipariş Formu</div>
|
||||
<div>
|
||||
<q-btn
|
||||
flat
|
||||
color="grey-7"
|
||||
class="q-ml-sm"
|
||||
:label="compactGridHeader ? 'BAŞLIK GENİŞLET' : 'BAŞLIK DARALT'"
|
||||
:icon="compactGridHeader ? 'unfold_more' : 'unfold_less'"
|
||||
@click="compactGridHeader = !compactGridHeader"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="isViewOnly && canExportOrder"
|
||||
label="🖨 SİPARİŞİ YAZDIR"
|
||||
@@ -222,7 +245,16 @@
|
||||
/>
|
||||
|
||||
<q-btn
|
||||
v-else-if="canSubmitOrder"
|
||||
v-if="canMutateRows"
|
||||
label="SATIR EKLE"
|
||||
color="secondary"
|
||||
icon="add"
|
||||
class="q-ml-sm"
|
||||
@click="openNewRowEditor"
|
||||
:disable="isClosedRow || isViewOnly || !canMutateRows"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="canSubmitOrder"
|
||||
:label="isEditMode ? 'TÜMÜNÜ GÜNCELLE' : 'TÜMÜNÜ KAYDET'"
|
||||
color="primary"
|
||||
icon="save"
|
||||
@@ -231,24 +263,15 @@
|
||||
:disable="!canSubmitOrder"
|
||||
@click="confirmAndSubmit"
|
||||
/>
|
||||
<q-btn
|
||||
label="YENİ SİPARİŞ"
|
||||
v-if="canWriteOrder"
|
||||
color="secondary"
|
||||
icon="add_circle"
|
||||
class="q-ml-sm"
|
||||
@click="onResetEditorClick"
|
||||
:disable="isClosedRow || !canWriteOrder"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 🔹 Grid Header -->
|
||||
<div class="order-grid-header">
|
||||
<div class="order-grid-header" :class="{ compact: compactGridHeader }">
|
||||
<div class="col-fixed model">MODEL</div>
|
||||
<div class="col-fixed renk">RENK</div>
|
||||
<div class="col-fixed ana">ÜRÜN ANA<br />GRUBU</div>
|
||||
<div class="col-fixed alt">ÜRÜN ALT<br />GRUBU</div>
|
||||
<div class="col-fixed ana">ÜRÜN ANA GRUBU</div>
|
||||
<div class="col-fixed alt">ÜRÜN ALT GRUBU</div>
|
||||
<div class="col-fixed aciklama-col">AÇIKLAMA</div>
|
||||
|
||||
<div class="beden-block">
|
||||
@@ -289,7 +312,7 @@
|
||||
<!-- =======================================================
|
||||
🔹 GRID BODY (Final Stabil) + EDITOR aynı scroll’da
|
||||
======================================================== -->
|
||||
<div class="order-scroll-y"> <!-- ✅ YENİ: Grid + Editor ortak dikey scroll -->
|
||||
<div class="order-scroll-y" :class="{ 'compact-grid-header': compactGridHeader }"> <!-- ✅ YENİ: Grid + Editor ortak dikey scroll -->
|
||||
<div class="order-grid-body">
|
||||
<template v-for="grp in groupedRows" :key="grp.name">
|
||||
<div :class="['summary-group', grp.open ? 'open' : 'closed']">
|
||||
@@ -424,7 +447,24 @@
|
||||
<!-- =======================================================
|
||||
🔹 SATIR DÜZENLEYİCİ FORM (EDITOR)
|
||||
======================================================== -->
|
||||
<div class="editor q-mt-lg q-pa-sm">
|
||||
<q-dialog
|
||||
v-model="showEditor"
|
||||
class="order-editor-dialog"
|
||||
:maximized="$q.screen.lt.md"
|
||||
full-width
|
||||
transition-show="jump-down"
|
||||
transition-hide="jump-up"
|
||||
persistent
|
||||
>
|
||||
<q-card class="order-editor-card">
|
||||
<q-card-section class="row items-center justify-between">
|
||||
<div class="text-subtitle1 text-weight-bold">
|
||||
{{ isEditing ? 'Satır Düzenle' : 'Yeni Satır' }}
|
||||
</div>
|
||||
<q-btn flat round icon="close" @click="showEditor = false" />
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-section class="editor q-pa-sm">
|
||||
|
||||
<!-- 🔸 1. Satır: Model ve Ürün Bilgileri -->
|
||||
<div class="row q-col-gutter-sm q-mb-sm">
|
||||
@@ -717,28 +757,11 @@
|
||||
butonuna basarak işlemleri kaydedebilirsiniz.
|
||||
</div>
|
||||
|
||||
<!-- =======================================================
|
||||
🔹 SİPARİŞ GENEL AÇIKLAMASI
|
||||
======================================================== -->
|
||||
<div class="row q-mt-md">
|
||||
<div class="col-12">
|
||||
<q-input
|
||||
v-model="form.Description"
|
||||
type="textarea"
|
||||
label="Sipariş Genel Açıklaması"
|
||||
filled
|
||||
dense
|
||||
autogrow
|
||||
maxlength="1500"
|
||||
counter
|
||||
placeholder="Siparişe genel açıklama giriniz (örn. teslimat, üretim notu, müşteri isteği...)"
|
||||
:disable="isClosedRow"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- editor -->
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
</div> <!-- ✅ order-scroll-y -->
|
||||
</template>
|
||||
|
||||
</q-page>
|
||||
<q-page
|
||||
@@ -777,6 +800,8 @@ const canExportOrder = canExport('order')
|
||||
const formatDate = formatDateDisplay
|
||||
|
||||
|
||||
const showEditor = ref(false)
|
||||
const compactGridHeader = ref(false)
|
||||
|
||||
|
||||
|
||||
@@ -1094,6 +1119,16 @@ const seriMultiplier = ref(1)
|
||||
const loadingHeader = ref(true)
|
||||
const loadingCari = ref(true)
|
||||
const loadingModels = ref(true)
|
||||
const isPageBlocking = computed(() => {
|
||||
if (!isEditMode.value) return false
|
||||
const headerReady = !!orderStore.header
|
||||
return (
|
||||
loadingHeader.value ||
|
||||
loadingCari.value ||
|
||||
loadingModels.value ||
|
||||
!headerReady
|
||||
)
|
||||
})
|
||||
/* ===========================================================
|
||||
🔹 CARİ INFO STATE
|
||||
=========================================================== */
|
||||
@@ -2346,11 +2381,22 @@ const editRow = async (row) => {
|
||||
notify: true,
|
||||
loadSizes: true
|
||||
})
|
||||
showEditor.value = true
|
||||
} catch (err) {
|
||||
console.error('❌ editRow hata:', err)
|
||||
}
|
||||
}
|
||||
|
||||
const openNewRowEditor = async () => {
|
||||
if (!hasRowMutationPermission()) {
|
||||
notifyNoPermission('Siparis satiri ekleme/guncelleme yetkiniz yok')
|
||||
return
|
||||
}
|
||||
|
||||
await resetEditor(true)
|
||||
showEditor.value = true
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2765,6 +2811,7 @@ const onSaveOrUpdateRow = async () => {
|
||||
stockMap,
|
||||
$q
|
||||
})
|
||||
showEditor.value = false
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -126,6 +126,13 @@
|
||||
</q-icon>
|
||||
</q-td>
|
||||
</template>
|
||||
<template #body-cell-HasUretimUrunu="props">
|
||||
<q-td :props="props" class="text-left">
|
||||
<span v-if="props.row.HasUretimUrunu" class="text-weight-bold text-negative">
|
||||
ÜRETİME VERİLECEK ÜRÜNÜ VAR
|
||||
</span>
|
||||
</q-td>
|
||||
</template>
|
||||
|
||||
<template #body-cell-OrderDate="props">
|
||||
<q-td :props="props" class="text-center">
|
||||
@@ -366,6 +373,7 @@ const columns = [
|
||||
format: val => Number(val || 0).toLocaleString('tr-TR', { minimumFractionDigits: 2 }) + ' %'
|
||||
},
|
||||
{ name: 'IsCreditableConfirmed', label: 'Durum', field: 'IsCreditableConfirmed', align: 'center', sortable: true },
|
||||
{ name: 'HasUretimUrunu', label: 'Üretim', field: 'HasUretimUrunu', align: 'left', sortable: true, style: 'min-width:190px;white-space:nowrap', headerStyle: 'min-width:190px;white-space:nowrap' },
|
||||
{ name: 'Description', label: 'Açıklama', field: 'Description', align: 'left', sortable: false, classes: 'ol-col-desc', headerClasses: 'ol-col-desc', style: 'width:160px;max-width:160px', headerStyle: 'width:160px;max-width:160px' },
|
||||
{ name: 'pdf', label: 'PDF', field: 'pdf', align: 'center', sortable: false }
|
||||
]
|
||||
|
||||
@@ -242,6 +242,20 @@ const routes = [
|
||||
meta: { permission: 'order:view' }
|
||||
},
|
||||
|
||||
{
|
||||
path: 'orderproductionupdate',
|
||||
name: 'orderproductionupdate-list',
|
||||
component: () => import('pages/OrderProductionUpdateList.vue'),
|
||||
meta: { permission: 'order:update' }
|
||||
},
|
||||
{
|
||||
path: 'orderproductionupdate/:orderHeaderID',
|
||||
name: 'orderproductionupdate',
|
||||
component: () => import('pages/OrderProductionUpdate.vue'),
|
||||
props: true,
|
||||
meta: { permission: 'order:update' }
|
||||
},
|
||||
|
||||
{
|
||||
path: 'order-bulk-close',
|
||||
name: 'order-bulk-close',
|
||||
|
||||
@@ -43,11 +43,11 @@ export function buildComboKey(row, beden) {
|
||||
|
||||
|
||||
export const BEDEN_SCHEMA = [
|
||||
{ key: 'tak', title: 'TAKIM ELBISE', values: ['44','46','48','50','52','54','56','58','60','62','64','66','68','70','72','74'] },
|
||||
{ key: 'ayk', title: 'AYAKKABI', values: ['39','40','41','42','43','44','45'] },
|
||||
{ key: 'yas', title: 'YAS', values: ['2','4','6','8','10','12','14'] },
|
||||
{ key: 'pan', title: 'PANTOLON', values: ['38','40','42','44','46','48','50','52','54','56','58','60','62','64','66','68'] },
|
||||
{ key: 'gom', title: 'GOMLEK', values: ['XS','S','M','L','XL','2XL','3XL','4XL','5XL','6XL','7XL'] },
|
||||
{ key: 'tak', title: 'TAKIM ELBISE', values: ['44','46','48','50','52','54','56','58','60','62','64','66','68','70','72','74'] },
|
||||
{ key: 'aksbir', title: 'AKSESUAR', values: [' ', '44', 'STD', '110', '115', '120', '125', '130', '135'] }
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user