Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-03-23 10:27:34 +03:00
parent e6e79f8ef4
commit 436d25e2fb
2 changed files with 61 additions and 52 deletions

View File

@@ -808,7 +808,10 @@ export const useOrderEntryStore = defineStore('orderentry', {
localStorage.removeItem(k)
})
localStorage.removeItem(this.getDraftKey)
localStorage.removeItem('bss_active_new_header')
localStorage.removeItem('bss_last_txn')
this.activeNewHeaderId = null
}
@@ -1579,6 +1582,8 @@ export const useOrderEntryStore = defineStore('orderentry', {
clearNewDraft() {
localStorage.removeItem(this.getDraftKey) // ✅
localStorage.removeItem('bss_last_txn')
localStorage.removeItem('bss_active_new_header')
this.activeNewHeaderId = null
console.log('🧹 NEW taslak temizlendi')
}
@@ -2553,7 +2558,7 @@ export const useOrderEntryStore = defineStore('orderentry', {
const key =
x.item_dim1_code === null || x.item_dim1_code === ''
? ' '
: String(x.item_dim1_code)
: normalizeBedenLabel(String(x.item_dim1_code))
apiStockMap[key] = Number(x.kullanilabilir_envanter ?? 0)
}
@@ -2710,6 +2715,7 @@ export const useOrderEntryStore = defineStore('orderentry', {
async submitAllReal($q, router, form, summaryRows, productCache) {
let serverOrderId = null
let serverOrderNo = null
let purgeNewDraftOnExit = false
try {
this.loading = true
@@ -2874,6 +2880,7 @@ export const useOrderEntryStore = defineStore('orderentry', {
if (!serverOrderId) {
throw new Error('OrderHeaderID backendden dönmedi')
}
purgeNewDraftOnExit = isNew
/* =======================================================
🔁 MODE SWITCH → EDIT
@@ -3012,6 +3019,11 @@ export const useOrderEntryStore = defineStore('orderentry', {
})
} finally {
// ✅ NEW kaydı başarılıysa taslağı exit noktasında da zorla temizle
if (purgeNewDraftOnExit) {
this.clearNewDraft()
}
// 🔓 Guardlar normale dönsün
this.isControlledSubmit = false
this.loading = false
@@ -3531,6 +3543,13 @@ export function normalizeBedenLabel(v) {
s = s.toUpperCase()
// Yas bedenleri backendte 2Y/4Y/6Y veya 2YAS/2YAŞ gibi gelebilir.
// UI şeması 2/4/6/8/10/12/14 ile çalıştığı için numeric'e indir.
const yasMatch = s.match(/^(\d+)\s*(Y|YAS|YAŞ)$/)
if (yasMatch && yasMatch[1]) {
return yasMatch[1]
}
// Backend parity: normalize common "standard size" aliases.
switch (s) {
case 'STD':