Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -668,6 +668,77 @@ export const useOrderEntryStore = defineStore('orderentry', {
|
||||
}
|
||||
,
|
||||
|
||||
async bulkUpdateOrderLineDueDate(orderId, dueDate) {
|
||||
const id = String(orderId || this.header?.OrderHeaderID || '').trim()
|
||||
const dateText = String(dueDate || '').trim()
|
||||
if (!id) {
|
||||
throw new Error('Siparis ID bulunamadi')
|
||||
}
|
||||
if (!dateText) {
|
||||
throw new Error('Termin tarihi secilmedi')
|
||||
}
|
||||
|
||||
try {
|
||||
this.loading = true
|
||||
const res = await api.post(`/order/${encodeURIComponent(id)}/bulk-due-date`, {
|
||||
dueDate: dateText
|
||||
})
|
||||
return res?.data || {}
|
||||
} catch (err) {
|
||||
const detail = await extractApiErrorDetail(err)
|
||||
const status = err?.status || err?.response?.status || '-'
|
||||
console.error(`❌ bulkUpdateOrderLineDueDate hata [${status}] order=${id}: ${detail}`)
|
||||
throw new Error(detail)
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
,
|
||||
|
||||
applyBulkLineDueDateLocally(dueDate) {
|
||||
const dateText = String(dueDate || '').trim()
|
||||
if (!dateText) return
|
||||
|
||||
const hadUnsavedChanges = this.hasUnsavedChanges
|
||||
const patchRow = (row) => ({
|
||||
...row,
|
||||
terminTarihi: dateText,
|
||||
DueDate: dateText,
|
||||
DeliveryDate: dateText,
|
||||
PlannedDateOfLading: dateText
|
||||
})
|
||||
|
||||
this.orders = Array.isArray(this.orders)
|
||||
? this.orders.map(patchRow)
|
||||
: []
|
||||
|
||||
this.summaryRows = Array.isArray(this.summaryRows)
|
||||
? this.summaryRows.map(patchRow)
|
||||
: []
|
||||
|
||||
this.header = {
|
||||
...(this.header || {}),
|
||||
AverageDueDate: dateText
|
||||
}
|
||||
|
||||
if (this.originalHeader && typeof this.originalHeader === 'object') {
|
||||
this.originalHeader = {
|
||||
...this.originalHeader,
|
||||
AverageDueDate: dateText
|
||||
}
|
||||
}
|
||||
|
||||
if (Array.isArray(this.originalLines)) {
|
||||
this.originalLines = this.originalLines.map(patchRow)
|
||||
}
|
||||
|
||||
this.persistLocalStorage?.()
|
||||
if (!hadUnsavedChanges) {
|
||||
this.markAsSaved?.()
|
||||
}
|
||||
}
|
||||
,
|
||||
|
||||
async downloadOrderPdf(id = null) {
|
||||
try {
|
||||
const orderId = id || this.header?.OrderHeaderID
|
||||
@@ -3216,6 +3287,7 @@ export const useOrderEntryStore = defineStore('orderentry', {
|
||||
if (!serverOrderId) {
|
||||
throw new Error('OrderHeaderID backend’den dönmedi')
|
||||
}
|
||||
const mailPayload = this.buildOrderMailPayload(lines, isNew)
|
||||
purgeNewDraftOnExit = isNew
|
||||
|
||||
/* =======================================================
|
||||
@@ -3275,7 +3347,6 @@ export const useOrderEntryStore = defineStore('orderentry', {
|
||||
|
||||
// 📧 Piyasa eşleşen alıcılara sipariş PDF gönderimi (kayıt başarılı olduktan sonra)
|
||||
try {
|
||||
const mailPayload = this.buildOrderMailPayload(lines, isNew)
|
||||
// UPDATE durumunda da mail gönderimi istendiği için isNew kontrolü kaldırıldı (v3.5)
|
||||
const mailRes = await this.sendOrderToMarketMails(serverOrderId, mailPayload)
|
||||
const sentCount = Number(mailRes?.sentCount || 0)
|
||||
|
||||
Reference in New Issue
Block a user