ui เครื่องราชฯ เมนูบันทึกผลการเสนอขอ
This commit is contained in:
parent
bfaf2bfccc
commit
b7ec4ea336
2 changed files with 585 additions and 137 deletions
|
|
@ -1,4 +1,78 @@
|
||||||
|
div
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { ref } from "vue";
|
||||||
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
|
||||||
|
const Advertise = ref<string>("");
|
||||||
|
const brand = ref<string>("");
|
||||||
|
const cardid = ref<string>("");
|
||||||
|
const prefixId = ref<string>("");
|
||||||
|
const fullName = ref<string>("");
|
||||||
|
const volume = ref<string>("");
|
||||||
|
const episode = ref<string>("");
|
||||||
|
const duty = ref<string>("");
|
||||||
|
const announced = ref<string>("");
|
||||||
|
const firstname = ref<string>("");
|
||||||
|
const lastname = ref<string>("");
|
||||||
|
const position = ref<string>("");
|
||||||
|
const invoice = ref<string>("");
|
||||||
|
const payment = ref<string>("");
|
||||||
|
const addressPayment = ref<string>("");
|
||||||
|
const affiliationRequest = ref<string>("");
|
||||||
|
const affiliationReceived = ref<string>("");
|
||||||
|
const receivedate = ref<Date>();
|
||||||
|
const announceDate = ref<Date>();
|
||||||
|
const invoiceDate = ref<Date>();
|
||||||
|
const mixin = useCounterMixin();
|
||||||
|
|
||||||
|
const { date2Thai } = mixin;
|
||||||
|
const paymentOp = [
|
||||||
|
{ label: "จัดส่งทางไปรษณี", value: "xx1" },
|
||||||
|
{ label: "มารับด้วยตัวเอง", value: "xx2" },
|
||||||
|
];
|
||||||
|
const volumeOp = [
|
||||||
|
{ label: "เล่มที่", value: "xx1" },
|
||||||
|
{ label: "เล่มที่2", value: "xx2" },
|
||||||
|
{ label: "เล่มที่3", value: "xx3" },
|
||||||
|
];
|
||||||
|
const episodeOp = [
|
||||||
|
{ label: "ตอนที่1", value: "xx1" },
|
||||||
|
{ label: "ตอนที่2", value: "xx2" },
|
||||||
|
{ label: "ตอนที่3", value: "xx3" },
|
||||||
|
];
|
||||||
|
const dutyOp = [
|
||||||
|
{ label: "หน้าที่1", value: "xx1" },
|
||||||
|
{ label: "หน้าที่2", value: "xx2" },
|
||||||
|
{ label: "หน้าที่3", value: "xx3" },
|
||||||
|
];
|
||||||
|
const announcedOp = [
|
||||||
|
{ label: "ลำดับที่1", value: "xx1" },
|
||||||
|
{ label: "ลำดับที่2", value: "xx2" },
|
||||||
|
{ label: "ลำดับที่3", value: "xx3" },
|
||||||
|
];
|
||||||
|
const affiliationRequestOp = [
|
||||||
|
{ label: "สังกัด1", value: "xx1" },
|
||||||
|
{ label: "สังกัด2", value: "xx2" },
|
||||||
|
{ label: "สังกัด3", value: "xx3" },
|
||||||
|
];
|
||||||
|
const affiliationReceivedOp = [
|
||||||
|
{ label: "สังกัด4", value: "xx4" },
|
||||||
|
{ label: "สังกัด5", value: "xx5" },
|
||||||
|
{ label: "สังกัด6", value: "xx6" },
|
||||||
|
];
|
||||||
|
const prefixOp = [
|
||||||
|
{ label: "นาย", value: "mr" },
|
||||||
|
{ label: "นางสาว", value: "miss" },
|
||||||
|
{ label: "นาง", value: "mrs" },
|
||||||
|
];
|
||||||
|
const positionOp = [
|
||||||
|
{ label: "ตำแหน่ง1", value: "xxx1" },
|
||||||
|
{ label: "ตำแหน่ง2", value: "xxx2" },
|
||||||
|
{ label: "ตำแหน่ง3", value: "xxx3" },
|
||||||
|
];
|
||||||
|
const clearDateExam = () => {
|
||||||
|
receivedate.value = undefined;
|
||||||
|
};
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modal: Boolean,
|
modal: Boolean,
|
||||||
save: {
|
save: {
|
||||||
|
|
@ -17,10 +91,9 @@ const close = async () => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-dialog v-model="props.modal" persistent>
|
<q-dialog v-model="props.modal" persistent>
|
||||||
<q-card style="width: 800px;" class="q-pb-md">
|
<q-card style="min-width: 900px" class="q-pb-md">
|
||||||
<q-toolbar class="q-py-md">
|
<q-toolbar class="q-py-md">
|
||||||
<q-toolbar-title class="text-h6">บันทึกผล
|
<q-toolbar-title class="text-h6">บันทึกผล </q-toolbar-title>
|
||||||
</q-toolbar-title>
|
|
||||||
<q-btn
|
<q-btn
|
||||||
icon="close"
|
icon="close"
|
||||||
unelevated
|
unelevated
|
||||||
|
|
@ -33,12 +106,363 @@ const close = async () => {
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
<div class="q-pa-md">
|
<div class="q-pa-md">
|
||||||
<div class="row q-col-gutter-sm">
|
<div
|
||||||
<div class="col-12">
|
class="row col-12 items-center q-col-gutter-x-xs q-col-gutter-y-xs"
|
||||||
|
>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-input
|
||||||
|
:rules="[(val) => !!val || 'กรุณากรอกชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
v-model="Advertise"
|
||||||
|
label="หมายเลขประกาศนีย์บัตรกำกับเครื่องราชอิสริยาภรณ์"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-input
|
||||||
|
:rules="[(val) => !!val || 'กรุณากรอกชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
v-model="brand"
|
||||||
|
label="ชั้นตราเครื่องราชอิสริยาภรณ์"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-input
|
||||||
|
hide-bottom-space
|
||||||
|
outlined
|
||||||
|
v-model="cardid"
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
:rules="[
|
||||||
|
(val:string) => !!val || `${'กรุณากรอก เลขบัตรประจำตัวประชาชน'}`,
|
||||||
|
(val:string) =>
|
||||||
|
val.length >= 13 ||
|
||||||
|
`${'กรุณากรอกเลขบัตรประจำตัวประชาชนให้ครบ'}`,
|
||||||
|
]"
|
||||||
|
label="เลขบัตรประจำตัวประชาชน"
|
||||||
|
maxlength="13"
|
||||||
|
mask="#############"
|
||||||
|
/>
|
||||||
|
<!-- :rules="[(val:any) =>val.length != 13 ||`${'กรุณากรอกเลขบัตรประจำตัวประชาชนให้ครบ'}`,]" -->
|
||||||
|
</div>
|
||||||
|
<div class="col-6"></div>
|
||||||
|
<div class="col-12 q-my-xs"><q-separator size="2px" /></div>
|
||||||
|
<div class="col-12 text-weight-bold text-grey">ชื่อ-สกุล</div>
|
||||||
|
<div class="col-xs-12 col-sm-3">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="prefixOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="prefixId"
|
||||||
|
:label="`คำนำหน้าชื่อ`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-sm-3 col-md-9">
|
||||||
|
<q-input
|
||||||
|
hide-bottom-space
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
borderless
|
||||||
|
v-model="fullName"
|
||||||
|
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
||||||
|
:label="`${'ชื่อ-นามสกุล'}`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="col-xs-6 col-sm-3 col-md-5">
|
||||||
|
<q-input
|
||||||
|
hide-bottom-space
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
lazy-rules
|
||||||
|
borderless
|
||||||
|
v-model="lastname"
|
||||||
|
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
||||||
|
:label="`${'นามสกุล'}`"
|
||||||
|
/>
|
||||||
|
</div> -->
|
||||||
|
<div class="col-12 q-my-xs"><q-separator size="2px" /></div>
|
||||||
|
<div class="col-12 text-weight-bold text-grey">
|
||||||
|
รายละเอียดตำเเหน่ง
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="positionOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="position"
|
||||||
|
:label="`ตำเเหน่ง`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<datepicker
|
||||||
|
menu-class-name="modalfix"
|
||||||
|
v-model="receivedate"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
borderless
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
|
<template #year="{ year }">
|
||||||
|
{{ year + 543 }}
|
||||||
|
</template>
|
||||||
|
<template #year-overlay-value="{ value }">
|
||||||
|
{{ parseInt(value + 543) }}
|
||||||
|
</template>
|
||||||
|
<template #trigger>
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกวันที่']"
|
||||||
|
hide-bottom-space
|
||||||
|
:model-value="
|
||||||
|
receivedate != null ? date2Thai(receivedate) : undefined
|
||||||
|
"
|
||||||
|
:label="`${'วันที่ได้รับพระราชทานเครื่องราชอิสริยาภรณ์'}`"
|
||||||
|
clearable
|
||||||
|
@clear="clearDateExam"
|
||||||
|
>
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<q-icon name="event" class="cursor-pointer" color="primary">
|
||||||
|
</q-icon>
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</template>
|
||||||
|
</datepicker>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกสังกัด']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="affiliationRequestOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="affiliationRequest"
|
||||||
|
:label="`สังกัด ณ วันที่ขอพระราชทานเครื่องราชอิสริยาภรณ์`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกสังกัด']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="affiliationReceivedOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="affiliationReceived"
|
||||||
|
:label="`สังกัด ณ วันที่ได้รับประกาศนียบัตรกำกับเครื่องราชอิสริยาภรณ์`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 q-my-xs"><q-separator size="2px" /></div>
|
||||||
|
<div class="col-12 text-weight-bold text-grey">
|
||||||
|
ประกาศราชกิจจานุเบกษา
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<datepicker
|
||||||
|
menu-class-name="modalfix"
|
||||||
|
v-model="announceDate"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
borderless
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
|
<template #year="{ year }">
|
||||||
|
{{ year + 543 }}
|
||||||
|
</template>
|
||||||
|
<template #year-overlay-value="{ value }">
|
||||||
|
{{ parseInt(value + 543) }}
|
||||||
|
</template>
|
||||||
|
<template #trigger>
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกวันที่']"
|
||||||
|
hide-bottom-space
|
||||||
|
:model-value="
|
||||||
|
announceDate != null ? date2Thai(announceDate) : undefined
|
||||||
|
"
|
||||||
|
:label="`${'วันที่'}`"
|
||||||
|
clearable
|
||||||
|
@clear="clearDateExam"
|
||||||
|
>
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<q-icon name="event" class="cursor-pointer" color="primary">
|
||||||
|
</q-icon>
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</template>
|
||||||
|
</datepicker>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="volumeOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="volume"
|
||||||
|
:label="`เล่มที่`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="episodeOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="episode"
|
||||||
|
:label="`ตอนที่`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="dutyOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="duty"
|
||||||
|
:label="`หน้าที่`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="announcedOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
v-model="announced"
|
||||||
|
:label="`ลำดับที่`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 q-my-xs"><q-separator size="2px" /></div>
|
||||||
|
<div class="col-12 text-weight-bold text-grey">ผลการจ่ายใบกำกับ</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<q-input
|
||||||
|
:rules="[(val) => !!val || 'หมายเลขใบกํากับ']"
|
||||||
|
hide-bottom-space
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
v-model="invoice"
|
||||||
|
label="หมายเลขใบกํากับ"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<datepicker
|
||||||
|
menu-class-name="modalfix"
|
||||||
|
v-model="invoiceDate"
|
||||||
|
:locale="'th'"
|
||||||
|
autoApply
|
||||||
|
borderless
|
||||||
|
:enableTimePicker="false"
|
||||||
|
week-start="0"
|
||||||
|
>
|
||||||
|
<template #year="{ year }">
|
||||||
|
{{ year + 543 }}
|
||||||
|
</template>
|
||||||
|
<template #year-overlay-value="{ value }">
|
||||||
|
{{ parseInt(value + 543) }}
|
||||||
|
</template>
|
||||||
|
<template #trigger>
|
||||||
|
<q-input
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกวันที่']"
|
||||||
|
hide-bottom-space
|
||||||
|
:model-value="
|
||||||
|
invoiceDate != null ? date2Thai(invoiceDate) : undefined
|
||||||
|
"
|
||||||
|
:label="`${'วันที่จ่ายใบกำกับ'}`"
|
||||||
|
clearable
|
||||||
|
@clear="clearDateExam"
|
||||||
|
>
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<q-icon name="event" class="cursor-pointer" color="primary">
|
||||||
|
</q-icon>
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</template>
|
||||||
|
</datepicker>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4">
|
||||||
|
<q-select
|
||||||
|
:rules="[(val) => !!val || 'กรุณาเลือกคำนำหน้าชื่อ']"
|
||||||
|
hide-bottom-space
|
||||||
|
:options="paymentOp"
|
||||||
|
class="col-xs-12 col-sm-6"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
option-label="label"
|
||||||
|
option-value="value"
|
||||||
|
outlined
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
v-model="payment"
|
||||||
|
:label="`เลือกรูปแบบการจ่าย`"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div v-if="payment === 'xx1'" class="col-12">
|
||||||
|
<q-input
|
||||||
|
label="ที่อยู่ที่จ่าย"
|
||||||
|
class="bg-white"
|
||||||
|
dense
|
||||||
|
borderless
|
||||||
|
outlined
|
||||||
|
v-model="addressPayment"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="q-pa-md">
|
<div class="q-pa-md">
|
||||||
<div class="row justify-end">
|
<div class="row justify-end">
|
||||||
|
|
@ -47,4 +471,4 @@ const close = async () => {
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,18 @@ const selectRound = ref<string>("1");
|
||||||
const selectRoundOption = ref<OptionData[]>([
|
const selectRoundOption = ref<OptionData[]>([
|
||||||
{ id: "1", name: "รอบการเสนอขอพระราชทานเครื่องราชฯ ปี 2566" },
|
{ id: "1", name: "รอบการเสนอขอพระราชทานเครื่องราชฯ ปี 2566" },
|
||||||
]);
|
]);
|
||||||
|
const filterKeyword = ref<string>("");
|
||||||
|
const filterDoc = ref<any>(null);
|
||||||
|
const resetFilterRef = () => {
|
||||||
|
filterKeyword.value = "";
|
||||||
|
filterDoc.value.focus();
|
||||||
|
};
|
||||||
|
const pagination = ref({
|
||||||
|
sortBy: "filename",
|
||||||
|
descending: true,
|
||||||
|
page: 1,
|
||||||
|
rowsPerPage: 10,
|
||||||
|
});
|
||||||
const visibleColumns = ref<String[]>([
|
const visibleColumns = ref<String[]>([
|
||||||
"no",
|
"no",
|
||||||
"status",
|
"status",
|
||||||
|
|
@ -39,6 +50,12 @@ const visibleColumns = ref<String[]>([
|
||||||
"address",
|
"address",
|
||||||
"action"
|
"action"
|
||||||
]);
|
]);
|
||||||
|
const visibleColumnsReference = ref<String[]>([
|
||||||
|
"no",
|
||||||
|
"fileName",
|
||||||
|
"annotation",
|
||||||
|
"file",
|
||||||
|
]);
|
||||||
const filterRef = ref<QInput>();
|
const filterRef = ref<QInput>();
|
||||||
const filter = ref<string>("");
|
const filter = ref<string>("");
|
||||||
const columns = ref<QTableProps["columns"]>([
|
const columns = ref<QTableProps["columns"]>([
|
||||||
|
|
@ -139,6 +156,53 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
field: "",
|
field: "",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
const colums2 = ref<QTableProps["columns"]>([
|
||||||
|
{
|
||||||
|
name: "no",
|
||||||
|
align: "left",
|
||||||
|
label: "ลำดับ",
|
||||||
|
field: "no",
|
||||||
|
sortable: true,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "fileName",
|
||||||
|
align: "left",
|
||||||
|
label: "ชื่อเอกสาร",
|
||||||
|
field: "fileName",
|
||||||
|
sortable: true,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "annotation",
|
||||||
|
align: "left",
|
||||||
|
label: "หมายเหตุ",
|
||||||
|
field: "annotation",
|
||||||
|
sortable: true,
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "file",
|
||||||
|
align: "left",
|
||||||
|
label: "ไฟล์เอกสาร",
|
||||||
|
field: "file",
|
||||||
|
sortable: true,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const rows2 = ref<any>([
|
||||||
|
{
|
||||||
|
no:"1",
|
||||||
|
fileName:"test1",
|
||||||
|
annotation:"ทดสอบ",
|
||||||
|
file:""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
no:"2",
|
||||||
|
fileName:"test2",
|
||||||
|
annotation:"ทดสอบ",
|
||||||
|
file:""
|
||||||
|
}
|
||||||
|
])
|
||||||
const rows = ref<any>([
|
const rows = ref<any>([
|
||||||
{
|
{
|
||||||
no: "1",
|
no: "1",
|
||||||
|
|
@ -459,50 +523,7 @@ const filterSelector = (val: any, update: Function, filtername: string) => {
|
||||||
<Transition>
|
<Transition>
|
||||||
<div class="bg-base rounded-borders q-pa-md q-mb-md">
|
<div class="bg-base rounded-borders q-pa-md q-mb-md">
|
||||||
<div class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md">
|
<div class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md">
|
||||||
<!-- <div class="col-xs-6 col-md-2">
|
|
||||||
<q-input
|
|
||||||
class="bg-white"
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
v-model="issue"
|
|
||||||
:label="`${'ฉบับ'}`"
|
|
||||||
hide-bottom-space
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-6 col-md-2">
|
|
||||||
<q-input
|
|
||||||
class="bg-white"
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
v-model="book"
|
|
||||||
:label="`${'เล่มที่'}`"
|
|
||||||
hide-bottom-space
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-6 col-md-2">
|
|
||||||
<q-input
|
|
||||||
class="bg-white"
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
v-model="volume"
|
|
||||||
:label="`${'เล่ม'}`"
|
|
||||||
hide-bottom-space
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-6 col-md-2">
|
|
||||||
<q-input
|
|
||||||
class="bg-white"
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
v-model="section"
|
|
||||||
:label="`${'ตอนที่'}`"
|
|
||||||
hide-bottom-space
|
|
||||||
/>
|
|
||||||
</div> -->
|
|
||||||
<div class="col-xs-6 col-md-4">
|
<div class="col-xs-6 col-md-4">
|
||||||
<q-file
|
<q-file
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
|
|
@ -540,92 +561,95 @@ const filterSelector = (val: any, update: Function, filtername: string) => {
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="col-xs-6 col-md-2">
|
<div class="row col-12">
|
||||||
<datepicker
|
<q-space />
|
||||||
menu-class-name="modalfix"
|
<q-input
|
||||||
v-model="dateGoverment"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
:locale="'th'"
|
standout
|
||||||
autoApply
|
dense
|
||||||
borderless
|
v-model="filterKeyword"
|
||||||
:enableTimePicker="false"
|
ref="filterDoc"
|
||||||
week-start="0"
|
outlined
|
||||||
>
|
debounce="300"
|
||||||
<template #year="{ year }">
|
placeholder="ค้นหา"
|
||||||
{{ year + 543 }}
|
>
|
||||||
</template>
|
<template v-slot:append>
|
||||||
<template #year-overlay-value="{ value }">
|
<q-icon v-if="filterKeyword == ''" name="search" />
|
||||||
{{ parseInt(value + 543) }}
|
<q-icon
|
||||||
</template>
|
v-if="filterKeyword !== ''"
|
||||||
<template #trigger>
|
name="clear"
|
||||||
<q-input
|
class="cursor-pointer"
|
||||||
outlined
|
@click="resetFilterRef"
|
||||||
dense
|
/>
|
||||||
class="full-width datepicker bg-white"
|
</template>
|
||||||
:model-value="
|
</q-input>
|
||||||
dateGoverment != null ? date2Thai(dateGoverment) : null
|
|
||||||
"
|
<q-select
|
||||||
:label="`${'วันที่ประกาศราชกิจจานุเบกษา'}`"
|
v-model="visibleColumnsReference"
|
||||||
>
|
multiple
|
||||||
<template v-slot:prepend>
|
outlined
|
||||||
<q-icon
|
dense
|
||||||
name="event"
|
options-dense
|
||||||
class="cursor-pointer"
|
:display-value="$q.lang.table.columns"
|
||||||
style="color: var(--q-primary)"
|
emit-value
|
||||||
>
|
map-options
|
||||||
</q-icon>
|
:options="colums2"
|
||||||
</template>
|
option-value="name"
|
||||||
</q-input>
|
options-cover
|
||||||
</template>
|
style="min-width: 150px"
|
||||||
</datepicker>
|
class="col-xs-12 col-sm-3 col-md-2 q-ml-sm"
|
||||||
</div>
|
/>
|
||||||
<div class="col-xs-6 col-md-2">
|
</div>
|
||||||
<datepicker
|
<div class="col-12 q-pt-sm">
|
||||||
menu-class-name="modalfix"
|
|
||||||
v-model="dateReceiver"
|
<d-table
|
||||||
:locale="'th'"
|
:columns="colums2"
|
||||||
autoApply
|
:rows="rows2"
|
||||||
borderless
|
:filter="filterKeyword"
|
||||||
:enableTimePicker="false"
|
row-key="fileName"
|
||||||
week-start="0"
|
:visible-columns="visibleColumnsReference"
|
||||||
>
|
v-model:pagination="pagination"
|
||||||
<template #year="{ year }">
|
>
|
||||||
{{ year + 543 }}
|
<template v-slot:header="props">
|
||||||
</template>
|
<q-tr :props="props">
|
||||||
<template #year-overlay-value="{ value }">
|
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
{{ parseInt(value + 543) }}
|
<span class="text-weight-medium">{{ col.label }}</span>
|
||||||
</template>
|
</q-th>
|
||||||
<template #trigger>
|
</q-tr>
|
||||||
<q-input
|
</template>
|
||||||
outlined
|
|
||||||
dense
|
<template v-slot:body="props">
|
||||||
class="full-width datepicker bg-white"
|
<q-tr :props="props" class="cursor-pointer">
|
||||||
:model-value="
|
<q-td key="no" :props="props" >
|
||||||
dateReceiver != null ? date2Thai(dateReceiver) : null
|
{{ props.rowIndex + 1 }}
|
||||||
"
|
</q-td>
|
||||||
:label="`${'วันที่ได้รับ'}`"
|
<q-td key="fileName" :props="props">
|
||||||
>
|
{{ props.row.fileName }}
|
||||||
<template v-slot:prepend>
|
</q-td>
|
||||||
<q-icon
|
<q-td key="annotation" :props="props">
|
||||||
name="event"
|
{{ props.row.annotation }}
|
||||||
class="cursor-pointer"
|
</q-td>
|
||||||
style="color: var(--q-primary)"
|
<q-td auto-width>
|
||||||
>
|
<q-btn
|
||||||
</q-icon>
|
dense
|
||||||
</template>
|
size="14px"
|
||||||
</q-input>
|
flat
|
||||||
</template>
|
round
|
||||||
</datepicker>
|
color="deep-orange-6"
|
||||||
</div> -->
|
@click="editData(props.row.no)"
|
||||||
|
icon="picture_as_pdf"
|
||||||
|
>
|
||||||
|
<q-tooltip>ดาว์โหลด PDF</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
</q-td>
|
||||||
|
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
</d-table>
|
||||||
|
</div>
|
||||||
<div class="col-xs-12 col-md-9">
|
<div class="col-xs-12 col-md-9">
|
||||||
<!-- <p>
|
|
||||||
วันที่ประกาศราชกิจจานุเบกษา <b>{{ date2Thai(new Date()) }}</b>
|
|
||||||
</p> -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="col-xs-6 col-md-3">
|
|
||||||
<p>
|
|
||||||
วันที่ได้รับ <b>{{ date2Thai(new Date()) }}</b>
|
|
||||||
</p>
|
|
||||||
</div> -->
|
|
||||||
<div class="col-xs-12 col-md-3 flexsave">
|
<div class="col-xs-12 col-md-3 flexsave">
|
||||||
<q-btn label="บันทึก" @click="save" color="public" />
|
<q-btn label="บันทึก" @click="save" color="public" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -650,7 +674,7 @@ const filterSelector = (val: any, update: Function, filtername: string) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-base {
|
.bg-base {
|
||||||
background-color: #efefef;
|
background-color: #f3f3f398;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-enter-active,
|
.v-enter-active,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue