Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2024-11-05 09:22:12 +07:00
commit c29eede844
24 changed files with 171 additions and 129 deletions

View file

@ -584,17 +584,19 @@ onMounted(async () => {
<q-card-section> <q-card-section>
<!-- Components รายการขอมลทะเบยนประว --> <!-- Components รายการขอมลทะเบยนประว -->
<TableView <!-- v-model:mode="mode" -->
v-model:mode="mode" <div>
v-model:form-filter="store.formFilter" <TableView
v-model:max-page="maxPage" v-model:form-filter="store.formFilter"
:rows="dataPersonMain" v-model:max-page="maxPage"
:fetch-data="fetchDataPerson" :rows="dataPersonMain"
:fetch-type="fetchType" :fetch-data="fetchDataPerson"
:total="total" :fetch-type="fetchType"
:is-filter="isShowBtnFilter" :total="total"
:emp-type="empType" :is-filter="isShowBtnFilter"
/> :emp-type="empType"
/>
</div>
</q-card-section> </q-card-section>
</q-card> </q-card>

View file

@ -274,7 +274,7 @@ onMounted(() => {
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -290,7 +290,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -306,7 +306,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -322,7 +322,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -339,7 +339,7 @@ onMounted(() => {
:class="getClass(edit)" :class="getClass(edit)"
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-6 row items-center"> <div class="col-xs-6 col-sm-6 row items-center">
<div class="col-12"> <div class="col-12">

View file

@ -258,7 +258,7 @@ onMounted(() => {
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -274,7 +274,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -290,7 +290,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -306,7 +306,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -323,7 +323,7 @@ onMounted(() => {
:class="getClass(edit)" :class="getClass(edit)"
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-6 row items-center"> <div class="col-xs-6 col-sm-6 row items-center">
<div class="col-12"> <div class="col-12">

View file

@ -261,7 +261,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -277,7 +277,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -293,7 +293,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -309,7 +309,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -326,7 +326,7 @@ onMounted(async () => {
reverse-fill-mask reverse-fill-mask
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-4 row items-center"> <div class="col-xs-6 col-sm-4 row items-center">
<div class="col-12"> <div class="col-12">

View file

@ -930,7 +930,7 @@ onMounted(async () => {
type="textarea" type="textarea"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -944,7 +944,7 @@ onMounted(async () => {
:label="`${'ประเภทตำแหน่ง'}`" :label="`${'ประเภทตำแหน่ง'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -958,7 +958,7 @@ onMounted(async () => {
:label="`${'ระดับตำแหน่ง'}`" :label="`${'ระดับตำแหน่ง'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -972,7 +972,7 @@ onMounted(async () => {
:label="`${'เลขที่'}`" :label="`${'เลขที่'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <!-- <div class="col-xs-6 col-sm-3">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="salary" v-model="salary"
@ -987,7 +987,7 @@ onMounted(async () => {
mask="###,###,###,###" mask="###,###,###,###"
reverse-fill-mask reverse-fill-mask
/> />
</div> </div> -->
<div class="col-xs-12"> <div class="col-xs-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"

View file

@ -234,7 +234,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -250,7 +250,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -266,7 +266,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -282,7 +282,7 @@ onMounted(() => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -299,7 +299,7 @@ onMounted(() => {
reverse-fill-mask reverse-fill-mask
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-4 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">

View file

@ -547,7 +547,7 @@ onMounted(async () => {
</div> </div>
<div class="col-12"> <div class="col-12">
<div class="row q-col-gutter-x-xs"> <div class="row q-col-gutter-x-xs">
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -561,7 +561,7 @@ onMounted(async () => {
:label="`${'ประเภทตำแหน่ง'}`" :label="`${'ประเภทตำแหน่ง'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -575,7 +575,7 @@ onMounted(async () => {
:label="`${'ระดับตำแหน่ง'}`" :label="`${'ระดับตำแหน่ง'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-4">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -589,7 +589,7 @@ onMounted(async () => {
:label="`${'เลขที่'}`" :label="`${'เลขที่'}`"
/> />
</div> </div>
<div class="col-xs-6 col-sm-3"> <!-- <div class="col-xs-6 col-sm-3">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
:outlined="edit" :outlined="edit"
@ -604,7 +604,7 @@ onMounted(async () => {
mask="###,###,###,###" mask="###,###,###,###"
reverse-fill-mask reverse-fill-mask
/> />
</div> </div> -->
</div> </div>
</div> </div>

View file

@ -150,7 +150,6 @@ function openModalOrder() {
r.positionTypeOld && r.positionTypeOld &&
r.positionLevelOld && r.positionLevelOld &&
r.positionNumberOld && r.positionNumberOld &&
r.salary !== null &&
r.organization && r.organization &&
r.date r.date
); );

View file

@ -288,8 +288,7 @@ function openModalOrder() {
r.organizationPositionOld && r.organizationPositionOld &&
r.positionTypeOld && r.positionTypeOld &&
r.positionLevelOld && r.positionLevelOld &&
r.positionNumberOld && r.positionNumberOld
r.amountOld !== null
); );
rows2.value = row; rows2.value = row;

View file

@ -204,7 +204,6 @@ function openModalOrder() {
item.positionTypeOld && item.positionTypeOld &&
item.positionLevelOld && item.positionLevelOld &&
item.positionNumberOld && item.positionNumberOld &&
item.salary !== null &&
item.organization && item.organization &&
item.date && item.date &&
item.dateRepatriation item.dateRepatriation

View file

@ -178,7 +178,6 @@ async function fecthlistappointment() {
e.positionTypeOld && e.positionTypeOld &&
e.positionLevelOld && e.positionLevelOld &&
e.positionNumberOld && e.positionNumberOld &&
e.salary !== null &&
e.positionDate e.positionDate
); );
}) })

View file

@ -176,7 +176,6 @@ async function fecthlistappointment() {
e.positionTypeOld && e.positionTypeOld &&
e.positionLevelOld && e.positionLevelOld &&
e.positionNumberOld && e.positionNumberOld &&
e.salary !== null &&
e.positionDate e.positionDate
); );
}) })

View file

@ -148,7 +148,6 @@ async function fecthlistOthet() {
e.positionTypeOld && e.positionTypeOld &&
e.positionLevelOld && e.positionLevelOld &&
e.positionNumberOld && e.positionNumberOld &&
e.amountOld !== null &&
e.positionDate && e.positionDate &&
e.leaveDate !== null e.leaveDate !== null
); );

View file

@ -379,14 +379,14 @@ onMounted(async () => {
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<CurrencyInput <!-- <CurrencyInput
v-model="salary" v-model="salary"
:edit="edit" :edit="edit"
:options="{ :options="{
currency: 'THB', currency: 'THB',
}" }"
:label="`${'เงินเดือน'}`" :label="`${'เงินเดือน'}`"
/> /> -->
</div> </div>
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>

View file

@ -140,7 +140,6 @@ function openModalOrder() {
r.positionTypeOld && r.positionTypeOld &&
r.positionLevelOld && r.positionLevelOld &&
r.positionNumberOld && r.positionNumberOld &&
r.salary &&
r.organization && r.organization &&
r.date r.date
); );

View file

@ -118,15 +118,15 @@ async function onSubmit() {
showLoader(); showLoader();
await http await http
.put(config.API.outByid(dataId), body) .put(config.API.outByid(dataId), body)
.then(() => { .then(async () => {
await getData();
success($q, "แก้ไขข้อมูลเพื่อลงบัญชีแนบท้ายสำเร็จ"); success($q, "แก้ไขข้อมูลเพื่อลงบัญชีแนบท้ายสำเร็จ");
edit.value = false; edit.value = false;
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);
}) })
.finally(async () => { .finally(() => {
await getData();
hideLoader(); hideLoader();
}); });
}, },
@ -247,7 +247,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -263,7 +263,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -279,7 +279,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -295,7 +295,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -312,7 +312,7 @@ onMounted(async () => {
:class="getClass(edit)" :class="getClass(edit)"
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-6 row"> <div class="col-xs-6 col-sm-6 row">
<div class="col-12"> <div class="col-12">

View file

@ -381,14 +381,14 @@ onMounted(async () => {
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<CurrencyInput <!-- <CurrencyInput
v-model="salary" v-model="salary"
:edit="edit" :edit="edit"
:options="{ :options="{
currency: 'THB', currency: 'THB',
}" }"
:label="`${'เงินเดือน'}`" :label="`${'เงินเดือน'}`"
/> /> -->
</div> </div>
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>

View file

@ -1162,7 +1162,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -1178,7 +1178,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -1194,7 +1194,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -1210,7 +1210,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -1227,7 +1227,7 @@ onMounted(async () => {
reverse-fill-mask reverse-fill-mask
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-4 row"> <div class="col-xs-4 row">
<div class="col-12"> <div class="col-12">

View file

@ -583,7 +583,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -599,7 +599,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -615,7 +615,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -631,7 +631,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="salary" v-model="salary"
@ -648,7 +648,7 @@ onMounted(async () => {
reverse-fill-mask reverse-fill-mask
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-4 row"> <div class="col-xs-4 row">
<div class="col-12"> <div class="col-12">

View file

@ -165,7 +165,6 @@ async function openModalOrder() {
r.positionTypeOld && r.positionTypeOld &&
r.positionLevelOld && r.positionLevelOld &&
r.positionNumberOld && r.positionNumberOld &&
r.salary &&
r.location && r.location &&
r.sendDate r.sendDate
); );

View file

@ -11,7 +11,7 @@ import { useDisciplineSuspendStore } from "@/modules/11_discipline/store/Suspend
/**Import type */ /**Import type */
import type { QForm } from "quasar"; import type { QForm } from "quasar";
import type { dataDetail } from "@/modules/11_discipline/interface/response/suspend"; import type { DataDetail } from "@/modules/11_discipline/interface/response/suspend";
import type { DataProfile } from "@/modules/05_placement/interface/index/Main"; import type { DataProfile } from "@/modules/05_placement/interface/index/Main";
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue"; import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
@ -46,7 +46,7 @@ const roleAdmin = ref<boolean>(false);
const edit = ref<boolean>(false); const edit = ref<boolean>(false);
const dataProfile = ref<DataProfile>(); const dataProfile = ref<DataProfile>();
const data = reactive<dataDetail>({ const data = reactive<DataDetail>({
id: "", id: "",
personId: "", personId: "",
citizenId: "", citizenId: "",
@ -311,7 +311,7 @@ onMounted(async () => {
<div class="row col-12 q-pa-md"> <div class="row col-12 q-pa-md">
<div class="col-12 row bg-white q-col-gutter-md"> <div class="col-12 row bg-white q-col-gutter-md">
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -327,7 +327,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -343,7 +343,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <div class="col-xs-6 col-sm-4 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
@ -359,7 +359,7 @@ onMounted(async () => {
/> />
</div> </div>
</div> </div>
<div class="col-xs-6 col-sm-3 row"> <!-- <div class="col-xs-6 col-sm-3 row">
<div class="col-12"> <div class="col-12">
<q-input <q-input
v-model="data.salary" v-model="data.salary"
@ -376,7 +376,7 @@ onMounted(async () => {
class="inputgreen" class="inputgreen"
/> />
</div> </div>
</div> </div> -->
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-xs-6 col-sm-6 row"> <div class="col-xs-6 col-sm-6 row">
<div class="col-12"> <div class="col-12">

View file

@ -46,7 +46,7 @@ interface dataType {
disciplinaryCaseFault: string; disciplinaryCaseFault: string;
} }
interface dataDetail { interface DataDetail {
id: string; id: string;
personId: string; personId: string;
citizenId: string; citizenId: string;
@ -91,4 +91,4 @@ interface DataOption {
id: string; id: string;
name: string; name: string;
} }
export type { listData, dataType, dataDetail, DataOption }; export type { listData, dataType, DataDetail, DataOption };

View file

@ -464,5 +464,7 @@ onMounted(async () => {
:get-data="getPersonList" :get-data="getPersonList"
:select-person-data="selectPersonData" :select-person-data="selectPersonData"
:type="formCommandList.commandTypeName" :type="formCommandList.commandTypeName"
:command-code="formCommandList.commandCode"
:command-sys-id="formCommandList.commandSysId"
/> />
</template> </template>

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { reactive, watch } from "vue"; import { ref, reactive, watch, computed } from "vue";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import http from "@/plugins/http"; import http from "@/plugins/http";
@ -21,6 +21,8 @@ const props = defineProps({
type: String, type: String,
required: true, required: true,
}, },
commandCode: { type: String, required: true },
commandSysId: { type: String, required: true },
}); });
const modal = defineModel<boolean>("modal", { required: true }); const modal = defineModel<boolean>("modal", { required: true });
const titleName = defineModel<string>("titleName", { required: true }); const titleName = defineModel<string>("titleName", { required: true });
@ -36,6 +38,29 @@ const formData = reactive<any>({
remarkHorizontal: null, remarkHorizontal: null,
}); });
const readonly = ref<boolean>(false);
function checkCommandSysId() {
if (props.commandSysId === "SALARY") {
readonly.value = true;
}
}
const chechCommandCode = computed(() => {
const listCommandCode = [
"C-PM-01",
"C-PM-02",
"C-PM-03",
"C-PM-04",
"C-PM-29",
];
if (listCommandCode.includes(props.commandCode)) {
return true;
} else {
return false;
}
});
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
showLoader(); showLoader();
@ -79,11 +104,23 @@ function onClose() {
formData.remarkHorizontal = null; formData.remarkHorizontal = null;
} }
/**
* class ดรปแบบแสดงระหวางขอมลทแกไขหรอแสดงเฉยๆ
* @param val อม input สำหรบแกไขหรอไม
*/
const getClass = (val: boolean) => {
return {
"full-width inputgreen cursor-pointer": val,
"full-width cursor-pointer": !val,
};
};
watch( watch(
() => modal.value, () => modal.value,
() => { () => {
if (modal.value) { if (modal.value) {
if (props.selectPersonData) { if (props.selectPersonData) {
checkCommandSysId();
const list = props.selectPersonData; const list = props.selectPersonData;
formData.amount = list.amount; formData.amount = list.amount;
formData.positionSalaryAmount = list.positionSalaryAmount; formData.positionSalaryAmount = list.positionSalaryAmount;
@ -105,56 +142,65 @@ watch(
<q-card-section> <q-card-section>
<div class="row col-12 q-col-gutter-sm"> <div class="row col-12 q-col-gutter-sm">
<div <div
v-if="store.isShowSalary(type)" class="row col-12 q-col-gutter-sm"
class="col-xs-6 col-sm-6 col-md-6" v-if="chechCommandCode || readonly"
> >
<q-input <div
dense v-if="store.isShowSalary(type)"
outlined class="col-xs-6 col-sm-6 col-md-6"
lazy-rules >
hide-bottom-space <q-input
v-model="formData.amount" dense
class="inputgreen" outlined
mask="###,###,###,###,###,###" lazy-rules
reverse-fill-mask hide-bottom-space
:label="`${'เงินเดือน'}`" v-model="formData.amount"
:rules="[(val: any) => !!val || `${'กรุณากรอกเงินเดือน'}`]" :class="getClass(!readonly)"
/> mask="###,###,###,###,###,###"
reverse-fill-mask
:readonly="readonly"
:label="`${'เงินเดือน'}`"
:rules="[(val: any) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
/>
</div>
<div
v-if="store.isShowSalary(type)"
class="col-xs-6 col-sm-6 col-md-6"
>
<q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.positionSalaryAmount"
:class="getClass(!readonly)"
:readonly="readonly"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินประจำตำแหน่ง'}`"
/>
</div>
<div
v-if="store.isShowSalary(type)"
class="col-xs-6 col-sm-6 col-md-6"
>
<q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.monthSalaryAmount"
:class="getClass(!readonly)"
:readonly="readonly"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินค่าตอบแทนรายเดือน'}`"
/>
</div>
</div> </div>
<div
v-if="store.isShowSalary(type)"
class="col-xs-6 col-sm-6 col-md-6"
>
<q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.positionSalaryAmount"
class="inputgreen"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินประจำตำแหน่ง'}`"
/>
</div>
<div
v-if="store.isShowSalary(type)"
class="col-xs-6 col-sm-6 col-md-6"
>
<q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.monthSalaryAmount"
class="inputgreen"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินค่าตอบแทนรายเดือน'}`"
/>
</div>
<div class="col-xs-6 col-sm-6 col-md-12"> <div class="col-xs-6 col-sm-6 col-md-12">
<q-input <q-input
dense dense