From af3deafa03c12ba473538f4c7e5f3dca6d3b0c6c Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 15 Oct 2024 16:16:59 +0700 Subject: [PATCH] ui ==> Workflow --- src/components/CardProfile.vue | 6 +- src/components/Workflow/DialogApprove.vue | 75 +- .../Workflow/DialogSelectPerson.vue | 65 +- src/components/Workflow/Main.vue | 155 +++- .../components/Transfer/TransferDetail.vue | 693 +++++++++--------- .../05_placement/views/02_transferMain.vue | 2 +- 6 files changed, 626 insertions(+), 370 deletions(-) diff --git a/src/components/CardProfile.vue b/src/components/CardProfile.vue index f798c1628..cefd8967a 100644 --- a/src/components/CardProfile.vue +++ b/src/components/CardProfile.vue @@ -5,6 +5,7 @@ import http from "@/plugins/http"; import config from "@/app.config"; /** importType*/ +import type { PropType } from "vue"; import type { FormProfile } from "@/interface/main"; import type { DataProfile } from "@/modules/05_placement/interface/index/Main"; @@ -15,12 +16,11 @@ import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue"; import { useCounterMixin } from "@/stores/mixin"; /** use*/ -const $q = useQuasar(); -const { messageError, findOrgNameOld, findOrgName } = useCounterMixin(); +const { findOrgNameOld, findOrgName } = useCounterMixin(); /** propsDataProfile*/ const props = defineProps({ - data: { type: Object, required: true }, + data: { type: Object as PropType, required: true }, type: { type: String, default: "" }, }); diff --git a/src/components/Workflow/DialogApprove.vue b/src/components/Workflow/DialogApprove.vue index 5c3efa950..dc3fca261 100644 --- a/src/components/Workflow/DialogApprove.vue +++ b/src/components/Workflow/DialogApprove.vue @@ -1,5 +1,76 @@ - + diff --git a/src/components/Workflow/DialogSelectPerson.vue b/src/components/Workflow/DialogSelectPerson.vue index 28cbca153..d392c6215 100644 --- a/src/components/Workflow/DialogSelectPerson.vue +++ b/src/components/Workflow/DialogSelectPerson.vue @@ -12,11 +12,9 @@ const $q = useQuasar(); const { dialogConfirm } = useCounterMixin(); const modal = defineModel("modal", { required: true }); -const operator = defineModel("operator", { - default: "officer", -}); /** table*/ +const selected = ref([]); const rows = ref([ { fullName: "นายศรัณย์ ศิลาดี", @@ -25,7 +23,6 @@ const rows = ref([ organization: "", }, ]); -const selected = ref([]); const columns = ref([ { name: "fullName", @@ -65,25 +62,16 @@ const columns = ref([ }, ]); +const isAcknowledge = ref(false); +const isConsider = ref(false); +const isComment = ref(false); + function fetchLists() {} function onSubmit() { dialogConfirm($q, () => {}); } -function convertLabelBtn(name: string) { - switch (name) { - case "officer": - return "การเจ้าหน้าที่"; - case "personnelOfficer": - return "สำนักงานการเจ้าหน้าที่"; - case "commander": - return "ผู้บังคับบัญชา"; - case "authority": - return "ผู้มีอำนาจ"; - } -} - function onCloseModal() { modal.value = false; selected.value = []; @@ -115,7 +103,6 @@ watch(modal, (val) => { :paging="true" dense :rows-per-page-options="[10, 25, 50, 100]" - class="tableTb" selection="single" v-model:selected="selected" > @@ -152,19 +139,51 @@ watch(modal, (val) => { - + +
+
+ +
+
+ +
+
+ +
+
+ - {{ convertLabelBtn(operator) }} diff --git a/src/components/Workflow/Main.vue b/src/components/Workflow/Main.vue index 5c3efa950..172a14f94 100644 --- a/src/components/Workflow/Main.vue +++ b/src/components/Workflow/Main.vue @@ -1,5 +1,156 @@ - + diff --git a/src/modules/05_placement/components/Transfer/TransferDetail.vue b/src/modules/05_placement/components/Transfer/TransferDetail.vue index 4785fc115..c9e4fdb21 100644 --- a/src/modules/05_placement/components/Transfer/TransferDetail.vue +++ b/src/modules/05_placement/components/Transfer/TransferDetail.vue @@ -5,6 +5,7 @@ import { useQuasar } from "quasar"; import { useRoute, useRouter } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; import { checkPermission } from "@/utils/permissions"; +import { tokenParsed } from "@/plugins/auth"; import http from "@/plugins/http"; import config from "@/app.config"; import genReport from "@/plugins/genreport"; @@ -17,8 +18,8 @@ import type { rowFile, } from "@/modules/05_placement/interface/response/Transfer"; -import CardProfile from "@/components/CardProfile.vue"; -import { tokenParsed } from "@/plugins/auth"; +import CardProfile from "@/components/CardProfile.vue"; //Card รายละเอียดบุคคล +import WorkFlow from "@/components/Workflow/Main.vue"; const $q = useQuasar(); const route = useRoute(); @@ -309,209 +310,361 @@ onMounted(async () => { await getData(); }); +