diff --git a/src/api/02_organizational/api.organization.ts b/src/api/02_organizational/api.organization.ts index 520ca9db7..4cbb005c1 100644 --- a/src/api/02_organizational/api.organization.ts +++ b/src/api/02_organizational/api.organization.ts @@ -27,4 +27,6 @@ export default { orgPosSort: `${orgPos}/sort`, organizationShortName: `${organization}/sort`, organizationPublishGet: `${organization}/get/publish`, + + orgPosExecutiveById:(id:string)=> `${orgPos}/executive/${id}`, }; diff --git a/src/modules/01_metadataNew/components/position/04ListExecutive.vue b/src/modules/01_metadataNew/components/position/04ListExecutive.vue index 0e98b7230..257260bed 100644 --- a/src/modules/01_metadataNew/components/position/04ListExecutive.vue +++ b/src/modules/01_metadataNew/components/position/04ListExecutive.vue @@ -1,3 +1,242 @@ + + \ No newline at end of file +
+ รายการตำแหน่งทางการบริหาร +
+
+
+ + เพิ่มตำแหน่งทางการบริหาร + +
+ + + + +
+
+ + + + +
+ + + diff --git a/src/modules/01_metadataNew/components/position/DialogAddExecutive.vue b/src/modules/01_metadataNew/components/position/DialogAddExecutive.vue new file mode 100644 index 000000000..fe3e144aa --- /dev/null +++ b/src/modules/01_metadataNew/components/position/DialogAddExecutive.vue @@ -0,0 +1,213 @@ + + + diff --git a/src/modules/01_metadataNew/components/position/DialogAddPosition.vue b/src/modules/01_metadataNew/components/position/DialogAddPosition.vue index 5c8203153..b28f5455b 100644 --- a/src/modules/01_metadataNew/components/position/DialogAddPosition.vue +++ b/src/modules/01_metadataNew/components/position/DialogAddPosition.vue @@ -7,7 +7,7 @@ import type { QTableProps } from "quasar"; import DialogHeader from "@/components/DialogHeader.vue"; import type { DataOption, - FormPositionSelect, + FormPositionSelectDialog, FormPositionSelectRef, OptionType, OptionLevel, @@ -21,7 +21,7 @@ const typeOps = ref([]); const typeOpsMain = ref([]); const dataLevel = ref(); const executiveOps = ref([]); -const formPositionSelect = reactive({ +const formPositionSelect = reactive({ positionId: "", positionName: "", positionField: "", diff --git a/src/modules/01_metadataNew/interface/request/position/index.ts b/src/modules/01_metadataNew/interface/request/position/index.ts index 39a89f3d4..a2e118be1 100644 --- a/src/modules/01_metadataNew/interface/request/position/index.ts +++ b/src/modules/01_metadataNew/interface/request/position/index.ts @@ -7,7 +7,7 @@ interface DataOption { name: string; } -interface FormPositionSelect { +interface FormPositionSelectDialog { positionId: string; positionName: string; positionField: string; @@ -28,6 +28,12 @@ interface FormPositionSelectRef { positionArea: object | null; [key: string]: any; } +interface FormExecutiveRef { + posExecutiveName: object | null; + posExecutivePriority: object | null; + + [key: string]: any; +} interface OptionType { id: string; @@ -77,10 +83,18 @@ interface RowDetailPositions { posExecutiveId: string; } +interface RowListForm { + id:string + posExecutiveName: string + posExecutivePriority: number|null +} export type { Pagination, DataOption, FormPositionSelect, FormPositionSelectRef, OptionType, OptionLevel, OptionExecutive, ListMenu, - RowDetailPositions + RowDetailPositions, + RowListForm, + FormPositionSelectDialog, + FormExecutiveRef }; diff --git a/src/modules/01_metadataNew/views/position.vue b/src/modules/01_metadataNew/views/position.vue index e81d5fe97..162444198 100644 --- a/src/modules/01_metadataNew/views/position.vue +++ b/src/modules/01_metadataNew/views/position.vue @@ -4,7 +4,7 @@ import { ref, onMounted } from "vue"; import ListPosition from "@/modules/01_metadataNew/components/position/01ListPosition.vue"; import ListType from "@/modules/01_metadataNew/components/position/02ListType.vue"; import ListExecutive from "@/modules/01_metadataNew/components/position/04ListExecutive.vue"; -const currentTab = ref("list_position"); +const currentTab = ref("list_executive"); const tabs = ref>([]); onMounted(() => {