รายการสืบสวนข้อเท็จจริง
This commit is contained in:
parent
3f2aff52e1
commit
8b54d6b4b1
4 changed files with 123 additions and 66 deletions
|
|
@ -27,6 +27,8 @@ const store = useInvestigateFactStore();
|
|||
const { dialogConfirm, showLoader, success, hideLoader, messageError } = mixin;
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
const checkRoutePermisson = ref<boolean>(route.name == "disciplineInvestigatefactsDetail");
|
||||
const id = ref<string>(route.params.id as string);
|
||||
const modalPopup = ref<boolean>(false);
|
||||
|
||||
|
|
@ -349,10 +351,10 @@ watch(
|
|||
class="q-mr-sm"
|
||||
@click="$router.push(`/discipline/investigatefacts`)"
|
||||
/>
|
||||
<div class="q-ma-none">แก้ไขรายการสืบสวนข้อเท็จจริง</div>
|
||||
<div class="q-ma-none">{{ checkRoutePermisson ? 'รายละเอียดรายการสืบสวนข้อเท็จจริง':'แก้ไขรายการสืบสวนข้อเท็จจริง'}}</div>
|
||||
<q-space />
|
||||
|
||||
<div class="q-gutter-x-sm">
|
||||
<div class="q-gutter-x-sm" v-if="!checkRoutePermisson">
|
||||
<q-btn
|
||||
v-if="data.status === 'NEW'"
|
||||
label="ส่งไปสอบสวน"
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@ const personId = ref<string>("");
|
|||
const $q = useQuasar();
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const checkRoutePermisson = ref<boolean>(
|
||||
route.name == "disciplineInvestigatefactsDetail"
|
||||
);
|
||||
const id = ref<string>(route.params.id as string);
|
||||
const modalPerson = ref<boolean>(false);
|
||||
const toggleModal = () => (modalPerson.value = !modalPerson.value);
|
||||
|
|
@ -763,7 +766,7 @@ onMounted(async () => {
|
|||
ref="respondentTypeRef"
|
||||
dense
|
||||
outlined
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
label="ผู้ถูกร้องเรียน"
|
||||
option-value="id"
|
||||
option-label="name"
|
||||
|
|
@ -799,7 +802,7 @@ onMounted(async () => {
|
|||
ref="organizationIdRef"
|
||||
dense
|
||||
hide-bottom-space
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
outlined
|
||||
option-label="name"
|
||||
option-value="id"
|
||||
|
|
@ -836,7 +839,7 @@ onMounted(async () => {
|
|||
<div class="col-xs-12 col-sm-5">
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
for="#investigationDetail"
|
||||
outlined
|
||||
hide-bottom-space
|
||||
|
|
@ -878,7 +881,7 @@ onMounted(async () => {
|
|||
>
|
||||
ผู้ถูกร้องเรียน
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!isReadonly && !checkRoutePermisson"
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
|
|
@ -918,7 +921,6 @@ onMounted(async () => {
|
|||
col.label
|
||||
}}</span>
|
||||
</q-th>
|
||||
<q-th auto-width></q-th>
|
||||
</q-tr>
|
||||
</template>
|
||||
<template v-slot:body="props">
|
||||
|
|
@ -929,11 +931,25 @@ onMounted(async () => {
|
|||
flat
|
||||
round
|
||||
color="info"
|
||||
icon="info"
|
||||
icon="mdi-eye"
|
||||
@click="onclickViewinfo(props.row.personId)"
|
||||
>
|
||||
<q-tooltip>ดูข้อมูลในทะเบียนประวัติ</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="
|
||||
!isReadonly &&
|
||||
!checkRoutePermisson &&
|
||||
props.row.isAncestorDNA === false
|
||||
"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
color="red"
|
||||
icon="mdi-delete"
|
||||
@click="deletePerson(props.row.personId)"
|
||||
><q-tooltip>ลบผู้ถูกร้องเรียน</q-tooltip></q-btn
|
||||
>
|
||||
</td>
|
||||
<q-td
|
||||
v-for="col in props.cols"
|
||||
|
|
@ -956,22 +972,6 @@ onMounted(async () => {
|
|||
{{ col.value ?? "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
<q-td auto-width>
|
||||
<q-btn
|
||||
v-if="
|
||||
!isReadonly && props.row.isAncestorDNA === false
|
||||
"
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
color="red"
|
||||
class="q-ml-sm"
|
||||
icon="mdi-delete-outline"
|
||||
@click="deletePerson(props.row.personId)"
|
||||
><q-tooltip>ลบผู้ถูกร้องเรียน</q-tooltip></q-btn
|
||||
>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
|
|
@ -984,7 +984,7 @@ onMounted(async () => {
|
|||
>
|
||||
<q-input
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
for="#investigationDetailOther"
|
||||
outlined
|
||||
ref="investigationDetailOtherRef"
|
||||
|
|
@ -1012,7 +1012,8 @@ onMounted(async () => {
|
|||
<q-checkbox
|
||||
v-if="
|
||||
props.data.investigationExtendHistory.length > 0 &&
|
||||
!isReadonly
|
||||
!isReadonly &&
|
||||
!checkRoutePermisson
|
||||
"
|
||||
:disable="isReadonly"
|
||||
for="#extendStatus"
|
||||
|
|
@ -1054,7 +1055,7 @@ onMounted(async () => {
|
|||
<div v-if="investigationExtendStatus" class="col-3">
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
for="#daysExtend"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -1083,6 +1084,7 @@ onMounted(async () => {
|
|||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
:readonly="
|
||||
checkRoutePermisson ||
|
||||
isReadonly ||
|
||||
formData.investigationExtendHistory.length > 0
|
||||
"
|
||||
|
|
@ -1105,6 +1107,7 @@ onMounted(async () => {
|
|||
:class="inputEditExtend(isReadonly)"
|
||||
ref="dateRef"
|
||||
:readonly="
|
||||
checkRoutePermisson ||
|
||||
isReadonly ||
|
||||
formData.investigationExtendHistory.length >
|
||||
0
|
||||
|
|
@ -1163,6 +1166,7 @@ onMounted(async () => {
|
|||
menu-class-name="modalfix"
|
||||
v-model="formData.investigationDateEnd"
|
||||
:readonly="
|
||||
checkRoutePermisson ||
|
||||
formData.investigationDateStart === null ||
|
||||
isReadonly ||
|
||||
formData.investigationExtendHistory.length > 0
|
||||
|
|
@ -1186,6 +1190,7 @@ onMounted(async () => {
|
|||
ref="dateEndRef"
|
||||
:class="inputEditExtend(isReadonly)"
|
||||
:readonly="
|
||||
checkRoutePermisson ||
|
||||
formData.investigationDateStart === null ||
|
||||
isReadonly ||
|
||||
formData.investigationExtendHistory.length >
|
||||
|
|
@ -1274,7 +1279,7 @@ onMounted(async () => {
|
|||
>
|
||||
รายชื่อกรรมการ
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!isReadonly && !checkRoutePermisson"
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
|
|
@ -1310,25 +1315,27 @@ onMounted(async () => {
|
|||
<q-td class="text-right">
|
||||
<!-- แก้ไขกรรมการ -->
|
||||
<q-btn
|
||||
v-if="!isReadonly && props.row.check === 'props'"
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
!isReadonly &&
|
||||
props.row.check === 'props'
|
||||
"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="blue"
|
||||
color="edit"
|
||||
@click="openEditDirector(props.row)"
|
||||
icon="mdi-pencil-outline"
|
||||
icon="edit"
|
||||
>
|
||||
<q-tooltip>แก้ไข</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!checkRoutePermisson && !isReadonly"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="red"
|
||||
icon="mdi-delete-outline"
|
||||
icon="mdi-delete"
|
||||
@click="deleteDirector(props.row.id)"
|
||||
>
|
||||
<q-tooltip>ลบข้อมูล</q-tooltip>
|
||||
|
|
@ -1349,7 +1356,6 @@ onMounted(async () => {
|
|||
{{ col.value ?? "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</Table>
|
||||
|
|
@ -1360,7 +1366,7 @@ onMounted(async () => {
|
|||
<div class="col-12">
|
||||
<q-input
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
for="#investigationDescription"
|
||||
outlined
|
||||
ref="investigationDescriptionRef"
|
||||
|
|
@ -1395,7 +1401,7 @@ onMounted(async () => {
|
|||
for="#fault"
|
||||
outlined
|
||||
dense
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
ref="investigationStatusResultRef"
|
||||
v-model="formData.investigationStatusResult"
|
||||
:options="optionStatusResult"
|
||||
|
|
@ -1423,7 +1429,7 @@ onMounted(async () => {
|
|||
>
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
for="#fault"
|
||||
outlined
|
||||
clearable
|
||||
|
|
@ -1453,7 +1459,7 @@ onMounted(async () => {
|
|||
:class="inputEdit(isReadonly)"
|
||||
outlined
|
||||
ref="resultRef"
|
||||
:readonly="isReadonly"
|
||||
:readonly="isReadonly || checkRoutePermisson"
|
||||
dense
|
||||
borderless
|
||||
v-model="formData.result"
|
||||
|
|
@ -1487,7 +1493,9 @@ onMounted(async () => {
|
|||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row col-12 q-col-gutter-y-sm q-pa-sm">
|
||||
<div
|
||||
v-if="!isReadonly && formData.id !== ''"
|
||||
v-if="
|
||||
!checkRoutePermisson && !isReadonly && formData.id !== ''
|
||||
"
|
||||
class="col-12 row"
|
||||
>
|
||||
<q-file
|
||||
|
|
@ -1505,7 +1513,6 @@ onMounted(async () => {
|
|||
<template v-slot:after>
|
||||
<q-btn
|
||||
v-if="formData.evidenceFiles"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
|
|
@ -1544,7 +1551,6 @@ onMounted(async () => {
|
|||
dense
|
||||
flat
|
||||
round
|
||||
size="12px"
|
||||
color="blue"
|
||||
icon="mdi-download-outline"
|
||||
@click="downloadFileRelevant(file.pathName)"
|
||||
|
|
@ -1554,13 +1560,12 @@ onMounted(async () => {
|
|||
</div>
|
||||
<div>
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!isReadonly && !checkRoutePermisson"
|
||||
dense
|
||||
flat
|
||||
round
|
||||
size="12px"
|
||||
color="red"
|
||||
icon="mdi-delete-outline"
|
||||
icon="mdi-delete"
|
||||
@click="deleteFileRelevant(file.id)"
|
||||
><q-tooltip>ลบไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
|
|
@ -1593,7 +1598,9 @@ onMounted(async () => {
|
|||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row col-12 q-col-gutter-y-sm q-pa-sm">
|
||||
<div
|
||||
v-if="!isReadonly && formData.id !== ''"
|
||||
v-if="
|
||||
!checkRoutePermisson && !isReadonly && formData.id !== ''
|
||||
"
|
||||
class="col-12 row"
|
||||
>
|
||||
<!-- accept=".pdf,.xlsx,.docx" -->
|
||||
|
|
@ -1613,7 +1620,6 @@ onMounted(async () => {
|
|||
<template v-slot:after>
|
||||
<q-btn
|
||||
v-if="formData.documentFile"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
|
|
@ -1649,7 +1655,6 @@ onMounted(async () => {
|
|||
dense
|
||||
flat
|
||||
round
|
||||
size="12px"
|
||||
color="blue"
|
||||
icon="mdi-download-outline"
|
||||
@click="downloadFile(file.pathName)"
|
||||
|
|
@ -1659,13 +1664,12 @@ onMounted(async () => {
|
|||
</div>
|
||||
<div>
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!isReadonly && !checkRoutePermisson"
|
||||
dense
|
||||
flat
|
||||
round
|
||||
size="12px"
|
||||
color="red"
|
||||
icon="mdi-delete-outline"
|
||||
icon="mdi-delete"
|
||||
@click="deleteFile(file.id)"
|
||||
><q-tooltip>ลบไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
|
|
@ -1687,8 +1691,11 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row col-12 q-pa-sm" v-if="!isReadonly">
|
||||
<div class="col-12"><q-separator v-if="!checkRoutePermisson" /></div>
|
||||
<div
|
||||
class="row col-12 q-pa-sm"
|
||||
v-if="!isReadonly && !checkRoutePermisson"
|
||||
>
|
||||
<q-space />
|
||||
<q-btn id="onSubmit" type="submit" label="บันทึก" color="secondary"
|
||||
><q-tooltip>บันทึกข้อมูล</q-tooltip></q-btn
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ import config from "@/app.config";
|
|||
import http from "@/plugins/http";
|
||||
|
||||
import { useInvestigateFactStore } from "@/modules/11_discipline/store/InvestigateFactStore";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
|
||||
const dataInvestigate = useInvestigateFactStore();
|
||||
const mixin = useCounterMixin();
|
||||
const { messageError, showLoader, hideLoader } = mixin;
|
||||
|
|
@ -94,6 +96,14 @@ async function editPage(id: string) {
|
|||
dataInvestigate.tabMenu = await "investigatefacts";
|
||||
router.push(`/discipline/investigatefacts/${id}`);
|
||||
}
|
||||
/**
|
||||
* ไปหน้าแก้ไข
|
||||
* @param id ไอดีเฉพาะ รายบุคคล
|
||||
*/
|
||||
async function detailPage(id: string) {
|
||||
dataInvestigate.tabMenu = await "investigatefacts";
|
||||
router.push(`/discipline-detail/investigatefacts/${id}`);
|
||||
}
|
||||
|
||||
function filterFn() {
|
||||
getList();
|
||||
|
|
@ -149,12 +159,15 @@ onMounted(async () => {
|
|||
<template v-if="statusFilter !== 'ALL'" v-slot:append>
|
||||
<q-icon
|
||||
name="cancel"
|
||||
@click.stop.prevent="(option = dataInvestigate.statusOptions),(statusFilter = 'ALL'), getList()"
|
||||
@click.stop.prevent="
|
||||
(option = dataInvestigate.statusOptions),
|
||||
(statusFilter = 'ALL'),
|
||||
getList()
|
||||
"
|
||||
class="cursor-pointer"
|
||||
/> </template
|
||||
>
|
||||
</q-select
|
||||
>
|
||||
/>
|
||||
</template>
|
||||
</q-select>
|
||||
</div>
|
||||
<q-space />
|
||||
|
||||
|
|
@ -216,6 +229,7 @@ onMounted(async () => {
|
|||
>
|
||||
<template v-slot:header="props">
|
||||
<q-tr :props="props">
|
||||
<q-th auto-width></q-th>
|
||||
<q-th
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
|
|
@ -228,13 +242,35 @@ onMounted(async () => {
|
|||
</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)"
|
||||
>
|
||||
<q-tr :props="props">
|
||||
<q-td auto-width>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsGet"
|
||||
flat
|
||||
dense
|
||||
round
|
||||
color="info"
|
||||
icon="mdi-eye"
|
||||
@click="detailPage(props.row.id)"
|
||||
>
|
||||
<q-tooltip>รายละเอียด</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="
|
||||
checkPermission($route)?.attrIsGet &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
flat
|
||||
dense
|
||||
round
|
||||
color="edit"
|
||||
icon="edit"
|
||||
@click="editPage(props.row.id)"
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</q-td>
|
||||
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||
<div v-if="col.name == 'no'">
|
||||
{{
|
||||
(currentPage - 1) * Number(pagination.rowsPerPage) +
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ const factsMain = () =>
|
|||
// import("@/modules/11_discipline/components/2_InvestigateFacts/AddPage.vue");
|
||||
const investigatefactsEdit = () =>
|
||||
import("@/modules/11_discipline/components/2_InvestigateFacts/EditPage.vue");
|
||||
const investigatefactsDetail = () =>
|
||||
import("@/modules/11_discipline/components/2_InvestigateFacts/EditPage.vue");
|
||||
const disciplinaryMain = () =>
|
||||
import(
|
||||
"@/modules/11_discipline/components/3_InvestigateDisciplinary/MainPage.vue"
|
||||
|
|
@ -151,6 +153,16 @@ export default [
|
|||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "/discipline-detail/investigatefacts/:id",
|
||||
name: "disciplineInvestigatefactsDetail",
|
||||
component: investigatefactsDetail,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_DISCIPLINE_INVESTIGATE",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
{
|
||||
path: "/discipline/disciplinary",
|
||||
name: "disciplineDisciplinary",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue