refactor: add btn

This commit is contained in:
Net 2024-08-07 18:33:02 +07:00
parent 455e193867
commit 2ec032910a
2 changed files with 54 additions and 13 deletions

View file

@ -11,6 +11,10 @@ import { useI18n } from 'vue-i18n';
import { checkTabBeforeAdd, selectFilterOptionRefMod } from 'src/stores/utils'; import { checkTabBeforeAdd, selectFilterOptionRefMod } from 'src/stores/utils';
import { QSelect } from 'quasar'; import { QSelect } from 'quasar';
import SaveButton from 'src/components/button/SaveButton.vue';
import EditButton from 'src/components/button/EditButton.vue';
import DeleteButton from 'src/components/button/DeleteButton.vue';
const { locale } = useI18n(); const { locale } = useI18n();
const adrressStore = useAddressStore(); const adrressStore = useAddressStore();
@ -57,6 +61,8 @@ withDefaults(
defineEmits<{ defineEmits<{
(e: 'save', index: number): void; (e: 'save', index: number): void;
(e: 'edit', index: number): void;
(e: 'delete', index: number): void;
}>(); }>();
async function fetchProvince() { async function fetchProvince() {
@ -173,8 +179,28 @@ const insuranceCompanyFilter = selectFilterOptionRefMod(
/> />
<span class="col-12 flex justify-between items-center"> <span class="col-12 flex justify-between items-center">
{{ `ครั้งที่ ${index + 1}` }} {{ `ครั้งที่ ${index + 1}` }}
<q-btn <div class="row items-center">
v-if="!readonly" <SaveButton
v-if="!readonly && !checkup.statusSave"
@click="$emit('save', index)"
/>
<EditButton
v-if="!readonly && checkup.statusSave"
@click="$emit('edit', index)"
type="button"
/>
<DeleteButton
v-if="!readonly && checkup.statusSave"
@click="$emit('delete', index)"
type="button"
/>
</div>
<!-- <q-btn
v-if="!readonly && !checkup.statusSave"
type="submit"
dense dense
unelevated unelevated
id="save-basic-info" id="save-basic-info"
@ -182,7 +208,7 @@ const insuranceCompanyFilter = selectFilterOptionRefMod(
color="primary" color="primary"
class="q-px-md rounded" class="q-px-md rounded"
@click="$emit('save', index)" @click="$emit('save', index)"
/> /> -->
</span> </span>
<q-input <q-input
@ -194,6 +220,7 @@ const insuranceCompanyFilter = selectFilterOptionRefMod(
class="col-5" class="col-5"
:label="$t('formDialogInputCheckupRes')" :label="$t('formDialogInputCheckupRes')"
v-model="checkup.checkupResult" v-model="checkup.checkupResult"
:rules="[(val) => !!val || $t('formDialogInputCheckupResRequired')]"
/> />
<q-select <q-select
outlined outlined

View file

@ -5,6 +5,10 @@ import { EmployeeWorkCreate } from 'src/stores/employee/types';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { checkTabBeforeAdd, selectFilterOptionRefMod } from 'src/stores/utils'; import { checkTabBeforeAdd, selectFilterOptionRefMod } from 'src/stores/utils';
import SaveButton from 'src/components/button/SaveButton.vue';
import EditButton from 'src/components/button/EditButton.vue';
import DeleteButton from 'src/components/button/DeleteButton.vue';
const { locale } = useI18n(); const { locale } = useI18n();
const employeeWork = defineModel<EmployeeWorkCreate[]>('employeeWork'); const employeeWork = defineModel<EmployeeWorkCreate[]>('employeeWork');
@ -33,6 +37,8 @@ defineProps<{
defineEmits<{ defineEmits<{
(e: 'save', index: number): void; (e: 'save', index: number): void;
(e: 'edit', index: number): void;
(e: 'delete', index: number): void;
}>(); }>();
function addData() { function addData() {
@ -129,16 +135,24 @@ const workplaceFilter = selectFilterOptionRefMod(
/> />
<span class="col-12 flex justify-between items-center"> <span class="col-12 flex justify-between items-center">
{{ `ครั้งที่ ${index + 1}` }} {{ `ครั้งที่ ${index + 1}` }}
<q-btn <div class="row items-center">
v-if="!readonly" <SaveButton
dense v-if="!readonly && !work.statusSave"
unelevated @click="$emit('save', index)"
id="save-basic-info" />
:label="$t('save')"
color="primary" <EditButton
class="q-px-md rounded" v-if="!readonly && work.statusSave"
@click="$emit('save', index)" @click="$emit('edit', index)"
/> type="button"
/>
<DeleteButton
v-if="!readonly && work.statusSave"
@click="$emit('delete', index)"
type="button"
/>
</div>
</span> </span>
<q-select <q-select
outlined outlined