ปรับ Layout สืบสวนข้อเท็จจริง,สอบสวนความผิดทางวินัย
This commit is contained in:
parent
7716b459ac
commit
960f996ebc
7 changed files with 577 additions and 505 deletions
|
|
@ -117,11 +117,9 @@ watch(props.data, async () => {
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="q-pa-md">
|
|
||||||
<form @submit.prevent="validateForm">
|
<form @submit.prevent="validateForm">
|
||||||
<div class="row col-12">
|
<div class="q-pa-md">
|
||||||
<div class="col-12 row bg-white q-col-gutter-md">
|
<div class="col-xs-12 row items-center q-col-gutter-md">
|
||||||
<div class="col-xs-12 row items-center">
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
for="#complaint"
|
for="#complaint"
|
||||||
|
|
@ -138,8 +136,7 @@ watch(props.data, async () => {
|
||||||
type="textarea"
|
type="textarea"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row no-wrap col-12">
|
<div class="col-6">
|
||||||
<div class="col-4 q-my-md q-mr-xs">
|
|
||||||
<q-select
|
<q-select
|
||||||
for="#fault"
|
for="#fault"
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -153,6 +150,7 @@ watch(props.data, async () => {
|
||||||
map-options
|
map-options
|
||||||
option-label="name"
|
option-label="name"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
|
hide-bottom-space
|
||||||
use-input
|
use-input
|
||||||
@filter="(inputValue: any,
|
@filter="(inputValue: any,
|
||||||
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'faultOp'
|
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'faultOp'
|
||||||
|
|
@ -166,7 +164,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4 q-my-md q-mr-xs">
|
<div class="col-6">
|
||||||
<q-select
|
<q-select
|
||||||
for="#investigation"
|
for="#investigation"
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -182,6 +180,7 @@ watch(props.data, async () => {
|
||||||
map-options
|
map-options
|
||||||
option-label="name"
|
option-label="name"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
|
hide-bottom-space
|
||||||
use-input
|
use-input
|
||||||
@filter="(inputValue: any,
|
@filter="(inputValue: any,
|
||||||
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'investigationOp'
|
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'investigationOp'
|
||||||
|
|
@ -195,10 +194,9 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
v-if="formData.investigation === '003'"
|
v-if="formData.investigation === '003'"
|
||||||
class="col-12 q-mb-md"
|
class="col-12"
|
||||||
>
|
>
|
||||||
<q-input
|
<q-input
|
||||||
for="#other"
|
for="#other"
|
||||||
|
|
@ -219,13 +217,10 @@ watch(props.data, async () => {
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row col-12">
|
||||||
<div class="row items-start col-12">
|
<q-card bordered class="row col-12" style="border:1px solid #d6dee1;">
|
||||||
<p
|
<div class="col-xs-12 col-sm-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
|
||||||
class="text-weight-medium q-ma-none text-center align-top q-pt-sm"
|
|
||||||
>
|
|
||||||
วันที่สืบสวน
|
วันที่สืบสวน
|
||||||
</p>
|
|
||||||
<q-checkbox
|
<q-checkbox
|
||||||
for="#clickTime"
|
for="#clickTime"
|
||||||
size="md"
|
size="md"
|
||||||
|
|
@ -235,8 +230,10 @@ watch(props.data, async () => {
|
||||||
class="text-weight-medium q-ml-sm"
|
class="text-weight-medium q-ml-sm"
|
||||||
keep-color
|
keep-color
|
||||||
/>
|
/>
|
||||||
<div v-if="formData.clickTime !== true" class="self-start row">
|
</div>
|
||||||
<div class="q-mx-xs">
|
<div class="col-12"><q-separator /></div>
|
||||||
|
<div class="col-xs-12 col-sm-12 q-pa-sm row">
|
||||||
|
<div v-if="formData.clickTime !== true" class="q-col-gutter-sm row">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="formData.date"
|
v-model="formData.date"
|
||||||
|
|
@ -258,6 +255,7 @@ watch(props.data, async () => {
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
borderless
|
borderless
|
||||||
|
hide-bottom-space
|
||||||
:model-value="
|
:model-value="
|
||||||
formData.date ? date2Thai(formData.date) : null
|
formData.date ? date2Thai(formData.date) : null
|
||||||
"
|
"
|
||||||
|
|
@ -278,8 +276,6 @@ watch(props.data, async () => {
|
||||||
</q-input>
|
</q-input>
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
|
||||||
<div class="q-mx-xs q-">
|
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="formData.dateEnd"
|
v-model="formData.dateEnd"
|
||||||
|
|
@ -300,6 +296,7 @@ watch(props.data, async () => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
lazy-rules
|
lazy-rules
|
||||||
|
hide-bottom-space
|
||||||
borderless
|
borderless
|
||||||
:model-value="
|
:model-value="
|
||||||
formData.dateEnd
|
formData.dateEnd
|
||||||
|
|
@ -324,8 +321,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div v-else class="q-mx-xs col-xs-12 col-sm-6">
|
||||||
<div v-else class="q-mx-xs">
|
|
||||||
<q-select
|
<q-select
|
||||||
for="#daysExtend"
|
for="#daysExtend"
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -336,6 +332,7 @@ watch(props.data, async () => {
|
||||||
:options="investigateFactStore.daysExtendOp"
|
:options="investigateFactStore.daysExtendOp"
|
||||||
label="จำนวนวันที่ต้องการขยาย"
|
label="จำนวนวันที่ต้องการขยาย"
|
||||||
emit-value
|
emit-value
|
||||||
|
hide-bottom-space
|
||||||
map-options
|
map-options
|
||||||
:rules="[
|
:rules="[
|
||||||
(val) =>
|
(val) =>
|
||||||
|
|
@ -359,7 +356,9 @@ watch(props.data, async () => {
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 q-my-xs">
|
</q-card>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 ">
|
||||||
<q-input
|
<q-input
|
||||||
for="#complaintdetail"
|
for="#complaintdetail"
|
||||||
class="full-width inputgreen cursor-pointer"
|
class="full-width inputgreen cursor-pointer"
|
||||||
|
|
@ -377,7 +376,7 @@ watch(props.data, async () => {
|
||||||
type="textarea"
|
type="textarea"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 q-my-sm">
|
<div class="col-12">
|
||||||
<q-file
|
<q-file
|
||||||
for="#fileComplaint"
|
for="#fileComplaint"
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -394,7 +393,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</q-file>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 q-my-sm">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
for="#detail"
|
for="#detail"
|
||||||
class="full-width inputgreen cursor-pointer"
|
class="full-width inputgreen cursor-pointer"
|
||||||
|
|
@ -410,7 +409,7 @@ watch(props.data, async () => {
|
||||||
type="textarea"
|
type="textarea"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 q-my-xs">
|
<div class="col-12">
|
||||||
<q-file
|
<q-file
|
||||||
for="#evidenceFiles"
|
for="#evidenceFiles"
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -427,7 +426,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</q-file>
|
||||||
</div>
|
</div>
|
||||||
<div class="row col-12 items-start q-mt-sm">
|
<div class="row col-12 items-start">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<q-input
|
<q-input
|
||||||
for="#results"
|
for="#results"
|
||||||
|
|
@ -439,6 +438,7 @@ watch(props.data, async () => {
|
||||||
outlined
|
outlined
|
||||||
debounce="300"
|
debounce="300"
|
||||||
placeholder="ผลการสืบสวน"
|
placeholder="ผลการสืบสวน"
|
||||||
|
hide-bottom-space
|
||||||
>
|
>
|
||||||
</q-input>
|
</q-input>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -446,7 +446,7 @@ watch(props.data, async () => {
|
||||||
<q-btn
|
<q-btn
|
||||||
id="#confirm"
|
id="#confirm"
|
||||||
label="ยืนยันผลการสืบสวน"
|
label="ยืนยันผลการสืบสวน"
|
||||||
color="public"
|
color="primary"
|
||||||
class="q-py-sm q-ml-sm"
|
class="q-py-sm q-ml-sm"
|
||||||
>
|
>
|
||||||
<q-tooltip>ยืนยันผลการสืบสวน</q-tooltip>
|
<q-tooltip>ยืนยันผลการสืบสวน</q-tooltip>
|
||||||
|
|
@ -455,7 +455,6 @@ watch(props.data, async () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row col-12 q-pa-sm">
|
<div class="row col-12 q-pa-sm">
|
||||||
<q-space />
|
<q-space />
|
||||||
|
|
@ -464,6 +463,5 @@ watch(props.data, async () => {
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
</q-card>
|
</q-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ const visibleColumns2 = ref<string[]>([
|
||||||
"duty",
|
"duty",
|
||||||
"email",
|
"email",
|
||||||
"telephone",
|
"telephone",
|
||||||
|
"role"
|
||||||
]);
|
]);
|
||||||
const columns2 = ref<QTableProps["columns"]>([
|
const columns2 = ref<QTableProps["columns"]>([
|
||||||
{
|
{
|
||||||
|
|
@ -90,6 +91,17 @@ const columns2 = ref<QTableProps["columns"]>([
|
||||||
sort: (a: string, b: string) =>
|
sort: (a: string, b: string) =>
|
||||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
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({
|
const props = defineProps({
|
||||||
|
|
@ -138,15 +150,12 @@ watchEffect(() => {
|
||||||
<q-card style="width: 1200px; max-width: 80vw">
|
<q-card style="width: 1200px; max-width: 80vw">
|
||||||
<DialogHeader title="เลือกรายชื่อกรรมการ" :close="clickClose" />
|
<DialogHeader title="เลือกรายชื่อกรรมการ" :close="clickClose" />
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section class="q-pt-none">
|
<q-card-section >
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<q-toolbar style="padding: 0">
|
|
||||||
<q-input
|
<q-input
|
||||||
borderless
|
borderless
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
class="col-12"
|
class="col-12 q-mb-sm"
|
||||||
debounce="300"
|
debounce="300"
|
||||||
:model-value="filterKeyword2"
|
:model-value="filterKeyword2"
|
||||||
@update:model-value="updateInput"
|
@update:model-value="updateInput"
|
||||||
|
|
@ -163,10 +172,6 @@ watchEffect(() => {
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
</q-toolbar>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<d-table
|
<d-table
|
||||||
:columns="columns2"
|
:columns="columns2"
|
||||||
:rows="rows2"
|
:rows="rows2"
|
||||||
|
|
@ -208,6 +213,8 @@ watchEffect(() => {
|
||||||
</d-table>
|
</d-table>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
||||||
|
<q-separator />
|
||||||
|
|
||||||
<q-card-actions align="right" class="bg-white text-teal">
|
<q-card-actions align="right" class="bg-white text-teal">
|
||||||
<q-btn
|
<q-btn
|
||||||
label="เพิ่มรายชื่อกรรมการ"
|
label="เพิ่มรายชื่อกรรมการ"
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ onMounted(async () => {
|
||||||
duty: "ประธาน",
|
duty: "ประธาน",
|
||||||
email: "e@email.com",
|
email: "e@email.com",
|
||||||
telephone: "0800808080",
|
telephone: "0800808080",
|
||||||
|
role: "4",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nameDirector: "นาย สรวิชญ์ พลสิทธิ์",
|
nameDirector: "นาย สรวิชญ์ พลสิทธิ์",
|
||||||
|
|
@ -37,6 +38,7 @@ onMounted(async () => {
|
||||||
duty: "เลขานุการ",
|
duty: "เลขานุการ",
|
||||||
email: "g@gmail.com",
|
email: "g@gmail.com",
|
||||||
telephone: "0614565145",
|
telephone: "0614565145",
|
||||||
|
role: "6",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
await hideLoader();
|
await hideLoader();
|
||||||
|
|
@ -213,10 +215,8 @@ watch(props.data, async () => {
|
||||||
<form @submit.prevent="validateForm">
|
<form @submit.prevent="validateForm">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-card bordered>
|
<q-card bordered>
|
||||||
<div class="col-12 row q-col-gutter-md q-pa-md">
|
<div class="col-12 row q-pa-md">
|
||||||
<div class="col-xs-12 col-sm-12 row">
|
<div class="col-12 row q-col-gutter-md">
|
||||||
<q-separator />
|
|
||||||
<div class="col-12 row q-pa-sm q-col-gutter-sm">
|
|
||||||
<q-input
|
<q-input
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
|
|
@ -225,6 +225,7 @@ watch(props.data, async () => {
|
||||||
for="#Complaint"
|
for="#Complaint"
|
||||||
ref="complaintRef"
|
ref="complaintRef"
|
||||||
label="เรื่องร้องเรียน"
|
label="เรื่องร้องเรียน"
|
||||||
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกเรื่องร้องเรียน'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกเรื่องร้องเรียน'}`]"
|
||||||
/>
|
/>
|
||||||
|
|
@ -251,6 +252,7 @@ watch(props.data, async () => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
class="full-width datepicker"
|
class="full-width datepicker"
|
||||||
|
hide-bottom-space
|
||||||
:model-value="
|
:model-value="
|
||||||
dateInvestigate != null
|
dateInvestigate != null
|
||||||
? date2Thai(dateInvestigate)
|
? date2Thai(dateInvestigate)
|
||||||
|
|
@ -293,6 +295,7 @@ watch(props.data, async () => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
class="col-xs-12 col-sm-4"
|
class="col-xs-12 col-sm-4"
|
||||||
|
hide-bottom-space
|
||||||
:model-value="
|
:model-value="
|
||||||
dateAllegation != null
|
dateAllegation != null
|
||||||
? date2Thai(dateAllegation)
|
? date2Thai(dateAllegation)
|
||||||
|
|
@ -338,6 +341,7 @@ watch(props.data, async () => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
class="full-width datepicker"
|
class="full-width datepicker"
|
||||||
|
hide-bottom-space
|
||||||
:model-value="
|
:model-value="
|
||||||
dateEvident != null ? date2Thai(dateEvident) : null
|
dateEvident != null ? date2Thai(dateEvident) : null
|
||||||
"
|
"
|
||||||
|
|
@ -358,7 +362,9 @@ watch(props.data, async () => {
|
||||||
</q-input>
|
</q-input>
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
<div class="col-xs-12 col-sm-12 text-bold">
|
<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
|
<q-btn
|
||||||
size="12px"
|
size="12px"
|
||||||
|
|
@ -371,8 +377,10 @@ watch(props.data, async () => {
|
||||||
<q-tooltip>เพิ่มกรรมการ</q-tooltip>
|
<q-tooltip>เพิ่มกรรมการ</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-12 q-pb-md">
|
<div class="col-12"><q-separator /></div>
|
||||||
|
<div class="col-xs-12 q-pa-sm row">
|
||||||
<Table
|
<Table
|
||||||
|
class="col-12"
|
||||||
style="max-height: 80vh"
|
style="max-height: 80vh"
|
||||||
:rows="rows"
|
:rows="rows"
|
||||||
:columns="investigateDis.columnsDirector"
|
:columns="investigateDis.columnsDirector"
|
||||||
|
|
@ -416,7 +424,8 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</Table>
|
</Table>
|
||||||
</div>
|
</div>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
<q-input
|
<q-input
|
||||||
class="col-xs-12 col-sm-6"
|
class="col-xs-12 col-sm-6"
|
||||||
dense
|
dense
|
||||||
|
|
@ -425,12 +434,14 @@ watch(props.data, async () => {
|
||||||
v-model="formData.casefault"
|
v-model="formData.casefault"
|
||||||
for="#casefault"
|
for="#casefault"
|
||||||
label="กรณีมีความผิด"
|
label="กรณีมีความผิด"
|
||||||
|
hide-bottom-space
|
||||||
:rules="[(val) => !!val || `${'กรุณากรอกกรณีมีความผิด'}`]"
|
:rules="[(val) => !!val || `${'กรุณากรอกกรณีมีความผิด'}`]"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
/>
|
/>
|
||||||
<q-input
|
<q-input
|
||||||
class="col-xs-12 col-sm-6"
|
class="col-xs-12 col-sm-6"
|
||||||
dense
|
dense
|
||||||
|
hide-bottom-space
|
||||||
outlined
|
outlined
|
||||||
for="#whereInvestigate"
|
for="#whereInvestigate"
|
||||||
ref="whereInvestigateRef"
|
ref="whereInvestigateRef"
|
||||||
|
|
@ -450,6 +461,7 @@ watch(props.data, async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
|
hide-bottom-space
|
||||||
:options="investigateDis.optionsTypefault"
|
:options="investigateDis.optionsTypefault"
|
||||||
label="ลักษณะความผิด"
|
label="ลักษณะความผิด"
|
||||||
/>
|
/>
|
||||||
|
|
@ -464,13 +476,15 @@ watch(props.data, async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
|
hide-bottom-space
|
||||||
:options="investigateDis.optionsfaultLevel"
|
:options="investigateDis.optionsfaultLevel"
|
||||||
label="ระดับโทษความผิด"
|
label="ระดับโทษความผิด"
|
||||||
/>
|
/>
|
||||||
<q-input
|
<q-input
|
||||||
class="col-xs-12 col-sm-6 q-pb-md"
|
class="col-xs-12 col-sm-6"
|
||||||
dense
|
dense
|
||||||
for="#refLaw"
|
for="#refLaw"
|
||||||
|
hide-bottom-space
|
||||||
outlined
|
outlined
|
||||||
ref="refLawRef"
|
ref="refLawRef"
|
||||||
v-model="formData.refLaw"
|
v-model="formData.refLaw"
|
||||||
|
|
@ -484,6 +498,7 @@ watch(props.data, async () => {
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
|
hide-bottom-space
|
||||||
for="#detailComplaint"
|
for="#detailComplaint"
|
||||||
ref="detailComplaintRef"
|
ref="detailComplaintRef"
|
||||||
v-model="formData.detailComplaint"
|
v-model="formData.detailComplaint"
|
||||||
|
|
@ -495,6 +510,7 @@ watch(props.data, async () => {
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
|
hide-bottom-space
|
||||||
for="#trueDetail"
|
for="#trueDetail"
|
||||||
ref="trueDetailRef"
|
ref="trueDetailRef"
|
||||||
v-model="formData.trueDetail"
|
v-model="formData.trueDetail"
|
||||||
|
|
@ -502,19 +518,27 @@ watch(props.data, async () => {
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกรายละเอียดสืบสวนข้อเท็จจริง'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกรายละเอียดสืบสวนข้อเท็จจริง'}`]"
|
||||||
/>
|
/>
|
||||||
|
<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
|
<q-input
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
for="#evidence"
|
for="#evidence"
|
||||||
ref="evidenceRef"
|
ref="evidenceRef"
|
||||||
|
hide-bottom-space
|
||||||
v-model="formData.evidence"
|
v-model="formData.evidence"
|
||||||
label="สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
|
label="สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกสรุปพยานหลักฐานสนับสนุนข้อกล่าวหา'}`]"
|
||||||
/>
|
/>
|
||||||
<q-file
|
<q-file
|
||||||
class="col-12 q-pb-md"
|
class="col-12 q-mt-sm"
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
ref="filesEvidenceRef"
|
ref="filesEvidenceRef"
|
||||||
|
|
@ -530,6 +554,16 @@ watch(props.data, async () => {
|
||||||
<q-icon name="attach_file" />
|
<q-icon name="attach_file" />
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</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
|
<q-input
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
|
|
@ -538,11 +572,12 @@ watch(props.data, async () => {
|
||||||
for="#recordAccuser"
|
for="#recordAccuser"
|
||||||
v-model="formData.recordAccuser"
|
v-model="formData.recordAccuser"
|
||||||
label="บันทึกถ้อยคำของผู้กล่าวหา"
|
label="บันทึกถ้อยคำของผู้กล่าวหา"
|
||||||
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกบันทึกถ้อยคำของผู้กล่าวหา'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกบันทึกถ้อยคำของผู้กล่าวหา'}`]"
|
||||||
/>
|
/>
|
||||||
<q-file
|
<q-file
|
||||||
class="col-12 q-pb-md"
|
class="col-12 q-mt-sm"
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
ref="filesRecordAccuserRef"
|
ref="filesRecordAccuserRef"
|
||||||
|
|
@ -558,6 +593,16 @@ watch(props.data, async () => {
|
||||||
<q-icon name="attach_file" />
|
<q-icon name="attach_file" />
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</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
|
<q-input
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
|
|
@ -566,11 +611,12 @@ watch(props.data, async () => {
|
||||||
ref="witnessesRef"
|
ref="witnessesRef"
|
||||||
v-model="formData.witnesses"
|
v-model="formData.witnesses"
|
||||||
label="พยานและการบันทึกถ้อยคำ"
|
label="พยานและการบันทึกถ้อยคำ"
|
||||||
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกพยานและการบันทึกถ้อยคำ'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกพยานและการบันทึกถ้อยคำ'}`]"
|
||||||
/>
|
/>
|
||||||
<q-file
|
<q-file
|
||||||
class="col-12 q-pb-md"
|
class="col-12 q-mt-sm"
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
ref="filesWitnessesRef"
|
ref="filesWitnessesRef"
|
||||||
|
|
@ -586,6 +632,9 @@ watch(props.data, async () => {
|
||||||
<q-icon name="attach_file" />
|
<q-icon name="attach_file" />
|
||||||
</template>
|
</template>
|
||||||
</q-file>
|
</q-file>
|
||||||
|
</div>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
<q-input
|
<q-input
|
||||||
class="col-12"
|
class="col-12"
|
||||||
dense
|
dense
|
||||||
|
|
@ -594,6 +643,7 @@ watch(props.data, async () => {
|
||||||
ref="InvestResultsRef"
|
ref="InvestResultsRef"
|
||||||
v-model="formData.InvestResults"
|
v-model="formData.InvestResults"
|
||||||
label="ผลการสอบสวน"
|
label="ผลการสอบสวน"
|
||||||
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกผลการสอบสวน'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอกผลการสอบสวน'}`]"
|
||||||
/>
|
/>
|
||||||
|
|
@ -616,7 +666,6 @@ watch(props.data, async () => {
|
||||||
</q-file>
|
</q-file>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row col-12 q-pa-sm">
|
<div class="row col-12 q-pa-sm">
|
||||||
<q-space />
|
<q-space />
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ const formData = reactive<FormData>({
|
||||||
position: "",
|
position: "",
|
||||||
phone: "",
|
phone: "",
|
||||||
email: "",
|
email: "",
|
||||||
|
role: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(props.data, async () => {
|
watch(props.data, async () => {
|
||||||
|
|
@ -39,6 +40,7 @@ watch(props.data, async () => {
|
||||||
formData.position = props.data.position;
|
formData.position = props.data.position;
|
||||||
formData.phone = props.data.phone;
|
formData.phone = props.data.phone;
|
||||||
formData.email = props.data.email;
|
formData.email = props.data.email;
|
||||||
|
formData.role = props.data.role;
|
||||||
});
|
});
|
||||||
|
|
||||||
// เพิ่มบุคลากร
|
// เพิ่มบุคลากร
|
||||||
|
|
@ -55,6 +57,7 @@ const lastnameRef = ref<object | null>(null);
|
||||||
const positionRef = ref<object | null>(null);
|
const positionRef = ref<object | null>(null);
|
||||||
const phoneRef = ref<object | null>(null);
|
const phoneRef = ref<object | null>(null);
|
||||||
const emailRef = ref<object | null>(null);
|
const emailRef = ref<object | null>(null);
|
||||||
|
const roleRef = ref<object | null>(null);
|
||||||
const formRef: FormRef = {
|
const formRef: FormRef = {
|
||||||
prefix: prefixRef,
|
prefix: prefixRef,
|
||||||
firstname: firstnameRef,
|
firstname: firstnameRef,
|
||||||
|
|
@ -62,6 +65,7 @@ const formRef: FormRef = {
|
||||||
position: positionRef,
|
position: positionRef,
|
||||||
phone: phoneRef,
|
phone: phoneRef,
|
||||||
email: emailRef,
|
email: emailRef,
|
||||||
|
role: roleRef,
|
||||||
};
|
};
|
||||||
|
|
||||||
function onValidate() {
|
function onValidate() {
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ interface directorType {
|
||||||
duty: string;
|
duty: string;
|
||||||
email: string;
|
email: string;
|
||||||
telephone: string;
|
telephone: string;
|
||||||
|
role: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type {
|
export type {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ interface FormData {
|
||||||
position: string;
|
position: string;
|
||||||
phone: string;
|
phone: string;
|
||||||
email: string;
|
email: string;
|
||||||
|
role: string;
|
||||||
responsibilities:string
|
responsibilities:string
|
||||||
}
|
}
|
||||||
interface FormRef {
|
interface FormRef {
|
||||||
|
|
@ -14,6 +15,7 @@ interface FormRef {
|
||||||
position: object | null;
|
position: object | null;
|
||||||
phone: object | null;
|
phone: object | null;
|
||||||
email: object | null;
|
email: object | null;
|
||||||
|
role: object | null;
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ export const useInvestigateDisStore = defineStore(
|
||||||
duty: e.duty,
|
duty: e.duty,
|
||||||
email: e.email,
|
email: e.email,
|
||||||
telephone: e.telephone,
|
telephone: e.telephone,
|
||||||
|
role: e.role,
|
||||||
}));
|
}));
|
||||||
rows2.value = datalistDirector;
|
rows2.value = datalistDirector;
|
||||||
selected.value = rows2.value;
|
selected.value = rows2.value;
|
||||||
|
|
@ -204,6 +205,7 @@ export const useInvestigateDisStore = defineStore(
|
||||||
"duty",
|
"duty",
|
||||||
"email",
|
"email",
|
||||||
"telephone",
|
"telephone",
|
||||||
|
"role",
|
||||||
]);
|
]);
|
||||||
const columnsDirector = ref<QTableProps["columns"]>([
|
const columnsDirector = ref<QTableProps["columns"]>([
|
||||||
{
|
{
|
||||||
|
|
@ -260,6 +262,15 @@ export const useInvestigateDisStore = defineStore(
|
||||||
headerStyle: "font-size: 14px",
|
headerStyle: "font-size: 14px",
|
||||||
style: "font-size: 14px",
|
style: "font-size: 14px",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "role",
|
||||||
|
align: "left",
|
||||||
|
label: "จำนวนเรื่องสืบสวน",
|
||||||
|
sortable: true,
|
||||||
|
field: "role",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
]);
|
]);
|
||||||
return {
|
return {
|
||||||
fecthList,
|
fecthList,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue