From 9b5f8b7af842ade671419d50cc6cf3da675a39e5 Mon Sep 17 00:00:00 2001 From: "STW_TTTY\\stwtt" Date: Wed, 25 Sep 2024 10:17:33 +0700 Subject: [PATCH] =?UTF-8?q?ui=20=E0=B8=AA=E0=B9=88=E0=B8=87=E0=B9=84?= =?UTF-8?q?=E0=B8=9B=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B8=84=E0=B8=B3=E0=B8=AA?= =?UTF-8?q?=E0=B8=B1=E0=B9=88=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/PersonalList/DialogOrders.vue | 387 ++++++++++++++++++ .../components/PersonalList/Table.vue | 51 ++- .../components/PersonalList/TableView.vue | 33 +- .../05_placement/interface/index/Main.ts | 53 +++ .../3_InvestigateDisciplinary/Form.vue | 2 +- .../components/DialogCreateCommand.vue | 4 +- 6 files changed, 509 insertions(+), 21 deletions(-) create mode 100644 src/modules/05_placement/components/PersonalList/DialogOrders.vue diff --git a/src/modules/05_placement/components/PersonalList/DialogOrders.vue b/src/modules/05_placement/components/PersonalList/DialogOrders.vue new file mode 100644 index 000000000..0b52b77bf --- /dev/null +++ b/src/modules/05_placement/components/PersonalList/DialogOrders.vue @@ -0,0 +1,387 @@ + + + + diff --git a/src/modules/05_placement/components/PersonalList/Table.vue b/src/modules/05_placement/components/PersonalList/Table.vue index 24463e80d..a4c0193a0 100644 --- a/src/modules/05_placement/components/PersonalList/Table.vue +++ b/src/modules/05_placement/components/PersonalList/Table.vue @@ -2,13 +2,14 @@ import { ref, onMounted, watch, reactive, computed } from "vue"; import { useQuasar, QForm } from "quasar"; -import { useRoute } from "vue-router"; +import http from "@/plugins/http"; +import config from "@/app.config"; + +import { useRoute, useRouter } from "vue-router"; import { checkPermission } from "@/utils/permissions"; import { useCounterMixin } from "@/stores/mixin"; import { tokenParsed } from "@/plugins/auth"; -import router from "@/router"; -import http from "@/plugins/http"; -import config from "@/app.config"; + import avatar from "@/assets/avatar_user.jpg"; import type { PartialTableName } from "@/modules/05_placement/interface/request/placement"; @@ -20,10 +21,12 @@ import Table from "@/modules/05_placement/components/PersonalList/TableView.vue" import DialogCard from "@/modules/05_placement/components/PersonalList/DialogDetail.vue"; import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue"; import DialogHeader from "@/components/DialogHeader.vue"; +import DialogOrders from "@/modules/05_placement/components/PersonalList/DialogOrders.vue"; //ส่งไปออกคำสั่งขอโอน -const route = useRoute(); -const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง const $q = useQuasar(); // show dialog +const route = useRoute(); +const router = useRouter(); +const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง const { messageError, showLoader, @@ -45,6 +48,7 @@ const props = defineProps({ let roleAdmin = ref(false); const edit = ref(true); const modal = ref(false); //modal ขอผ่อนผัน + สละสิทธิ์ +const modalOrder = ref(false); //modal คำสั่ง const editRow = ref(false); //เช็คมีการแก้ไขข้อมูล const modalDisclaim = ref(false); //modal ที่แสดงใช้สำหรับแก้ไขหรือไม่ const editvisible = ref(true); @@ -58,6 +62,7 @@ const Name = ref(); const rowsAll = ref([]); const rows = ref([]); const rowsFilter = ref([]); +const rowsOrder = ref([]); const myForm = ref(); const files = ref(null); @@ -509,10 +514,10 @@ function selectData(pid: string, draft: string) { * @param props rows data * @param action type */ -const editDetail = ( +function editDetail( props: PartialTableName, action: "disclaim" | "deferment" | "defermentInfo" | "disclaimInfo" -) => { +) { Name.value = props.name; personalId.value = props.personalId; editRow.value = false; @@ -554,7 +559,7 @@ const editDetail = ( modalwaitInfo.value = true; }); } -}; +} /** * เปิด dialog @@ -723,6 +728,23 @@ function onSubmitDate() { }); } +/** + * ฟังก์ชันส่งไปออกคำสั่ง + * + * ค้นหารายชื่อออกคำสั่งตามสถานะ อนุมัติ (APPROVE) + */ +function openModalOrder(val: boolean) { + // ยังไม่ได้ดัก ส่ง ไป ทั้ง object #e.draft == "รอส่งตัว" && + rowsOrder.value = rows.value.filter( + (e: any) => e.nodeName !== null && e.reportingDate !== null + ); + modalOrder.value = val; +} + +function closeModal() { + modalOrder.value = false; +} + watch(containStatus, () => { if (containStatus.value) { rows.value = rowsAll.value.filter((x: any) => x.statusId == "CONTAIN"); @@ -768,6 +790,7 @@ onMounted(async () => { v-model:editvisible="editvisible" v-model:containfilter="containStatus" @update-modaladdlist="handleModalAddListUpdate" + @update-modaladdSendPerson="openModalOrder" :history="true" :boss="true" :saveNoDraft="true" @@ -1220,7 +1243,7 @@ onMounted(async () => { :outlined="edit" dense lazy-rules - :rules="[(val) => !!val || 'กรุณากรอกเหตุผล']" + :rules="[(val:string) => !!val || 'กรุณากรอกเหตุผล']" :readonly="!edit" :borderless="!edit" v-model="userNote" @@ -1235,7 +1258,7 @@ onMounted(async () => { :label="`${'เลือกไฟล์เอกสารหลักฐาน'}`" outlined use-chips - :rules="[(val) => !!val || 'กรุณาเลือกไฟล์เอกสารหลักฐาน']" + :rules="[(val:string) => !!val || 'กรุณาเลือกไฟล์เอกสารหลักฐาน']" multiple @update:model-value="clickEditRow" class="q-py-sm" @@ -1569,6 +1592,12 @@ onMounted(async () => { + +