Refactoring code module 10_registry

This commit is contained in:
STW_TTTY\stwtt 2024-09-10 15:10:18 +07:00
parent 59393536f7
commit 779e33d2a5
25 changed files with 605 additions and 276 deletions

View file

@ -4,19 +4,19 @@ import { useQuasar, type QTableColumn, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]);
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const store = useRegistryInFormationStore();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const rowsHistory = ref<any[]>([]);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
const formDataInformation = reactive<any>({
citizenId: "", //
@ -26,7 +26,6 @@ const formDataInformation = reactive<any>({
birthDate: "", //
gender: "", //
relationship: "", //
nationality: "", //
ethnicity: "", //
religion: "", //
@ -34,6 +33,24 @@ const formDataInformation = reactive<any>({
phone: "", //
});
const visibleColumnsHistory = ref<string[]>([
"citizenId",
"prefix",
"rank",
"firstName",
"lastName",
"birthDate",
"gender",
"relationship",
"bloodGroup",
"nationality",
"ethnicity",
"religion",
"phone",
"createdFullName",
"createdAt",
]);
const columnsHistory = ref<QTableProps["columns"]>([
{
name: "citizenId",
@ -204,24 +221,6 @@ const columnsHistory = ref<QTableProps["columns"]>([
},
]);
const visibleColumnsHistory = ref<string[]>([
"citizenId",
"prefix",
"rank",
"firstName",
"lastName",
"birthDate",
"gender",
"relationship",
"bloodGroup",
"nationality",
"ethnicity",
"religion",
"phone",
"createdFullName",
"createdAt",
]);
function onHistory() {
modalHistory.value = true;
}

View file

@ -1,23 +1,24 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByrow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
import type { ChangNameRows } from "@/modules/10_registry/interface/response/01_Information";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const rows = ref<ChangNameRows[]>([]);
const idByrow = ref<string>("");
const filter = ref<string>("");
const rowsHistory = ref<ChangNameRows[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */

View file

@ -1,9 +1,11 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import type {
Address,
@ -15,8 +17,6 @@ import type {
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();

View file

@ -1,39 +1,28 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { FormChildren } from "@/modules/10_registry/interface/index/Family";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import { useCounterMixin } from "@/stores/mixin";
import type { FormChildren } from "@/modules/10_registry/interface/index/Family";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError } = mixin;
const idFamily = ref<string>("");
const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const typeForm = ref<string>("");
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
/** ข้อมูล*/
const fromData = reactive({
isLive: 1,
citizenId: "",
prefix: "",
firstName: "",
lastName: "",
job: "",
lastNameOld: "",
statusMarital: "",
});
const fatherData = reactive<any>({
isLive: null,
citizenId: "",
@ -143,17 +132,17 @@ const columnsHistory = ref<QTableProps["columns"]>([
},
]);
const checkFatherData = ref<boolean>(false);
const checkMotherData = ref<boolean>(false);
const checkCoupleData = ref<boolean>(false);
const checkChildData = ref<boolean>(false);
function onHistory(type: string, id: string) {
modalHistory.value = true;
typeForm.value = type;
idFamily.value = id ? id : "user";
}
const checkFatherData = ref<boolean>(false);
const checkMotherData = ref<boolean>(false);
const checkCoupleData = ref<boolean>(false);
const checkChildData = ref<boolean>(false);
/** get data */
function getData(type: string) {
showLoader();

View file

@ -1,23 +1,27 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { ref, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
import type { EducationProfile } from "@/modules/10_registry/interface/index/Main";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const rows = ref<EducationProfile[]>([]);
const rowsHistory = ref<EducationProfile[]>([]);
const idByRow = ref<string>("");
const filter = ref<string>("");
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
@ -428,6 +432,7 @@ const visibleColumnsHistory = ref<string[]>([
"lastUpdatedAt",
]);
/** เปิด dialog ประวัติ */
function onHistory(id: string) {
modalHistory.value = true;
idByRow.value = id;

View file

@ -1,20 +1,21 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { AbilityRows } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const rows = ref<AbilityRows[]>([]);
const rowsHistory = ref<AbilityRows[]>([]);
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -1,25 +1,29 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { useQuasar, type QTableProps } from "quasar";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import type {
ProfileAppointment,
FormDataGovernment,
} from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mixin = useCounterMixin();
const store = useRegistryInFormationStore();
const { showLoader, hideLoader, messageError, date2Thai, dateToISO } = mixin;
const rowsHistory = ref<ProfileAppointment[]>([]);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
const formData = reactive<any>({
const formData = reactive<FormDataGovernment>({
org: "",
positionField: "",
position: "",
@ -29,8 +33,8 @@ const formData = reactive<any>({
posExecutive: "",
positionArea: "",
positionExecutiveField: "",
dateLeave: "",
dateRetireLaw: "",
dateLeave: null,
dateRetireLaw: null,
govAge: {
year: 0,
month: 0,

View file

@ -1,23 +1,25 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
import type { DisciplineDetail } from "@/modules/10_registry/interface/index/Main";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const rows = ref<DisciplineDetail[]>([]);
const idByRow = ref<string>("");
const filter = ref<string>("");
const rowsHistory = ref<DisciplineDetail[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
@ -127,84 +129,6 @@ const columns = ref<QTableProps["columns"]>([
},
]);
const visibleColumnsHistory = ref<string[]>([
"prefix",
"firstName",
"lastName",
"status",
"lastUpdateFullName",
"lastUpdatedAt",
]);
const columnsHistory = ref<QTableProps["columns"]>([
{
name: "prefix",
align: "left",
label: "คำนำหน้าชื่อ",
sortable: true,
field: "prefix",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "firstName",
align: "left",
label: "ชื่อ",
sortable: true,
field: "firstName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "lastName",
align: "left",
label: "นามสกุล",
sortable: true,
field: "lastName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "status",
align: "left",
label: "สถานะการเปลี่ยนชื่อ",
sortable: true,
field: "status",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "lastUpdateFullName",
align: "left",
label: "ผู้ดำเนินการ",
sortable: true,
field: "lastUpdateFullName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "lastUpdatedAt",
align: "left",
label: "วันที่แก้ไข",
sortable: true,
field: "lastUpdatedAt",
format: (v) => date2Thai(v),
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
]);
function onHistory(id: string) {
modalHistory.value = true;
idByRow.value = id;

View file

@ -1,23 +1,25 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
import type { LeaveFormType } from "@/modules/10_registry/interface/index/Main";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const idByRow = ref<string>("");
const rows = ref<LeaveFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */

View file

@ -3,16 +3,17 @@ import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { DutyFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const rows = ref<DutyFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<DutyFormType[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();

View file

@ -1,23 +1,26 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { SalaryFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const idByRow = ref<string>("");
const rows = ref<SalaryFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<SalaryFormType[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */
@ -314,6 +317,7 @@ const columnsHistory = ref<QTableProps["columns"]>([
},
]);
/** เปิด dialog ประวัติ*/
function onHistory(id: string) {
modalHistory.value = true;
idByRow.value = id;

View file

@ -1,20 +1,21 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { NopaidFormType } from "@/modules/10_registry/interface/index/Main";
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const rows = ref<NopaidFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<NopaidFormType[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -3,21 +3,24 @@ import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
import type { CertificateDetail } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const idByRow = ref<string>("");
const rows = ref<CertificateDetail[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<CertificateDetail[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */

View file

@ -1,20 +1,22 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { TrainingFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const rows = ref<TrainingFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<TrainingFormType[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -1,22 +1,22 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { InsigniaFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const idByRow = ref<string>("");
const store = useRegistryInFormationStore();
const rows = ref<any[]>([]);
const rows = ref<InsigniaFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<InsigniaFormType[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -1,22 +1,24 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import type { HonorFormData } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const idByRow = ref<string>("");
const store = useRegistryInFormationStore();
const rows = ref<any[]>([]);
const rows = ref<HonorFormData[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<HonorFormData[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -1,20 +1,22 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { AssessmentsFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const rows = ref<AssessmentsFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const rowsHistory = ref<AssessmentsFormType[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -3,19 +3,20 @@ import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import DialogDevelop from "@/modules/10_registry/Dialog/DialogDevelopmant.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mode = ref<boolean>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const modalDevelop = ref<boolean>(false);

View file

@ -1,23 +1,26 @@
<script setup lang="ts">
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue";
import { ref, onMounted } from "vue";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { OtherFormType } from "@/modules/10_registry/interface/index/Main";
//history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
const idByRow = ref<string>("");
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const idByRow = ref<string>("");
const rows = ref<OtherFormType[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<OtherFormType[]>([]);
const mode = ref<boolean>($q.screen.gt.xs);
const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */

View file

@ -7,18 +7,11 @@ import http from "@/plugins/http";
import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
interface ArrayFileList {
id: string;
pathName: string;
fileName: string;
}
const fileList = ref<ArrayFileList[]>([]);
import type { FileFormType } from "@/modules/10_registry/interface/index/Main";
const fileList = ref<FileFormType[]>([]);
const store = useRegistryInFormationStore();
const rows = ref<any[]>([]);
const filter = ref<string>("");
const rowsHistory = ref<any[]>([]);
const $q = useQuasar();
const mode = ref<any>($q.screen.gt.xs);
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;

View file

@ -6,7 +6,6 @@ import { useQuasar } from "quasar";
import http from "@/plugins/http";
import config from "@/app.config";
import { useRoute } from "vue-router";
interface DataOptionTechnique {
label: string;

View file

@ -3,13 +3,11 @@ import { ref, watch } from "vue";
import DialogHeader from "@/components/DialogHeader.vue";
import type { QTableProps } from "quasar";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
import { useCounterMixin } from "@/stores/mixin";
const type = ref<string>("");
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const store = useRegistryInFormationStore();
const { date2Thai } = mixin;
const modal = defineModel<boolean>("modal", { required: true });
const title = defineModel<string>("title", { required: true });

View file

@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, ref, watch } from "vue";
import { useQuasar } from "quasar";
import config from "@/app.config";
import http from "@/plugins/http";
import axios from "axios";
import http from "@/plugins/http";
import config from "@/app.config";
import DialogHeader from "@/components/DialogHeader.vue";
import { useRequestEditStore } from "@/modules/10_registry/store/RequestEdit";

View file

@ -10,4 +10,380 @@ interface NewPagination {
sortBy: string;
}
export type { DataOption, NewPagination };
interface AbilityRows {
id: string;
createdAt: string;
createdUserId: string;
lastUpdatedAt: string;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
remark: string;
detail: string;
reference: string;
dateStart: string | null;
dateEnd: string | null;
field: string;
profileEmployeeId: string | null;
}
interface EducationProfile {
id: string;
createdAt: string;
createdUserId: string;
lastUpdatedAt: string;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
country: string;
degree: string;
duration: string;
durationYear: number | null;
field: string;
finishDate: Date | null;
fundName: string;
gpa: string;
institute: string;
other: string;
startDate: Date | null;
endDate: Date | null;
educationLevel: string;
educationLevelId: string;
positionPath: string;
note: string;
positionPathId: string;
isDate: boolean;
isEducation: boolean;
profileEmployeeId: string | null;
}
interface ProfileAppointment {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
dateAppoint: Date | null;
dateStart: Date | null;
govAgeAbsent: number;
govAgePlus: number;
reasonSameDate: string;
}
interface GovAge {
year: number;
month: number;
day: number;
}
interface FormDataGovernment {
org: string;
positionField: string;
position: string;
posLevel: string | null;
posMasterNo: string;
posType: string | null;
posExecutive: string | null;
positionArea: string | null;
positionExecutiveField: string | null;
dateLeave: Date | null;
dateRetireLaw: Date | null;
govAge: GovAge;
dateAppoint: Date | null;
dateStart: Date | null;
govAgeAbsent: number;
govAgePlus: number;
reasonSameDate: string;
}
interface DisciplineDetail {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
date: Date | null;
profileId: string;
profileEmployeeId: string | null;
level: string;
detail: string;
refCommandDate: Date | null;
refCommandNo: string;
unStigma: string;
}
interface LeaveType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
name: string;
code: string;
limit: number;
}
interface LeaveFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
leaveTypeId: string;
dateLeaveStart: Date | null;
dateLeaveEnd: Date | null;
leaveDays: number;
leaveCount: number;
totalLeave: number;
status: string;
reason: string;
leaveType: LeaveType;
}
interface DutyFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
dateStart: Date | null;
dateEnd: Date | null;
detail: string;
reference: string;
refCommandDate: Date | null;
refCommandNo: string;
}
interface SalaryFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
date: Date | null;
posNo: string;
position: string;
positionLine: string | null;
positionPathSide: string | null;
positionExecutive: string | null;
positionType: string;
positionLevel: string;
amount: number;
positionSalaryAmount: number;
mouthSalaryAmount: number;
refCommandNo: string | null;
templateDoc: string;
order: number;
}
interface NopaidFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
date: Date | null;
detail: string;
reference: string;
refCommandDate: Date | null;
refCommandNo: string;
}
interface CertificateDetail {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
expireDate: Date | null;
issueDate: Date | null;
certificateNo: string;
certificateType: string;
issuer: string;
}
interface TrainingFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
startDate: Date | null;
endDate: Date | null;
numberOrder: string;
topic: string;
place: string;
dateOrder: Date | null;
department: string;
duration: string;
name: string;
yearly: number;
isDate: boolean;
}
interface InsigniaType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
name: string;
isActive: boolean;
}
interface Insignia {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
name: string;
shortName: string;
level: number;
isActive: boolean;
note: string | null;
insigniaTypeId: string;
insigniaType: InsigniaType;
}
interface InsigniaFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
year: number;
no: string;
volume: string;
section: string;
page: string;
receiveDate: Date | null;
dateAnnounce: Date | null;
issue: string;
volumeNo: string;
refCommandDate: Date | null;
refCommandNo: string;
note: string;
insigniaId: string;
insignia: Insignia;
}
interface HonorFormData {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
detail: string;
issueDate: Date | null;
issuer: string;
refCommandDate: Date | null;
refCommandNo: string;
isDate: boolean;
}
interface AssessmentsFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
name: string;
date: Date | null;
point1: number;
point1Total: number;
point2: number;
point2Total: number;
pointSum: number;
pointSumTotal: number;
}
interface OtherFormType {
id: string;
createdAt: Date | null;
createdUserId: string;
lastUpdatedAt: Date | null;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
profileEmployeeId: string | null;
detail: string;
date: Date | null;
}
interface FileFormType {
id: string;
pathName: string;
fileName: string;
}
export type {
DataOption,
NewPagination,
AbilityRows,
EducationProfile,
ProfileAppointment,
FormDataGovernment,
DisciplineDetail,
LeaveFormType,
DutyFormType,
SalaryFormType,
NopaidFormType,
CertificateDetail,
TrainingFormType,
InsigniaFormType,
HonorFormData,
AssessmentsFormType,
OtherFormType,
FileFormType,
};

View file

@ -45,4 +45,22 @@ interface SubDistricts {
zipCode: string;
}
export type { Address, Provinces, Districts, SubDistricts };
interface ChangNameRows {
id: string;
createdAt: string;
createdUserId: string;
lastUpdatedAt: string;
lastUpdateUserId: string;
createdFullName: string;
lastUpdateFullName: string;
profileId: string;
prefixId: string;
prefix: string;
firstName: string;
lastName: string;
status: string;
documentId: string;
profileEmployeeId: string | null;
}
export type { Address, Provinces, Districts, SubDistricts,ChangNameRows };