fix ออกคำสั่ง

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-10-11 13:04:13 +07:00
parent 86138db991
commit 12258e20bd
4 changed files with 91 additions and 33 deletions

View file

@ -414,7 +414,7 @@ watch(
" "
label="วัน/เดือน/ปี เกิด" label="วัน/เดือน/ปี เกิด"
:rules="[ :rules="[
(val) => !!val || `${'กรุณาเลือก วัน/เดือน/ปี เกิด'}`, (val:string) => !!val || `${'กรุณาเลือก วัน/เดือน/ปี เกิด'}`,
]" ]"
> >
<template v-slot:prepend> <template v-slot:prepend>

View file

@ -223,13 +223,14 @@ watch(
<template> <template>
<q-dialog v-model="modal"> <q-dialog v-model="modal">
<q-card style="min-width: 80%"> <q-card style="min-width: 70%">
<DialogHeader tittle="ส่งรายชื่อไปออกคำสั่ง" :close="closeDialog" /> <DialogHeader tittle="ส่งรายชื่อไปออกคำสั่ง" :close="closeDialog" />
<q-separator /> <q-separator />
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<div class="row q-col-gutter-sm"> <div class="row">
<div class="col-12"> <div class="col-12">
<q-toolbar style="padding: 0"> <q-toolbar style="padding: 0">
<q-space />
<q-input <q-input
borderless borderless
outlined outlined
@ -238,7 +239,7 @@ watch(
v-model="filter" v-model="filter"
ref="filterRef" ref="filterRef"
placeholder="ค้นหา" placeholder="ค้นหา"
style="width: 850px; max-width: auto" style="max-width: auto"
> >
<template v-slot:append> <template v-slot:append>
<q-icon name="search" /> <q-icon name="search" />

View file

@ -95,8 +95,20 @@ const columns = ref<QTableProps["columns"]>([
return `${row.prefix ?? ""}${row.firstName ?? ""} ${row.lastName ?? ""}`; return `${row.prefix ?? ""}${row.firstName ?? ""} ${row.lastName ?? ""}`;
}, },
}, },
{
name: "amount",
align: "left",
label: "เงินเดือน",
field: "amount",
format(val) {
return val ? val.toLocaleString() : "-";
},
sortable: true,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]); ]);
const visibleColumns = ref<String[]>(["no", "citizenId", "fullName"]); const visibleColumns = ref<String[]>(["no", "citizenId", "fullName", "amount"]);
const modalSalary = ref<boolean>(false); const modalSalary = ref<boolean>(false);
const titleName = ref<string>(""); const titleName = ref<string>("");
@ -221,8 +233,6 @@ async function getCommandSalaryList(type: string) {
}); });
} }
function onSubmit() {}
/** ดึงข้อมูล บุคคล */ /** ดึงข้อมูล บุคคล */
async function getPersonList() { async function getPersonList() {
showLoader(); showLoader();

View file

@ -7,10 +7,10 @@ import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import DialogHeader from "@/components/DialogHeader.vue"; import DialogHeader from "@/components/DialogHeader.vue";
import CurruncyInput from "@/components/CurruncyInput.vue";
const $q = useQuasar(); const $q = useQuasar();
const { dialogConfirm, messageError, success } = useCounterMixin(); const { showLoader, hideLoader, dialogConfirm, messageError, success } =
useCounterMixin();
const props = defineProps({ const props = defineProps({
getData: Function, getData: Function,
@ -22,41 +22,53 @@ const commandEditRecive = defineModel<string>("commandEditRecive", {
required: true, required: true,
}); });
const formData = reactive({ const formData = reactive<any>({
salaryAmount: 0, amount: null,
positionSalaryAmount: 0, positionSalaryAmount: null,
monthSalaryAmount: 0, mouthSalaryAmount: null,
remarkVertical: null, remarkVertical: null,
remarkHorizontal: null, remarkHorizontal: null,
}); });
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
showLoader();
http http
.put(config.API.commandEditRecive("tab2", commandEditRecive.value), { .put(config.API.commandEditRecive("tab2", commandEditRecive.value), {
mouthSalaryAmount: formData.salaryAmount, // mouthSalaryAmount:
positionSalaryAmount: formData.positionSalaryAmount, // typeof formData.monthSalaryAmount === "string"
amount: formData.monthSalaryAmount, // ? Number(formData.monthSalaryAmount?.replace(/,/g, ""))
: formData.monthSalaryAmount, //
positionSalaryAmount:
typeof formData.positionSalaryAmount === "string"
? Number(formData.positionSalaryAmount?.replace(/,/g, ""))
: formData.positionSalaryAmount, //
amount:
typeof formData.amount === "string"
? Number(formData.amount?.replace(/,/g, ""))
: formData.amount, //
remarkVertical: formData.remarkVertical, // remarkVertical: formData.remarkVertical, //
remarkHorizontal: formData.remarkHorizontal, // remarkHorizontal: formData.remarkHorizontal, //
}) })
.then((res) => { .then(async () => {
await props.getData?.();
success($q, "บันทึกข้อมูลสำเร็จ"); success($q, "บันทึกข้อมูลสำเร็จ");
onClose(); onClose();
props.getData?.();
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);
}) })
.finally(() => {}); .finally(() => {
hideLoader();
});
}); });
} }
function onClose() { function onClose() {
modal.value = false; modal.value = false;
formData.salaryAmount = 0; formData.amount = null;
formData.positionSalaryAmount = 0; formData.positionSalaryAmount = null;
formData.monthSalaryAmount = 0; formData.monthSalaryAmount = null;
formData.remarkVertical = null; formData.remarkVertical = null;
formData.remarkHorizontal = null; formData.remarkHorizontal = null;
} }
@ -67,9 +79,9 @@ watch(
if (modal.value) { if (modal.value) {
if (props.selectPersonData) { if (props.selectPersonData) {
const list = props.selectPersonData; const list = props.selectPersonData;
formData.salaryAmount = list.mouthSalaryAmount; formData.amount = list.amount;
formData.positionSalaryAmount = list.positionSalaryAmount; formData.positionSalaryAmount = list.positionSalaryAmount;
formData.monthSalaryAmount = list.amount; formData.monthSalaryAmount = list.mouthSalaryAmount;
formData.remarkVertical = list.remarkVertical; formData.remarkVertical = list.remarkVertical;
formData.remarkHorizontal = list.remarkHorizontal; formData.remarkHorizontal = list.remarkHorizontal;
} }
@ -80,41 +92,76 @@ watch(
<template> <template>
<q-dialog v-model="modal" persistent> <q-dialog v-model="modal" persistent>
<q-card style="width: 50vw; max-width: 50vw"> <q-card style="min-width: 40vw">
<q-form q-form greedy @submit.prevent @validation-success="onSubmit"> <q-form q-form greedy @submit.prevent @validation-success="onSubmit">
<DialogHeader :tittle="titleName" :close="onClose" /> <DialogHeader :tittle="titleName" :close="onClose" />
<q-separator /> <q-separator />
<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 class="col-xs-6 col-sm-6 col-md-6"> <div class="col-xs-6 col-sm-6 col-md-6">
<CurruncyInput <!-- <CurruncyInput
:edit="true" :edit="true"
:dense="true" :dense="true"
v-model="formData.salaryAmount" v-model="formData.amount"
:label="`${'เงินเดือน'}`" :label="`${'เงินเดือน'}`"
:rules="[(val: any) => !!val || `${'กรุณากรอกเงินเดือน'}`]" :rules="[(val: any) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
hide-bottom-space hide-bottom-space
/> -->
<q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.amount"
class="inputgreen"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินเดือน'}`"
:rules="[(val: any) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
/> />
</div> </div>
<div class="col-xs-6 col-sm-6 col-md-6"> <div class="col-xs-6 col-sm-6 col-md-6">
<CurruncyInput <q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.positionSalaryAmount"
class="inputgreen"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินประจำตำแหน่ง'}`"
/>
<!-- <CurruncyInput
:edit="true" :edit="true"
:dense="true" :dense="true"
v-model="formData.positionSalaryAmount" v-model="formData.positionSalaryAmount"
:label="`${'เงินประจำตำแหน่ง'}`" :label="`${'เงินประจำตำแหน่ง'}`"
hide-bottom-space hide-bottom-space
/> /> -->
</div> </div>
<div class="col-xs-6 col-sm-6 col-md-6"> <div class="col-xs-6 col-sm-6 col-md-6">
<CurruncyInput <q-input
dense
outlined
lazy-rules
hide-bottom-space
v-model="formData.monthSalaryAmount"
class="inputgreen"
mask="###,###,###,###,###,###"
reverse-fill-mask
:label="`${'เงินค่าตอบแทนรายเดือน'}`"
/>
<!-- <CurruncyInput
:edit="true" :edit="true"
:dense="true" :dense="true"
v-model="formData.monthSalaryAmount" v-model="formData.monthSalaryAmount"
:label="`${'เงินค่าตอบแทนรายเดือน'}`" :label="`${'เงินค่าตอบแทนรายเดือน'}`"
hide-bottom-space hide-bottom-space
/> /> -->
</div> </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
@ -123,7 +170,7 @@ watch(
v-model="formData.remarkVertical" v-model="formData.remarkVertical"
label="หมายเหตุแนวตั้ง" label="หมายเหตุแนวตั้ง"
type="textarea" type="textarea"
rows="2" rows="5"
class="inputgreen" class="inputgreen"
/> />
</div> </div>
@ -134,7 +181,7 @@ watch(
v-model="formData.remarkHorizontal" v-model="formData.remarkHorizontal"
type="textarea" type="textarea"
label="หมายเหตุแนวนอน" label="หมายเหตุแนวนอน"
rows="2" rows="5"
class="inputgreen" class="inputgreen"
/> />
</div> </div>