diff --git a/src/modules/04_registry/components/Profile.vue b/src/modules/04_registry/components/Profile.vue index 947e418fc..64b087205 100644 --- a/src/modules/04_registry/components/Profile.vue +++ b/src/modules/04_registry/components/Profile.vue @@ -154,22 +154,43 @@ - + - + ช่วยราชการ - + ส่งตัวกลับ - + แต่งตั้ง-เลื่อน-ย้าย @@ -181,31 +202,56 @@ ย้าย --> - + ถึงแก่กรรม - + ให้ออกจากราชการ - + ปลดออกจากราชการ - + ไล่ออกจากราชการ - + อื่นๆ @@ -823,7 +869,6 @@ const fetchData = async () => { .get(config.API.profileAvatarId(profileId.value)) .then((res) => { const data = res.data.result; - fullname.value = data.fullname; imageUrl.value = data.avatar; position.value = data.position; diff --git a/src/modules/05_placement/components/AppointMent/Main.vue b/src/modules/05_placement/components/AppointMent/Main.vue index 2445e8a93..5d89c04a8 100644 --- a/src/modules/05_placement/components/AppointMent/Main.vue +++ b/src/modules/05_placement/components/AppointMent/Main.vue @@ -4,18 +4,22 @@ import type { QTableProps } from "quasar"; import { useQuasar } from "quasar"; import { useRouter } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; -import { useTransferDataStore } from "@/modules/05_placement/store" -import Dialogbody from "@/modules/05_placement/components/AppointMent/Dialogbody.vue" +import { useTransferDataStore } from "@/modules/05_placement/store"; +import Dialogbody from "@/modules/05_placement/components/AppointMent/Dialogbody.vue"; import DialogOrgTree from "@/modules/05_placement/components/AppointMent/AppointmentModal.vue"; -import type { listAppointType,resData,orgFilter } from "@/modules/05_placement/interface/response/AppointMent" -import type { OpType } from "@/modules/05_placement/interface/response/Main" +import type { + listAppointType, + resData, + orgFilter, +} from "@/modules/05_placement/interface/response/AppointMent"; +import type { OpType } from "@/modules/05_placement/interface/response/Main"; import http from "@/plugins/http"; import config from "@/app.config"; const $q = useQuasar(); const modal = ref(false); const storeFn = useTransferDataStore(); -const { statusText } = storeFn +const { statusText } = storeFn; const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง const { showLoader, @@ -167,15 +171,30 @@ const fecthlistappointment = async () => { status: statusText(e.status), createdAt: date2Thai(e.createdAt), birthday: e.dateOfBirth == null ? "-" : date2Thai(e.dateOfBirth), + educationOld: e.educationOld, + organizationPositionOld: e.organizationPositionOld, + positionTypeOld: e.positionTypeOld, + positionLevelOld: e.positionLevelOld, + positionNumberOld: e.positionNumberOld, + salary: e.salary, + positionDate: e.positionDate, })); rows2.value = rows.value.filter( (e: orgFilter) => e.orgName !== null && e.status !== "ส่งรายชื่อไปออกคำสั่ง" && - e.status !== "ออกคำสั่งเสร็จแล้ว" + e.status !== "ออกคำสั่งเสร็จแล้ว" && + e.educationOld && + e.organizationPositionOld && + e.positionTypeOld && + e.positionLevelOld && + e.positionNumberOld && + e.salary !== null && + e.positionDate ); }) .catch((e) => { + messageError($q, e); }) .finally(() => { hideLoader(); @@ -241,7 +260,6 @@ const nextPage = (id: string) => { }); }; - onMounted(() => { fecthlistappointment(); }); @@ -255,27 +273,65 @@ onMounted(() => {
- + ส่งไปออกคำสั่งแต่งตั้ง-เลื่อน-ย้าย - + - +
- + diff --git a/src/modules/05_placement/components/Main.vue b/src/modules/05_placement/components/Main.vue index af79afc85..9ba46025c 100644 --- a/src/modules/05_placement/components/Main.vue +++ b/src/modules/05_placement/components/Main.vue @@ -425,7 +425,7 @@ function filterFnYear(val: string, update: any) { -import { ref, computed,watchEffect } from "vue"; +import { ref, computed, watchEffect } from "vue"; import { useQuasar } from "quasar"; import { useCounterMixin } from "@/stores/mixin"; import type { QTableProps } from "quasar"; @@ -25,8 +25,8 @@ const props = defineProps({ fecthlistOthet: Function, optionsType: Array, rows2: Array, - filterKeyword2:String, - type:String, + filterKeyword2: String, + type: String, }); const visibleColumns2 = ref([ "no", @@ -96,7 +96,6 @@ const emit = defineEmits([ "update:filterKeyword2", "update:type", "update:selected", - ]); const updateInput = (value: any) => { emit("update:filterKeyword2", value); @@ -107,7 +106,7 @@ const updateInputType = (value: any) => { }; //รีเซ็ตค่าในช่องค้นหา const Reset = () => { - emit("update:filterKeyword2", ""); + emit("update:filterKeyword2", ""); }; //เปิด modal ยืนยัน const clickAddlist = () => { @@ -117,7 +116,7 @@ const clickAddlist = () => { //อัพเดต ส่งไปออกคำสั่ง const addOther = async () => { let pId: string[] = []; - let Type = props.type as string + let Type = props.type as string; selected.value.forEach((e: any) => { pId.push(e.personalId); }); @@ -136,7 +135,7 @@ const addOther = async () => { .finally(() => { props.fecthlistOthet?.(); selected.value = []; - props.clickClose?.() + props.clickClose?.(); }); }; watchEffect(() => { @@ -144,6 +143,23 @@ watchEffect(() => { selected.value = []; } }); +// filter OptionsType +const OptionsTypeFn = ref([]); +function filterFnOptionsType(val: string, update: any) { + if (val == "") { + update(() => { + OptionsTypeFn.value = props.optionsType; + }); + } else { + update(() => { + if (props.optionsType) { + OptionsTypeFn.value = props.optionsType.filter( + (e: any) => e.name.search(val) !== -1 + ); + } + }); + } +}