Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user