From b6c04019ba20743757ff9f60651d0d4dbabdaf91 Mon Sep 17 00:00:00 2001 From: Kritkhanin Anantakul <65160144@go.buu.ac.th> Date: Mon, 24 Mar 2025 18:12:08 +0700 Subject: [PATCH] fix priority and stock config store --- src/components/GanttChart/PrioritySetting.vue | 21 +++++++------------ src/components/GanttChart/StockConfig.vue | 8 ++++--- src/services/orderPriority.ts | 9 +++----- src/types/StockConfigDto.ts | 13 +++++------- 4 files changed, 21 insertions(+), 30 deletions(-) diff --git a/src/components/GanttChart/PrioritySetting.vue b/src/components/GanttChart/PrioritySetting.vue index 306101d..239cc59 100644 --- a/src/components/GanttChart/PrioritySetting.vue +++ b/src/components/GanttChart/PrioritySetting.vue @@ -40,13 +40,13 @@ const handleDrop = async (targetOrder: any) => { updatedList.splice(targetIndex, 0, moved); const payload = { - priorities: updatedList.map((order, index) => ({ + configs: updatedList.map((order, index) => ({ id: order.orderPriorityID, priority: index + 1, })), }; - await orderPriorityStore.updateMany(payload); + draggedOrder.value = null; }; </script> @@ -58,15 +58,8 @@ const handleDrop = async (targetOrder: any) => { </p> <transition-group name="list" tag="div"> - <div - v-for="order in orders" - :key="order.id" - class="order-item" - draggable="true" - @dragstart="() => handleDragStart(order)" - @dragover="handleDragOver" - @drop="() => handleDrop(order)" - > + <div v-for="order in orders" :key="order.id" class="order-item" draggable="true" + @dragstart="() => handleDragStart(order)" @dragover="handleDragOver" @drop="() => handleDrop(order)"> {{ order.name }} </div> </transition-group> @@ -99,11 +92,13 @@ const handleDrop = async (targetOrder: any) => { transition: transform 0.3s ease, opacity 0.3s ease; } -.list-enter-active, .list-leave-active { +.list-enter-active, +.list-leave-active { transition: opacity 0.3s, transform 0.3s; } -.list-enter-from, .list-leave-to { +.list-enter-from, +.list-leave-to { opacity: 0; transform: translateY(-10px); } diff --git a/src/components/GanttChart/StockConfig.vue b/src/components/GanttChart/StockConfig.vue index 1d2f0f3..217eeb6 100644 --- a/src/components/GanttChart/StockConfig.vue +++ b/src/components/GanttChart/StockConfig.vue @@ -92,14 +92,16 @@ async function handleDrop(targetConfig) { const [removed] = newConfigs.splice(draggedIndex, 1); newConfigs.splice(targetIndex, 0, removed); - const updatedPayload = newConfigs.map((config, index) => ({ + const updatedPayload = { + configs: newConfigs.map((config, index) => ({ id: config.StockConfigID, priorityLevel: index + 1, targetStockLevel: config.targetStockLevel, status: config.status, - })); + })), +}; - await stockConfigStore.batchUpdateStockConfigs(updatedPayload); +await stockConfigStore.batchUpdateStockConfigs(updatedPayload); stockConfigStore.stockConfigs = newConfigs.map((c, idx) => ({ ...c, diff --git a/src/services/orderPriority.ts b/src/services/orderPriority.ts index ef6d211..a79212f 100644 --- a/src/services/orderPriority.ts +++ b/src/services/orderPriority.ts @@ -12,12 +12,9 @@ export interface UpdateOrderPriorityPayload { } export interface BatchUpdateManyOrderPriorityDto { - pages: { - pageID: number; - configs: { - id: number; - priority: number; - }[]; + configs: { + id: number; + priority: number; }[]; } diff --git a/src/types/StockConfigDto.ts b/src/types/StockConfigDto.ts index 9e5d0cb..2358fc9 100644 --- a/src/types/StockConfigDto.ts +++ b/src/types/StockConfigDto.ts @@ -14,14 +14,11 @@ export interface CreateStockConfigDto { } export interface BatchUpdateManyStockConfigDto { - pages: { - PageID: number; - configs: { - id: number; - priorityLevel?: number; - targetStockLevel?: number; - status?: string; - }[]; + configs: { + id: number; + priorityLevel: number; + targetStockLevel: number; + status: string; }[]; } \ No newline at end of file -- GitLab