@@ -230,36 +276,128 @@ function onclickDetail(data: (typeof row)["value"][number]) {
-
-
- แก้ไข
- เพิ่ม
-
-
+
+
-
+
diff --git a/src/modules/01_metadataNew/interface/response/insignia/Insignia.ts b/src/modules/01_metadataNew/interface/response/insignia/Insignia.ts
index 6fb21a2ca..afa2247f4 100644
--- a/src/modules/01_metadataNew/interface/response/insignia/Insignia.ts
+++ b/src/modules/01_metadataNew/interface/response/insignia/Insignia.ts
@@ -1,18 +1,33 @@
-//ข้อมูล
-interface ResponseHistoryObject {
- createdAt?: Date;
- createdFullName: String;
- createdUserId: String;
- id: String;
- isActive: Boolean;
+interface DataResponse {
+ createdAt: Date;
+ id: string;
+ isActive: boolean;
lastUpdateFullName: String;
- lastUpdateUserId: String;
- lastUpdatedAt?: Date;
- level: number;
- name: String;
- shortName: String;
- insigniaType?: any;
- note: string;
+ lastUpdatedAt: Date;
+ name: string;
}
-export type { ResponseHistoryObject };
+interface DataRow {
+ createdAt: string | null;
+ id: string;
+ isActive: boolean;
+ lastUpdateFullName: String;
+ lastUpdatedAt: string | null;
+ name: string;
+}
+
+interface DetailResponse extends DataResponse {
+ note: string;
+ shortName: string;
+ insigniaType: string;
+ insigniaTypeId: string;
+ level: number;
+}
+
+interface DetailRow
+ extends Omit
{
+ createdAt: string | null;
+ lastUpdatedAt: string | null;
+}
+
+export type { DataResponse, DataRow, DetailResponse, DetailRow };
diff --git a/src/modules/01_metadataNew/stores/InsigniaStore.ts b/src/modules/01_metadataNew/stores/InsigniaStore.ts
new file mode 100644
index 000000000..55ca005ed
--- /dev/null
+++ b/src/modules/01_metadataNew/stores/InsigniaStore.ts
@@ -0,0 +1,28 @@
+import { defineStore } from "pinia";
+import { ref } from "vue";
+import type {
+ DataResponse,
+ DataRow,
+} from "../interface/response/insignia/Insignia";
+import { useCounterMixin } from "@/stores/mixin";
+
+const { date2Thai } = useCounterMixin();
+
+export const useInsigniaDataStore = defineStore("insigniaData", () => {
+ const row = ref();
+ function fetchData(data: DataResponse[]) {
+ console.log(data);
+ const list = data.map((e) => ({
+ ...e,
+ createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
+ lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
+ }));
+ console.log(list);
+ row.value = list;
+ }
+
+ return {
+ fetchData,
+ row,
+ };
+});
diff --git a/src/modules/02_organizationalNew/components/DialogFormAgency.vue b/src/modules/02_organizationalNew/components/DialogFormAgency.vue
new file mode 100644
index 000000000..95563f0ed
--- /dev/null
+++ b/src/modules/02_organizationalNew/components/DialogFormAgency.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/02_organizationalNew/components/DialogFormDateTime.vue b/src/modules/02_organizationalNew/components/DialogFormDateTime.vue
new file mode 100644
index 000000000..d3567a49f
--- /dev/null
+++ b/src/modules/02_organizationalNew/components/DialogFormDateTime.vue
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/02_organizationalNew/components/DialogFormPosition.vue b/src/modules/02_organizationalNew/components/DialogFormPosition.vue
new file mode 100644
index 000000000..78381a629
--- /dev/null
+++ b/src/modules/02_organizationalNew/components/DialogFormPosition.vue
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/02_organizationalNew/components/DialogHistory.vue b/src/modules/02_organizationalNew/components/DialogHistory.vue
new file mode 100644
index 000000000..d00af4e58
--- /dev/null
+++ b/src/modules/02_organizationalNew/components/DialogHistory.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/02_organizationalNew/interface/index/Main.ts b/src/modules/02_organizationalNew/interface/index/Main.ts
index 46133c9b9..afc90fbf9 100644
--- a/src/modules/02_organizationalNew/interface/index/Main.ts
+++ b/src/modules/02_organizationalNew/interface/index/Main.ts
@@ -7,4 +7,39 @@ interface DataOption {
name: string;
}
-export type { Pagination, DataOption };
+interface FormDataAgency {
+ocName:string
+shortName:string
+ocNo:string
+ocLevel:string
+telOut:string
+telIn:string
+tel:string
+}
+interface FormDataPosition {
+prefixNo:string
+positionNo:string
+suffixNo:string
+confirm:boolean
+}
+
+interface FormAgencyRef {
+ ocName: object | null;
+ shortName: object | null;
+ ocNo: object | null;
+ ocLevel: object | null;
+ telOut: object | null;
+ telIn: object | null;
+ tel: object | null;
+ [key: string]: any;
+}
+interface FormPositionRef {
+ prefixNo: object | null;
+ positionNo: object | null;
+ [key: string]: any;
+}
+interface FormDateTimeRef {
+ dateTime: object | null;
+ [key: string]: any;
+}
+export type { Pagination, DataOption,FormDataAgency,FormDataPosition,FormAgencyRef,FormPositionRef,FormDateTimeRef };