diff --git a/.env.production b/.env.production index 3005ebb61..a88565a73 100644 --- a/.env.production +++ b/.env.production @@ -6,4 +6,14 @@ VITE_API_REPORT_URL=VITE_API_REPORT_URL VITE_MANUAL_URL=VITE_MANUAL_URL VITE_URL_SSO=VITE_URL_SSO VITE_API_URI_CONFIG=VITE_API_URI_CONFIG -VITE_API_URI_REPORT_CONFIG=VITE_API_URI_REPORT_CONFIG \ No newline at end of file +VITE_API_URI_REPORT_CONFIG=VITE_API_URI_REPORT_CONFIG +VITE_DASHBOARD_PANEL=VITE_DASHBOARD_PANEL +VITE_DASHBOARDID_ORG=VITE_DASHBOARDID_ORG +VITE_DASHBOARDID_REGISTRY=VITE_DASHBOARDID_REGISTRY +VITE_DASHBOARDID_LEAVE=VITE_DASHBOARDID_LEAVE +VITE_DASHBOARDID_PLACEMENT=VITE_DASHBOARDID_PLACEMENT +VITE_DASHBOARDID_RETIRE=VITE_DASHBOARDID_RETIRE +VITE_DASHBOARDID_DISCIPLINE=VITE_DASHBOARDID_DISCIPLINE +VITE_DASHBOARDID_DEVELOP=VITE_DASHBOARDID_DEVELOP +VITE_DASHBOARDID_SALARY=VITE_DASHBOARDID_SALARY +VITE_DASHBOARDID_KPI=VITE_DASHBOARDID_KPI \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 230dc0347..168e956d6 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -17,6 +17,17 @@ do sed -i 's|VITE_URL_SSO|'${VITE_URL_SSO}'|g' $file sed -i 's|VITE_API_URI_CONFIG|'${VITE_API_URI_CONFIG}'|g' $file sed -i 's|VITE_API_URI_REPORT_CONFIG|'${VITE_API_URI_REPORT_CONFIG}'|g' $file + sed -i 's|VITE_DASHBOARD_PANEL|'${VITE_DASHBOARD_PANEL}'|g' $file + + sed -i 's|VITE_DASHBOARDID_ORG|'${VITE_DASHBOARDID_ORG}'|g' $file + sed -i 's|VITE_DASHBOARDID_REGISTRY|'${VITE_DASHBOARDID_REGISTRY}'|g' $file + sed -i 's|VITE_DASHBOARDID_LEAVE|'${VITE_DASHBOARDID_LEAVE}'|g' $file + sed -i 's|VITE_DASHBOARDID_PLACEMENT|'${VITE_DASHBOARDID_PLACEMENT}'|g' $file + sed -i 's|VITE_DASHBOARDID_RETIRE|'${VITE_DASHBOARDID_RETIRE}'|g' $file + sed -i 's|VITE_DASHBOARDID_DISCIPLINE|'${VITE_DASHBOARDID_DISCIPLINE}'|g' $file + sed -i 's|VITE_DASHBOARDID_DEVELOP|'${VITE_DASHBOARDID_DEVELOP}'|g' $file + sed -i 's|VITE_DASHBOARDID_SALARY|'${VITE_DASHBOARDID_SALARY}'|g' $file + sed -i 's|VITE_DASHBOARDID_KPI|'${VITE_DASHBOARDID_KPI}'|g' $file done diff --git a/src/api/05_placement/api.probation.ts b/src/api/05_placement/api.probation.ts index 7deae216f..b7c610a12 100644 --- a/src/api/05_placement/api.probation.ts +++ b/src/api/05_placement/api.probation.ts @@ -97,4 +97,10 @@ export default { //รายงาน probationReport: `${report}`, + probationSurvey: `${probation}/survey/admin`, + + //ราชชื่อเลือกผู้มีอำนาจออกคำสั่ง + probationCommanderDirector : `${orgProfile}/profile/commander-director-position`, + + }; diff --git a/src/api/07_insignia/api.insignia.ts b/src/api/07_insignia/api.insignia.ts index 9f75833b7..7569f1683 100644 --- a/src/api/07_insignia/api.insignia.ts +++ b/src/api/07_insignia/api.insignia.ts @@ -105,4 +105,6 @@ export default { // สกจ. ตีกลับให้หัวหน้าเขต rejectRequest: (id: string, ocId: string) => `${insignia}/request/head/reject/${id}/${ocId}`, + + reportInsigniaNew: `${insignia}/report`, }; diff --git a/src/api/09_leave/api.leave.ts b/src/api/09_leave/api.leave.ts index 120aca326..6fc2d10a2 100644 --- a/src/api/09_leave/api.leave.ts +++ b/src/api/09_leave/api.leave.ts @@ -45,5 +45,7 @@ export default { leaveReportTimeLate: (type: string) => `${leaveReport}/late/${type}`, leaveReportLeaveday: (type: string) => `${leaveReport}/leaveday/${type}`, + leaveReportLeavedayRetire: () => `${leaveReport}/leavedayRetire`, + leaveReportLeave2: (type: string) => `${leaveReport}/leave2/${type}`, }; diff --git a/src/api/index.ts b/src/api/index.ts index b75046d0f..de50a41f0 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -6,6 +6,7 @@ export const apiUrlConfig = import.meta.env.VITE_API_URI_CONFIG; export const apiUrlConfigPublish = import.meta.env.VITE_API_PUBLISH_URL; export const apiUrlConfigReport = import.meta.env.VITE_API_REPORT_URL; export const apiUrlConfigReport2 = import.meta.env.VITE_API_URI_REPORT_CONFIG; +export const dashboardPanelUrl = import.meta.env.VITE_DASHBOARD_PANEL; // if (process.env.VUE_APP_TEST) { // env = "test"; // } @@ -38,6 +39,33 @@ const config = ref({ API_REPORT_TEMPLATE_URI: "https://report-server.frappet.synology.me/api/v1/report-template", API_SUPPORT_URI: "https://bma-ehr.frappet.synology.me/api/v1/support", + DASHBOARD_ORG_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_ORG + }`, + DASHBOARD_REGISTRY_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_REGISTRY + }`, + DASHBOARD_LEAVE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_LEAVE + }`, + DASHBOARD_PLACEMENT_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_PLACEMENT + }`, + DASHBOARD_RETIRE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_RETIRE + }`, + DASHBOARD_DISCIPLINE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_DISCIPLINE + }`, + DASHBOARD_DEVELOP_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_DEVELOP + }`, + DASHBOARD_SALARY_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_SALARY + }`, + DASHBOARD_KPI_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_KPI + }`, }, test: { API_URI: "http://localhost:5010/api/v1", @@ -63,6 +91,33 @@ const config = ref({ LINK_EVALUATE_PUBLISH: apiUrlConfigPublish, API_REPORT_TEMPLATE_URI: apiUrlConfigReport, API_SUPPORT_URI: `${apiUrlConfigPublish}/support`, + DASHBOARD_ORG_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_ORG + }`, + DASHBOARD_REGISTRY_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_REGISTRY + }`, + DASHBOARD_LEAVE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_LEAVE + }`, + DASHBOARD_PLACEMENT_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_PLACEMENT + }`, + DASHBOARD_RETIRE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_RETIRE + }`, + DASHBOARD_DISCIPLINE_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_DISCIPLINE + }`, + DASHBOARD_DEVELOP_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_DEVELOP + }`, + DASHBOARD_SALARY_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_SALARY + }`, + DASHBOARD_KPI_URL: `${dashboardPanelUrl}/${ + import.meta.env.VITE_DASHBOARDID_KPI + }`, }, }); @@ -100,6 +155,34 @@ const API_REPORT_TEMPLATE_URI = ref( config.value[env.value].API_REPORT_TEMPLATE_URI ); +const DASHBOARD_ORG_URL = ref( + config.value[env.value].DASHBOARD_ORG_URL +); +const DASHBOARD_REGISTRY_URL = ref( + config.value[env.value].DASHBOARD_REGISTRY_URL +); +const DASHBOARD_LEAVE_URL = ref( + config.value[env.value].DASHBOARD_LEAVE_URL +); +const DASHBOARD_PLACEMENT_URL = ref( + config.value[env.value].DASHBOARD_PLACEMENT_URL +); +const DASHBOARD_RETIRE_URL = ref( + config.value[env.value].DASHBOARD_RETIRE_URL +); +const DASHBOARD_DISCIPLINE_URL = ref( + config.value[env.value].DASHBOARD_DISCIPLINE_URL +); +const DASHBOARD_DEVELOP_URL = ref( + config.value[env.value].DASHBOARD_DEVELOP_URL +); +const DASHBOARD_SALARY_URL = ref( + config.value[env.value].DASHBOARD_SALARY_URL +); +const DASHBOARD_KPI_URL = ref( + config.value[env.value].DASHBOARD_KPI_URL +); + export default { env: env.value, config: config.value, @@ -118,4 +201,13 @@ export default { LINK_EVALUATE_PUBLISH: LINK_EVALUATE_PUBLISH.value, API_REPORT_TEMPLATE_URI: API_REPORT_TEMPLATE_URI.value, API_SUPPORT_URI: API_SUPPORT_URI.value, + DASHBOARD_ORG_URL: DASHBOARD_ORG_URL.value, + DASHBOARD_REGISTRY_URL: DASHBOARD_REGISTRY_URL.value, + DASHBOARD_LEAVE_URL: DASHBOARD_LEAVE_URL.value, + DASHBOARD_PLACEMENT_URL: DASHBOARD_PLACEMENT_URL.value, + DASHBOARD_RETIRE_URL: DASHBOARD_RETIRE_URL.value, + DASHBOARD_DISCIPLINE_URL: DASHBOARD_DISCIPLINE_URL.value, + DASHBOARD_DEVELOP_URL: DASHBOARD_DEVELOP_URL.value, + DASHBOARD_SALARY_URL: DASHBOARD_SALARY_URL.value, + DASHBOARD_KPI_URL: DASHBOARD_KPI_URL.value, }; diff --git a/src/api/recruiting/api.period-exam.ts b/src/api/recruiting/api.period-exam.ts index 31972f538..d52f2df27 100644 --- a/src/api/recruiting/api.period-exam.ts +++ b/src/api/recruiting/api.period-exam.ts @@ -28,6 +28,8 @@ export default { periodExamId: (examId: string) => `${periodExam}${examId}`, periodExamDoc: (examId: string) => `${periodExam}doc/${examId}`, periodExamImg: (examId: string) => `${periodExam}img/${examId}`, + periodExambarcode: (examId: string) => `${periodExam}barcode/${examId}`, + periodExamqrcode: (examId: string) => `${periodExam}qrcode/${examId}`, periodExamStatus: (examId: string) => `${periodExam}status-payment/${examId}`, countDashbordPeriodExam: (examId: string) => diff --git a/src/api/registry/api.registry.ts b/src/api/registry/api.registry.ts index 5cfa64f12..60bf53e6a 100644 --- a/src/api/registry/api.registry.ts +++ b/src/api/registry/api.registry.ts @@ -1,6 +1,7 @@ import env from "../index"; const registryNew = `${env.API_URI}/org/profile`; +const org = `${env.API_URI}/org`; const metadata = `${env.API_URI}/org/metadata/`; export default { @@ -42,6 +43,10 @@ export default { profileNewInsign: (type: string) => `${registryNew}${type}/insignia`, profileNewInsignByProfileId: (profileId: string, type: string) => `${registryNew}${type}/insignia/${profileId}`, + + orgInsigniaActive: () => + `${org}/insignia/insignia-type/active`, + profileNewInsignById: (dataId: string, type: string) => `${registryNew}${type}/insignia/${dataId}`, profileNewInsignHisById: (dataId: string, type: string) => @@ -207,4 +212,16 @@ export default { requestInformationbyType: (type: string, id: string) => `${registryNew}/request-edit/${type}/${id}`, + + // รักษาการในตำแหน่ง + profileActposition: (type: string, id: string) => + `${registryNew}${type}/actposition/${id}`, + profileActpositionHistory: (id: string, type: string) => + `${registryNew}${type}/actposition/history/${id}`, + + //ช่วยราชการ + profileAssistance: (type: string, id: string) => + `${registryNew}${type}/assistance/${id}`, + profileAssistanceHistory: (id: string, type: string) => + `${registryNew}${type}/assistance/history/${id}`, }; diff --git a/src/api/reports/api.dashboard.ts b/src/api/reports/api.dashboard.ts new file mode 100644 index 000000000..7902a382b --- /dev/null +++ b/src/api/reports/api.dashboard.ts @@ -0,0 +1,14 @@ +/*** dashboard panel url */ +import env from "../index"; + +export default { + dashboardPanelOrg: `${env.DASHBOARD_ORG_URL}`, + dashboardPanelRegistry: `${env.DASHBOARD_REGISTRY_URL}`, + dashboardPanelLeave: `${env.DASHBOARD_LEAVE_URL}`, + dashboardPanelPlacement: `${env.DASHBOARD_PLACEMENT_URL}`, + dashboardPanelRetire: `${env.DASHBOARD_RETIRE_URL}`, + dashboardPanelDiscipline: `${env.DASHBOARD_DISCIPLINE_URL}`, + dashboardPanelDevelop: `${env.DASHBOARD_DEVELOP_URL}`, + dashboardPanelSalary: `${env.DASHBOARD_SALARY_URL}`, + dashboardPanelKPI: `${env.DASHBOARD_KPI_URL}`, +}; diff --git a/src/api/reports/api.report.ts b/src/api/reports/api.report.ts index 8570cb24a..fd9421831 100644 --- a/src/api/reports/api.report.ts +++ b/src/api/reports/api.report.ts @@ -3,11 +3,11 @@ */ import env from "../index"; const reportOrder = `${env.API_REPORT2_URI}/report/order`; -const reportRetire = `${env.API_REPORT2_URI}/report/retire`; -const reportProbation = `${env.API_REPORT2_URI}/report/probation`; -const reportResign = `${env.API_REPORT2_URI}/report/resign/33`; -const reportTransfer = `${env.API_REPORT2_URI}/report/transfer`; -const reportDeceased = `${env.API_REPORT2_URI}/report/deceased`; +const reportRetire = `${env.API_REPORT_URI}/retirement`; +const reportProbation = `${env.API_REPORT_URI}/placement/probation`; +const reportResign = `${env.API_REPORT_URI}/retirement/resign/33`; +const reportTransfer = `${env.API_REPORT_URI}/placement/transfer`; +const reportDeceased = `${env.API_REPORT_URI}/retirement/deceased`; const reportTemplate = `${env.API_REPORT_TEMPLATE_URI}`; export default { diff --git a/src/app.config.ts b/src/app.config.ts index 9dd8f3ead..cf26b6493 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -72,6 +72,8 @@ import command from "./api/18_command/api.command"; import file from "./api/file/api.file"; +import dashboard from "./api/reports/api.dashboard"; + // environment variables export const compettitivePanel = import.meta.env.VITE_COMPETITIVE_EXAM_PANEL; export const qualifyDisableExamPanel = import.meta.env @@ -140,6 +142,8 @@ const API = { /*file*/ ...file, + + ...dashboard, }; const path = import.meta.env.VITE_MANUAL_URL ?? ""; diff --git a/src/components/CardProfile.vue b/src/components/CardProfile.vue index 8dd34c0aa..7aa17c5ae 100644 --- a/src/components/CardProfile.vue +++ b/src/components/CardProfile.vue @@ -175,6 +175,7 @@ watch( :id="profile.id" @update:modal="updatemodalPersonal" :type="props.type" + :is-employee="props.type" /> diff --git a/src/components/Dialogs/AddPersonal.vue b/src/components/Dialogs/AddPersonal.vue index 5ce74adf9..98d3a3353 100644 --- a/src/components/Dialogs/AddPersonal.vue +++ b/src/components/Dialogs/AddPersonal.vue @@ -189,6 +189,12 @@ async function getSearch() { posTypeName: e.posTypeName, posLevelId: e.posLevelId, posLevelName: e.posLevelName, + + rootDnaId: e.rootDnaId, + child1DnaId: e.child1DnaId, + child2DnaId: e.child2DnaId, + child3DnaId: e.child3DnaId, + child4DnaId: e.child4DnaId, })); rows.value = list; diff --git a/src/components/Dialogs/DialogOrgSelect.vue b/src/components/Dialogs/DialogOrgSelect.vue index 338b585f1..282bc25b4 100644 --- a/src/components/Dialogs/DialogOrgSelect.vue +++ b/src/components/Dialogs/DialogOrgSelect.vue @@ -292,6 +292,7 @@ async function getDataTable(id: string, level: number = 0) { node: e.node, nodeId: e.nodeId, isCondition: e.isCondition, + isDirector: e.isDirector, })); positionNo.value = listPosNo; @@ -725,7 +726,9 @@ onMounted(async () => { name="mdi-star" color="primary" v-if="props.row.isDirector" - /> + > + ผู้อำนวยการ/หัวหน้า +
diff --git a/src/components/Dialogs/DialogOrgSelectEmployee.vue b/src/components/Dialogs/DialogOrgSelectEmployee.vue index a58baf3b9..88129e23c 100644 --- a/src/components/Dialogs/DialogOrgSelectEmployee.vue +++ b/src/components/Dialogs/DialogOrgSelectEmployee.vue @@ -277,6 +277,7 @@ async function getDataTable(id: string, level: number = 0) { node: e.node, nodeId: e.nodeId, isCondition: e.isCondition, + isDirector: e.isDirector, })); positionNo.value = listPosNo; @@ -700,7 +701,9 @@ onMounted(() => { name="mdi-star" color="primary" v-if="props.row.isDirector" - /> + > + ผู้อำนวยการ/หัวหน้า +
diff --git a/src/components/Dialogs/PopupPersonalNew.vue b/src/components/Dialogs/PopupPersonalNew.vue index be801f939..5bb0f24ac 100644 --- a/src/components/Dialogs/PopupPersonalNew.vue +++ b/src/components/Dialogs/PopupPersonalNew.vue @@ -99,7 +99,7 @@ async function fetchInformation(id: string) { .get( config.API.orgProfileById( id, - `${empType.value == "employee" ? `-${empType.value}` : ""}` + `${props.type == "employee" ? `-${props.type}` : ""}` ) ) .then(async (res) => { @@ -143,7 +143,7 @@ async function fetchProfileGov(id: string) { .get( config.API.profileNewGovernmentCard( id, - `${empType.value == "employee" ? `-${empType.value}` : ""}` + `${props.type == "employee" ? `-${props.type}` : ""}` ) ) .then(async (res) => { @@ -172,7 +172,7 @@ async function fetchProfileGov(id: string) { } function redirecToRegistry() { - router.push(`/registry-${empType.value}/${props.id}`); + router.push(`/registry-${props.type == 'employee' ? 'employee':'officer'}/${props.id}`); modal.value = false; } @@ -422,7 +422,7 @@ async function fetchProfile(id: string, avatarName: string) { :model-value=" goverment.positionType ? goverment.positionType : '-' " - label="ประเภทตำแหน่ง" + :label="props.type == 'employee' ? 'กลุ่มงาน':'ประเภทตำแหน่ง'" />
@@ -434,7 +434,7 @@ async function fetchProfile(id: string, avatarName: string) { ? goverment.positionLevel : '-' " - label="ระดับตำแหน่ง" + :label="props.type == 'employee' ? 'ระดับชั้นงาน':'ระดับตำแหน่ง'" />
(); //แสดงปุ่มดูข้อมู const next = ref(); //แสดงปุ่มดูข้อมูลต่อไป const editRow = ref(false); //เช็คมีการแก้ไขข้อมูล const rowsHistory = ref([]); //select data history -const tittleHistory = ref("ประวัติแก้ไขประวัติการเปลี่ยนชื่อ-นามสกุล"); // +const tittleHistory = ref("ประวัติแก้ไขประวัติการเปลี่ยนชื่อ - นามสกุล"); // const filterHistory = ref(""); //search data table history const modalHistory = ref(false); //modal ประวัติการแก้ไขข้อมูล const checkValidate = ref(false); //validate data ผ่านหรือไม่ diff --git a/src/interface/request/orgSelect/org.ts b/src/interface/request/orgSelect/org.ts index 326c38b7c..21ce503e1 100644 --- a/src/interface/request/orgSelect/org.ts +++ b/src/interface/request/orgSelect/org.ts @@ -73,6 +73,7 @@ interface PositionMain { node: number; nodeId: string; isCondition: boolean; + isDirector: boolean; } interface PositionNo { diff --git a/src/modules/01_masterdata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue b/src/modules/01_masterdata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue index 17a3af36d..e33d0c816 100644 --- a/src/modules/01_masterdata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue +++ b/src/modules/01_masterdata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue @@ -70,6 +70,7 @@ const roundOp = ref([ { id: "OCT", name: "รอบตุลาคม" }, ]); +const nodeDnaId = ref(""); const nodeplan = ref([]); const nodeAgency = ref([]); const filter = ref(""); @@ -117,6 +118,7 @@ async function fetchDataById(id: string) { planData.strategy = data.strategy; planData.strategyId = data.strategyId; planData.documentInfoEvidence = data.documentInfoEvidence; + nodeDnaId.value = data.nodeDnaId; // หน่วยงาน/ส่วนราชการ const arrayexpandedAgency = [ @@ -168,6 +170,7 @@ function updateSelectedAgency(data: any, isUpdate: boolean = false) { } else { planData.node = data.orgLevel; planData.nodeId = data.orgTreeId; + nodeDnaId.value = data.orgTreeDnaId; } planData.orgRevisionId = data.orgRevisionId; } @@ -185,7 +188,7 @@ function onSubmit() { async () => { const body = { year: year.value == 0 ? null : year.value?.toString(), - period: planData.period, + period: planData.period ? planData.period : null, includingName: planData.includingName, target: planData.target, unit: planData.unit, @@ -304,7 +307,6 @@ onMounted(async () => {