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