ปรับรูปแบบฟอร์ม ปุ่ม ในระบบบริการเจ้าของข้อมูล

This commit is contained in:
STW_TTTY\stwtt 2024-06-11 16:02:21 +07:00
parent 3800ce5547
commit f08e636d82
16 changed files with 171 additions and 158 deletions

View file

@ -111,6 +111,10 @@ const fileUploadDoc = async (file: any) => {
nameFile.value = file[0].name; nameFile.value = file[0].name;
files.value = file; files.value = file;
}; };
function fileOpen(url: string) {
window.open(url, "_blank");
}
</script> </script>
<template> <template>
@ -147,6 +151,7 @@ const fileUploadDoc = async (file: any) => {
dense dense
outlined outlined
v-model="tranferOrg" v-model="tranferOrg"
hide-bottom-space
label="หน่วยงานที่ขอโอนไป" label="หน่วยงานที่ขอโอนไป"
:readonly="routeName != 'addTransfer'" :readonly="routeName != 'addTransfer'"
:rules="[(val:string) => !!val || `${'กรุณากรอกหน่วยงานที่ขอโอนไป'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกหน่วยงานที่ขอโอนไป'}`]"
@ -159,6 +164,7 @@ const fileUploadDoc = async (file: any) => {
outlined outlined
v-model="noteReason" v-model="noteReason"
label="เหตุผล" label="เหตุผล"
hide-bottom-space
type="textarea" type="textarea"
:readonly="routeName != 'addTransfer'" :readonly="routeName != 'addTransfer'"
:rules="[(val:string) => !!val || `${'กรุณากรอกเหตุผล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกเหตุผล'}`]"
@ -193,26 +199,31 @@ const fileUploadDoc = async (file: any) => {
/> --> /> -->
</div> </div>
<div class="col-12 row" v-if="routeName != 'addTransfer'"> <div class="col-12 row" v-if="routeName != 'addTransfer'">
<div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
>
<div class="q-pl-sm text-weight-bold text-dark">
เอกสารเพมเต
</div>
</div>
<q-card bordered flat class="full-width"> <q-card bordered flat class="full-width">
<div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
>
<div class="q-pl-sm text-weight-bold text-dark">
เอกสารเพมเต
</div>
</div>
<q-separator />
<q-list separator> <q-list separator>
<q-item <q-item
v-for="file in files" v-for="file in files"
:key="file.key" :key="file.key"
class="q-my-xs"
> >
<q-item-section> <q-item-section>
<q-item-label class="full-width ellipsis"> {{ file.fileName }}
{{ file.fileName }} </q-item-section>
</q-item-label> <q-item-section avatar>
<q-btn
<q-item-label caption> </q-item-label> color="teal-5"
round
flat
icon="mdi-download"
@click="fileOpen(file.pathName)"
></q-btn>
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
@ -222,17 +233,20 @@ const fileUploadDoc = async (file: any) => {
</div> </div>
</div> </div>
<q-separator v-if="routeName == 'addTransfer'" /> <q-separator v-if="routeName == 'addTransfer'" />
<div class="row col-12 q-pa-md" v-if="routeName == 'addTransfer'"> <q-card-actions
align="right"
class="row col-12"
v-if="routeName == 'addTransfer'"
>
<q-space /> <q-space />
<q-btn <q-btn
unelevated unelevated
dense
class="q-px-md items-center" class="q-px-md items-center"
color="primary" color="primary"
label="ยื่นเรื่องขอโอน" label="ยื่นเรื่องขอโอน"
type="onsubmit" type="onsubmit"
/> />
</div> </q-card-actions>
</q-card> </q-card>
</q-form> </q-form>
</div> </div>

View file

@ -184,7 +184,7 @@ function downloadFile(data: string) {
<q-card bordered> <q-card bordered>
<div class="col-12 row q-col-gutter-sm q-pa-md"> <div class="col-12 row q-col-gutter-sm q-pa-md">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">
<div class="col-12 row q-pa-sm q-col-gutter-sm"> <div class="col-12 row q-col-gutter-sm">
<q-input <q-input
:class=" :class="
routeName !== 'AddRetire' routeName !== 'AddRetire'
@ -331,12 +331,12 @@ function downloadFile(data: string) {
<q-icon name="attach_file" /> </template <q-icon name="attach_file" /> </template
></q-file> ></q-file>
</div> </div>
<div class="col-12 row"> <div class="col-12 row" v-if="routeName != 'AddRetire'">
<q-card <q-card
bordered bordered
flat flat
class="row col-12 text-dark q-mt-sm" class="row col-12 text-dark q-mt-sm"
v-if="routeName != 'AddRetire'"
> >
<div <div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary" class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -375,11 +375,11 @@ function downloadFile(data: string) {
</q-card> </q-card>
</div> </div>
<div class="col-12 row"> <div class="col-12 row" v-if="routeName != 'AddRetire'">
<q-card <q-card
bordered bordered
class="row col-12 text-dark q-mt-sm" class="row col-12 text-dark q-mt-sm"
v-if="routeName != 'AddRetire'"
> >
<div <div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary" class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -443,11 +443,11 @@ function downloadFile(data: string) {
</q-card> </q-card>
</div> </div>
<div class="col-12 row"> <div class="col-12 row" v-if="routeName != 'AddRetire'">
<q-card <q-card
bordered bordered
class="row col-12 text-dark q-mt-sm" class="row col-12 text-dark q-mt-sm"
v-if="routeName != 'AddRetire'"
> >
<div <div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary" class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -510,11 +510,11 @@ function downloadFile(data: string) {
</div> </div>
</q-card> </q-card>
</div> </div>
<div class="col-12 row"> <div class="col-12 row" v-if="routeName != 'AddRetire'">
<q-card <q-card
bordered bordered
class="row col-12 text-dark q-mt-sm" class="row col-12 text-dark q-mt-sm"
v-if="routeName != 'AddRetire'"
> >
<div <div
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary" class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
@ -580,8 +580,9 @@ function downloadFile(data: string) {
</div> </div>
</div> </div>
<div class="row col-12 q-pa-md" v-if="routeName != 'AddRetire'"> </div>
<q-space /> <q-separator v-if="routeName !== 'AddRetire'" />
<q-card-actions align="right" v-if="routeName !== 'AddRetire'" class="q-px-md">
<q-btn <q-btn
v-if=" v-if="
dataDetail.status !== 'DELETE' && dataDetail.status !== 'DELETE' &&
@ -589,27 +590,25 @@ function downloadFile(data: string) {
dataDetail.status !== 'CANCEL' dataDetail.status !== 'CANCEL'
" "
unelevated unelevated
dense
class="q-px-md items-center" class="q-px-md items-center"
color="orange" color="orange"
label="ยกเลิกการลาออก" label="ยกเลิกการลาออก"
@click="cancelResing" @click="cancelResing"
:disable="tranferOrg == '' && noteReason == ''" :disable="tranferOrg == '' && noteReason == ''"
/> />
</div> </q-card-actions>
</div>
<q-separator v-if="routeName == 'AddRetire'" /> <q-separator v-if="routeName == 'AddRetire'" />
<div class="row col-12 q-pa-md" v-if="routeName == 'AddRetire'"> <q-card-actions align="right" v-if="routeName == 'AddRetire'" class="q-px-md">
<q-space /> <q-space />
<q-btn <q-btn
unelevated unelevated
dense
class="q-px-md items-center" class="q-px-md items-center"
color="primary" color="primary"
label="ยื่นเรื่องขอลาออก" label="ยื่นเรื่องขอลาออก"
type="submit" type="submit"
/> />
</div> </q-card-actions>
</q-card> </q-card>
</q-form> </q-form>
</div> </div>

View file

@ -513,6 +513,7 @@ watch(
label="เขียนที่" label="เขียนที่"
:rules="[(val) => !!val || 'กรุณากรอกเขียนที่']" :rules="[(val) => !!val || 'กรุณากรอกเขียนที่']"
lazy-rules lazy-rules
hide-bottom-space
outlined outlined
dense dense
/> />
@ -522,6 +523,7 @@ watch(
type="textarea" type="textarea"
label="กรอกเหตุผล" label="กรอกเหตุผล"
:rules="[(val) => !!val || 'กรูณากรอกเหตุผล']" :rules="[(val) => !!val || 'กรูณากรอกเหตุผล']"
hide-bottom-space
lazy-rules lazy-rules
outlined outlined
dense dense
@ -532,6 +534,7 @@ watch(
v-model="formDelete.doc" v-model="formDelete.doc"
label="เลือกไฟล์เอกสารหลักฐาน" label="เลือกไฟล์เอกสารหลักฐาน"
:rules="[(val) => !!val || 'กรูณา เลือกไฟล์เอกสารหลักฐาน']" :rules="[(val) => !!val || 'กรูณา เลือกไฟล์เอกสารหลักฐาน']"
hide-bottom-space
lazy-rules lazy-rules
use-chips use-chips
dense dense

View file

@ -567,14 +567,13 @@ onMounted(() => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <q-card-actions align="right" class="bg-white text-teal q-pa-none q-pt-sm">
<q-space />
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated
dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
@ -584,13 +583,14 @@ onMounted(() => {
id="onSubmit" id="onSubmit"
type="button" type="button"
unelevated unelevated
dense
class="q-px-md items-center q-ml-sm" class="q-px-md items-center q-ml-sm"
color="primary" color="primary"
label="ยื่นใบลา" label="ยื่นใบลา"
@click="onConfirm()" @click="onConfirm()"
><q-tooltip>นใบลา</q-tooltip></q-btn ><q-tooltip>นใบลา</q-tooltip></q-btn
> >
</div> </q-card-actions>
</form> </form>
</template> </template>

View file

@ -87,7 +87,7 @@ onMounted(async () => {
</script> </script>
<template> <template>
<div class="col-12 row justify-center"> <div class="row justify-center">
<div class="col-xs-12 col-sm-12 col-md-11"> <div class="col-xs-12 col-sm-12 col-md-11">
<div class="toptitle text-white col-12 row items-center"> <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
@ -103,9 +103,9 @@ onMounted(async () => {
<div>สรางใบลา</div> <div>สรางใบลา</div>
</div> </div>
<q-form ref="myform" class="col-12"> <q-form ref="myform" >
<q-card bordered> <q-card bordered>
<div class="col-12 row q-col-gutter-md q-pa-md"> <div class="row q-col-gutter-md q-pa-md">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<q-icon <q-icon

View file

@ -596,7 +596,7 @@ onMounted(async () => {
<div class="col-12"> <div class="col-12">
<q-card bordered class="col-12 row caedNone"> <q-card bordered class="col-12 row caedNone">
<div class="col-xs-12 col-sm-3 row"> <div class="col-xs-12 col-sm-3 row">
<div class="col-12 row "> <div class="col-12 row">
<div class="col-12 q-py-md q-px-lg"> <div class="col-12 q-py-md q-px-lg">
<div class="col-12 row items-center no-wrap"> <div class="col-12 row items-center no-wrap">
<div class="toptitle2"> <div class="toptitle2">
@ -729,7 +729,7 @@ onMounted(async () => {
</div> </div>
</div> </div>
</div> </div>
<div class="q-pt-sm q-gutter-sm" align="right"> <q-card-actions class="q-pt-sm q-pa-none q-gutter-sm" align="right">
<q-btn <q-btn
v-if=" v-if="
store.step >= store.currentStep && store.step >= store.currentStep &&
@ -784,7 +784,7 @@ onMounted(async () => {
color="public" color="public"
@click="onCilckNextStep()" @click="onCilckNextStep()"
/> />
</div> </q-card-actions>
</div> </div>
</q-card> </q-card>
</div> </div>

View file

@ -598,7 +598,7 @@ watch(
<div class="col-6" v-if="store.currentStep === 2"> <div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1"> <q-card bordered class="cardSp1">
<div <div
class="col-12 row items-center text-weight-medium bg-grey-1 q-pl-md q-pr-sm" class="text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm col-12 row items-center"
> >
<div>แบบพจารณาคณสมบคคล</div> <div>แบบพจารณาคณสมบคคล</div>
<q-space /> <q-space />

View file

@ -123,7 +123,7 @@ watch(
<q-card style="width: 700px; max-width: 80vw"> <q-card style="width: 700px; max-width: 80vw">
<HeaderDialog :tittle="'ประวัติการประเมิน'" :close="props.close" /> <HeaderDialog :tittle="'ประวัติการประเมิน'" :close="props.close" />
<q-separator /> <q-separator />
<q-card-section class="q-pt-none"> <q-card-section >
<div class="col-xs-12 col-sm-12 col-md-12 row q-col-gutter-md"> <div class="col-xs-12 col-sm-12 col-md-12 row q-col-gutter-md">
<div class="col-12"> <div class="col-12">
<q-table <q-table

View file

@ -423,10 +423,8 @@ function onSubmit(data: any) {
</q-card> </q-card>
</div> </div>
</div> </div>
<div v-if="!isReadOnly"> <q-separator v-if="!isReadOnly"/>
<q-separator /> <q-card-actions align="right" class="bg-white text-teal" v-if="!isReadOnly">
<div class="row col-12 q-pa-sm">
<q-space />
<q-btn <q-btn
id="onSubmit" id="onSubmit"
type="submit" type="submit"
@ -434,8 +432,8 @@ function onSubmit(data: any) {
color="secondary" color="secondary"
><q-tooltip>นท</q-tooltip></q-btn ><q-tooltip>นท</q-tooltip></q-btn
> >
</div>
</div> </q-card-actions>
</q-card> </q-card>
</form> </form>
</div> </div>

View file

@ -264,21 +264,18 @@ onMounted(async () => {
</div> </div>
<div class="col-12"> <div class="col-12">
<q-card bordered class="q-pa-md"> <q-card bordered class="q-pa-md">
<div class="row q-mb-sm"> <q-btn
<div> id="addComplaints"
<q-btn for="addComplaints"
id="addComplaints" size="12px"
for="addComplaints" flat
size="12px" round
flat color="primary"
round icon="mdi-plus"
color="primary" @click="redirectToPageadd()"
icon="mdi-plus" ><q-tooltip>เพมการอทธรณ/องทกข</q-tooltip></q-btn
@click="redirectToPageadd()" >
><q-tooltip>เพมการอทธรณ/องทกข</q-tooltip></q-btn
>
</div>
</div>
<div class="row col-12 q-col-gutter-sm q-mb-sm"> <div class="row col-12 q-col-gutter-sm q-mb-sm">
<div class="col-xs-12 col-md-2"> <div class="col-xs-12 col-md-2">
<datepicker <datepicker
@ -378,88 +375,91 @@ onMounted(async () => {
options-cover options-cover
class="col-xs-12 col-sm-3 col-md-2" class="col-xs-12 col-sm-3 col-md-2"
/> />
</div>
<d-table
flat
bordered
dense
class="custom-table2"
style="max-height: 80vh"
:rows="dataStore.rows"
:columns="dataStore.columns"
:visible-columns="dataStore.visibleColumns"
v-model:pagination="pagination"
:rows-per-page-options="[10, 25, 50, 100]"
>
<template v-slot:pagination="scope">
งหมด {{ total }} รายการ
<q-pagination
v-model="currentPage"
active-color="primary"
color="dark"
:max="Number(maxPage)"
size="sm"
boundary-links
direction-links
></q-pagination>
</template>
<template v-slot:header="props">
<q-tr :props="props">
<q-th
v-for="col in props.cols"
:key="col.name"
:props="props"
style="color: #000000; font-weight: 500"
>
<span class="text-weight-medium">{{ col.label }}</span>
</q-th>
</q-tr>
</template>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td
v-for="col in props.cols"
:key="col.name"
:props="props"
@click="editPage(props.row.id)"
>
<div v-if="col.name == 'no'">
{{
(currentPage - 1) * Number(pagination.rowsPerPage) +
props.rowIndex +
1
}}
</div>
<div>
{{ col.value }}
</div>
</q-td>
</q-tr>
</template>
<template #item="props"> <div class="col-12">
<div class="q-pa-xs col-xs-12 col-sm-6 col-md-4 col-lg-3"> <d-table
<q-card bordered flat> flat
<q-list @click="editPage(props.row.id)"> bordered
<q-item dense
v-for="col in props.cols.filter((col:any) => col.name !== 'desc')" class="custom-table2"
style="max-height: 80vh"
:rows="dataStore.rows"
:columns="dataStore.columns"
:visible-columns="dataStore.visibleColumns"
v-model:pagination="pagination"
:rows-per-page-options="[10, 25, 50, 100]"
>
<template v-slot:pagination="scope">
งหมด {{ total }} รายการ
<q-pagination
v-model="currentPage"
active-color="primary"
color="dark"
:max="Number(maxPage)"
size="sm"
boundary-links
direction-links
></q-pagination>
</template>
<template v-slot:header="props">
<q-tr :props="props">
<q-th
v-for="col in props.cols"
:key="col.name" :key="col.name"
:props="props"
style="color: #000000; font-weight: 500"
> >
<q-item-section> <span class="text-weight-medium">{{ col.label }}</span>
<q-item-label caption>{{ col.label }}</q-item-label> </q-th>
</q-tr>
</template>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td
v-for="col in props.cols"
:key="col.name"
:props="props"
@click="editPage(props.row.id)"
>
<div v-if="col.name == 'no'">
{{
(currentPage - 1) * Number(pagination.rowsPerPage) +
props.rowIndex +
1
}}
</div>
<div>
{{ col.value }}
</div>
</q-td>
</q-tr>
</template>
<q-item-label v-if="col.name === 'no'"> <template #item="props">
{{ props.rowIndex + 1 }} <div class="q-pa-xs col-xs-12 col-sm-6 col-md-4 col-lg-3">
</q-item-label> <q-card bordered flat>
<q-list @click="editPage(props.row.id)">
<q-item
v-for="col in props.cols.filter((col:any) => col.name !== 'desc')"
:key="col.name"
>
<q-item-section>
<q-item-label caption>{{ col.label }}</q-item-label>
<q-item-label v-else>{{ col.value }}</q-item-label> <q-item-label v-if="col.name === 'no'">
</q-item-section> {{ props.rowIndex + 1 }}
</q-item> </q-item-label>
</q-list>
</q-card> <q-item-label v-else>{{ col.value }}</q-item-label>
</div> </q-item-section>
</template> </q-item>
</d-table> </q-list>
</q-card>
</div>
</template>
</d-table>
</div>
</div>
</q-card> </q-card>
</div> </div>
</div> </div>

View file

@ -383,7 +383,7 @@ onMounted(() => {
<template> <template>
<div class="col-12 row justify-center"> <div class="col-12 row justify-center">
<div class="col-xs-12 col-sm-12 col-md-11"> <div class="col-xs-12 col-sm-12 col-md-11">
<q-toolbar style="padding: 0px"> <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
icon="mdi-arrow-left" icon="mdi-arrow-left"
unelevated unelevated
@ -394,11 +394,8 @@ onMounted(() => {
class="q-mr-sm" class="q-mr-sm"
@click="router.push(`/`)" @click="router.push(`/`)"
/> />
<q-toolbar-title class="toptitle text-white items-center"> รายการขอรบประเมนผลการปฏราชการระดบบคคล
รายการขอรบประเมนผลการปฏราชการระดบบคคล</q-toolbar-title </div>
>
</q-toolbar>
<!-- <div class="toptitle text-white col-12 row items-center"> <!-- <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
icon="mdi-arrow-left" icon="mdi-arrow-left"
@ -414,7 +411,7 @@ onMounted(() => {
</div> --> </div> -->
<div class="col-12"> <div class="col-12">
<q-card bordered class="q-pa-md"> <q-card bordered class="q-pa-md">
<div class="row col-12 q-col-gutter-sm q-mb-sm"> <div class="row q-col-gutter-sm q-mb-sm">
<div class="col-xs-12 col-md-3"> <div class="col-xs-12 col-md-3">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
@ -492,7 +489,6 @@ onMounted(() => {
:options="columns" :options="columns"
option-value="name" option-value="name"
options-cover options-cover
style="min-width: 150px"
/> />
</div> </div>
</div> </div>

View file

@ -198,7 +198,7 @@ onMounted(async () => {
<template> <template>
<div class="col-12 row justify-center"> <div class="col-12 row justify-center">
<div class="col-xs-12 col-sm-12 col-md-11"> <div class="col-xs-12 col-sm-12 col-md-11">
<q-toolbar style="padding: 0px;"> <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
icon="mdi-arrow-left" icon="mdi-arrow-left"
unelevated unelevated
@ -209,11 +209,8 @@ onMounted(async () => {
class="q-mr-sm" class="q-mr-sm"
@click="router.push(`/`)" @click="router.push(`/`)"
/> />
<q-toolbar-title class="toptitle text-white items-center"> รายการการประเมนผลการปฏราชการระดบบคคล
รายการการประเมนผลการปฏราชการระดบบคคล</q-toolbar-title </div>
>
</q-toolbar>
<!-- <div class="toptitle text-white col-12 row items-center"> <!-- <div class="toptitle text-white col-12 row items-center">
<q-btn <q-btn
icon="mdi-arrow-left" icon="mdi-arrow-left"

View file

@ -2760,6 +2760,7 @@ onMounted(async () => {
class="col-xs-12 col-sm-8" class="col-xs-12 col-sm-8"
:readonly="editStatus != true" :readonly="editStatus != true"
dense dense
hide-bottom-space
borderless borderless
:outlined="editStatus == true" :outlined="editStatus == true"
v-model="chairman" v-model="chairman"
@ -2787,6 +2788,7 @@ onMounted(async () => {
class="col-xs-12 col-sm-8" class="col-xs-12 col-sm-8"
:readonly="!editStatus" :readonly="!editStatus"
dense dense
hide-bottom-space
borderless borderless
:outlined="editStatus" :outlined="editStatus"
v-model="chairman" v-model="chairman"

View file

@ -569,6 +569,7 @@ onMounted(() => {
dense dense
:disable="!status" :disable="!status"
class="full-width datepicker" class="full-width datepicker"
hide-bottom-space
:model-value=" :model-value="
evaluate_date != null ? date2Thai(evaluate_date) : null evaluate_date != null ? date2Thai(evaluate_date) : null
" "

View file

@ -123,6 +123,7 @@ onMounted(() => {
dense dense
borderless borderless
outlined outlined
hide-bottom-space
v-model="answer1" v-model="answer1"
type="textarea" type="textarea"
:rules="[(val: string) => !!val || `${'กรุณากรอกความคิดเห็น'}`]" :rules="[(val: string) => !!val || `${'กรุณากรอกความคิดเห็น'}`]"
@ -142,6 +143,7 @@ onMounted(() => {
borderless borderless
outlined outlined
v-model="answer2" v-model="answer2"
hide-bottom-space
type="textarea" type="textarea"
:rules="[(val: string) => !!val || `${'กรุณากรอกความคิดเห็น'}`]" :rules="[(val: string) => !!val || `${'กรุณากรอกความคิดเห็น'}`]"
/> />

View file

@ -1711,6 +1711,7 @@ onMounted(async () => {
</template> </template>
<template #trigger> <template #trigger>
<q-input <q-input
hide-bottom-space
outlined outlined
dense dense
class="full-width datepicker col-3" class="full-width datepicker col-3"