diff --git a/public/images/em001.jpg b/public/images/em001.jpg
deleted file mode 100644
index 97b5ee9790288e9e95d00b2f41db52520d68cec3..0000000000000000000000000000000000000000
Binary files a/public/images/em001.jpg and /dev/null differ
diff --git a/public/images/em002.jpg b/public/images/em002.jpg
deleted file mode 100644
index d139e96544b44dbdf2aa76e2b5fce6f654ae31e4..0000000000000000000000000000000000000000
Binary files a/public/images/em002.jpg and /dev/null differ
diff --git a/public/images/em003.jpg b/public/images/em003.jpg
deleted file mode 100644
index 79b6b0e59dda751c716d5872b0350fa7657e97b0..0000000000000000000000000000000000000000
Binary files a/public/images/em003.jpg and /dev/null differ
diff --git a/public/images/em004.jpg b/public/images/em004.jpg
deleted file mode 100644
index afa5d5204f46c60b12015c5e07112902c2650d83..0000000000000000000000000000000000000000
Binary files a/public/images/em004.jpg and /dev/null differ
diff --git a/public/images/em005.jpg b/public/images/em005.jpg
deleted file mode 100644
index ff5a5cf16f84f7e799dab2b7f0db969931c0b00b..0000000000000000000000000000000000000000
Binary files a/public/images/em005.jpg and /dev/null differ
diff --git a/public/images/em006.jpg b/public/images/em006.jpg
deleted file mode 100644
index 7b7ecdb673c23dc70fbcecb2c39ee04a3ec7cfab..0000000000000000000000000000000000000000
Binary files a/public/images/em006.jpg and /dev/null differ
diff --git a/public/images/em007.jpg b/public/images/em007.jpg
deleted file mode 100644
index cfc2b2a0172c60ebebaa50e490136d36e2495fe8..0000000000000000000000000000000000000000
Binary files a/public/images/em007.jpg and /dev/null differ
diff --git a/public/images/em008.jpg b/public/images/em008.jpg
deleted file mode 100644
index dfac9897b557c0fad9d8fe4f1e27551b2e716975..0000000000000000000000000000000000000000
Binary files a/public/images/em008.jpg and /dev/null differ
diff --git a/src/components/EmployeeSector.vue b/src/components/EmployeeSector.vue
index 120eec05ee429d22aefec2bc9b6f6b7f2ed5fb17..e4e507d11db895b83ae06af52016fec64152f9eb 100644
--- a/src/components/EmployeeSector.vue
+++ b/src/components/EmployeeSector.vue
@@ -2,7 +2,7 @@
     <div class="employee-sector">
         <h3 style="color: black;">เลือกพนักงาน</h3>
         <div class="employee-list">
-            <div v-for="employee in employees" :key="employee.id" class="employee-card" draggable="true"
+            <div v-for="employee in employees" :key="employee.EmployeeID" class="employee-card" draggable="true"
                 @dragstart="onDragStart($event, employee)">
                 <!-- ✅ ปิด Drag Default ของรูปภาพ -->
                 <img :src="employee.image || defaultImage" alt="employee" class="employee-image" @dragstart.prevent />
@@ -14,26 +14,29 @@
 
 <script setup lang="ts">
 import type { Employee } from '@/types/Employee'
-import { ref } from 'vue'
+import { ref, onMounted } from 'vue'
+import { listEmployees } from '@/services/employee'; // ✅ import API
 
-// ข้อมูลพนักงาน Mock (ยังไม่เชื่อม API)
-const employees = ref<Employee[]>([
-    { id: 1, name: 'นก', gender: 'female', image: 'images/em001.jpg', tel: '0812345678', dailyWageRate: 450 },
-    { id: 2, name: 'เจน', gender: 'female', image: 'images/em002.jpg', tel: '0823456789', dailyWageRate: 450 },
-    { id: 3, name: 'เจม', gender: 'male', image: 'images/em003.jpg', tel: '0834567890', dailyWageRate: 450 },
-    { id: 4, name: 'แอน', gender: 'female', image: 'images/em004.jpg', tel: '0845678901', dailyWageRate: 450 },
-    { id: 5, name: 'พิมาย', gender: 'others', image: 'images/em005.jpg', tel: '0856789012', dailyWageRate: 450 },
-    { id: 6, name: 'น้อง', gender: 'male', image: 'images/em006.jpg', tel: '0867890123', dailyWageRate: 450 },
-    { id: 7, name: 'ปุ๊ก', gender: 'female', image: 'images/em007.jpg', tel: '0878901234', dailyWageRate: 450 },
-    { id: 8, name: 'เป้', gender: 'male', image: 'images/em008.jpg', tel: '0889012345', dailyWageRate: 450 }
-]);
-
-const defaultImage = 'images/noimage.jpg' // ใช้รูป default ถ้าไม่มีรูปพนักงาน
+const employees = ref<Employee[]>([]);
+const defaultImage = '/images/noimage.jpg'; // เพิ่ม `/` ข้างหน้าให้เป็น path root
 
 const onDragStart = (event: DragEvent, employee: Employee) => {
-    event.dataTransfer?.setData('text/plain', JSON.stringify(employee))
-    event.dataTransfer!.effectAllowed = 'move'
-}
+    event.dataTransfer?.setData('text/plain', JSON.stringify(employee));
+    event.dataTransfer!.effectAllowed = 'move';
+};
+
+// ✅ โหลดข้อมูลพนักงานตอน mount
+onMounted(async () => {
+    try {
+        const res = await listEmployees();
+        employees.value = res.map((e) => ({
+            ...e,
+            image: e.image ? `http://localhost:4000/images/emp/${e.image}` : defaultImage,
+        }));
+    } catch (error) {
+        console.error('โหลดพนักงานไม่สำเร็จ', error);
+    }
+});
 </script>
 
 <style scoped>
diff --git a/src/stores/employee.ts b/src/stores/employee.ts
new file mode 100644
index 0000000000000000000000000000000000000000..74760559e41b30c347d8b93e112156cbb5744269
--- /dev/null
+++ b/src/stores/employee.ts
@@ -0,0 +1,107 @@
+import { defineStore } from 'pinia'
+import { ref } from 'vue'
+import type { Employee } from '@/types/Employee'
+import * as employeeService from '@/services/employee'
+
+export const useEmployeeStore = defineStore('employee', () => {
+  const employees = ref<Employee[]>([])
+  const loading = ref<boolean>(false)
+  const error = ref<string | null>(null)
+
+  const IMAGE_BASE_URL = 'http://localhost:4000/images/emp/'
+  const FALLBACK_IMAGE = '/images/noimage.jpg'
+
+  // ✅ ดึงรายการ Employee ทั้งหมดจาก backend และแปะ path รูป
+  async function fetchEmployees() {
+    loading.value = true
+    error.value = null
+    try {
+      const res = await employeeService.listEmployees()
+      employees.value = res.map((e) => ({
+        ...e,
+        image: e.image ? IMAGE_BASE_URL + e.image : FALLBACK_IMAGE
+      }))
+    } catch (err: any) {
+      error.value = err.message || 'Unknown Error'
+    } finally {
+      loading.value = false
+    }
+  }
+
+  // ✅ ดึง Employee รายการเดียว พร้อมแปะ path รูป
+  async function fetchEmployee(id: number): Promise<Employee | null> {
+    loading.value = true
+    error.value = null
+    try {
+      const res = await employeeService.getEmployee(id)
+      return {
+        ...res,
+        image: res.image ? IMAGE_BASE_URL + res.image : FALLBACK_IMAGE
+      }
+    } catch (err: any) {
+      error.value = err.message || 'Unknown Error'
+      return null
+    } finally {
+      loading.value = false
+    }
+  }
+
+  // ✅ สร้าง Employee ใหม่
+  async function addEmployee(payload: Partial<Employee>) {
+    loading.value = true
+    error.value = null
+    try {
+      const newEmployee = await employeeService.createEmployee(payload)
+      newEmployee.image = newEmployee.image ? IMAGE_BASE_URL + newEmployee.image : FALLBACK_IMAGE
+      employees.value.push(newEmployee)
+    } catch (err: any) {
+      error.value = err.message || 'Unknown Error'
+    } finally {
+      loading.value = false
+    }
+  }
+
+  // ✅ อัปเดตข้อมูล Employee
+  async function editEmployee(id: number, payload: Partial<Employee>) {
+    loading.value = true
+    error.value = null
+    try {
+      const updated = await employeeService.updateEmployee(id, payload)
+      updated.image = updated.image ? IMAGE_BASE_URL + updated.image : FALLBACK_IMAGE
+
+      const index = employees.value.findIndex((e) => e.EmployeeID === id)
+      if (index !== -1) {
+        employees.value[index] = updated
+      }
+    } catch (err: any) {
+      error.value = err.message || 'Unknown Error'
+    } finally {
+      loading.value = false
+    }
+  }
+
+  // ✅ ลบ Employee
+  async function removeEmployee(id: number) {
+    loading.value = true
+    error.value = null
+    try {
+      await employeeService.deleteEmployee(id)
+      employees.value = employees.value.filter((e) => e.EmployeeID !== id)
+    } catch (err: any) {
+      error.value = err.message || 'Unknown Error'
+    } finally {
+      loading.value = false
+    }
+  }
+
+  return {
+    employees,
+    loading,
+    error,
+    fetchEmployees,
+    fetchEmployee,
+    addEmployee,
+    editEmployee,
+    removeEmployee
+  }
+})
diff --git a/src/types/Employee.ts b/src/types/Employee.ts
index ff31a442e0134334ce034da20c703493d4d29dda..9c28c49e1c6b608c21a6ef2ca35abf97cd5753b5 100644
--- a/src/types/Employee.ts
+++ b/src/types/Employee.ts
@@ -1,12 +1,16 @@
 type Gender = 'male' | 'female' | 'others'
 
-type Employee = {
-  id?: number
+export interface Employee {
+  EmployeeID: number // Primary Key (Auto Increment)
   name: string
-  gender?: Gender
-  image?: string
+  gender: Gender
+  age: number
+  mainRole: string
+  secondRole?: string | null
   tel: string
   dailyWageRate: number
+  startDate: string // ใช้เป็น string ในรูปแบบ ISO date เช่น "2024-01-01"
+  image?: string | null
 }
 
-export type { Gender, Employee }
+export type { Gender }