fix:registry

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-12-16 14:09:16 +07:00
parent 18101353a1
commit 4c569a1d3f
10 changed files with 502 additions and 127 deletions

View file

@ -26,6 +26,7 @@ import type { ResListSalary } from "@/modules/04_registryPerson/interface/respon
import DialogHeader from "@/components/DialogHeader.vue";
import DialogHistory from "@/modules/04_registryPerson/components/detail/DialogHistory.vue";
import DialogPreviewCommand from "@/modules/18_command/components/DialogPreviewCommand.vue";
import CurruncyInput from "@/components/CurruncyInput.vue";
const { findOrgName } = useCounterMixin();
const $q = useQuasar();
@ -423,10 +424,10 @@ const formData = reactive<FormSalary>({
positionExecutive: "", //
positionExecutiveField: "", //
positionArea: "", ///
amount: null, //
amountSpecial: null, //
positionSalaryAmount: null, //
mouthSalaryAmount: null, //
amount: undefined, //
amountSpecial: undefined, //
positionSalaryAmount: undefined, //
mouthSalaryAmount: undefined, //
orgRoot: "", //
orgChild1: "", // 1
orgChild2: "", // 2
@ -666,10 +667,12 @@ async function onClickOpenDialog(
? data.positionExecutiveField
: "";
formData.positionArea = statusEdit ? data.positionArea : "";
formData.amount = statusEdit ? data.amount : null;
formData.amountSpecial = statusEdit ? data.amountSpecial : null;
formData.positionSalaryAmount = statusEdit ? data.positionSalaryAmount : null;
formData.mouthSalaryAmount = statusEdit ? data.mouthSalaryAmount : null;
formData.amount = statusEdit ? data.amount : undefined;
formData.amountSpecial = statusEdit ? data.amountSpecial : undefined;
formData.positionSalaryAmount = statusEdit
? data.positionSalaryAmount
: undefined;
formData.mouthSalaryAmount = statusEdit ? data.mouthSalaryAmount : undefined;
formData.orgRoot = statusEdit ? data.orgRoot : "";
formData.orgChild1 = statusEdit ? data.orgChild1 : "";
formData.orgChild2 = statusEdit ? data.orgChild2 : "";
@ -1433,60 +1436,75 @@ onMounted(async () => {
<div class="col-12">
<div class="row q-col-gutter-sm">
<div class="col-xs-6 col-sm-6 col-md-4">
<q-input
<CurruncyInput
:class="classInput(true)"
:edit="true"
ref="salaryRef"
dense
outlined
v-model="formData.amount"
:label="empType == '' ? 'เงินเดือน' : 'ค่าจ้าง'"
mask="###,###,###,###"
reverse-fill-mask
:rules="[(val:string) => !!val || `กรุณากรอก${empType == '' ? 'เงินเดือน' : 'ค่าจ้าง'}`]"
:rules="[(val:string) => !!val || `กรุณากรอก${empType == '' ? 'เงินเดือน' : 'ค่าจ้าง'}`, (val:number) => {
if (!val) return true;
const numVal = typeof val === 'number' ? val : Number(String(val).replace(/,/g, ''));
return numVal <= 10000000 || ` ${empType == '' ? 'เงินเดือน' : 'ค่าจ้าง'} ต้องไม่เกิน 10,000,000 บาท`;
}]"
lazy-rules
hide-bottom-space
/>
</div>
<div class="col-xs-6 col-sm-6 col-md-4">
<q-input
<CurruncyInput
:class="classInput(true)"
:edit="true"
ref="amountSpecialRef"
dense
outlined
v-model="formData.amountSpecial"
label="เงินค่าตอบแทนพิเศษ"
mask="###,###,###,###"
reverse-fill-mask
hide-bottom-space
:rules="[(val:number) => {
if (!val) return true;
const numVal = typeof val === 'number' ? val : Number(String(val).replace(/,/g, ''));
return numVal <= 10000000 || 'เงินค่าตอบแทนพิเศษต้องไม่เกิน 10,000,000 บาท';
}]"
/>
</div>
<div class="col-xs-6 col-sm-6 col-md-4">
<q-input
<CurruncyInput
:class="classInput(true)"
:edit="true"
dense
outlined
v-model="formData.positionSalaryAmount"
label="เงินประจำตำแหน่ง"
mask="###,###,###,###"
reverse-fill-mask
lazy-rules
hide-bottom-space
:rules="[(val:number) => {
if (!val) return true;
const numVal = typeof val === 'number' ? val : Number(String(val).replace(/,/g, ''));
return numVal <= 10000000 || 'เงินประจำตำแหน่งต้องไม่เกิน 10,000,000 บาท';
}]"
/>
</div>
<div class="col-xs-6 col-sm-6 col-md-4">
<q-input
<CurruncyInput
:class="classInput(true)"
:edit="true"
dense
outlined
v-model="formData.mouthSalaryAmount"
label="เงินค่าตอบแทนรายเดือน"
mask="###,###,###,###"
reverse-fill-mask
lazy-rules
hide-bottom-space
:rules="[(val:number) => {
if (!val) return true;
const numVal = typeof val === 'number' ? val : Number(String(val).replace(/,/g, ''));
return numVal <= 10000000 || 'เงินค่าตอบแทนรายเดือนต้องไม่เกิน 10,000,000 บาท';
}]"
/>
</div>
</div>