diff --git a/.gitignore b/.gitignore index 38adffa64..e1f03e1c4 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +package-lock.json \ No newline at end of file diff --git a/package.json b/package.json index 4964772b7..403f6f025 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "pinia": "^2.0.29", "quasar": "^2.11.1", "structure-chart": "^0.0.9", - "vue": "^3.2.45", + "vue": "^3.4.15", "vue-currency-input": "^3.0.5", "vue-router": "^4.1.6", "vue3-datepicker": "^0.3.4", diff --git a/src/modules/01_metadataNew/components/insignia/InsigniaDetail.vue b/src/modules/01_metadataNew/components/insignia/InsigniaDetail.vue index 5dd585c69..075bf3125 100644 --- a/src/modules/01_metadataNew/components/insignia/InsigniaDetail.vue +++ b/src/modules/01_metadataNew/components/insignia/InsigniaDetail.vue @@ -1,15 +1,120 @@ diff --git a/src/modules/01_metadataNew/components/insignia/InsigniaList.vue b/src/modules/01_metadataNew/components/insignia/InsigniaList.vue index aba244496..846725371 100644 --- a/src/modules/01_metadataNew/components/insignia/InsigniaList.vue +++ b/src/modules/01_metadataNew/components/insignia/InsigniaList.vue @@ -1,12 +1,15 @@ - + diff --git a/src/modules/01_metadataNew/components/insignia/InsigniaType.vue b/src/modules/01_metadataNew/components/insignia/InsigniaType.vue index bd6d020a5..00b0f97b9 100644 --- a/src/modules/01_metadataNew/components/insignia/InsigniaType.vue +++ b/src/modules/01_metadataNew/components/insignia/InsigniaType.vue @@ -1,12 +1,16 @@ @@ -143,7 +189,7 @@ function onclickDetail(data: (typeof row)["value"][number]) {
@@ -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 };