@@ -209,8 +211,8 @@ watch(tab, (newValue, oldValue) => {
@@ -225,8 +227,8 @@ watch(tab, (newValue, oldValue) => {
ref="childProjectDetailRef"
:prev-step="prevStep"
:next-step="nextStep"
- :onCheckChangeData="onCheckChangeData"
- v-model:isChangeData.value="isChangeData"
+ :on-check-change-data="onCheckChangeData"
+ v-model:is-change-data.value="isChangeData"
/>
@@ -237,8 +239,8 @@ watch(tab, (newValue, oldValue) => {
:status="status"
:prev-step="prevStep"
:next-step="nextStep"
- :onCheckChangeData="onCheckChangeData"
- v-model:isChangeData.value="isChangeData"
+ :on-check-change-data="onCheckChangeData"
+ v-model:is-change-data.value="isChangeData"
/>
@@ -248,8 +250,8 @@ watch(tab, (newValue, oldValue) => {
ref="childRiskRef"
:prev-step="prevStep"
:next-step="nextStep"
- :onCheckChangeData="onCheckChangeData"
- v-model:isChangeData.value="isChangeData"
+ :on-check-change-data="onCheckChangeData"
+ v-model:is-change-data.value="isChangeData"
/>
@@ -258,8 +260,8 @@ watch(tab, (newValue, oldValue) => {
:status="status"
:prev-step="prevStep"
:next-step="nextStep"
- :onCheckChangeData="onCheckChangeData"
- v-model:isChangeData.value="isChangeData"
+ :on-check-change-data="onCheckChangeData"
+ v-model:is-change-data.value="isChangeData"
/>
@@ -267,11 +269,10 @@ watch(tab, (newValue, oldValue) => {
ref="childOtherRef"
:status="status"
:prev-step="prevStep"
- :onCheckChangeData="onCheckChangeData"
- v-model:isChangeData.value="isChangeData"
+ :on-check-change-data="onCheckChangeData"
+ v-model:is-change-data.value="isChangeData"
/>
-
diff --git a/src/modules/15_development/components/Other.vue b/src/modules/15_development/components/Other.vue
index 9dcf9ce1c..9c747003e 100644
--- a/src/modules/15_development/components/Other.vue
+++ b/src/modules/15_development/components/Other.vue
@@ -39,15 +39,14 @@ const {
success,
} = useCounterMixin();
-const projectId = ref(route.params.id.toLocaleString());
+const projectId = ref(route.params.id.toLocaleString()); //id route
const checkRoutePermission = ref(
route.name == "developmentDetailPage"
-);
+); //check ชื่อ route
/**
* props
*/
-const status = defineModel("status", { required: true });
const isChangeData = defineModel("isChangeData", { required: true });
const props = defineProps({
prevStep: { type: Function, required: true },
diff --git a/src/modules/15_development/components/ProjectDetail.vue b/src/modules/15_development/components/ProjectDetail.vue
index a7a688c08..db0674c1e 100644
--- a/src/modules/15_development/components/ProjectDetail.vue
+++ b/src/modules/15_development/components/ProjectDetail.vue
@@ -2,20 +2,27 @@
import { onMounted, reactive, ref, computed, watch } from "vue";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
+
+import http from "@/plugins/http";
+import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
+import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
/**importType*/
import type {
DataOptionTechnique,
FormProjectDetail,
DataOption,
+ StrategyNode
} from "@/modules/15_development/interface/index/Main";
import type { DataStrategic } from "@/modules/15_development/interface/response/Main";
-import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
-
-import http from "@/plugins/http";
-import config from "@/app.config";
+const $q = useQuasar();
+const store = useDevelopmentDataStore();
+const route = useRoute();
+const projectId = ref(route.params.id.toLocaleString());
+const { showLoader, hideLoader, messageError, date2Thai, diffDay, success } =
+ useCounterMixin();
const isChangeData = defineModel("isChangeData", { required: true });
const props = defineProps({
@@ -25,12 +32,12 @@ const props = defineProps({
});
const step = ref("");
-const reasonPlanned70 = ref("");
-const reasonPlanned20 = ref("");
-const reasonPlanned10 = ref("");
-const reasonActual70 = ref("");
-const reasonActual20 = ref("");
-const reasonActual10 = ref("");
+const reasonPlanned70 = ref(""); //การเรียนรู้และการพัฒนาจากการลงมือทำ 70 เทคนิควิธีการที่ใช้ในการพัฒนา
+const reasonPlanned20 = ref(""); // การเรียนรู้และการพัฒนาจากบุคคลอื่น 20 เทคนิควิธีการที่ใช้ในการพัฒนา
+const reasonPlanned10 = ref(""); // การเรียนรู้และการพัฒนาจากการฝึกอบรม 10 เทคนิควิธีการที่ใช้ในการพัฒนา
+const reasonActual70 = ref(""); //การเรียนรู้และการพัฒนาจากการลงมือทำ 70 รูปแบบโครงการตามจริง
+const reasonActual20 = ref(""); // การเรียนรู้และการพัฒนาจากบุคคลอื่น 20 รูปแบบโครงการตามจริง
+const reasonActual10 = ref(""); // การเรียนรู้และการพัฒนาจากการฝึกอบรม 10 รูปแบบโครงการตามจริง
const checkOtherBox11 = computed(() => {
return formData.developmentProjectTechniquePlanneds.includes("other1");
@@ -52,12 +59,6 @@ const checkOtherBox23 = computed(() => {
return formData.developmentProjectTechniqueActuals.includes("other3");
});
-const $q = useQuasar();
-const store = useDevelopmentDataStore();
-const route = useRoute();
-const projectId = ref(route.params.id.toLocaleString());
-const { showLoader, hideLoader, messageError, date2Thai, diffDay, success } =
- useCounterMixin();
const checkRoutePermission = ref(
route.name == "developmentDetailPage"
);
@@ -182,7 +183,7 @@ const formData = reactive({
developmentAddresss: [{ address: "", provinceId: "" }], //ที่อยู่ ,จังหวัด
});
-const nodes = ref([]);
+const nodes = ref([]);
const filter = ref("");
const filter2 = ref("");
const notFound = ref("ไม่พบข้อมูลที่ค้นหา");
diff --git a/src/modules/15_development/components/Record.vue b/src/modules/15_development/components/Record.vue
index e67ad2765..4ce60b3ba 100644
--- a/src/modules/15_development/components/Record.vue
+++ b/src/modules/15_development/components/Record.vue
@@ -2,34 +2,19 @@
import { ref, onMounted } from "vue";
import { useRoute } from "vue-router";
import { useQuasar } from "quasar";
-import http from "@/plugins/http";
-import config from "@/app.config";
-/**
- * importType
- */
+import { useCounterMixin } from "@/stores/mixin";
+
import type { QTableProps } from "quasar";
import type { ResRecord } from "@/modules/15_development/interface/response/Main";
-/**
- * importStore
- */
-import { useCounterMixin } from "@/stores/mixin";
-
/**
* usec
*/
const route = useRoute();
const $q = useQuasar();
const id = ref(route.params.id.toString());
-const {
- success,
- messageError,
- showLoader,
- hideLoader,
- dialogConfirm,
- date2Thai,
-} = useCounterMixin();
+const { date2Thai } = useCounterMixin();
/**
* prosp
diff --git a/src/modules/15_development/components/Risk.vue b/src/modules/15_development/components/Risk.vue
index 4619a44a0..954d07df0 100644
--- a/src/modules/15_development/components/Risk.vue
+++ b/src/modules/15_development/components/Risk.vue
@@ -2,26 +2,17 @@
import { onMounted, reactive, ref } from "vue";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
+
import http from "@/plugins/http";
import config from "@/app.config";
+import { useCounterMixin } from "@/stores/mixin";
-/**
- * importType
- */
import type { QTableProps } from "quasar";
import type { FormRisk } from "@/modules/15_development/interface/request/Main";
import type { ResRisk } from "@/modules/15_development/interface/response/Main";
-/**
- * importComponents
- */
import DialogHeader from "@/components/DialogHeader.vue";
-/**
- * importstore
- */
-import { useCounterMixin } from "@/stores/mixin";
-
/**
* use
*/
diff --git a/src/modules/15_development/components/Target.vue b/src/modules/15_development/components/Target.vue
index 3c6fb30e4..8c18da78c 100644
--- a/src/modules/15_development/components/Target.vue
+++ b/src/modules/15_development/components/Target.vue
@@ -2,12 +2,12 @@
import { onMounted, ref, reactive } from "vue";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
+
import http from "@/plugins/http";
import config from "@/app.config";
+import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
+import { useCounterMixin } from "@/stores/mixin";
-/**
- * importType
- */
import type { QTableProps } from "quasar";
import type { DataOption } from "@/modules/15_development/interface/index/Main";
import type {
@@ -22,17 +22,8 @@ import type {
ResActualGoals,
} from "@/modules/15_development/interface/response/Main";
-/**
- * importComponents
- */
import DialogHeader from "@/components/DialogHeader.vue";
-/**
- * importStore
- */
-import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
-import { useCounterMixin } from "@/stores/mixin";
-
/**
* use
*/
diff --git a/src/modules/15_development/components/history/AddPage.vue b/src/modules/15_development/components/history/AddPage.vue
index 31dc5c65a..042e43f47 100644
--- a/src/modules/15_development/components/history/AddPage.vue
+++ b/src/modules/15_development/components/history/AddPage.vue
@@ -2,16 +2,16 @@
import { ref, reactive, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useQuasar } from "quasar";
+
import http from "@/plugins/http";
import config from "@/app.config";
+import { useCounterMixin } from "@/stores/mixin";
import type {
FormAddHistory,
FormAddHistoryProject,
} from "@/modules/15_development/interface/request/Main";
-import { useCounterMixin } from "@/stores/mixin";
-
const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
@@ -19,9 +19,9 @@ const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const router = useRouter();
const route = useRoute();
-const id = ref(route.params.id as string);
-const dateOrder = ref(null);
-const order = ref("");
+const id = ref(route.params.id as string); // id route
+const dateOrder = ref(null); // คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่
+const order = ref(""); //เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ
/** ตัวแปรข้อมูลข้าราชการ */
const formMain = reactive({
diff --git a/src/modules/15_development/components/history/DialogGov.vue b/src/modules/15_development/components/history/DialogGov.vue
index 772f1be5d..96541bfaa 100644
--- a/src/modules/15_development/components/history/DialogGov.vue
+++ b/src/modules/15_development/components/history/DialogGov.vue
@@ -1,23 +1,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ year + 543 }}
- {{
- parseInt(value + 543)
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- บันทึกข้อมูล
-
-
-
-
diff --git a/src/modules/15_development/components/historyEmployee/AddPage.vue b/src/modules/15_development/components/historyEmployee/AddPage.vue
index 4d5607029..4266de2b1 100644
--- a/src/modules/15_development/components/historyEmployee/AddPage.vue
+++ b/src/modules/15_development/components/historyEmployee/AddPage.vue
@@ -2,6 +2,7 @@
import { ref, reactive, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useQuasar } from "quasar";
+
import http from "@/plugins/http";
import config from "@/app.config";
@@ -15,9 +16,9 @@ import type {
import { useCounterMixin } from "@/stores/mixin";
/** use*/
+const $q = useQuasar();
const router = useRouter();
const route = useRoute();
-const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
@@ -53,8 +54,6 @@ const formMainProject = reactive({
totalTraining: "", //รวมระยะเวลาในการฝึกอบรม
location: "", //สถานที่ไปศึกษาดูงาน
topic: "", //หัวข้อการไปศึกษาดูงาน
- // studyStart: "", //วันเริ่มต้นการศึกษาดูงาน
- // studyEnd: "", //วันสิ้นสุดการศึกษาดูงาน
organizingTraining: "", //หน่วยงานที่รับผิดชอบจัดการอบรม
});
diff --git a/src/modules/15_development/components/historyEmployee/DialogGov.vue b/src/modules/15_development/components/historyEmployee/DialogGov.vue
deleted file mode 100644
index ea03d2cba..000000000
--- a/src/modules/15_development/components/historyEmployee/DialogGov.vue
+++ /dev/null
@@ -1,348 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- บันทึกข้อมูล
-
-
-
-
diff --git a/src/modules/15_development/components/historyEmployee/DialogProject.vue b/src/modules/15_development/components/historyEmployee/DialogProject.vue
deleted file mode 100644
index 125897360..000000000
--- a/src/modules/15_development/components/historyEmployee/DialogProject.vue
+++ /dev/null
@@ -1,340 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ year + 543 }}
- {{
- parseInt(value + 543)
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- บันทึกข้อมูล
-
-
-
-
diff --git a/src/modules/15_development/components/scholarship/DetailView.vue b/src/modules/15_development/components/scholarship/DetailView.vue
index 9d9fbe855..47afaebaa 100644
--- a/src/modules/15_development/components/scholarship/DetailView.vue
+++ b/src/modules/15_development/components/scholarship/DetailView.vue
@@ -2,26 +2,25 @@
import { ref, reactive, onMounted } from "vue";
import { useQuasar } from "quasar";
import { useRouter, useRoute } from "vue-router";
+
import http from "@/plugins/http";
import config from "@/app.config";
+import { useCounterMixin } from "@/stores/mixin";
import type {
DataOption,
DataPerson,
+ PersonData
} from "@/modules/15_development/interface/index/Main";
import type { FormsSholarship } from "@/modules/15_development/interface/request/Scholarship";
import type { DataSholarship } from "@/modules/15_development/interface/response/Scholarship";
import DialogGov from "@/modules/15_development/components/history/DialogGov.vue";
-import { useCounterMixin } from "@/stores/mixin";
const fileBackReceived = ref("");
const $q = useQuasar();
const router = useRouter();
const route = useRoute();
-const checkRouteDetail = ref(
- route.name == "developmentScholarshipidDetail"
-);
const {
dialogConfirm,
showLoader,
@@ -32,12 +31,17 @@ const {
calculateDurationYmd,
} = useCounterMixin();
-const title = ref(route.params.id ? "แก้ไข" : "เพิ่ม");
+const checkRouteDetail = ref(
+ route.name == "developmentScholarshipidDetail"
+); // check ชือ route
+
+const title = ref(route.params.id ? "แก้ไข" : "เพิ่ม"); //หัวข้อหน้า
const scholarshipId = ref(
route.params.id ? route.params.id.toLocaleString() : null
-);
-const isStatus = ref("");
-const modalDialogGov = ref(false);
+); // เก็บ id route.
+
+const isStatus = ref(""); // สถานะ
+const modalDialogGov = ref(false); // popup เลือกข้าราชการ ฯ
const budgetSourceOp = ref([
{ id: "BKK", name: "งบประมาณ กทม." },
@@ -74,10 +78,11 @@ const fundTypeOp = ref([
{ id: "FUND5", name: "ทุนส่วนตัว" },
]);
-const isGov = ref(false);
-const isGuarantor = ref(false);
-const isSelectGov = ref(false);
-const dataPerson = reactive({
+const isGov = ref(false); // เก็บเช็คข้าราชการ ถ้ามี เลข ปชช. true/false
+const isGuarantor = ref(false); // ข้อมูลผู้ค้ำประกัน มี/ไม่มี
+const isSelectGov = ref(false); // เลือกข้าราชการ
+
+const dataPerson = reactive({
id: "",
citizenId: "",
name: "",
@@ -87,7 +92,8 @@ const dataPerson = reactive({
positionSide: "",
org: "-",
});
-const dataGuarantor = reactive({
+
+const dataGuarantor = reactive({
id: "",
citizenId: "",
name: "",
diff --git a/src/modules/15_development/interface/index/Main.ts b/src/modules/15_development/interface/index/Main.ts
index c9cbaacc3..9729cdf31 100644
--- a/src/modules/15_development/interface/index/Main.ts
+++ b/src/modules/15_development/interface/index/Main.ts
@@ -105,6 +105,56 @@ interface DataHistory {
year: number;
}
+interface OrgTree {
+ orgTreeId: string;
+ orgRootId: string;
+ orgLevel: number;
+ orgName: string;
+ orgTreeName: string;
+ orgTreeShortName: string;
+ orgTreeCode: string;
+ orgCode: string;
+ orgTreeRank: string;
+ orgTreeRankSub: string;
+ orgTreeOrder: number;
+ orgRootCode: string;
+ orgTreePhoneEx: string;
+ orgTreePhoneIn: string;
+ orgTreeFax: string;
+ orgRevisionId: string;
+ orgRootName: string;
+ responsibility: string;
+ labelName: string;
+ totalPosition: number;
+ totalPositionCurrentUse: number;
+ totalPositionCurrentVacant: number;
+ totalPositionNextUse: number;
+ totalPositionNextVacant: number;
+ totalRootPosition: number;
+ totalRootPositionCurrentUse: number;
+ totalRootPositionCurrentVacant: number;
+ totalRootPositionNextUse: number;
+ totalRootPositionNextVacant: number;
+ children: OrgTree[];
+}
+
+interface PersonData {
+ id: string;
+ citizenId: string;
+ name: string;
+ position: string;
+ type: string;
+ level: string;
+ positionSide: string;
+ org: string;
+}
+
+interface StrategyNode {
+ id: string;
+ level: number;
+ name: string;
+ children: StrategyNode[];
+}
export type {
DataOption,
DataOptionCheckBox,
@@ -116,4 +166,7 @@ export type {
FormProjectDetail,
DataOptionTechnique,
DataHistory,
+ OrgTree,
+ PersonData,
+ StrategyNode,
};
diff --git a/src/modules/15_development/router.ts b/src/modules/15_development/router.ts
index ad1063244..3cf0115a8 100644
--- a/src/modules/15_development/router.ts
+++ b/src/modules/15_development/router.ts
@@ -8,22 +8,15 @@ const employeeHistory = () =>
import("@/modules/15_development/views/EmployeeHistory.vue");
const Scholarship = () =>
import("@/modules/15_development/views/Scholarship.vue");
-// const historyAdd = () =>
-// import("@/modules/15_development/components/history/AddPage.vue");
const historyEdit = () =>
import("@/modules/15_development/components/history/AddPage.vue");
-// const historyEmployeeAdd = () =>
-// import("@/modules/15_development/components/historyEmployee/AddPage.vue");
+
const historyEmployeeEdit = () =>
import("@/modules/15_development/components/historyEmployee/AddPage.vue");
const ScholarshipDetail = () =>
import("@/modules/15_development/components/scholarship/DetailView.vue");
const ScholarshipDetailById = () =>
import("@/modules/15_development/components/scholarship/DetailView.vue");
-// const historyAdd = () =>
-// import("@/modules/15_development/components/history/AddPage.vue");
-// const StrategicView = () =>
-// import("@/modules/15_development/views/Strategic.vue");
const RecordPage = () =>
import("@/modules/15_development/views/RecordPage.vue");
diff --git a/src/modules/15_development/views/EmployeeHistory.vue b/src/modules/15_development/views/EmployeeHistory.vue
index d2e531b4f..de06229b0 100644
--- a/src/modules/15_development/views/EmployeeHistory.vue
+++ b/src/modules/15_development/views/EmployeeHistory.vue
@@ -1,27 +1,28 @@