Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-03-24 08:59:36 +03:00
parent efdd11a2a7
commit 196e42394a
2 changed files with 29 additions and 9 deletions

View File

@@ -1088,6 +1088,7 @@ const form = reactive({
drop: '', drop: '',
kategori: '', kategori: '',
askiliyan: '', askiliyan: '',
yetiskinGarson: '',
seri: '', seri: '',
bedenLabels: [], bedenLabels: [],
bedenler: [], bedenler: [],
@@ -1233,6 +1234,7 @@ async function resetEditor(force = false) {
urunIcerik: '', urunIcerik: '',
drop: '', drop: '',
askiliyan: '', askiliyan: '',
yetiskinGarson: '',
adet: 0, adet: 0,
fiyat: 0, fiyat: 0,
@@ -2661,6 +2663,7 @@ async function onModelChange(modelCode) {
drop: d.Drop || '', drop: d.Drop || '',
kategori: d.Kategori || '', kategori: d.Kategori || '',
askiliyan: d.AskiliYan || '', askiliyan: d.AskiliYan || '',
yetiskinGarson: d.YETISKIN_GARSON || d.YetiskinGarson || d.AskiliYan || '',
aciklama: keep.aciklama, aciklama: keep.aciklama,
fiyat: keep.fiyat, fiyat: keep.fiyat,
adet: keep.adet, adet: keep.adet,
@@ -2678,7 +2681,7 @@ async function onModelChange(modelCode) {
null, null,
form.urunAnaGrubu, form.urunAnaGrubu,
form.kategori || form.urunAltGrubu, form.kategori || form.urunAltGrubu,
form.askiliyan form.yetiskinGarson || form.askiliyan
) )
} catch (e) { } catch (e) {
console.warn('⚠️ detectBedenGroup hata:', e) console.warn('⚠️ detectBedenGroup hata:', e)
@@ -2696,7 +2699,7 @@ async function onModelChange(modelCode) {
.replace(/[\u0300-\u036f]/g, '') .replace(/[\u0300-\u036f]/g, '')
.toLowerCase() .toLowerCase()
.trim() .trim()
const ygN = String(form.askiliyan || '') const ygN = String(form.yetiskinGarson || form.askiliyan || '')
.normalize('NFD') .normalize('NFD')
.replace(/[\u0300-\u036f]/g, '') .replace(/[\u0300-\u036f]/g, '')
.toLowerCase() .toLowerCase()
@@ -2975,8 +2978,8 @@ async function loadOrderInventory(merge = false) {
// 2⃣ Form bedenlerine göre map oluştur // 2⃣ Form bedenlerine göre map oluştur
const newMap = {} const newMap = {}
for (const lbl of form.bedenLabels || []) { for (const lbl of form.bedenLabels || []) {
const key = lbl?.trim() === '' ? ' ' : lbl.trim() const key = lbl?.trim() === '' ? ' ' : normalizeBedenLabel(lbl)
newMap[lbl] = invMap[key] ?? 0 newMap[lbl] = invMap[key] ?? invMap[lbl] ?? 0
} }
// 3⃣ Merge veya replace // 3⃣ Merge veya replace

View File

@@ -2562,8 +2562,12 @@ export const useOrderEntryStore = defineStore('orderentry', {
} }
const finalStockMap = {} const finalStockMap = {}
for (const lbl of form.bedenLabels) { for (const lbl of (form.bedenLabels || [])) {
finalStockMap[lbl] = apiStockMap[lbl] ?? 0 const normalizedLbl =
lbl == null || String(lbl).trim() === ''
? ' '
: normalizeBedenLabel(String(lbl))
finalStockMap[lbl] = apiStockMap[normalizedLbl] ?? apiStockMap[lbl] ?? 0
} }
stockMap.value = { ...finalStockMap } stockMap.value = { ...finalStockMap }
@@ -3138,6 +3142,16 @@ export const useOrderEntryStore = defineStore('orderentry', {
return s return s
} }
// UI'de yas grubu 2/4/6... gösterilir; payload'a 2Y/4Y/6... yazılır.
const toPayloadBeden = (grpKey, v) => {
const base = normBeden(v)
if (!base) return ''
if (grpKey === 'yas' && /^\d+$/.test(base)) {
return `${base}Y`
}
return base
}
/* ========================= /* =========================
USER META USER META
========================== */ ========================== */
@@ -3383,16 +3397,19 @@ export const useOrderEntryStore = defineStore('orderentry', {
const qty = toNum(qtyRaw) const qty = toNum(qtyRaw)
// ✅ payload beden: '' / 'S' / 'M' ... // ✅ UI/combokey için kanonik beden (yas'ta 2/4/6...)
const bedenPayload = normBeden(bedenRaw) const bedenCanonical = normBeden(bedenRaw)
// ✅ payload beden: yas grubunda 2Y/4Y/6..., diğerlerinde normal
const bedenPayload = toPayloadBeden(grpKey, bedenRaw)
// ✅ combokey beden: boşsa '_' ile stabil kalsın // ✅ combokey beden: boşsa '_' ile stabil kalsın
const bedenKey = bedenPayload || '_' const bedenKey = bedenCanonical || '_'
let orderLineId = '' let orderLineId = ''
if (this.mode === 'edit') { if (this.mode === 'edit') {
// lineIdMap anahtarı sizde hangi bedenle tutuluyorsa ikisini de dene // lineIdMap anahtarı sizde hangi bedenle tutuluyorsa ikisini de dene
orderLineId = orderLineId =
safeStr(lineIdMap?.[bedenKey]) || safeStr(lineIdMap?.[bedenKey]) ||
safeStr(lineIdMap?.[bedenCanonical]) ||
safeStr(lineIdMap?.[bedenPayload]) || safeStr(lineIdMap?.[bedenPayload]) ||
safeStr(lineIdMap?.[' ']) || safeStr(lineIdMap?.[' ']) ||
(Object.keys(map).length === 1 (Object.keys(map).length === 1