diff --git a/src/modules/02_organizational/components/AddMappingPositions.vue b/src/modules/02_organizational/components/AddMappingPositions.vue index e99b8d772..32a3e6c6f 100644 --- a/src/modules/02_organizational/components/AddMappingPositions.vue +++ b/src/modules/02_organizational/components/AddMappingPositions.vue @@ -97,7 +97,7 @@ - + @@ -231,7 +229,7 @@ fill-input input-debounce="0" @filter="positionExecutiveFilterFn" - clearable + color="primary" /> @@ -314,6 +310,21 @@ :rules="[(val:any) => !!val || `${'กรุณาเลือกสถานภาพของตำแหน่ง'}`]" /> +
+ +
-
-
@@ -431,14 +440,7 @@ const { loaderPage } = dataStore; const $q = useQuasar(); // show dialog const mixin = useCounterMixin(); -const { - success, - modalConfirm, - modalError, - modalDelete, - showLoader, - hideLoader, -} = mixin; +const { success, modalConfirm, modalError, modalDelete } = mixin; const { date2Thai } = mixin; const store = useOrganizationalDataStore(); const { organizationalData, changeOrganizationalColumns } = store; @@ -456,12 +458,13 @@ const positionTypeId = ref(); const positionMasterId = ref(""); const positionLineId = ref(); const positionPathId = ref(""); -const positionPathSideId = ref(); +const positionPathSideId = ref(); const positionExecutiveId = ref(); -const positionExecutiveSideId = ref(); +const positionExecutiveSideId = ref(); const positionStatusId = ref(); const positionLevelId = ref([]); const positionCondition = ref(); +const qualification = ref(); const positionMasterUserNote = ref(); const positionTypeOptions = ref([]); const positionLineOptions = ref([]); @@ -519,6 +522,7 @@ organizationalData.mappingPosition.columns.length == 0 "positionExecutiveSide", "positionLevel", "positionStatus", + "qualification", "positionCondition", "isDirector", "isActive", @@ -625,6 +629,17 @@ const columns = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, + { + name: "qualification", + align: "left", + label: "คุณวุฒิ", + sortable: true, + field: "qualification", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, { name: "positionCondition", align: "left", @@ -749,6 +764,17 @@ const columnsHistory = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, + { + name: "qualification", + align: "left", + label: "คุณวุฒิ", + sortable: true, + field: "qualification", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, { name: "positionCondition", align: "left", @@ -804,6 +830,7 @@ const visibleColumnsHistory = ref([ "positionExecutiveSide", "positionLevel", "positionStatus", + "qualification", "positionCondition", "isDirector", "isActive", @@ -816,7 +843,7 @@ watch(visibleColumns, async (count: String[], prevCount: String[]) => { }); onMounted(async () => { - hideLoader(); + loaderPage(false); await fetchPosition(); await fetchData(); await fetchHistory(); @@ -826,7 +853,7 @@ onMounted(async () => { * ฟังก์ชัน get data ล่าสุด */ const fetchData = async () => { - showLoader(); + loaderPage(true); await http .get(config.API.getPostionMasterDraft(true)) .then((res) => { @@ -854,6 +881,7 @@ const fetchData = async () => { positionExecutiveSideId: e.positionExecutiveSideId, positionLevelId: e.positionLevelId, positionStatusId: e.positionStatusId, + qualification: e.qualification, positionCondition: e.positionCondition, positionMasterUserNote: e.positionMasterUserNote, isDirector: e.isDirector, @@ -869,7 +897,7 @@ const fetchData = async () => { }) .finally(() => { // updateData.value = false; - hideLoader(); + loaderPage(false); }); }; @@ -877,7 +905,7 @@ const fetchData = async () => { * ฟังชั้นดูข้อมูลประวัติแก้ไขข้อมูลทั้งหมด */ const fetchHistory = async () => { - // showLoader(); + // loaderPage(true); // await http // .get(config.API.listxxxxxxxxPublishedHistory) // .then((res) => { @@ -909,7 +937,7 @@ const fetchHistory = async () => { // statusCode.value = e.response.data.status; // }) // .finally(async () => { - // hideLoader(); + // loaderPage(false); // }); }; @@ -917,7 +945,7 @@ const fetchHistory = async () => { * get รายการ ตำแหน่ง */ const fetchPosition = async () => { - showLoader(); + loaderPage(true); await http .get(config.API.position) .then((res) => { @@ -1008,7 +1036,7 @@ const fetchPosition = async () => { }) .catch((e: any) => {}) .finally(() => { - hideLoader(); + loaderPage(false); }); }; @@ -1157,7 +1185,7 @@ const clickSave = async () => { */ const saveData = async () => { modal.value = false; - showLoader(); + loaderPage(true); await http .post(config.API.getPositionMaster, { positionTypeId: positionTypeId.value, @@ -1169,6 +1197,7 @@ const saveData = async () => { positionLevelId: positionLevelId.value, isDirector: isDirector.value, positionStatusId: positionStatusId.value, + qualification: qualification.value, positionCondition: positionCondition.value, positionMasterUserNote: positionMasterUserNote.value, }) @@ -1189,7 +1218,7 @@ const saveData = async () => { */ const editData = async () => { modal.value = false; - showLoader(); + loaderPage(true); await http .put(config.API.getPositionMasterId(positionMasterId.value), { positionMasterId: positionMasterId.value, @@ -1202,6 +1231,7 @@ const editData = async () => { positionLevelId: positionLevelId.value, isDirector: isDirector.value, positionStatusId: positionStatusId.value, + qualification: qualification.value, positionCondition: positionCondition.value, positionMasterUserNote: positionMasterUserNote.value, }) @@ -1222,7 +1252,7 @@ const editData = async () => { * เมื่อเรียก api เสร็จแล้วจะ get data มาใหม่ */ const clearPublishedData = async () => { - showLoader(); + loaderPage(true); await http .put(config.API.getPositionMasterSync) .then((res) => { @@ -1235,7 +1265,7 @@ const clearPublishedData = async () => { statusCode.value = e.response.data.status; }) .finally(async () => { - hideLoader(); + loaderPage(false); await fetchHistory(); await fetchData(); }); @@ -1247,7 +1277,7 @@ const clearPublishedData = async () => { */ const publishedData = async () => { // editvisible.value = false; - showLoader(); + loaderPage(true); await http .put(config.API.getPositionMasterPublish) .then((res) => { @@ -1257,7 +1287,7 @@ const publishedData = async () => { statusCode.value = e.response.data.status; }) .finally(async () => { - hideLoader(); + loaderPage(false); await fetchData(); }); }; @@ -1308,6 +1338,7 @@ const selectData = (props: RequestItemsObject) => { positionExecutiveSideId.value = props.positionExecutiveSideId; positionLevelId.value = props.positionLevelId; positionStatusId.value = props.positionStatusId; + qualification.value = props.qualification; positionCondition.value = props.positionCondition; positionMasterUserNote.value = props.positionMasterUserNote; isDirector.value = props.isDirector; @@ -1335,11 +1366,12 @@ const clickAdd = () => { positionTypeId.value = ""; positionLineId.value = ""; positionPathId.value = ""; - positionPathSideId.value = ""; + positionPathSideId.value = []; positionExecutiveId.value = ""; - positionExecutiveSideId.value = ""; + positionExecutiveSideId.value = []; positionLevelId.value = []; positionStatusId.value = positionStatusOptionsRaw.value[0].id; + qualification.value = ""; positionCondition.value = ""; positionMasterUserNote.value = ""; isDirector.value = false; @@ -1351,7 +1383,7 @@ const clickAdd = () => { * @param row ข้อมูล row ที่ดูประวัติการแก้ไข */ const clickHistory = async (row: RequestItemsObject) => { - showLoader(); + loaderPage(true); await http .get(config.API.getPositionMasterHistoryId(row.id)) .then((res) => { @@ -1380,6 +1412,7 @@ const clickHistory = async (row: RequestItemsObject) => { positionExecutiveSideId: e.positionExecutiveSideId, positionLevelId: e.positionLevelId, positionStatusId: e.positionStatusId, + qualification: e.qualification, positionCondition: e.positionCondition, positionMasterUserNote: e.positionMasterUserNote, isDirector: e.isDirector, @@ -1394,7 +1427,7 @@ const clickHistory = async (row: RequestItemsObject) => { }) .finally(async () => { modalHistory.value = true; - hideLoader(); + loaderPage(false); }); }; @@ -1437,7 +1470,7 @@ const clickIsActive = async (val: string, status: boolean) => { }) .onOk(async () => { // edit.value = false; - showLoader(); + loaderPage(true); await http .delete(config.API.getPositionMasterId(val) + `?Id=${val}`) .then((res) => { diff --git a/src/modules/02_organizational/components/Tree/MappingPositions.vue b/src/modules/02_organizational/components/Tree/MappingPositions.vue index ebe5b2855..b6ae897b2 100644 --- a/src/modules/02_organizational/components/Tree/MappingPositions.vue +++ b/src/modules/02_organizational/components/Tree/MappingPositions.vue @@ -8,7 +8,7 @@