Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -213,6 +213,7 @@ import { computed, onMounted, ref, watch } from 'vue'
|
|||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar'
|
||||||
import { useOrderProductionItemStore } from 'src/stores/OrderProductionItemStore'
|
import { useOrderProductionItemStore } from 'src/stores/OrderProductionItemStore'
|
||||||
|
import api from 'src/services/api'
|
||||||
import { normalizeSearchText } from 'src/utils/searchText'
|
import { normalizeSearchText } from 'src/utils/searchText'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
@@ -436,6 +437,63 @@ function collectLinesFromRows (selectedRows) {
|
|||||||
return { errMsg: '', lines }
|
return { errMsg: '', lines }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildMailLineLabelFromRow (row) {
|
||||||
|
const item = String(row?.NewItemCode || row?.OldItemCode || '').trim().toUpperCase()
|
||||||
|
const color1 = String(row?.NewColor || row?.OldColor || '').trim().toUpperCase()
|
||||||
|
const color2 = String(row?.NewDim2 || row?.OldDim2 || '').trim().toUpperCase()
|
||||||
|
const desc = String(row?.NewDesc || row?.OldDesc || '').trim()
|
||||||
|
|
||||||
|
if (!item) return ''
|
||||||
|
const colorPart = color2 ? `${color1}-${color2}` : color1
|
||||||
|
return [item, colorPart, desc].filter(Boolean).join(' ')
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildProductionUpdateMailPayload (selectedRows) {
|
||||||
|
const updatedItems = [
|
||||||
|
...new Set(
|
||||||
|
(selectedRows || [])
|
||||||
|
.map(buildMailLineLabelFromRow)
|
||||||
|
.filter(Boolean)
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
return {
|
||||||
|
operation: 'update',
|
||||||
|
deletedItems: [],
|
||||||
|
updatedItems,
|
||||||
|
addedItems: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sendUpdateMailAfterApply (selectedRows) {
|
||||||
|
const orderId = String(orderHeaderID.value || '').trim()
|
||||||
|
if (!orderId) return
|
||||||
|
|
||||||
|
try {
|
||||||
|
const payload = buildProductionUpdateMailPayload(selectedRows)
|
||||||
|
const res = await api.post('/order/send-market-mail', {
|
||||||
|
orderHeaderID: orderId,
|
||||||
|
operation: payload.operation,
|
||||||
|
deletedItems: payload.deletedItems,
|
||||||
|
updatedItems: payload.updatedItems,
|
||||||
|
addedItems: payload.addedItems
|
||||||
|
})
|
||||||
|
|
||||||
|
const sentCount = Number(res?.data?.sentCount || 0)
|
||||||
|
$q.notify({
|
||||||
|
type: 'positive',
|
||||||
|
message: sentCount > 0
|
||||||
|
? `Guncelleme maili gonderildi (${sentCount} alici)`
|
||||||
|
: 'Guncelleme maili gonderildi'
|
||||||
|
})
|
||||||
|
} catch (err) {
|
||||||
|
$q.notify({
|
||||||
|
type: 'warning',
|
||||||
|
message: 'Guncelleme kaydedildi, mail gonderilemedi.'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function buildGroupKey (item) {
|
function buildGroupKey (item) {
|
||||||
const parts = [
|
const parts = [
|
||||||
String(item?.OldItemCode || '').trim(),
|
String(item?.OldItemCode || '').trim(),
|
||||||
@@ -549,6 +607,7 @@ async function onBulkSubmit () {
|
|||||||
await store.applyUpdates(orderHeaderID.value, lines, true)
|
await store.applyUpdates(orderHeaderID.value, lines, true)
|
||||||
await store.fetchItems(orderHeaderID.value)
|
await store.fetchItems(orderHeaderID.value)
|
||||||
selectedMap.value = {}
|
selectedMap.value = {}
|
||||||
|
await sendUpdateMailAfterApply(selectedRows)
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -556,6 +615,7 @@ async function onBulkSubmit () {
|
|||||||
await store.applyUpdates(orderHeaderID.value, lines, false)
|
await store.applyUpdates(orderHeaderID.value, lines, false)
|
||||||
await store.fetchItems(orderHeaderID.value)
|
await store.fetchItems(orderHeaderID.value)
|
||||||
selectedMap.value = {}
|
selectedMap.value = {}
|
||||||
|
await sendUpdateMailAfterApply(selectedRows)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('[OrderProductionUpdate] onBulkSubmit failed', {
|
console.error('[OrderProductionUpdate] onBulkSubmit failed', {
|
||||||
orderHeaderID: orderHeaderID.value,
|
orderHeaderID: orderHeaderID.value,
|
||||||
|
|||||||
Reference in New Issue
Block a user