feat: only validate field on submit only

This commit is contained in:
Methapon2001 2024-07-26 11:05:07 +07:00
parent 10e0d638f5
commit c3ac90429e
26 changed files with 164 additions and 14 deletions

View file

@ -22,6 +22,7 @@ defineProps<{
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -37,6 +38,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -52,6 +54,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -63,6 +66,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -74,6 +78,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"

View file

@ -22,6 +22,7 @@ defineProps<{
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
readonly readonly
@ -37,6 +38,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
v-if="typeBranch !== 'headOffice'" v-if="typeBranch !== 'headOffice'"
:dense="dense" :dense="dense"
outlined outlined
@ -53,6 +55,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -64,7 +67,6 @@ defineProps<{
}" }"
:label="$t('formDialogInputTaxNo')" :label="$t('formDialogInputTaxNo')"
v-model="taxNo" v-model="taxNo"
lazy-rules
:rules="[ :rules="[
(val) => (val) =>
(val && val.length === 13 && /[0-9]+/.test(val)) || (val && val.length === 13 && /[0-9]+/.test(val)) ||
@ -74,6 +76,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -85,7 +88,6 @@ defineProps<{
: $t('formDialogInputNameSubBranch') : $t('formDialogInputNameSubBranch')
" "
v-model="name" v-model="name"
lazy-rules
:rules="[(val) => val && val.length > 0]" :rules="[(val) => val && val.length > 0]"
:error-message=" :error-message="
typeBranch === 'headOffice' typeBranch === 'headOffice'
@ -96,6 +98,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"

View file

@ -124,6 +124,7 @@ watch(districtId, fetchSubDistrict);
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-${id !== undefined ? `input-address-${id}` : 'input-address'}`" :for="`${prefixId}-${id !== undefined ? `input-address-${id}` : 'input-address'}`"
:dense="dense" :dense="dense"
outlined outlined
@ -143,6 +144,7 @@ watch(districtId, fetchSubDistrict);
" "
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-province-${id}` : 'select-province'}`" :id="`${prefixId}-${id !== undefined ? `select-province-${id}` : 'select-province'}`"
:dense="dense" :dense="dense"
:readonly="readonly || sameWithEmployer" :readonly="readonly || sameWithEmployer"
@ -170,6 +172,7 @@ watch(districtId, fetchSubDistrict);
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-district-${id}` : 'select-district'}`" :id="`${prefixId}-${id !== undefined ? `select-district-${id}` : 'select-district'}`"
:dense="dense" :dense="dense"
:readonly="readonly || sameWithEmployer" :readonly="readonly || sameWithEmployer"
@ -196,6 +199,7 @@ watch(districtId, fetchSubDistrict);
@update:model-value="subDistrictId = zipCode = null" @update:model-value="subDistrictId = zipCode = null"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-sub-district-${id}` : 'select-sub-district'}`" :id="`${prefixId}-${id !== undefined ? `select-sub-district-${id}` : 'select-sub-district'}`"
:dense="dense" :dense="dense"
:readonly="readonly || sameWithEmployer" :readonly="readonly || sameWithEmployer"
@ -222,6 +226,7 @@ watch(districtId, fetchSubDistrict);
@update:model-value="(v: string) => selectSubDistrict(v)" @update:model-value="(v: string) => selectSubDistrict(v)"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-${id !== undefined ? `input-zip-code-${id}` : 'input-zip-code'}`" :for="`${prefixId}-${id !== undefined ? `input-zip-code-${id}` : 'input-zip-code'}`"
:dense="dense" :dense="dense"
outlined outlined
@ -239,6 +244,7 @@ watch(districtId, fetchSubDistrict);
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-${id !== undefined ? `input-address-en-${id}` : 'input-address-en'}`" :for="`${prefixId}-${id !== undefined ? `input-address-en-${id}` : 'input-address-en'}`"
:dense="dense" :dense="dense"
:readonly="readonly || sameWithEmployer" :readonly="readonly || sameWithEmployer"
@ -258,6 +264,7 @@ watch(districtId, fetchSubDistrict);
" "
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-province-en-${id}` : 'select-province-en'}`" :id="`${prefixId}-${id !== undefined ? `select-province-en-${id}` : 'select-province-en'}`"
hide-bottom-space hide-bottom-space
:dense="dense" :dense="dense"
@ -284,6 +291,7 @@ watch(districtId, fetchSubDistrict);
@update:model-value="districtId = subDistrictId = zipCode = null" @update:model-value="districtId = subDistrictId = zipCode = null"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-district-en-${id}` : 'select-district-en'}`" :id="`${prefixId}-${id !== undefined ? `select-district-en-${id}` : 'select-district-en'}`"
hide-bottom-space hide-bottom-space
:dense="dense" :dense="dense"
@ -310,6 +318,7 @@ watch(districtId, fetchSubDistrict);
@update:model-value="subDistrictId = zipCode = null" @update:model-value="subDistrictId = zipCode = null"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-${id !== undefined ? `select-sub-district-en-${id}` : 'select-sub-district-en'}`" :id="`${prefixId}-${id !== undefined ? `select-sub-district-en-${id}` : 'select-sub-district-en'}`"
hide-bottom-space hide-bottom-space
:dense="dense" :dense="dense"
@ -336,6 +345,7 @@ watch(districtId, fetchSubDistrict);
@update:model-value="(v: string) => selectSubDistrict(v)" @update:model-value="(v: string) => selectSubDistrict(v)"
/> />
<q-input <q-input
lazy-rules="ondemand"
hide-bottom-space hide-bottom-space
:for="`${prefixId}-${id !== undefined ? `input-zip-code-${id}` : 'input-zip-code'}`" :for="`${prefixId}-${id !== undefined ? `input-zip-code-${id}` : 'input-zip-code'}`"
:dense="dense" :dense="dense"

View file

@ -80,6 +80,7 @@ function deleteFile(name: string) {
style="margin-left: 0px; padding-left: 0px" style="margin-left: 0px; padding-left: 0px"
> >
<q-input <q-input
lazy-rules="ondemand"
for="input-regis-no" for="input-regis-no"
:dense="dense" :dense="dense"
outlined outlined
@ -108,6 +109,7 @@ function deleteFile(name: string) {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
for="input-start-date" for="input-start-date"
:label="$t('formDialogInputStartDate')" :label="$t('formDialogInputStartDate')"
:dense="dense" :dense="dense"
@ -170,6 +172,7 @@ function deleteFile(name: string) {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
for="input-retire-date" for="input-retire-date"
:label="$t('formDialogInputRetireDate')" :label="$t('formDialogInputRetireDate')"
:dense="dense" :dense="dense"
@ -213,6 +216,7 @@ function deleteFile(name: string) {
</template> </template>
</VueDatePicker> </VueDatePicker>
<q-select <q-select
lazy-rules="ondemand"
id="input-responsible-area" id="input-responsible-area"
v-if="userType === 'MESSENGER'" v-if="userType === 'MESSENGER'"
:dense="dense" :dense="dense"
@ -236,6 +240,7 @@ function deleteFile(name: string) {
style="row-gap: 16px" style="row-gap: 16px"
> >
<q-input <q-input
lazy-rules="ondemand"
for="input-discount-condition" for="input-discount-condition"
:dense="dense" :dense="dense"
outlined outlined
@ -252,6 +257,7 @@ function deleteFile(name: string) {
style="margin-left: 0px; padding-left: 0px" style="margin-left: 0px; padding-left: 0px"
> >
<q-select <q-select
lazy-rules="ondemand"
id="input-source-nationality" id="input-source-nationality"
:dense="dense" :dense="dense"
outlined outlined
@ -268,6 +274,7 @@ function deleteFile(name: string) {
:options="userStore.userOption.nationalityOpts" :options="userStore.userOption.nationalityOpts"
/> />
<q-select <q-select
lazy-rules="ondemand"
id="input-import-nationality" id="input-import-nationality"
:dense="dense" :dense="dense"
outlined outlined
@ -284,6 +291,7 @@ function deleteFile(name: string) {
:options="userStore.userOption.nationalityOpts" :options="userStore.userOption.nationalityOpts"
/> />
<q-select <q-select
lazy-rules="ondemand"
id="select-trainig-place" id="select-trainig-place"
:dense="dense" :dense="dense"
outlined outlined
@ -300,6 +308,7 @@ function deleteFile(name: string) {
:options="userStore.userOption.trainingPlaceOpts" :options="userStore.userOption.trainingPlaceOpts"
/> />
<q-input <q-input
lazy-rules="ondemand"
for="input-checkpoint" for="input-checkpoint"
:dense="dense" :dense="dense"
outlined outlined
@ -309,6 +318,7 @@ function deleteFile(name: string) {
v-model="checkpoint" v-model="checkpoint"
/> />
<q-input <q-input
lazy-rules="ondemand"
for="input-checkpoint-en" for="input-checkpoint-en"
:dense="dense" :dense="dense"
outlined outlined

View file

@ -40,6 +40,7 @@ onMounted(async () => {
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
id="select-hq-id" id="select-hq-id"
:dense="dense" :dense="dense"
outlined outlined
@ -59,6 +60,7 @@ onMounted(async () => {
@update:model-value="(val: string) => selectHq(val)" @update:model-value="(val: string) => selectHq(val)"
/> />
<q-select <q-select
lazy-rules="ondemand"
id="select-br-id" id="select-br-id"
:dense="dense" :dense="dense"
outlined outlined
@ -77,6 +79,7 @@ onMounted(async () => {
:options="userStore.userOption.brOpts" :options="userStore.userOption.brOpts"
/> />
<q-input <q-input
lazy-rules="ondemand"
for="input-username" for="input-username"
:dense="dense" :dense="dense"
outlined outlined
@ -94,6 +97,7 @@ onMounted(async () => {
]" ]"
/> />
<q-select <q-select
lazy-rules="ondemand"
id="select-user-type" id="select-user-type"
:dense="dense" :dense="dense"
outlined outlined
@ -123,6 +127,7 @@ onMounted(async () => {
</template> </template>
</q-select> </q-select>
<q-select <q-select
lazy-rules="ondemand"
id="select-user-role" id="select-user-role"
:dense="dense" :dense="dense"
outlined outlined
@ -140,7 +145,7 @@ onMounted(async () => {
:options="userStore.userOption.roleOpts" :options="userStore.userOption.roleOpts"
:rules="[(val: string) => !!val || $t('formDialogInputUserRoleValidate')]" :rules="[(val: string) => !!val || $t('formDialogInputUserRoleValidate')]"
/> />
<!-- <q-input <!-- <q-input lazy-rules="ondemand"
id="input-user-code" id="input-user-code"
:dense="dense" :dense="dense"
:outlined="readonly ? false : outlined" :outlined="readonly ? false : outlined"

View file

@ -37,6 +37,7 @@ defineProps<{
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-first-name`" :for="`${prefixId}-input-first-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -50,6 +51,7 @@ defineProps<{
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-last-name`" :for="`${prefixId}-input-last-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -61,6 +63,7 @@ defineProps<{
:rules="[(val: string) => !!val || $t('formDialogInputLastNameValidate')]" :rules="[(val: string) => !!val || $t('formDialogInputLastNameValidate')]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-first-name-en`" :for="`${prefixId}-input-first-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -74,6 +77,7 @@ defineProps<{
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-last-name-en`" :for="`${prefixId}-input-last-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -87,6 +91,7 @@ defineProps<{
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
v-if="!employee" v-if="!employee"
:for="`${prefixId}-input-telephone`" :for="`${prefixId}-input-telephone`"
:dense="dense" :dense="dense"
@ -98,6 +103,7 @@ defineProps<{
mask="##########" mask="##########"
/> />
<q-input <q-input
lazy-rules="ondemand"
v-if="!employee" v-if="!employee"
:for="`${prefixId}-input-email`" :for="`${prefixId}-input-email`"
:dense="dense" :dense="dense"
@ -108,6 +114,7 @@ defineProps<{
v-model="email" v-model="email"
/> />
<q-select <q-select
lazy-rules="ondemand"
v-if="!employee" v-if="!employee"
:id="`${prefixId}-select-gender`" :id="`${prefixId}-select-gender`"
:dense="dense" :dense="dense"
@ -146,6 +153,7 @@ defineProps<{
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-birth-date`" :for="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
placeholder="DD/MM/YYYY" placeholder="DD/MM/YYYY"
@ -186,6 +194,7 @@ defineProps<{
</template> </template>
</VueDatePicker> </VueDatePicker>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-age`" :for="`${prefixId}-input-age`"
:dense="dense" :dense="dense"
outlined outlined
@ -200,6 +209,7 @@ defineProps<{
" "
/> />
<q-select <q-select
lazy-rules="ondemand"
v-if="employee" v-if="employee"
:id="`${prefixId}-select-gender`" :id="`${prefixId}-select-gender`"
hide-bottom-space hide-bottom-space
@ -221,6 +231,7 @@ defineProps<{
]" ]"
/> />
<q-select <q-select
lazy-rules="ondemand"
v-if="employee" v-if="employee"
:id="`${prefixId}-select-nationality`" :id="`${prefixId}-select-nationality`"
hide-bottom-space hide-bottom-space

View file

@ -28,6 +28,7 @@ const branchNo = defineModel<number>('branchNo');
<div class="col-md-3 col-12 app-text-muted"> {{ $t(`about`) }}</div> <div class="col-md-3 col-12 app-text-muted"> {{ $t(`about`) }}</div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-branch-code`" :for="`${prefixId}-input-branch-code`"
:id="`${prefixId}-input-branch-code`" :id="`${prefixId}-input-branch-code`"
v-if="typeCustomer === 'PERS'" v-if="typeCustomer === 'PERS'"
@ -41,6 +42,7 @@ const branchNo = defineModel<number>('branchNo');
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-branch-no`" :for="`${prefixId}-input-branch-no`"
:id="`${prefixId}-input-branch-no`" :id="`${prefixId}-input-branch-no`"
:dense="dense" :dense="dense"
@ -53,6 +55,7 @@ const branchNo = defineModel<number>('branchNo');
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-name`" :for="`${prefixId}-input-customer-name`"
:id="`${prefixId}-input-customer-name`" :id="`${prefixId}-input-customer-name`"
v-if="typeCustomer === 'PERS'" v-if="typeCustomer === 'PERS'"
@ -66,6 +69,7 @@ const branchNo = defineModel<number>('branchNo');
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-english-name`" :for="`${prefixId}-input-customer-english-name`"
:id="`${prefixId}-input-customer-english-name`" :id="`${prefixId}-input-customer-english-name`"
v-if="typeCustomer === 'PERS'" v-if="typeCustomer === 'PERS'"
@ -80,6 +84,7 @@ const branchNo = defineModel<number>('branchNo');
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-branch-code`" :for="`${prefixId}-input-branch-code`"
:id="`${prefixId}-input-branch-code`" :id="`${prefixId}-input-branch-code`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -92,6 +97,7 @@ const branchNo = defineModel<number>('branchNo');
v-model="branchCode" v-model="branchCode"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-legal-entity-code`" :for="`${prefixId}-input-legal-entity-code`"
:id="`${prefixId}-input-legal-entity-code`" :id="`${prefixId}-input-legal-entity-code`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -105,6 +111,7 @@ const branchNo = defineModel<number>('branchNo');
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-english-name`" :for="`${prefixId}-input-customer-english-name`"
:id="`${prefixId}-input-customer-english-name`" :id="`${prefixId}-input-customer-english-name`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -118,6 +125,7 @@ const branchNo = defineModel<number>('branchNo');
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-name`" :for="`${prefixId}-input-customer-name`"
:id="`${prefixId}-input-customer-name`" :id="`${prefixId}-input-customer-name`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -132,6 +140,7 @@ const branchNo = defineModel<number>('branchNo');
</div> </div>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-tax-no`" :for="`${prefixId}-input-tax-no`"
:id="`${prefixId}-input-tax-no`" :id="`${prefixId}-input-tax-no`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -149,6 +158,7 @@ const branchNo = defineModel<number>('branchNo');
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-register-name`" :for="`${prefixId}-input-register-name`"
:id="`${prefixId}-input-register-name`" :id="`${prefixId}-input-register-name`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -161,6 +171,7 @@ const branchNo = defineModel<number>('branchNo');
v-model="registerName" v-model="registerName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-authorized-capital`" :for="`${prefixId}-input-authorized-capital`"
:id="`${prefixId}-input-authorized-capital`" :id="`${prefixId}-input-authorized-capital`"
v-if="typeCustomer === 'CORP'" v-if="typeCustomer === 'CORP'"
@ -193,6 +204,7 @@ const branchNo = defineModel<number>('branchNo');
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-start-date`" :for="`${prefixId}-input-start-date`"
:id="`${prefixId}-input-start-date`" :id="`${prefixId}-input-start-date`"
:label="$t('registerDate')" :label="$t('registerDate')"

View file

@ -47,6 +47,7 @@ defineEmits<{
</div> </div>
<div v-if="!employee" class="col-md-9 col-12 row q-col-gutter-md"> <div v-if="!employee" class="col-md-9 col-12 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-input-source-nationality`" :id="`${prefixId}-input-source-nationality`"
:dense="dense" :dense="dense"
outlined outlined
@ -75,6 +76,7 @@ defineEmits<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-employer-id`" :for="`${prefixId}-input-employer-id`"
:id="`${prefixId}-input-employer-id`" :id="`${prefixId}-input-employer-id`"
v-if="typeCustomer === 'PERS'" v-if="typeCustomer === 'PERS'"
@ -87,6 +89,7 @@ defineEmits<{
v-model="personName" v-model="personName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-tax-no`" :for="`${prefixId}-input-tax-no`"
:id="`${prefixId}-input-tax-no`" :id="`${prefixId}-input-tax-no`"
v-if="typeCustomer === 'PERS'" v-if="typeCustomer === 'PERS'"
@ -105,6 +108,7 @@ defineEmits<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-name`" :for="`${prefixId}-input-customer-name`"
:id="`${prefixId}-input-customer-name`" :id="`${prefixId}-input-customer-name`"
:dense="dense" :dense="dense"
@ -118,6 +122,7 @@ defineEmits<{
v-model="customerName" v-model="customerName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-customer-name-en`" :for="`${prefixId}-input-customer-name-en`"
:id="`${prefixId}-input-customer-name-en`" :id="`${prefixId}-input-customer-name-en`"
:dense="dense" :dense="dense"
@ -136,6 +141,7 @@ defineEmits<{
/> />
<q-input <q-input
lazy-rules="ondemand"
v-if="typeCustomer !== 'PERS'" v-if="typeCustomer !== 'PERS'"
:for="`${prefixId}-input-owner-name`" :for="`${prefixId}-input-owner-name`"
:dense="dense" :dense="dense"
@ -150,6 +156,7 @@ defineEmits<{
<div v-if="employee" class="col-md-9 col-12 row q-col-gutter-md"> <div v-if="employee" class="col-md-9 col-12 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
:for="`${prefixId}-select-employer-branch`" :for="`${prefixId}-select-employer-branch`"
:use-input="!customerBranch" :use-input="!customerBranch"
input-debounce="0" input-debounce="0"
@ -354,6 +361,7 @@ defineEmits<{
</template> </template>
</q-select> </q-select>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-employee-id`" :for="`${prefixId}-input-employee-id`"
:dense="dense" :dense="dense"
outlined outlined
@ -365,6 +373,7 @@ defineEmits<{
/> />
<q-input <q-input
lazy-rules="ondemand"
v-if="readonly && !nrcNo" v-if="readonly && !nrcNo"
:for="`${prefixId}-input-nrc-no`" :for="`${prefixId}-input-nrc-no`"
:dense="dense" :dense="dense"
@ -376,6 +385,7 @@ defineEmits<{
v-model="slash" v-model="slash"
/> />
<q-input <q-input
lazy-rules="ondemand"
v-else v-else
mask="## #### ###### #" mask="## #### ###### #"
:for="`${prefixId}-input-nrc-no`" :for="`${prefixId}-input-nrc-no`"

View file

@ -19,6 +19,7 @@ const telephone = defineModel<string>('telephone');
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mail`" :for="`${prefixId}-input-mail`"
:id="`${prefixId}-input-mail`" :id="`${prefixId}-input-mail`"
:dense="dense" :dense="dense"
@ -30,6 +31,7 @@ const telephone = defineModel<string>('telephone');
v-model="mail" v-model="mail"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-telephone`" :for="`${prefixId}-input-telephone`"
:id="`${prefixId}-input-telephone`" :id="`${prefixId}-input-telephone`"
:dense="dense" :dense="dense"

View file

@ -138,6 +138,7 @@ watch(currentStatus, async () => {
class="row items-center justify-end q-px-md col-12 col-sm q-py-sm no-wrap" class="row items-center justify-end q-px-md col-12 col-sm q-py-sm no-wrap"
> >
<q-input <q-input
lazy-rules="ondemand"
outlined outlined
dense dense
class="col-6" class="col-6"

View file

@ -54,6 +54,7 @@ onMounted(async () => {
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-employment-office`" :for="`${prefixId}-input-employment-office`"
:id="`${prefixId}-input-employment-office`" :id="`${prefixId}-input-employment-office`"
:dense="dense" :dense="dense"
@ -66,6 +67,7 @@ onMounted(async () => {
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-business-type`" :id="`${prefixId}-select-business-type`"
emit-value emit-value
option-value="value" option-value="value"
@ -81,6 +83,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-bussiness-type-en`" :for="`${prefixId}-input-bussiness-type-en`"
:id="`${prefixId}-input-bussiness-type-en`" :id="`${prefixId}-input-bussiness-type-en`"
:dense="dense" :dense="dense"
@ -93,6 +96,7 @@ onMounted(async () => {
/> />
<q-select <q-select
lazy-rules="ondemand"
:for="`${prefixId}-select-job-position`" :for="`${prefixId}-select-job-position`"
:id="`${prefixId}-select-job-position`" :id="`${prefixId}-select-job-position`"
emit-value emit-value
@ -109,6 +113,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-job-position-en`" :for="`${prefixId}-input-job-position-en`"
:id="`${prefixId}-input-job-position-en`" :id="`${prefixId}-input-job-position-en`"
:dense="dense" :dense="dense"
@ -121,6 +126,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-job-description`" :for="`${prefixId}-input-job-description`"
:id="`${prefixId}-input-job-description`" :id="`${prefixId}-input-job-description`"
:dense="dense" :dense="dense"
@ -152,6 +158,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-start-date`" :for="`${prefixId}-input-start-date`"
:id="`${prefixId}-input-start-date`" :id="`${prefixId}-input-start-date`"
:label="$t('payDay')" :label="$t('payDay')"
@ -197,6 +204,7 @@ onMounted(async () => {
</VueDatePicker> </VueDatePicker>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-pay-rate`" :for="`${prefixId}-input-pay-rate`"
:id="`${prefixId}-input-pay-rate`" :id="`${prefixId}-input-pay-rate`"
:dense="dense" :dense="dense"
@ -209,6 +217,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-sales-person`" :for="`${prefixId}-input-sales-person`"
:id="`${prefixId}-input-sales-person`" :id="`${prefixId}-input-sales-person`"
:dense="dense" :dense="dense"

View file

@ -146,6 +146,7 @@ onMounted(async () => {
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -155,6 +156,7 @@ onMounted(async () => {
v-model="checkup.checkupResult" v-model="checkup.checkupResult"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-province`" :id="`${prefixId}-select-province`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -169,9 +171,9 @@ onMounted(async () => {
:label="$t('formDialogInputCheckupType')" :label="$t('formDialogInputCheckupType')"
class="col-6" class="col-6"
:options="checkupTypeOption" :options="checkupTypeOption"
lazy-rules
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-province`" :id="`${prefixId}-select-province`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -186,9 +188,9 @@ onMounted(async () => {
:label="$t('province')" :label="$t('province')"
class="col-md-3 col-6" class="col-md-3 col-6"
:options="addrOptions.provinceOps" :options="addrOptions.provinceOps"
lazy-rules
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -198,6 +200,7 @@ onMounted(async () => {
v-model="checkup.hospitalName" v-model="checkup.hospitalName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:label="$t('formDialogInputRemark')" :label="$t('formDialogInputRemark')"
:dense="dense" :dense="dense"
outlined outlined
@ -208,6 +211,7 @@ onMounted(async () => {
type="textarea" type="textarea"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-province`" :id="`${prefixId}-select-province`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -222,9 +226,9 @@ onMounted(async () => {
:label="$t('formDialogInputMedicalBenefit')" :label="$t('formDialogInputMedicalBenefit')"
class="col-6" class="col-6"
:options="medicalBenefitOption" :options="medicalBenefitOption"
lazy-rules
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-province`" :id="`${prefixId}-select-province`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -239,7 +243,6 @@ onMounted(async () => {
:label="$t('formDialogInputInsuranceCompany')" :label="$t('formDialogInputInsuranceCompany')"
class="col-6" class="col-6"
:options="insuranceCompanyOption" :options="insuranceCompanyOption"
lazy-rules
/> />
<VueDatePicker <VueDatePicker
utc utc
@ -260,6 +263,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
:label="$t('formDialogInputCoverageStartDate')" :label="$t('formDialogInputCoverageStartDate')"
:dense="dense" :dense="dense"
@ -326,6 +330,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
id="input-birth-date" id="input-birth-date"
:label="$t('formDialogInputCoverageExpiretDate')" :label="$t('formDialogInputCoverageExpiretDate')"
:dense="dense" :dense="dense"

View file

@ -21,6 +21,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
<div v-if="$q.screen.gt.sm" class="col-3 q-pl-xl"></div> <div v-if="$q.screen.gt.sm" class="col-3 q-pl-xl"></div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-citizen-id`" :for="`${prefixId}-input-citizen-id`"
:dense="dense" :dense="dense"
outlined outlined
@ -29,7 +30,6 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
:label="$t('formDialogInputCitizenId')" :label="$t('formDialogInputCitizenId')"
class="col" class="col"
v-model="employeeOther.citizenId" v-model="employeeOther.citizenId"
lazy-rules
/> />
</div> </div>
<div <div
@ -40,6 +40,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-father-first-name`" :for="`${prefixId}-input-father-first-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -50,6 +51,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.fatherFirstName" v-model="employeeOther.fatherFirstName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-father-last-name`" :for="`${prefixId}-input-father-last-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -60,6 +62,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.fatherLastName" v-model="employeeOther.fatherLastName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-father-first-name-en`" :for="`${prefixId}-input-father-first-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -70,6 +73,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.fatherFirstNameEN" v-model="employeeOther.fatherFirstNameEN"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-father-last-name-en`" :for="`${prefixId}-input-father-last-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -80,6 +84,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.fatherLastNameEN" v-model="employeeOther.fatherLastNameEN"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-father-birthplace`" :for="`${prefixId}-input-father-birthplace`"
:dense="dense" :dense="dense"
outlined outlined
@ -99,6 +104,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mother-first-name`" :for="`${prefixId}-input-mother-first-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -109,6 +115,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.motherFirstName" v-model="employeeOther.motherFirstName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mother-last-name`" :for="`${prefixId}-input-mother-last-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -119,6 +126,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.motherLastName" v-model="employeeOther.motherLastName"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mother-first-name-en`" :for="`${prefixId}-input-mother-first-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -129,6 +137,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.motherFirstNameEN" v-model="employeeOther.motherFirstNameEN"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mother-last-name-en`" :for="`${prefixId}-input-mother-last-name-en`"
:dense="dense" :dense="dense"
outlined outlined
@ -139,6 +148,7 @@ const employeeOther = defineModel<EmployeeOtherCreate>('employeeOther');
v-model="employeeOther.motherLastNameEN" v-model="employeeOther.motherLastNameEN"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-mother-birthplace`" :for="`${prefixId}-input-mother-birthplace`"
:dense="dense" :dense="dense"
outlined outlined

View file

@ -39,6 +39,7 @@ defineProps<{
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-passport-type`" :id="`${prefixId}-select-passport-type`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -53,13 +54,13 @@ defineProps<{
:label="$t('formDialogInputPassportType')" :label="$t('formDialogInputPassportType')"
class="col-md-3 col-12" class="col-md-3 col-12"
:options="passportTypeOption" :options="passportTypeOption"
lazy-rules
:rules="[ :rules="[
(val: string) => (val: string) =>
!!val || $t('selectValidate') + $t('formDialogInputPassportType'), !!val || $t('selectValidate') + $t('formDialogInputPassportType'),
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-passport-no`" :for="`${prefixId}-input-passport-no`"
:dense="dense" :dense="dense"
outlined outlined
@ -74,6 +75,7 @@ defineProps<{
]" ]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-passport-ref`" :for="`${prefixId}-input-passport-ref`"
:dense="dense" :dense="dense"
outlined outlined
@ -84,6 +86,7 @@ defineProps<{
v-model="previousPassportReference" v-model="previousPassportReference"
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-passport-place`" :for="`${prefixId}-input-passport-place`"
:dense="dense" :dense="dense"
outlined outlined
@ -98,6 +101,7 @@ defineProps<{
]" ]"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-passport-country`" :id="`${prefixId}-select-passport-country`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -112,7 +116,6 @@ defineProps<{
:label="$t('formDialogInputPassportCountry')" :label="$t('formDialogInputPassportCountry')"
class="col-md-3 col-6" class="col-md-3 col-6"
:options="passportIssuingCountryOption" :options="passportIssuingCountryOption"
lazy-rules
:rules="[ :rules="[
(val: string) => (val: string) =>
!!val || $t('selectValidate') + $t('formDialogInputPassportCountry'), !!val || $t('selectValidate') + $t('formDialogInputPassportCountry'),
@ -138,6 +141,7 @@ defineProps<{
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
:label="$t('formDialogInputPassportIssuance')" :label="$t('formDialogInputPassportIssuance')"
@ -195,6 +199,7 @@ defineProps<{
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
:label="$t('formDialogInputPassportExpire')" :label="$t('formDialogInputPassportExpire')"

View file

@ -62,6 +62,7 @@ onMounted(async () => {
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-visa-type`" :id="`${prefixId}-select-visa-type`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -76,13 +77,13 @@ onMounted(async () => {
:label="$t('formDialogInputVisaType')" :label="$t('formDialogInputVisaType')"
class="col-md-3 col-6" class="col-md-3 col-6"
:options="visaTypeOption" :options="visaTypeOption"
lazy-rules
/> />
<!-- :rules="[ <!-- :rules="[
(val: string) => (val: string) =>
!!val || $t('selectValidate') + $t('formDialogInputVisaType'), !!val || $t('selectValidate') + $t('formDialogInputVisaType'),
]" --> ]" -->
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-visa-no`" :for="`${prefixId}-input-visa-no`"
:dense="dense" :dense="dense"
outlined outlined
@ -116,6 +117,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
:label="$t('formDialogInputVisaIssuance')" :label="$t('formDialogInputVisaIssuance')"
@ -183,6 +185,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
:label="$t('formDialogInputVisaExpire')" :label="$t('formDialogInputVisaExpire')"
@ -231,6 +234,7 @@ onMounted(async () => {
</template> </template>
</VueDatePicker> </VueDatePicker>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-visa-place`" :for="`${prefixId}-input-visa-place`"
:dense="dense" :dense="dense"
outlined outlined
@ -264,6 +268,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
hide-bottom-space hide-bottom-space
:label="$t('formDialogInputVisaStayUntil')" :label="$t('formDialogInputVisaStayUntil')"
@ -313,6 +318,7 @@ onMounted(async () => {
</template> </template>
</VueDatePicker> </VueDatePicker>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-tm6`" :for="`${prefixId}-input-tm6`"
:dense="dense" :dense="dense"
outlined outlined
@ -346,6 +352,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
:label="$t('formDialogInputVisaEnter')" :label="$t('formDialogInputVisaEnter')"
:dense="dense" :dense="dense"

View file

@ -119,6 +119,7 @@ onMounted(async () => {
</div> </div>
<div class="col-md-9 col-12 row q-col-gutter-md"> <div class="col-md-9 col-12 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-owner-name`" :for="`${prefixId}-input-owner-name`"
:dense="dense" :dense="dense"
outlined outlined
@ -129,6 +130,7 @@ onMounted(async () => {
v-model="work.ownerName" v-model="work.ownerName"
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-position-name`" :id="`${prefixId}-select-position-name`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -143,9 +145,9 @@ onMounted(async () => {
:label="$t('formDialogInputJobPosition')" :label="$t('formDialogInputJobPosition')"
class="col-6" class="col-6"
:options="positionNameOption" :options="positionNameOption"
lazy-rules
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-job-type`" :id="`${prefixId}-select-job-type`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -160,9 +162,9 @@ onMounted(async () => {
:label="$t('formDialogInputJobType')" :label="$t('formDialogInputJobType')"
class="col-6" class="col-6"
:options="jobTypeOption" :options="jobTypeOption"
lazy-rules
/> />
<q-select <q-select
lazy-rules="ondemand"
:id="`${prefixId}-select-province`" :id="`${prefixId}-select-province`"
:dense="dense" :dense="dense"
:readonly="readonly" :readonly="readonly"
@ -177,9 +179,9 @@ onMounted(async () => {
:label="$t('formDialogInputWorkPlace')" :label="$t('formDialogInputWorkPlace')"
class="col-6" class="col-6"
:options="workplaceOption" :options="workplaceOption"
lazy-rules
/> />
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-work-end-date`" :for="`${prefixId}-input-work-end-date`"
:label="$t('formDialogInputRemark')" :label="$t('formDialogInputRemark')"
:dense="dense" :dense="dense"
@ -210,6 +212,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
:label="$t('formDialogInputWorkUntil')" :label="$t('formDialogInputWorkUntil')"
:dense="dense" :dense="dense"
@ -253,6 +256,7 @@ onMounted(async () => {
</template> </template>
</VueDatePicker> </VueDatePicker>
<q-input <q-input
lazy-rules="ondemand"
:for="`${prefixId}-input-work-permit-no`" :for="`${prefixId}-input-work-permit-no`"
:dense="dense" :dense="dense"
outlined outlined
@ -282,6 +286,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
:label="$t('formDialogInputWorkPermitIssueDate')" :label="$t('formDialogInputWorkPermitIssueDate')"
:dense="dense" :dense="dense"
@ -344,6 +349,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
lazy-rules="ondemand"
:id="`${prefixId}-input-birth-date`" :id="`${prefixId}-input-birth-date`"
:label="$t('formDialogInputWorkPermitExpireDate')" :label="$t('formDialogInputWorkPermitExpireDate')"
:dense="dense" :dense="dense"

View file

@ -46,6 +46,7 @@ onMounted(async () => {
<div class="col-9 row q-col-gutter-md"> <div class="col-9 row q-col-gutter-md">
<q-select <q-select
lazy-rules="ondemand"
id="select-br-id" id="select-br-id"
:dense="dense" :dense="dense"
outlined outlined
@ -66,6 +67,7 @@ onMounted(async () => {
/> />
<q-select <q-select
lazy-rules="ondemand"
id="input-source-nationality" id="input-source-nationality"
:dense="dense" :dense="dense"
outlined outlined
@ -94,6 +96,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
for="input-name" for="input-name"
:dense="dense" :dense="dense"
outlined outlined
@ -106,6 +109,7 @@ onMounted(async () => {
/> />
<q-input <q-input
lazy-rules="ondemand"
for="input-detail" for="input-detail"
:dense="dense" :dense="dense"
outlined outlined
@ -150,6 +154,7 @@ onMounted(async () => {
</div> </div>
<q-input <q-input
lazy-rules="ondemand"
for="input-process" for="input-process"
:dense="dense" :dense="dense"
outlined outlined

View file

@ -32,6 +32,7 @@ const props = defineProps<{
</div> </div>
<div v-if="!service" class="col-9 row q-col-gutter-md"> <div v-if="!service" class="col-9 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -44,6 +45,7 @@ const props = defineProps<{
:rules="[(val: string) => !!val || $t('pleaseInformation')]" :rules="[(val: string) => !!val || $t('pleaseInformation')]"
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -54,6 +56,7 @@ const props = defineProps<{
v-model="detail" v-model="detail"
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -67,6 +70,7 @@ const props = defineProps<{
<div v-if="service" class="col-9 row q-col-gutter-md"> <div v-if="service" class="col-9 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
id="input-service-code" id="input-service-code"
for="input-service-code" for="input-service-code"
:dense="dense" :dense="dense"
@ -80,6 +84,7 @@ const props = defineProps<{
/> />
<q-select <q-select
lazy-rules="ondemand"
id="input-source-nationality" id="input-source-nationality"
:dense="dense" :dense="dense"
outlined outlined
@ -108,6 +113,7 @@ const props = defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
id="input-service-name" id="input-service-name"
for="input-service-name" for="input-service-name"
:dense="dense" :dense="dense"
@ -119,6 +125,7 @@ const props = defineProps<{
v-model="serviceName" v-model="serviceName"
/> />
<q-input <q-input
lazy-rules="ondemand"
id="input-service-description" id="input-service-description"
for="input-service-description" for="input-service-description"
:dense="dense" :dense="dense"

View file

@ -16,6 +16,7 @@ defineProps<{
<div class="col-3 app-text-muted"> {{ $t('priceInformation') }}</div> <div class="col-3 app-text-muted"> {{ $t('priceInformation') }}</div>
<div class="col-9 row q-col-gutter-md"> <div class="col-9 row q-col-gutter-md">
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -28,6 +29,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"
@ -40,6 +42,7 @@ defineProps<{
/> />
<q-input <q-input
lazy-rules="ondemand"
:dense="dense" :dense="dense"
outlined outlined
:readonly="readonly" :readonly="readonly"

View file

@ -352,6 +352,7 @@ function confirmDelete(items: unknown[], index: number) {
<!-- field name --> <!-- field name -->
<q-select <q-select
lazy-rules="ondemand"
dense dense
outlined outlined
emit-value emit-value
@ -380,6 +381,7 @@ function confirmDelete(items: unknown[], index: number) {
<!-- type --> <!-- type -->
<div class="col"> <div class="col">
<q-select <q-select
lazy-rules="ondemand"
dense dense
outlined outlined
emit-value emit-value
@ -483,6 +485,7 @@ function confirmDelete(items: unknown[], index: number) {
{{ $t('telephone') }} {{ $t('telephone') }}
</div> </div>
<q-input <q-input
lazy-rules="ondemand"
v-if="p.type === 'string'" v-if="p.type === 'string'"
v-model="p.phoneNumberLength" v-model="p.phoneNumberLength"
input-class="text-caption" input-class="text-caption"
@ -515,6 +518,7 @@ function confirmDelete(items: unknown[], index: number) {
{{ $t('decimal') }} {{ $t('decimal') }}
</div> </div>
<q-input <q-input
lazy-rules="ondemand"
v-model="p.decimalPlace" v-model="p.decimalPlace"
class="col additional-label" class="col additional-label"
:class="{ 'q-mt-xs': $q.screen.lt.md }" :class="{ 'q-mt-xs': $q.screen.lt.md }"
@ -534,6 +538,7 @@ function confirmDelete(items: unknown[], index: number) {
> >
<div class="col rounded"> <div class="col rounded">
<q-input <q-input
lazy-rules="ondemand"
v-model="p.options[i]" v-model="p.options[i]"
class="col additional-label" class="col additional-label"
dense dense

View file

@ -61,6 +61,7 @@ watch(
:key="index" :key="index"
> >
<q-input <q-input
lazy-rules="ondemand"
ref="inputName" ref="inputName"
:for="`input-work-name-${index}`" :for="`input-work-name-${index}`"
dense dense

View file

@ -948,6 +948,7 @@ watch(currentHq, () => {
class="row q-py-sm q-px-md justify-between full-width surface-3 bordered-b" class="row q-py-sm q-px-md justify-between full-width surface-3 bordered-b"
> >
<q-input <q-input
lazy-rules="ondemand"
for="input-search" for="input-search"
outlined outlined
dense dense
@ -967,6 +968,7 @@ watch(currentHq, () => {
:class="{ 'q-pt-xs': $q.screen.lt.md }" :class="{ 'q-pt-xs': $q.screen.lt.md }"
> >
<q-select <q-select
lazy-rules="ondemand"
v-model="statusFilter" v-model="statusFilter"
outlined outlined
dense dense
@ -987,6 +989,7 @@ watch(currentHq, () => {
></q-select> ></q-select>
<q-select <q-select
lazy-rules="ondemand"
id="select-field" id="select-field"
for="select-field" for="select-field"
:options=" :options="

View file

@ -784,6 +784,7 @@ watch(
> >
<div class="row q-py-sm q-px-md justify-between full-width"> <div class="row q-py-sm q-px-md justify-between full-width">
<q-input <q-input
lazy-rules="ondemand"
for="input-search" for="input-search"
outlined outlined
dense dense
@ -804,6 +805,7 @@ watch(
style="white-space: nowrap" style="white-space: nowrap"
> >
<q-select <q-select
lazy-rules="ondemand"
v-model="statusFilter" v-model="statusFilter"
outlined outlined
dense dense
@ -821,6 +823,7 @@ watch(
></q-select> ></q-select>
<q-select <q-select
lazy-rules="ondemand"
v-if="!modeView" v-if="!modeView"
id="select-field" id="select-field"
for="select-field" for="select-field"

View file

@ -1764,6 +1764,7 @@ watch(isMainPage, () => {
class="row q-px-md q-py-sm justify-between full-width surface-3 bordered-b" class="row q-px-md q-py-sm justify-between full-width surface-3 bordered-b"
> >
<q-input <q-input
lazy-rules="ondemand"
for="input-search" for="input-search"
outlined outlined
dense dense
@ -1784,6 +1785,7 @@ watch(isMainPage, () => {
style="white-space: nowrap" style="white-space: nowrap"
> >
<q-select <q-select
lazy-rules="ondemand"
id="select-status" id="select-status"
for="select-status" for="select-status"
v-model="currentStatus" v-model="currentStatus"
@ -1802,6 +1804,7 @@ watch(isMainPage, () => {
]" ]"
></q-select> ></q-select>
<q-select <q-select
lazy-rules="ondemand"
id="select-field" id="select-field"
v-if="modeView === false" v-if="modeView === false"
for="select-field" for="select-field"

View file

@ -1799,6 +1799,7 @@ watch(
class="row q-py-sm q-px-md justify-between full-width surface-3 bordered-b" class="row q-py-sm q-px-md justify-between full-width surface-3 bordered-b"
> >
<q-input <q-input
lazy-rules="ondemand"
for="input-search" for="input-search"
outlined outlined
:class="{ 'col-12': $q.screen.lt.md }" :class="{ 'col-12': $q.screen.lt.md }"
@ -1820,6 +1821,7 @@ watch(
style="white-space: nowrap" style="white-space: nowrap"
> >
<q-select <q-select
lazy-rules="ondemand"
v-model="currentStatus" v-model="currentStatus"
for="select-status" for="select-status"
outlined outlined
@ -1841,6 +1843,7 @@ watch(
></q-select> ></q-select>
<q-select <q-select
lazy-rules="ondemand"
v-if="modeView === false" v-if="modeView === false"
id="select-field" id="select-field"
for="select-field" for="select-field"
@ -2472,6 +2475,7 @@ watch(
class="row justify-between items-center q-px-md q-py-sm surface-3 bordered-b" class="row justify-between items-center q-px-md q-py-sm surface-3 bordered-b"
> >
<q-input <q-input
lazy-rules="ondemand"
:class="{ 'col-12': $q.screen.lt.md }" :class="{ 'col-12': $q.screen.lt.md }"
outlined outlined
dense dense
@ -2492,6 +2496,7 @@ watch(
style="white-space: nowrap" style="white-space: nowrap"
> >
<q-select <q-select
lazy-rules="ondemand"
v-model="currentStatus" v-model="currentStatus"
outlined outlined
dense dense
@ -2513,6 +2518,7 @@ watch(
></q-select> ></q-select>
<q-select <q-select
lazy-rules="ondemand"
v-if="modeView === false" v-if="modeView === false"
:hide-dropdown-icon="$q.screen.lt.sm" :hide-dropdown-icon="$q.screen.lt.sm"
id="select-field" id="select-field"
@ -3321,6 +3327,7 @@ watch(
<div class="row items-center"> <div class="row items-center">
<q-space /> <q-space />
<q-input <q-input
lazy-rules="ondemand"
id="input-search-add-product" id="input-search-add-product"
outlined outlined
style="width: 250px" style="width: 250px"

View file

@ -24,6 +24,7 @@ const toggleWorker = ref(true);
<div class="row q-pa-md items-center"> <div class="row q-pa-md items-center">
<div style="flex: 1"><q-img src="/logo.png" width="8rem" /></div> <div style="flex: 1"><q-img src="/logo.png" width="8rem" /></div>
<q-select <q-select
lazy-rules="ondemand"
v-model="selectedBranchIssuer" v-model="selectedBranchIssuer"
:options="[{ label: 'Issuer 1', value: 'Issuer 1' }]" :options="[{ label: 'Issuer 1', value: 'Issuer 1' }]"
:label="$t('quotation.form.customerBranchSelect')" :label="$t('quotation.form.customerBranchSelect')"
@ -35,6 +36,7 @@ const toggleWorker = ref(true);
dense dense
/> />
<q-select <q-select
lazy-rules="ondemand"
v-model="selectedCustomer" v-model="selectedCustomer"
:options="[{ label: 'Customer 1', value: 'Customer 1' }]" :options="[{ label: 'Customer 1', value: 'Customer 1' }]"
:label="$t('quotation.form.customerSelect')" :label="$t('quotation.form.customerSelect')"