From 17e4dba1760f9094315a41405156d5f7fdf82b5f Mon Sep 17 00:00:00 2001 From: waruneeta Date: Mon, 24 Jul 2023 09:28:49 +0700 Subject: [PATCH 01/46] update process probation --- .../probation/{AddWork.vue => FormAssign.vue} | 0 .../{form.vue => FormEvaluation.vue} | 0 .../components/probation/MainDetail.vue | 246 +++++++------ .../components/probation/ProbationDetail.vue | 328 +++++++++--------- src/modules/05_placement/router.ts | 248 ++++++------- 5 files changed, 427 insertions(+), 395 deletions(-) rename src/modules/05_placement/components/probation/{AddWork.vue => FormAssign.vue} (100%) rename src/modules/05_placement/components/probation/{form.vue => FormEvaluation.vue} (100%) diff --git a/src/modules/05_placement/components/probation/AddWork.vue b/src/modules/05_placement/components/probation/FormAssign.vue similarity index 100% rename from src/modules/05_placement/components/probation/AddWork.vue rename to src/modules/05_placement/components/probation/FormAssign.vue diff --git a/src/modules/05_placement/components/probation/form.vue b/src/modules/05_placement/components/probation/FormEvaluation.vue similarity index 100% rename from src/modules/05_placement/components/probation/form.vue rename to src/modules/05_placement/components/probation/FormEvaluation.vue diff --git a/src/modules/05_placement/components/probation/MainDetail.vue b/src/modules/05_placement/components/probation/MainDetail.vue index 9a77753f8..3151f15ee 100644 --- a/src/modules/05_placement/components/probation/MainDetail.vue +++ b/src/modules/05_placement/components/probation/MainDetail.vue @@ -1,141 +1,171 @@ \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/ProbationDetail.vue b/src/modules/05_placement/components/probation/ProbationDetail.vue index ae6c58474..7faf54272 100644 --- a/src/modules/05_placement/components/probation/ProbationDetail.vue +++ b/src/modules/05_placement/components/probation/ProbationDetail.vue @@ -61,110 +61,110 @@
- - เพิ่มงานที่ได้รับมอบหมาย - -
- - - - + + เพิ่มงานที่ได้รับมอบหมาย + +
+ + + + - -
-
- - - + + \ No newline at end of file diff --git a/src/modules/06_retirement/components/resign/Resign.vue b/src/modules/06_retirement/components/resign/Resign.vue new file mode 100644 index 000000000..8e936dcf9 --- /dev/null +++ b/src/modules/06_retirement/components/resign/Resign.vue @@ -0,0 +1,278 @@ + + + \ No newline at end of file diff --git a/src/modules/06_retirement/components/resign/ResignByid.vue b/src/modules/06_retirement/components/resign/ResignByid.vue new file mode 100644 index 000000000..34b196a57 --- /dev/null +++ b/src/modules/06_retirement/components/resign/ResignByid.vue @@ -0,0 +1,390 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/components/OrderPlacement/ResignOrder.vue b/src/modules/06_retirement/components/resign/ResignOrder.vue similarity index 100% rename from src/modules/05_placement/components/OrderPlacement/ResignOrder.vue rename to src/modules/06_retirement/components/resign/ResignOrder.vue diff --git a/src/modules/06_retirement/interface/index/Main.ts b/src/modules/06_retirement/interface/index/Main.ts index e4ea7770c..9958bdde7 100644 --- a/src/modules/06_retirement/interface/index/Main.ts +++ b/src/modules/06_retirement/interface/index/Main.ts @@ -1 +1,4 @@ -export type {}; +interface Pagination { + rowsPerPage: number; + } +export type {Pagination}; diff --git a/src/modules/06_retirement/router.ts b/src/modules/06_retirement/router.ts index 150811ec8..bc2ae3219 100644 --- a/src/modules/06_retirement/router.ts +++ b/src/modules/06_retirement/router.ts @@ -4,8 +4,10 @@ const Main = () => import("@/modules/06_retirement/views/Main.vue"); const Listretirement = () => import("@/modules/06_retirement/components/ListRetirement/TableList.vue") - - +const resignOrder = () => import("@/modules/06_retirement/components/resign/ResignOrder.vue"); +const resign = () => import("@/modules/06_retirement/components/resign/Resign.vue"); +const resignByid = () => import("@/modules/06_retirement/components/resign/ResignByid.vue") +const deceased = () => import("@/modules/06_retirement/components/resign/Deceased.vue") export default [ { path: "/retirement", @@ -27,4 +29,45 @@ export default [ Role: "retirement", }, }, + { + path: "/retirement/resign", + name: "resign", + component: resign, + meta: { + Auth: true, + Key: [7.2], + Role: "retirement", + }, + }, + { + path: "/retirement/resign/:id", + name: "resignbyid", + component: resignByid, + meta: { + Auth: true, + Key: [7.3], + Role: "retirement", + }, + }, + { + path: "/retirement/resign-order", + name: "resign-order", + component: resignOrder, + meta: { + Auth: true, + Key: [7.4], + Role: "retirement", + }, + }, + { + path: "/deceased", + name: "deceased", + component: deceased, + meta: { + Auth: true, + Key: [7.4], + Role: "retirement", + }, + }, + ]; From b6fd446e73016885de0dbbcdf3d9c9d14e7e84df Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Mon, 24 Jul 2023 13:26:27 +0700 Subject: [PATCH 03/46] no message --- src/modules/05_placement/router.ts | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/src/modules/05_placement/router.ts b/src/modules/05_placement/router.ts index 9dc852eb9..7ea16af98 100644 --- a/src/modules/05_placement/router.ts +++ b/src/modules/05_placement/router.ts @@ -33,24 +33,8 @@ const probationFormEvaluation = () => const probationWorkAdd = () => import("@/modules/05_placement/components/probation/MainDetail.vue"); -<<<<<<< HEAD - const probationWorkAdd2 = () => - import("@/modules/05_placement/components/probation/AddWork.vue"); - -export default [ - { - path: "/placement", - name: "placement", - component: PlacementMain, - meta: { - Auth: true, - Key: [6.1], - Role: "placement", -======= const probationFormAssign = () => import("@/modules/05_placement/components/probation/FormAssign.vue"); - const resignOrder = () => - import("@/modules/05_placement/components/OrderPlacement/ResignOrder.vue"); export default [ { path: "/placement", @@ -61,7 +45,6 @@ export default [ Key: [6.1], Role: "placement", }, ->>>>>>> develop }, { path: "/placement/personal-list/:examId", @@ -173,20 +156,4 @@ export default [ Role: "placement", }, }, -<<<<<<< HEAD - }, - -]; -======= - { - path: "/placement/resign-order", - name: "ResignOrderplacement", - component: resignOrder, - meta: { - Auth: true, - Key: [6.2], - Role: "placement", - }, - }, ]; ->>>>>>> develop From 1a4163e76ac2d374a720ef217ffb5e062160b178 Mon Sep 17 00:00:00 2001 From: Thanit Konmek Date: Mon, 24 Jul 2023 14:41:52 +0700 Subject: [PATCH 04/46] =?UTF-8?q?=E0=B8=97=E0=B8=B0=E0=B9=80=E0=B8=9A?= =?UTF-8?q?=E0=B8=B5=E0=B8=A2=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=A5=E0=B8=B9=E0=B8=81=E0=B8=88?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=E0=B8=87=20popup=20=E0=B8=81=E0=B8=B3?= =?UTF-8?q?=E0=B8=AB=E0=B8=99=E0=B8=94=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB?= =?UTF-8?q?=E0=B8=99=E0=B9=88=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/02_organizational/api.treelist.ts | 10 +- .../views/MainTreeEmployee.vue | 8 +- .../08_registryEmployee/response/Main.ts | 51 ++- .../08_registryEmployee/views/Main.vue | 315 +++++++++++++++++- src/stores/mixin.ts | 2 + 5 files changed, 366 insertions(+), 20 deletions(-) diff --git a/src/api/02_organizational/api.treelist.ts b/src/api/02_organizational/api.treelist.ts index afb16eee1..215036604 100644 --- a/src/api/02_organizational/api.treelist.ts +++ b/src/api/02_organizational/api.treelist.ts @@ -10,7 +10,7 @@ import env from "../index"; const organizationPath = `${env.API_URI_ORG_SERVICE}/Organization/`; const postionMasterPath = `${env.API_URI_ORG_SERVICE}/PositionMaster`; const organizationPosition = `${env.API_URI_ORG_SERVICE}/OrganizationPosition/`; -const organizationEmployeePosition = `${env.API_URI_ORG_EMPLOYEE_SERVICE}/organization-employee/`; +const organizationEmployee = `${env.API_URI_ORG_EMPLOYEE_SERVICE}/organization-employee/`; const report = `${env.API_URI}/report/organization/`; @@ -84,7 +84,9 @@ export default { getPositionNumberIdByOcId: (OcId: string) => `${postionMasterPath}/position-number/Oc/${OcId}`, - organizationEmployeePosition: `${organizationEmployeePosition}`, - organizationEmployeePositionId: (id: string) => - `${organizationEmployeePosition}${id}`, + organizationEmployee: `${organizationEmployee}`, + organizationEmployeeId: (id: string) => `${organizationEmployee}${id}`, + + organizationEmployeePositionId: (profileId: string) => + `${organizationEmployee}position/${profileId}`, }; diff --git a/src/modules/02_organizational/views/MainTreeEmployee.vue b/src/modules/02_organizational/views/MainTreeEmployee.vue index b14061eff..dd56b1aa5 100644 --- a/src/modules/02_organizational/views/MainTreeEmployee.vue +++ b/src/modules/02_organizational/views/MainTreeEmployee.vue @@ -908,7 +908,7 @@ onMounted(async () => { const fetchData = async () => { loaderPage(true); await http - .get(config.API.organizationEmployeePosition) + .get(config.API.organizationEmployee) .then((res) => { let data = res.data.result; rows.value = []; @@ -1311,7 +1311,7 @@ const saveData = async () => { modal.value = false; loaderPage(true); await http - .post(config.API.organizationEmployeePosition, { + .post(config.API.organizationEmployee, { organizationOrganizationId: organizationOrganizationId.value, organizationShortNameId: organizationGovernmentCode.value, organizationTypeId: organizationTypeId.value, @@ -1363,7 +1363,7 @@ const editData = async () => { modal.value = false; loaderPage(true); await http - .put(config.API.organizationEmployeePositionId(id.value), { + .put(config.API.organizationEmployeeId(id.value), { organizationOrganizationId: organizationOrganizationId.value, organizationShortNameId: organizationGovernmentCode.value, organizationTypeId: organizationTypeId.value, @@ -1428,7 +1428,7 @@ const clickDelete = (id: string) => { const deleteData = async (id: string) => { loaderPage(true); await http - .delete(config.API.organizationEmployeePositionId(id)) + .delete(config.API.organizationEmployeeId(id)) .then((res) => { success($q, "ลบข้อมูลสำเร็จ"); }) diff --git a/src/modules/08_registryEmployee/response/Main.ts b/src/modules/08_registryEmployee/response/Main.ts index e4ea7770c..272bbb5e5 100644 --- a/src/modules/08_registryEmployee/response/Main.ts +++ b/src/modules/08_registryEmployee/response/Main.ts @@ -1 +1,50 @@ -export type {}; +interface ObjectNameId { + id: string; + name: string; +} +interface employeePosition { + id: string; + agency: string; + conditionNote: string; + department: string; + government: string; + isActive: boolean; + isCondition: boolean; + isDirector: boolean; + organizationUserNote: string; + qualification: string; + pile: string; + posNo: string; + positionCondition: string; + positionMasterUserNote: string; + organizationOrder: string; + organizationFaxId: string; + organizationLevelId: string; + organizationOrganizationId: string; + organizationTelExternalId: string; + organizationTelInternalId: string; + organizationTypeId: string; + positionEmployeeStatusId: string; + positionEmployeeLineId: string; + positionEmployeePositionId: string; + organizationAgencyId: string; + organizationGovernmentAgencyId: string; + organizationShortNameId: string; + organizationFaxName: string; + organizationLevelName: string; + organizationOrganizationName: string; + organizationTelExternalName: string; + organizationTelInternalName: string; + organizationTypeName: string; + positionEmployeeStatusName: string; + positionEmployeeLineName: string; + positionEmployeePositionName: string; + organizationAgencyName: string; + organizationGovernmentAgencyName: string; + organizationShortNameName: string; + positionEmployeeLevels: ObjectNameId[]; + positionEmployeePositionSides: ObjectNameId[]; + use: boolean; +} + +export type { employeePosition }; diff --git a/src/modules/08_registryEmployee/views/Main.vue b/src/modules/08_registryEmployee/views/Main.vue index 06b09aefa..8235acbe0 100644 --- a/src/modules/08_registryEmployee/views/Main.vue +++ b/src/modules/08_registryEmployee/views/Main.vue @@ -195,7 +195,42 @@
- + + + + + + + + + + + + + + @@ -212,7 +247,7 @@ import { FormRegistryEmployee, ResponseEmployeeTemp, } from "@/modules/08_registryEmployee/request/Main.ts"; -import { useDataStore } from "@/stores/data"; +import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue"; const props = defineProps({ next: { @@ -227,16 +262,23 @@ const props = defineProps({ const $q = useQuasar(); const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง -const { typeRetire, success, messageError, showLoader, hideLoader, date2Thai } = - mixin; -const dataStore = useDataStore(); -const { loaderPage } = dataStore; +const { + typeRetire, + success, + messageError, + showLoader, + hideLoader, + date2Thai, + dialogMessage, +} = mixin; + const router = useRouter(); const myForm = ref(); const filterRef = ref(); const filter = ref(""); const selected = ref(""); const modal = ref(false); +const id = ref(""); const visibleColumnsModal = ref(["no", "positionNum", "name"]); const columnsModal = [ { name: "no", align: "left", label: "ลำดับ", field: "no", sortable: true }, @@ -529,10 +571,258 @@ const columns = ref([ }, ]); const rows = ref([]); + +const selectedPosition = ref([]); +const visibleColumnsPosition = ref([ + "organizationOrganizationName", + "organizationAgencyName", + "organizationGovernmentAgencyName", + "organizationShortNameName", + "organizationTypeName", + "organizationLevelName", + "positionEmployeeLineName", + "positionEmployeePositionName", + "posNo", +]); + +const columnsPosition = ref([ + { + name: "organizationOrganizationName", + align: "left", + label: "หน่วยงาน", + sortable: true, + field: "organizationOrganizationName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "organizationAgencyName", + align: "left", + label: "รหัสหน่วยงาน", + sortable: true, + field: "organizationAgencyName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "organizationGovernmentAgencyName", + align: "left", + label: "รหัสส่วนราชการ", + sortable: true, + field: "organizationGovernmentAgencyName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "organizationShortNameName", + align: "left", + label: "ชื่อย่อหน่วยงาน", + sortable: true, + field: "organizationShortNameName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "organizationTypeName", + align: "left", + label: "ประเภทหน่วยงาน", + sortable: true, + field: "organizationTypeName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "organizationLevelName", + align: "left", + label: "ระดับหน่วยงาน", + sortable: true, + field: "organizationLevelName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "positionEmployeeLineName", + align: "left", + label: "สายงาน", + sortable: true, + field: "positionEmployeeLineName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "positionEmployeePositionName", + align: "left", + label: "ตำแหน่ง", + sortable: true, + field: "positionEmployeePositionName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "posNo", + align: "left", + label: "เลขที่ตำแหน่ง", + sortable: true, + field: "posNo", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, +]); +const rowsPosition = ref([]); + onMounted(async () => { await nodeTree(); }); +const checkNull = (text: string) => + text == null + ? "" + : text == "00000000-0000-0000-0000-000000000000" + ? "" + : text; + +const getPosition = async (id: string) => { + showLoader(); + await http + .get(config.API.organizationEmployeePositionId(id)) + .then((res) => { + const { result } = res.data; + let data: any[] = []; + result.map((r: any) => { + data.push({ + id: checkNull(r.id), + agency: checkNull(r.agency), + conditionNote: checkNull(r.conditionNote), + department: checkNull(r.department), + government: checkNull(r.government), + isActive: r.isActive, + isCondition: r.isCondition, + isDirector: r.isDirector, + organizationUserNote: checkNull(r.organizationUserNote), + qualification: checkNull(r.qualification), + pile: checkNull(r.pile), + posNo: checkNull(r.posNo), + positionCondition: checkNull(r.positionCondition), + positionMasterUserNote: checkNull(r.positionMasterUserNote), + organizationOrder: checkNull(r.organizationOrder), + organizationFaxId: checkNull(r.organizationFaxId), + organizationLevelId: checkNull(r.organizationLevelId), + organizationOrganizationId: checkNull(r.organizationOrganizationId), + organizationTelExternalId: checkNull(r.organizationTelExternalId), + organizationTelInternalId: checkNull(r.organizationTelInternalId), + organizationTypeId: checkNull(r.organizationTypeId), + positionEmployeeStatusId: checkNull(r.positionEmployeeStatusId), + positionEmployeeLineId: checkNull(r.positionEmployeeLineId), + positionEmployeePositionId: checkNull(r.positionEmployeePositionId), + organizationAgencyId: checkNull(r.organizationAgencyId), + organizationGovernmentAgencyId: checkNull( + r.organizationGovernmentAgencyId + ), + organizationShortNameId: checkNull(r.organizationShortNameId), + organizationFaxName: checkNull(r.organizationFaxName), + organizationLevelName: checkNull(r.organizationLevelName), + organizationOrganizationName: checkNull( + r.organizationOrganizationName + ), + organizationTelExternalName: checkNull(r.organizationTelExternalName), + organizationTelInternalName: checkNull(r.organizationTelInternalName), + organizationTypeName: checkNull(r.organizationTypeName), + positionEmployeeStatusName: checkNull(r.positionEmployeeStatusName), + positionEmployeeLineName: checkNull(r.positionEmployeeLineName), + positionEmployeePositionName: checkNull( + r.positionEmployeePositionName + ), + organizationAgencyName: checkNull(r.organizationAgencyName), + organizationGovernmentAgencyName: checkNull( + r.organizationGovernmentAgencyName + ), + organizationShortNameName: checkNull(r.organizationShortNameName), + positionEmployeeLevels: r.positionEmployeeLevels, + positionEmployeePositionSides: r.positionEmployeePositionSides, + use: r.use, + }); + }); + + const index = data.findIndex((r: any) => r.use == true); + if (index >= 0) { + selectedPosition.value = [data[index]]; + } + + rowsPosition.value = data; + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +}; + +const checkSave = async () => { + if (selectedPosition.value.length == 0) { + dialogMessage( + $q, + "ไม่สามารถบันทึกข้อมูลได้", + "กรุณาเลือกตำแหน่ง", + "warning", + undefined, + "orange", + undefined, + undefined, + true + ); + return; + } else { + await savePosition(); + } +}; + +const savePosition = async () => { + showLoader(); + const data = { + organizationEmployeeId: selectedPosition.value[0].id, + }; + await http + .put(config.API.organizationEmployeePositionId(id.value), data) + .then((res) => { + success($q, "บันทึกข้อมูลสำเร็จ"); + }) + .catch((e) => { + messageError($q, e); + }) + .finally(async () => { + await nodeTree(); + modalOpenClose(); + }); +}; + +const modalOpenClose = () => { + modal.value = !modal.value; + if (!modal.value) { + selectedPosition.value = []; + rowsPosition.value = []; + id.value = ""; + } +}; + const next = (id: string) => { router.push(`/registryEmployee/${id}`); }; @@ -583,7 +873,10 @@ const clickAdd = () => { // router.push(`/placement/detail`); }; -const editDetail = (id: string) => { +const editDetail = async (row: any) => { + await getPosition(row.id); + console.log(row); + id.value = row.id; modal.value = true; }; @@ -598,7 +891,7 @@ const clickDelete = (id: string) => { persistent: true, }) .onOk(async () => { - loaderPage(true); + showLoader(); await http .delete(config.API.profileInforId(id)) .then((res) => { @@ -609,7 +902,7 @@ const clickDelete = (id: string) => { messageError($q, e); }) .finally(() => { - loaderPage(false); + hideLoader(); }); }) .onCancel(() => {}) @@ -649,7 +942,7 @@ const showEmployeeTemp = async () => { }); if (selected.value == null || selected.value == "") return; - loaderPage(true); + showLoader(); await http .post(config.API.searchProfileByOcId(selected.value, "all"), { criterias: cirteria, @@ -691,7 +984,7 @@ const showEmployeeTemp = async () => { messageError($q, e); }) .finally(() => { - loaderPage(false); + hideLoader(); }); }; diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts index 3ac73c26c..2ae149e62 100644 --- a/src/stores/mixin.ts +++ b/src/stores/mixin.ts @@ -312,6 +312,8 @@ export const useCounterMixin = defineStore("mixin", () => { } const messageError = (q: any, e: any = "") => { + // q.dialog.hide(); + console.log("e.response", e.response); if (e.response !== undefined) { if (e.response.data.status !== undefined) { if (e.response.data.status == 401) { From e31b55595b6d0768011989a4bee3bbec93ea9983 Mon Sep 17 00:00:00 2001 From: waruneeta Date: Mon, 24 Jul 2023 14:54:58 +0700 Subject: [PATCH 05/46] update probation detail --- .../components/probation/FormEvaluation.vue | 621 ++++++------------ .../components/probation/MainDetail.vue | 4 +- 2 files changed, 220 insertions(+), 405 deletions(-) diff --git a/src/modules/05_placement/components/probation/FormEvaluation.vue b/src/modules/05_placement/components/probation/FormEvaluation.vue index 0939b34ba..1ac78ef04 100644 --- a/src/modules/05_placement/components/probation/FormEvaluation.vue +++ b/src/modules/05_placement/components/probation/FormEvaluation.vue @@ -21,24 +21,24 @@
วันเริ่มทดลองปฎิบัติหน้าที่ราชการ ตั้งแต่วันที่ - {{date2Thai(dateToday)}} - ถึงวันที - {{date2Thai(dateEnd)}} + {{ date2Thai(dateToday) }} + ถึงวันที + {{ date2Thai(dateEnd) }}
การทดลองปฏิบัติหน้าที่ราชการมีผล ดังนี้ {{ "ครั้งที่" + period }} ระหว่างวันที่ - {{ date2Thai(dateToday)}} + {{ date2Thai(dateToday) }} ถึงวันที่ - {{date2Thai(dateEnd)}} + {{ date2Thai(dateEnd) }}
- +
1 @@ -52,40 +52,33 @@ 1.ผลผลิตของงานที่คาดหวัง
- + {{ list.label }} - - + + - +
@@ -98,40 +91,36 @@ 1.ผลผลิตของงานที่เกิดขึ้น - + - {{ list.label }} + + - - + + - + @@ -146,29 +135,23 @@ ความรู้ความสามารถ - - + + @@ -187,29 +170,23 @@ ทักษะ - - + + @@ -228,29 +205,23 @@ สมรรถนะ - - + + @@ -269,29 +240,23 @@ ความสามารถในการเรียนรู้งาน - - + + @@ -310,29 +275,23 @@ ความสามารถในการปรับใช้ความรู้กับงานในหน้าที่ - - + + @@ -343,50 +302,37 @@
- 1.7 อื่นๆ + 1.7 อื่นๆ
- + - + - - + + @@ -399,36 +345,18 @@ จุดเด่น (ไม่เกิน 5 บรรทัด)
- +
สิ่งที่ควรปรับปรุง (ไม่เกิน 5 บรรทัด)
- +
@@ -446,40 +374,33 @@ 2.1 ความประพฤติ
- + {{ list.label }} - - + + - + @@ -489,40 +410,33 @@ 2.2 ความมีคุณธรรมจริยธรรม - + {{ list.label }} - - + + - + @@ -532,90 +446,70 @@ 2.3 การรักษาวินัย - + {{ list.label }} - - + + - +
- 2.4 อื่นๆ + 2.4 อื่นๆ
- + - + - - + + @@ -628,36 +522,18 @@ จุดเด่น (ไม่เกิน 5 บรรทัด)
- +
สิ่งที่ควรปรับปรุง (ไม่เกิน 5 บรรทัด)
- +
@@ -676,94 +552,54 @@ 1. การปฐมนิเทศ - +
- - + +
- + 2. การเรียนรู้ด้วยตนเอง - +
- - + +
- + 3. การอบรมสัมนาร่วมกัน - +
- - + +
- + 4. การอบรมอื่น ๆ ตามที่หน่วยงานกำหนด (ถ้ามี) - +
- - + +
@@ -780,49 +616,25 @@ ผู้บังคับบัญชาผู้มอบหมายงาน
-
- +
@@ -832,7 +644,7 @@
- +
@@ -845,40 +657,40 @@ import { useQuasar } from "quasar"; import router from "@/router"; const $q = useQuasar(); -const ratingColors = [ 'light-blue-3', 'light-blue-6', 'blue', 'blue-9', 'blue-10' ]; +const ratingColors = ['light-blue-3', 'light-blue-6', 'blue', 'blue-9', 'blue-10']; const list1_1 = [ - {id: '1', label: 'ผลผลิตของงานที่คาดหวัง 1'}, - {id: '2', label: 'ผลผลิตของงานที่คาดหวัง 2'}, - {id: '3', label: 'ผลผลิตของงานที่คาดหวัง 3'}, - {id: '4', label: 'ผลผลิตของงานที่คาดหวัง 4'}, - {id: '5', label: 'ผลผลิตของงานที่คาดหวัง 5'} + { id: '1', label: 'ผลผลิตของงานที่คาดหวัง 1' }, + { id: '2', label: 'ผลผลิตของงานที่คาดหวัง 2' }, + { id: '3', label: 'ผลผลิตของงานที่คาดหวัง 3' }, + { id: '4', label: 'ผลผลิตของงานที่คาดหวัง 4' }, + { id: '5', label: 'ผลผลิตของงานที่คาดหวัง 5' } ]; const list1_2 = [ - {id: '1', label: 'ผลผลิตของงานที่เกิดขึ้น 1'}, - {id: '2', label: 'ผลผลิตของงานที่เกิดขึ้น 2'}, - {id: '3', label: 'ผลผลิตของงานที่เกิดขึ้น 3'}, - {id: '4', label: 'ผลผลิตของงานที่เกิดขึ้น 4'}, - {id: '5', label: 'ผลผลิตของงานที่เกิดขึ้น 5'} + { id: '1', label: 'ผลผลิตของงานที่เกิดขึ้น 1' }, + { id: '2', label: 'ผลผลิตของงานที่เกิดขึ้น 2' }, + { id: '3', label: 'ผลผลิตของงานที่เกิดขึ้น 3' }, + { id: '4', label: 'ผลผลิตของงานที่เกิดขึ้น 4' }, + { id: '5', label: 'ผลผลิตของงานที่เกิดขึ้น 5' } ]; const list2_1 = [ - {id: '1', label: 'ให้บริการประชาชนหรือผู้รับบริการด้วยอัธยาศัยดี'}, - {id: '2', label: 'มีความรับผิดชอบในการปฏิบัติบัติงาน'}, - {id: '3', label: 'ให้บริการประชาชนหรือผู้รับบริการด้วยความรวดเร็ว เอาใจใส่เป็นมาตรฐานเดียวกัน'}, - {id: '4', label: 'ตั้งใจปฏิบัติบัติหน้าที่ราชการด้วยความอุตสาหะ ขยันหมั่นเพียร'}, + { id: '1', label: 'ให้บริการประชาชนหรือผู้รับบริการด้วยอัธยาศัยดี' }, + { id: '2', label: 'มีความรับผิดชอบในการปฏิบัติบัติงาน' }, + { id: '3', label: 'ให้บริการประชาชนหรือผู้รับบริการด้วยความรวดเร็ว เอาใจใส่เป็นมาตรฐานเดียวกัน' }, + { id: '4', label: 'ตั้งใจปฏิบัติบัติหน้าที่ราชการด้วยความอุตสาหะ ขยันหมั่นเพียร' }, ]; const list2_2 = [ - {id: '1', label: 'อุทิศตนและเสียสละเวลาในการปฏิบัติบัติงานอย่างเต็มกำลังความสามารถ'}, - {id: '2', label: 'มีจิตสำนึกที่ดี ปฏิบัติบัติงานด้วยความซื่อสัตย์ สุจริต'}, - {id: '3', label: 'ยึดมั่นในสถาบันบัพระมหากษัตริย์ และไม่กระทำการใด ๆ อันจะก่อให้เกิดความเสียหายต่อประเทศชาติ'}, + { id: '1', label: 'อุทิศตนและเสียสละเวลาในการปฏิบัติบัติงานอย่างเต็มกำลังความสามารถ' }, + { id: '2', label: 'มีจิตสำนึกที่ดี ปฏิบัติบัติงานด้วยความซื่อสัตย์ สุจริต' }, + { id: '3', label: 'ยึดมั่นในสถาบันบัพระมหากษัตริย์ และไม่กระทำการใด ๆ อันจะก่อให้เกิดความเสียหายต่อประเทศชาติ' }, ]; const list2_3 = [ - {id: '1', label: 'มีความรับรัผิดชอบในการรักษาเวลาทำงาน'}, - {id: '2', label: 'แต่งกายในการปฏิบัติบัติงานได้อย่างเหมาะสมกับการเป็นข้าราชการ'}, - {id: '3', label: 'ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน'}, - {id: '4', label: 'ไม่กระทำการใด ๆ อันเป็นการเสื่อมเกียรติและศักดิ์ศรีของความเป็นข้าราชการ'}, - {id: '5', label: 'ปฏิบัติบัติหน้าที่อย่างตรงไปตรงมาโดยยึกหลักจรรยาบรรณวิชาชีพ'} + { id: '1', label: 'มีความรับรัผิดชอบในการรักษาเวลาทำงาน' }, + { id: '2', label: 'แต่งกายในการปฏิบัติบัติงานได้อย่างเหมาะสมกับการเป็นข้าราชการ' }, + { id: '3', label: 'ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน' }, + { id: '4', label: 'ไม่กระทำการใด ๆ อันเป็นการเสื่อมเกียรติและศักดิ์ศรีของความเป็นข้าราชการ' }, + { id: '5', label: 'ปฏิบัติบัติหน้าที่อย่างตรงไปตรงมาโดยยึกหลักจรรยาบรรณวิชาชีพ' } ]; const etc_text = ref(null); @@ -914,37 +726,40 @@ const text2_1 = ref(''); const text2_2 = ref(''); const onSubmit = () => { - $q.notify({ - color: "green-4", - textColor: "white", - icon: "cloud_done", - message: "ส่งแบบประเมินเเล้ว", - }); + $q.notify({ + color: "green-4", + textColor: "white", + icon: "cloud_done", + message: "ส่งแบบประเมินเเล้ว", + }); }; const onReset = () => { - router.push({ name: "probation" }); + router.push({ name: "probation" }); }; \ No newline at end of file diff --git a/src/modules/05_placement/components/probation/MainDetail.vue b/src/modules/05_placement/components/probation/MainDetail.vue index 3151f15ee..551575019 100644 --- a/src/modules/05_placement/components/probation/MainDetail.vue +++ b/src/modules/05_placement/components/probation/MainDetail.vue @@ -33,7 +33,7 @@
- บันทึกผลการทดลองปฏิบัติหน้าที่ราชการ + บันทึกผลการทดลองปฏิบัติหน้าที่ราชการ (2) @@ -44,7 +44,7 @@
- ประเมินผลการทดลองปฏิบัติหน้าที่ราชการ + ประเมินผลการทดลองปฏิบัติหน้าที่ราชการ (1) From 6f40ad3de870517ccfc3c3abe6a1c373991ce959 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 24 Jul 2023 15:26:22 +0700 Subject: [PATCH 06/46] =?UTF-8?q?ui=20=E0=B8=9E=E0=B9=89=E0=B8=99=E0=B8=A3?= =?UTF-8?q?=E0=B8=B2=E0=B8=8A=E0=B8=81=E0=B8=B2=E0=B8=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/PersonalList/OrgTree.vue | 37 +- .../components/PersonalList/Table.vue | 20 +- .../components/PersonalList/TableDetail.vue | 80 +- .../components/PersonalList/TableView.vue | 10 +- .../components/DismissOrder/AddOrder.vue | 91 +++ .../components/DismissOrder/DismissOrder.vue | 740 ++++++++++++++++++ .../components/DismissOrder/step01.vue | 353 +++++++++ .../components/DismissOrder/step02.vue | 684 ++++++++++++++++ .../components/DismissOrder/step03.vue | 580 ++++++++++++++ .../components/ListRetirement/AddList.vue | 4 +- .../components/ListRetirement/TableList.vue | 118 ++- src/modules/06_retirement/router.ts | 33 +- src/modules/06_retirement/views/Main.vue | 20 +- 13 files changed, 2703 insertions(+), 67 deletions(-) create mode 100644 src/modules/06_retirement/components/DismissOrder/AddOrder.vue create mode 100644 src/modules/06_retirement/components/DismissOrder/DismissOrder.vue create mode 100644 src/modules/06_retirement/components/DismissOrder/step01.vue create mode 100644 src/modules/06_retirement/components/DismissOrder/step02.vue create mode 100644 src/modules/06_retirement/components/DismissOrder/step03.vue diff --git a/src/modules/05_placement/components/PersonalList/OrgTree.vue b/src/modules/05_placement/components/PersonalList/OrgTree.vue index 5cca4ecb9..ba0f63366 100644 --- a/src/modules/05_placement/components/PersonalList/OrgTree.vue +++ b/src/modules/05_placement/components/PersonalList/OrgTree.vue @@ -105,10 +105,10 @@ const fetchplacementPosition = async () => { const search = ref(""); //reset Tree Filter const filterRef = ref(null); -const resetFilter = () => { - search.value = ""; - filterRef.value.focus(); -}; +// const resetFilter = () => { +// search.value = ""; +// filterRef.value.focus(); +// }; const props = defineProps({ personalId: String, @@ -155,6 +155,8 @@ const validateData = async () => { }; const saveAppoint = async () => { + console.log("save", dataForm); + myFormPosition.value.validate().then(async (result: boolean) => { if (result) { const dataAppoint = await { @@ -170,8 +172,7 @@ const saveAppoint = async () => { // mouthSalaryAmount: dataForm.mouthSalaryAmount, // positionSalaryAmount: dataForm.positionSalaryAmount, }; - // console.log("save appoint===>", dataAppoint); - + console.log("save appoint===>", dataAppoint); showLoader(); await http .post(config.API.placementPass(), dataAppoint) @@ -184,7 +185,10 @@ const saveAppoint = async () => { }) .finally(async () => { await closeAndClear(); - await resetFilter(); + // await resetFilter(); + await fetchPublishFile(); + await loadTreeData(); + await fetchplacementPosition(); hideLoader(); }); } @@ -273,8 +277,9 @@ const positionLevelOptions = ref([ ]); const selectedPosition = async (data: any) => { + console.log("selecteds", data); if (data.name == null && selected.value != data.keyId) { - console.log("selecteds", data); + // console.log("selecteds", data); editDataStatus.value = true; selected.value = data.keyId; @@ -299,9 +304,9 @@ const selectedPosition = async (data: any) => { // positionPathSide Options let positionPathSideArr: any = []; - if (data.positionSideNameObj != null) { + if (data.positionSideNameObj && data.positionSideNameObj != null) { data.positionSideNameObj.map((x: any) => { - positionLevelsArr.push({ + positionPathSideArr.push({ label: x.Name, value: x.Id, }); @@ -345,6 +350,7 @@ const selectedPosition = async (data: any) => { positionLevelsArr.length > 1 || positionLevelsArr.length == 0 ? "" : positionLevelsArr[0].value; + dataForm.positionLevelId = data.positionLevelObj[0].Id; } } else if (selected.value == data.keyId) { selected.value = ""; @@ -355,6 +361,7 @@ const selectedPosition = async (data: any) => { dataForm.positionPathSideId = ""; dataForm.positionTypeId = ""; } + console.log("dataForm", dataForm); }; const checkPosition = (val: string) => { @@ -374,14 +381,14 @@ watch(props, () => { console.log("personal", personal.value); } // console.log("draft===>", personal.value.draft); - + if (personal.value && personal.value.draft === false) { // const findData = dataRespone.value.find(findByPerson); let findData: any = null; - console.log(dataRespone.value); - dataRespone.value.map((x: any) => { findData = findByPerson(x); + console.log(findData); + if (findData != null) { console.log("findData===>", findData); selectedPosition(findData); @@ -403,9 +410,7 @@ function findByPerson(element: any): any { element.positionTypeId === personal.value.positionTypeId && element.positionNumId === personal.value.posNoId && (element.positionLevelObj === null || - element.positionLevelObj[0].Id === personal.value.positionLevelId) && - (element.positionSideNameObj === null || - element.positionSideNameObj[0].Id === personal.value.positionPathSideId) + element.positionLevelObj[0].Id === personal.value.positionLevelId) ) { return element; } else if (element.children) { diff --git a/src/modules/05_placement/components/PersonalList/Table.vue b/src/modules/05_placement/components/PersonalList/Table.vue index 2eae18436..661ae59c1 100644 --- a/src/modules/05_placement/components/PersonalList/Table.vue +++ b/src/modules/05_placement/components/PersonalList/Table.vue @@ -462,11 +462,26 @@ const clickClose = async () => { modal.value = false; } }; - +const displayAdd = ref(true); onMounted(async () => { if (keycloak.tokenParsed != null) { roleAdmin.value = await keycloak.tokenParsed.role.includes("placement1"); - console.log("roleAdmin===>", roleAdmin); + console.log("roleAdmin===>", roleAdmin.value); + if (roleAdmin.value === false) { + displayAdd.value = false; + visibleColumns.value = [ + "position", + "fullName", + "examNumber", + "idCard", + "positionNumber", + "organizationName", + "reportingDate", + "bmaOfficer", + "statusName", + "positionCandidate", + ]; + } } await getTable(); }); @@ -552,6 +567,7 @@ const paginationLabel = (start: number, end: number, total: number) => { :boss="true" :saveNoDraft="true" :role-admin="roleAdmin" + :displayAdd="displayAdd" >