Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2023-11-07 18:02:15 +07:00
commit a09dbbd849
14 changed files with 750 additions and 668 deletions

View file

@ -22,6 +22,7 @@ const visibleColumns2 = ref<string[]>([
"duty",
"email",
"telephone",
"role"
]);
const columns2 = ref<QTableProps["columns"]>([
{
@ -90,6 +91,17 @@ const columns2 = ref<QTableProps["columns"]>([
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "role",
align: "left",
label: "จำนวนเรื่องสืบสวน",
sortable: true,
field: "role",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
]);
const props = defineProps({
@ -138,35 +150,28 @@ watchEffect(() => {
<q-card style="width: 1200px; max-width: 80vw">
<DialogHeader title="เลือกรายชื่อกรรมการ" :close="clickClose" />
<q-separator />
<q-card-section class="q-pt-none">
<div>
<div>
<q-toolbar style="padding: 0">
<q-input
borderless
outlined
dense
class="col-12"
debounce="300"
:model-value="filterKeyword2"
@update:model-value="updateInput"
placeholder="ค้นหารายชื่อ"
style="max-width: 100%"
>
<template v-slot:append>
<q-icon v-if="filterKeyword2 == ''" name="search" />
<q-icon
v-if="filterKeyword2 !== ''"
name="clear"
class="cursor-pointer"
@click="Reset"
/>
</template>
</q-input>
</q-toolbar>
</div>
</div>
<q-card-section >
<q-input
borderless
outlined
dense
class="col-12 q-mb-sm"
debounce="300"
:model-value="filterKeyword2"
@update:model-value="updateInput"
placeholder="ค้นหารายชื่อ"
style="max-width: 100%"
>
<template v-slot:append>
<q-icon v-if="filterKeyword2 == ''" name="search" />
<q-icon
v-if="filterKeyword2 !== ''"
name="clear"
class="cursor-pointer"
@click="Reset"
/>
</template>
</q-input>
<d-table
:columns="columns2"
:rows="rows2"
@ -208,6 +213,8 @@ watchEffect(() => {
</d-table>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white text-teal">
<q-btn
label="เพิ่มรายชื่อกรรมการ"

View file

@ -30,6 +30,7 @@ onMounted(async () => {
duty: "ประธาน",
email: "e@email.com",
telephone: "0800808080",
role: "4",
},
{
nameDirector: "นาย สรวิชญ์ พลสิทธิ์",
@ -37,6 +38,7 @@ onMounted(async () => {
duty: "เลขานุการ",
email: "g@gmail.com",
telephone: "0614565145",
role: "6",
},
]);
await hideLoader();
@ -213,10 +215,8 @@ watch(props.data, async () => {
<form @submit.prevent="validateForm">
<div class="col-12">
<q-card bordered>
<div class="col-12 row q-col-gutter-md q-pa-md">
<div class="col-xs-12 col-sm-12 row">
<q-separator />
<div class="col-12 row q-pa-sm q-col-gutter-sm">
<div class="col-12 row q-pa-md">
<div class="col-12 row q-col-gutter-md">
<q-input
class="col-12"
dense
@ -225,6 +225,7 @@ watch(props.data, async () => {
for="#Complaint"
ref="complaintRef"
label="เรื่องร้องเรียน"
hide-bottom-space
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกเรื่องร้องเรียน'}`]"
/>
@ -251,6 +252,7 @@ watch(props.data, async () => {
outlined
dense
class="full-width datepicker"
hide-bottom-space
:model-value="
dateInvestigate != null
? date2Thai(dateInvestigate)
@ -293,6 +295,7 @@ watch(props.data, async () => {
outlined
dense
class="col-xs-12 col-sm-4"
hide-bottom-space
:model-value="
dateAllegation != null
? date2Thai(dateAllegation)
@ -338,6 +341,7 @@ watch(props.data, async () => {
outlined
dense
class="full-width datepicker"
hide-bottom-space
:model-value="
dateEvident != null ? date2Thai(dateEvident) : null
"
@ -358,65 +362,72 @@ watch(props.data, async () => {
</q-input>
</template>
</datepicker>
<div class="col-xs-12 col-sm-12 text-bold">
กรรมการ
<q-btn
size="12px"
flat
round
color="add"
@click="popup()"
icon="mdi-plus"
>
<q-tooltip>เพมกรรมการ</q-tooltip>
</q-btn>
<div class="row col-12">
<q-card bordered class="row col-12" style="border:1px solid #d6dee1;">
<div class="col-xs-12 col-sm-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
กรรมการ
<q-btn
size="12px"
flat
round
dense
color="add"
class="q-ml-sm"
@click="popup()"
icon="mdi-plus"
>
<q-tooltip>เพมกรรมการ</q-tooltip>
</q-btn>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-xs-12 q-pa-sm row">
<Table
class="col-12"
style="max-height: 80vh"
:rows="rows"
:columns="investigateDis.columnsDirector"
:filter="filter"
:visible-columns="investigateDis.visibleColumnsDirector"
v-model:inputfilter="filter"
v-model:inputvisible="investigateDis.visibleColumnsDirector"
:pagination="initialPagination"
:nornmalData="true"
:paging="true"
:titleText="''"
>
<template #columns="props">
<q-tr :props="props" class="cursor-pointer">
<q-td
v-for="col in props.cols"
:key="col.name"
:props="props"
>
<div v-if="col.name == 'no'" class="table_ellipsis2">
{{ props.rowIndex + 1 }}
</div>
<div v-else class="table_ellipsis2">
{{ col.value }}
</div>
</q-td>
<q-td>
<q-btn
dense
size="12px"
flat
round
color="red"
@click="deleteData(props.row.id)"
icon="mdi-delete"
>
<q-tooltip>ลบขอม</q-tooltip>
</q-btn>
</q-td>
</q-tr>
</template>
</Table>
</div>
</q-card>
</div>
<div class="col-xs-12 col-sm-12 q-pb-md">
<Table
style="max-height: 80vh"
:rows="rows"
:columns="investigateDis.columnsDirector"
:filter="filter"
:visible-columns="investigateDis.visibleColumnsDirector"
v-model:inputfilter="filter"
v-model:inputvisible="investigateDis.visibleColumnsDirector"
:pagination="initialPagination"
:nornmalData="true"
:paging="true"
:titleText="''"
>
<template #columns="props">
<q-tr :props="props" class="cursor-pointer">
<q-td
v-for="col in props.cols"
:key="col.name"
:props="props"
>
<div v-if="col.name == 'no'" class="table_ellipsis2">
{{ props.rowIndex + 1 }}
</div>
<div v-else class="table_ellipsis2">
{{ col.value }}
</div>
</q-td>
<q-td>
<q-btn
dense
size="12px"
flat
round
color="red"
@click="deleteData(props.row.id)"
icon="mdi-delete"
>
<q-tooltip>ลบขอม</q-tooltip>
</q-btn>
</q-td>
</q-tr>
</template>
</Table>
</div>
<q-input
class="col-xs-12 col-sm-6"
dense
@ -425,12 +436,14 @@ watch(props.data, async () => {
v-model="formData.casefault"
for="#casefault"
label="กรณีมีความผิด"
hide-bottom-space
:rules="[(val) => !!val || `${'กรุณากรอกกรณีมีความผิด'}`]"
lazy-rules
/>
<q-input
class="col-xs-12 col-sm-6"
dense
hide-bottom-space
outlined
for="#whereInvestigate"
ref="whereInvestigateRef"
@ -450,6 +463,7 @@ watch(props.data, async () => {
option-value="id"
emit-value
map-options
hide-bottom-space
:options="investigateDis.optionsTypefault"
label="ลักษณะความผิด"
/>
@ -464,13 +478,15 @@ watch(props.data, async () => {
option-value="id"
emit-value
map-options
hide-bottom-space
:options="investigateDis.optionsfaultLevel"
label="ระดับโทษความผิด"
/>
<q-input
class="col-xs-12 col-sm-6 q-pb-md"
class="col-xs-12 col-sm-6"
dense
for="#refLaw"
hide-bottom-space
outlined
ref="refLawRef"
v-model="formData.refLaw"
@ -484,6 +500,7 @@ watch(props.data, async () => {
class="col-12"
dense
outlined
hide-bottom-space
for="#detailComplaint"
ref="detailComplaintRef"
v-model="formData.detailComplaint"
@ -495,6 +512,7 @@ watch(props.data, async () => {
class="col-12"
dense
outlined
hide-bottom-space
for="#trueDetail"
ref="trueDetailRef"
v-model="formData.trueDetail"
@ -502,90 +520,123 @@ watch(props.data, async () => {
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกรายละเอียดสืบสวนข้อเท็จจริง'}`]"
/>
<q-input
class="col-12"
dense
outlined
for="#evidence"
ref="evidenceRef"
v-model="formData.evidence"
label="สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา'}`]"
/>
<q-file
class="col-12 q-pb-md"
outlined
dense
ref="filesEvidenceRef"
for="#filesEvidence"
v-model="formData.filesEvidence"
@added="fileUploadDoc"
label="ไฟล์เอกสารหลักฐานสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
<q-input
class="col-12"
dense
outlined
ref="recordAccuserRef"
for="#recordAccuser"
v-model="formData.recordAccuser"
label="บันทึกถ้อยคำของผู้กล่าวหา"
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกบันทึกถ้อยคำของผู้กล่าวหา'}`]"
/>
<q-file
class="col-12 q-pb-md"
outlined
dense
ref="filesRecordAccuserRef"
for="#filesRecordAccuser"
v-model="formData.filesRecordAccuser"
@added="fileUploadDoc"
label="ไฟล์เอกสารบันทึกถ้อยคำของผู้กล่าวหา"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
<q-input
class="col-12"
dense
outlined
for="#witnesses"
ref="witnessesRef"
v-model="formData.witnesses"
label="พยานและการบันทึกถ้อยคำ"
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกพยานและการบันทึกถ้อยคำ'}`]"
/>
<q-file
class="col-12 q-pb-md"
outlined
dense
ref="filesWitnessesRef"
for="#filesWitnesses"
v-model="formData.filesWitnesses"
@added="fileUploadDoc"
label="ไฟล์เอกสารพยานและการบันทึกถ้อยคำ"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
<div class="row col-12">
<q-card bordered class="row col-12" style="border:1px solid #d6dee1;">
<div class="col-xs-12 col-sm-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
หลกฐานสนบสนนขอกลาวหา
</div>
<div class="col-12"><q-separator /></div>
<div class="col-xs-12 q-pa-sm row">
<q-input
class="col-12"
dense
outlined
for="#evidence"
ref="evidenceRef"
hide-bottom-space
v-model="formData.evidence"
label="สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา'}`]"
/>
<q-file
class="col-12 q-mt-sm"
outlined
dense
ref="filesEvidenceRef"
for="#filesEvidence"
v-model="formData.filesEvidence"
@added="fileUploadDoc"
label="ไฟล์เอกสารหลักฐานสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
</div>
</q-card>
</div>
<div class="row col-12">
<q-card bordered class="row col-12" style="border:1px solid #d6dee1;">
<div class="col-xs-12 col-sm-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
นทกถอยคำของผกลาวหา
</div>
<div class="col-12"><q-separator /></div>
<div class="col-xs-12 q-pa-sm row">
<q-input
class="col-12"
dense
outlined
ref="recordAccuserRef"
for="#recordAccuser"
v-model="formData.recordAccuser"
label="บันทึกถ้อยคำของผู้กล่าวหา"
hide-bottom-space
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกบันทึกถ้อยคำของผู้กล่าวหา'}`]"
/>
<q-file
class="col-12 q-mt-sm"
outlined
dense
ref="filesRecordAccuserRef"
for="#filesRecordAccuser"
v-model="formData.filesRecordAccuser"
@added="fileUploadDoc"
label="ไฟล์เอกสารบันทึกถ้อยคำของผู้กล่าวหา"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
</div>
</q-card>
</div>
<div class="row col-12">
<q-card bordered class="row col-12" style="border:1px solid #d6dee1;">
<div class="col-xs-12 col-sm-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
พยานและการบนทกถอยคำ
</div>
<div class="col-12"><q-separator /></div>
<div class="col-xs-12 q-pa-sm row">
<q-input
class="col-12"
dense
outlined
for="#witnesses"
ref="witnessesRef"
v-model="formData.witnesses"
label="พยานและการบันทึกถ้อยคำ"
hide-bottom-space
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกพยานและการบันทึกถ้อยคำ'}`]"
/>
<q-file
class="col-12 q-mt-sm"
outlined
dense
ref="filesWitnessesRef"
for="#filesWitnesses"
v-model="formData.filesWitnesses"
@added="fileUploadDoc"
label="ไฟล์เอกสารพยานและการบันทึกถ้อยคำ"
hide-bottom-space
lazy-rules
accept=".pdf,.xlsx,.doc"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
</div>
</q-card>
</div>
<q-input
class="col-12"
dense
@ -594,6 +645,7 @@ watch(props.data, async () => {
ref="InvestResultsRef"
v-model="formData.InvestResults"
label="ผลการสอบสวน"
hide-bottom-space
type="textarea"
:rules="[(val:string) => !!val || `${'กรุณากรอกผลการสอบสวน'}`]"
/>
@ -615,7 +667,6 @@ watch(props.data, async () => {
</template>
</q-file>
</div>
</div>
</div>
<q-separator />
<div class="row col-12 q-pa-sm">