From f8772e460f2ffe7f458b214d170b253fbd037cb4 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 4 Sep 2023 13:57:32 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B8=84=E0=B8=B3?= =?UTF-8?q?=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=20step01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/10_order/components/Detail.vue | 12 +- .../10_order/components/step/step01.vue | 405 +++++++++++++++--- 2 files changed, 345 insertions(+), 72 deletions(-) diff --git a/src/modules/10_order/components/Detail.vue b/src/modules/10_order/components/Detail.vue index 57a149cc5..735d88888 100644 --- a/src/modules/10_order/components/Detail.vue +++ b/src/modules/10_order/components/Detail.vue @@ -32,13 +32,14 @@ onUnmounted(() => { }); const nextStep = async () => { - stepper.value!.next(); + // stepper.value!.next(); + localStorage.setItem("currentStep", step.value.toString()); if (orderId.value) { await http .put(config.API.nextStep(orderId.value)) .then(() => { - router.push(`/order/detail/${orderId.value}?step=${step.value}`); + router.push(`/order/detail/${orderId.value}?step=${step.value + 1}`); }) .catch((e) => { console.log(e); @@ -46,13 +47,13 @@ const nextStep = async () => { } }; const previousStep = async () => { - stepper.value!.previous(); + // stepper.value!.previous(); localStorage.setItem("currentStep", step.value.toString()); if (orderId.value) { await http .put(config.API.prevStep(orderId.value)) .then(() => { - router.push(`/order/detail/${orderId.value}?step=${step.value}`); + router.push(`/order/detail/${orderId.value}?step=${step.value - 1}`); }) .catch((e) => { console.log(e); @@ -62,7 +63,6 @@ const previousStep = async () => { const destroyLocalStorage = () => { localStorage.clear(); }; - onMounted(() => { // console.log("route query===>", route.query) if (route.query.step) { @@ -79,7 +79,7 @@ onMounted(() => { if (orderId_params !== undefined) { orderId.value = orderId_params.toString(); - // console.log(orderId.value); + // console.log("orderId.value"); } }); diff --git a/src/modules/10_order/components/step/step01.vue b/src/modules/10_order/components/step/step01.vue index 03006b381..ecf7c3d5b 100644 --- a/src/modules/10_order/components/step/step01.vue +++ b/src/modules/10_order/components/step/step01.vue @@ -10,6 +10,11 @@ import { useQuasar } from "quasar"; import { useRoute, useRouter } from "vue-router"; import http from "@/plugins/http"; import config from "@/app.config"; +import type { treeTab } from "@/modules/05_placement/interface/index/Main"; +import type { ResponseOrganiz } from "@/modules/05_placement/interface/response/Order"; +import type { QTableProps } from "quasar"; + +import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue"; const mixin = useCounterMixin(); const { @@ -19,6 +24,7 @@ const { hideLoader, success, dialogConfirm, + dialogMessageNotify, } = mixin; const $q = useQuasar(); //ใช้ noti quasar const route = useRoute(); @@ -60,66 +66,17 @@ const examRound = ref(""); const examRoundOption = ref([]); const conclusionRegisterNo = ref(""); const conclusionRegisterDate = ref(new Date()); -// const registerOption = ref([ -// { -// name: "รับสมคัรสอบ ครั้งที่ 1", -// id: "3fa85f64-5717-4562-b3fc-2c963f66afa6", -// }, -// ]); + const conclusionResultNo = ref(""); const conclusionResultDate = ref(new Date()); -// const announceOption = ref([ -// { -// name: "ผลการสอบแข่งขั้น ครั้งที่ 1", -// id: "3fa85f64-5717-4562-b3fc-2c963f66afa6", -// }, -// ]); // C-PM-05 - 06 -const conclusion1 = ref(""); -const conclusionDate1 = ref(new Date()); -const conclusion1Option = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); -const conclusion2 = ref(""); -const conclusionDate2 = ref(new Date()); -const conclusion2Option = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); const meeting = ref(""); const dateMeeting = ref(new Date()); -const meetingOption = ref([ - { name: "การประชุมครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); -// C-PM-07 -const conclusionRelocation1 = ref(""); -const conclusionRelocationDate1 = ref(new Date()); -const RelocationOption1 = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); -const conclusionRelocation2 = ref(""); -const conclusionRelocationDate2 = ref(new Date()); -const RelocationOption2 = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); - -// C-PM-08 && 14 -const conclusion = ref(""); -const conclusionDate = ref(new Date()); -const conclusionOption = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); -const conclusionLeave = ref(""); -const conclusionLeaveDate = ref(new Date()); -const LeaveOption = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); -const conclusionReceive = ref(""); -const conclusionReceiveDate = ref(new Date()); -const ReceiveOption = ref([ - { name: "ครั้งที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, -]); +// C-PM-08 +const conclusionReturnNo = ref(""); +const conclusionReturnDate = ref(new Date()); // C-PM-09 const organizations = ref(""); @@ -138,6 +95,7 @@ const bookOption = ref([ ]); // C-PM-10 +const dialogVisible = ref(false); const organizationsOld = ref(""); const organizationsOldOption = ref([ { name: "หน่วยงานที่ 1", id: "3fa85f64-5717-4562-b3fc-2c963f66afa6" }, @@ -193,6 +151,8 @@ const receiveOcOption = ref([ ]); // C-PM-14 const transferOrganizationName = ref(""); +const conclusionReceive = ref(""); +const conclusionReceiveDate = ref(new Date()); // C-PM-16 const orderNumber = ref(); @@ -260,10 +220,10 @@ const fetchdetailOrder = async () => { await http .get(config.API.detailOrder(orderIdString)) .then((res: any) => { - console.log(res); + // console.log(res); const data = res.data.result; - console.log(data); + // console.log(data); typeOrder.value = typeOrderOption.value.find( (e) => e.id === data.orderTypeValue ); @@ -286,17 +246,20 @@ const fetchdetailOrder = async () => { dateMeeting.value = data.conclusionMeetingDate; // 08 - conclusionReceive.value = data.conclusionReturnNo; - conclusionReceiveDate.value = data.conclusionReturnDate; + conclusionReturnNo.value = data.conclusionReturnNo; + conclusionReturnDate.value = data.conclusionReturnDate; //09 organizations.value = data.sourceOrganizationName; order.value = data.conclusionReturnNo; orderDate.value = data.conclusionReturnDate; book.value = data.militaryCommandNo; - bookDate.value = data.militaryCommandDate; + bookDate.value = data.militaryCommanDate; //10 + if (data.orderTypeCode === "c-pm-10") { + nodeTree(); + } organizationsOld.value = data.placementCommandIssuer; orderOld.value = data.placementCommandNo; orderOldDate.value = data.placementCommandDate; @@ -356,6 +319,9 @@ const fecthCommand = async () => { }; const selectCMP = (selectOrder: any) => { fecthExamRoundOption(selectOrder.commandCode); + if (selectOrder.commandCode === "C-PM-10") { + nodeTree(); + } //01-04 examRound.value = ""; conclusionRegisterNo.value = ""; @@ -422,6 +388,8 @@ const submit = async () => { let signBy = null; if (!nameCommand.value.length) { signBy = await nameCommand.value.name; + } else if (nameCommand.value !== "") { + signBy = await nameCommand.value; } else { const name2 = await CommandOption.value.find( (x: any) => x.name == nameCommand.value @@ -429,6 +397,7 @@ const submit = async () => { signBy = await name2?.name; console.log("signBy", signBy); } + console.log(signBy); const orderByOrganizationName = await byOrderOption.value.find( (x: any) => x.id == byOrder.value @@ -470,8 +439,8 @@ const submit = async () => { }); } else if (typeOrder.value.commandCode == "C-PM-08") { Object.assign(formdata, { - conclusionReturnNo: conclusionReceive.value, - conclusionReturnDate: conclusionReceiveDate.value, + conclusionReturnNo: conclusionReturnNo.value, + conclusionReturnDate: conclusionReturnDate.value, }); } else if (typeOrder.value.commandCode == "C-PM-09") { Object.assign(formdata, { @@ -582,6 +551,120 @@ const updateOrder = async (formData: Object, orderId: string, type: string) => { hideLoader(); }); }; +// dialog 10 +const search = ref(""); +const nodesTree = ref([]); +const expanded = ref([]); +const selected = ref(""); +const selectedModal = ref([]); +const visibleColumnsModal = ref(["no", "idCard", "name", "position"]); +const columnsModal = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + field: "no", + sortable: true, + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "idCard", + align: "left", + label: "เลขประจำตัวประชาชน", + field: "idCard", + sortable: true, + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "name", + align: "left", + label: "ชื่อ-สกุล", + field: "name", + sortable: true, + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "position", + align: "left", + label: "ตำแหน่ง", + field: "position", + sortable: true, + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, +]); +const rowsModal = ref([]); +const clickAction = ref(""); +const filterModal = ref(""); +const nodeTree = async () => { + showLoader(); + await http + .get(config.API.profileOrganizRoot) + .then((res: any) => { + const data = res.data.result; + nodesTree.value = data; + if (data.length > 0) { + expanded.value = [data[0].id]; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +}; +const onSelected = async (id: string) => { + await listModal(id); +}; +const listModal = async (id: string) => { + showLoader(); + await http + .get(config.API.copyOrderPersonsId(id)) + .then((res) => { + const data = res.data.result; + let list: ResponseOrganiz[] = []; + data.map((r: ResponseOrganiz) => { + list.push({ + firstName: r.firstName ?? "", + idCard: r.idCard ?? "", + lastName: r.lastName ?? "", + name: r.name ?? "", + position: r.position ?? "", + prefixId: r.prefixId ?? "", + profileId: r.profileId ?? "", + unit: r.unit ?? "", + }); + }); + rowsModal.value = list; + }) + .catch((e) => { + messageError($q, e); + }) + .finally(async () => { + hideLoader(); + }); +}; +const openDialog = (action: string) => { + dialogVisible.value = true; + clickAction.value = action; + selectedModal.value = []; +}; +const clickSavelist = () => { + if (selectedModal.value.length > 0) { + if (clickAction.value === "chairman") { + chairman.value = selectedModal.value[0].name; + } else if (clickAction.value === "director") { + director.value = selectedModal.value[0].name; + } else if (clickAction.value === "director2") { + director2.value = selectedModal.value[0].name; + } + dialogVisible.value = false; + } else dialogMessageNotify($q, "โปรดเลือกรายชื่อ"); +}; /** * class จัดรูปแบบแสดงระหว่างข้อมูลที่แก้ไขหรือแสดงเฉยๆ @@ -729,7 +812,10 @@ const getClass = (val: boolean) => { @update:model-value="(nameCommand = ''), (positionCommand = '')" /> -
+
{ hide-bottom-space /> -->
-
+
{ disable />
+
+ +
+
+ +
@@ -1354,7 +1473,7 @@ const getClass = (val: boolean) => { outlined dense lazy-rules - v-model="conclusionReceive" + v-model="conclusionReturnNo" :rules="[ (val) => !!val || @@ -1372,7 +1491,7 @@ const getClass = (val: boolean) => {
{ dense class="full-width datepicker" :model-value=" - conclusionReceiveDate != null - ? date2Thai(conclusionReceiveDate) + conclusionReturnDate != null + ? date2Thai(conclusionReturnDate) : null " :label="`${'ลงวันที่ '}`" @@ -1811,6 +1930,7 @@ const getClass = (val: boolean) => { :rules="[(val) => !!val || `${'กรุณากรอกชื่อประธาน'}`]" :label="`${'ประธาน'}`" hide-bottom-space + @click="openDialog('chairman')" />
@@ -1840,6 +1960,7 @@ const getClass = (val: boolean) => { :rules="[(val) => !!val || `${'กรุณากรอกชื่อกรรมการ'}`]" :label="`${'กรรมการ'}`" hide-bottom-space + @click="openDialog('director')" />
@@ -1869,6 +1990,7 @@ const getClass = (val: boolean) => { :rules="[(val) => !!val || `${'กรุณากรอกชื่อกรรมการ'}`]" :label="`${'กรรมการ'}`" hide-bottom-space + @click="openDialog('director2')" />
@@ -2247,10 +2369,161 @@ const getClass = (val: boolean) => { บันทึก
+ + + + + + +
+
+ + + + + + + + +
+
+
+ +
+ + + + + +
+
+ + + + + +
+
+
+ + + +
+