no message

This commit is contained in:
setthawutttty 2023-11-28 11:21:20 +07:00
parent 9f82a3b2ef
commit 5d625bc4ae
5 changed files with 145 additions and 89 deletions

View file

@ -235,7 +235,6 @@ function getData() {
http
.get(config.API.investigateById(id.value))
.then((res) => {
console.log(res.data.result);
const dataList = res.data.result;
data.id = dataList.id;
data.idComplaint = dataList.idComplaint;
@ -251,8 +250,7 @@ function getData() {
data.result = dataList.result;
data.directors = dataList.director;
data.disciplineInvestigateDocs = dataList.disciplineInvestigateDocs;
data.disciplineInvestigateRelevantDocs =
dataList.disciplineInvestigateRelevantDocs;
data.disciplineInvestigateRelevantDocs = dataList.disciplineInvestigateRelevantDocs;
data.investigationStatusResult = dataList.investigationStatusResult;
})
.catch((e) => {
@ -282,6 +280,7 @@ async function onSubmit(data: any) {
})
.finally(async () => {
hideLoader();
getData();
});
// router.push(`/discipline/investigatefacts`);
}
@ -361,6 +360,7 @@ function confirmCancelInvestigate() {
function emitPerson(data: FormData[]) {
const dataMapId = data.map((item: FormData) => item.id);
console.log(dataMapId);
showLoader();
http
.put(config.API.investigateApprove(id.value), {
@ -374,6 +374,7 @@ function emitPerson(data: FormData[]) {
})
.finally(() => {
hideLoader();
getData();
});
}

View file

@ -310,10 +310,23 @@ watch(props.data, async () => {
formData.investigationCauseText = props.data.investigationCauseText;
formData.result = props.data.result;
formData.disciplineInvestigateDocs = props.data.disciplineInvestigateDocs;
formData.evidenceFiles = props.data.evidenceFiles;
formData.disciplineInvestigateRelevantDocs =
props.data.disciplineInvestigateRelevantDocs;
formData.status = props.data.status;
investigateFactStore.rowsAdd = props.data.persons;
rows.value = props.data.directors;
const dataMap = props.data.directors.map((item: any) => ({
id: item.id,
name: `${item.prefix}${item.firstName} ${item.lastName}`,
prefix: item.prefix,
firstName: item.firstName,
lastName: item.lastName,
position: item.position,
email: item.email,
phone: item.phone,
}));
rows.value = dataMap;
}
});
@ -482,11 +495,30 @@ async function getList() {
function returnDirector(data: any) {
clickClose();
const dataList = data.map((item: any) => item.id);
console.log(dataList);
console.log(data);
formData.directors = dataList;
rows.value = data;
}
function deletePerson(id: string) {
dialogRemove($q, () => remove(id));
}
function remove(id: string) {
const dataRow = investigateFactStore.rowsAdd;
const updatedRows = dataRow.filter((item: any) => item.id !== id);
investigateFactStore.rowsAdd = updatedRows;
}
function deleteDirector(id: string) {
dialogRemove($q, () => removePerson(id));
}
function removePerson(id: string) {
const dataRow = rows.value;
const updatedRows = dataRow.filter((item: any) => item.id !== id);
rows.value = updatedRows;
}
onMounted(async () => {
console.log(route.name);
getOc();
@ -558,35 +590,36 @@ onMounted(async () => {
</div> -->
<div class="col-xs-12 col-sm-3">
<q-select
for="SelectrespondentType"
v-model="formData.respondentType"
ref="respondentTypeRef"
dense
outlined
:readonly="formData.status !== 'NEW' && formData.status !== ''"
label="ผู้ถูกร้องเรียน"
option-value="id"
option-label="name"
emit-value
use-input
map-options
hide-bottom-space
:options="investigateFactStore.respondentTypeOps"
:rules="[(val) => !!val || `${'กรุณาเลือกผู้ร้องเรียน'}`]"
lazy-rules
@filter="(inputValue: any,
for="SelectrespondentType"
v-model="formData.respondentType"
ref="respondentTypeRef"
dense
outlined
:readonly="formData.status !== 'NEW'"
label="ผู้ถูกร้องเรียน"
option-value="id"
option-label="name"
emit-value
use-input
map-options
hide-bottom-space
:options="investigateFactStore.respondentTypeOps"
:rules="[(val) => !!val || `${'กรุณาเลือกผู้ร้องเรียน'}`]"
lazy-rules
@filter="(inputValue: any,
doneFn: Function) => investigateFactStore.filterSelector(inputValue, doneFn, 'filterrespondentType'
)"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey"> ไมอม </q-item-section>
</q-item>
</template>
</q-select>
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
ไมอม
</q-item-section>
</q-item>
</template>
</q-select>
</div>
<div
class="col-xs-12 col-sm-3"
v-if="formData.respondentType === 'ORGANIZATION'"
@ -598,7 +631,7 @@ onMounted(async () => {
ref="organizationIdRef"
dense
hide-bottom-space
:readonly="formData.status !== 'NEW' && formData.status !== ''"
:readonly="formData.status !== 'NEW'"
outlined
option-label="name"
option-value="id"
@ -611,35 +644,6 @@ onMounted(async () => {
lazy-rules
/>
</div>
<div class="col-xs-12 col-sm-3">
<q-select
:readonly="statusStep"
:disable="statusStep"
for="#investigationDetail"
outlined
hide-bottom-space
dense
lazy-rules
ref="investigationDetailRef"
:rules="[(val) => !!val || `${'กรุณาเลือกลักษณะการสืบสวน'}`]"
v-model="formData.investigationDetail"
:options="investigateFactStore.investigationDetailOp"
label="ลักษณะการสืบสวน"
emit-value
map-options
option-label="name"
option-value="id"
use-input
@filter="(inputValue: any,
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'investigationOp'
)"
><template v-slot:no-option>
<q-item>
<q-item-section class="text-grey"> ไมอม </q-item-section>
</q-item>
</template>
</q-select>
</div>
<div class="row col-12" v-if="formData.respondentType === 'PERSON'">
<q-card
@ -652,7 +656,7 @@ onMounted(async () => {
>
กรองเรยน
<q-btn
v-if="formData.status === 'NEW' || formData.status === ''"
v-if="formData.status === 'NEW'"
size="12px"
flat
round
@ -689,6 +693,7 @@ onMounted(async () => {
>
<span class="text-weight-medium">{{ col.label }}</span>
</q-th>
<q-th auto-width></q-th>
</q-tr>
</template>
<template v-slot:body="props">
@ -705,14 +710,58 @@ onMounted(async () => {
{{ col.value }}
</div>
</q-td>
<!-- v-if="formData.status === 'NEW'" -->
<q-td auto-width>
<q-btn
v-if="formData.status === 'NEW'"
size="12px"
flat
round
dense
color="red"
class="q-ml-sm"
icon="mdi-delete-outline"
@click="deletePerson(props.row.id)"
><q-tooltip>ลบผกรองเรยน</q-tooltip></q-btn
>
</q-td>
</q-tr>
</template>
</d-table>
</div>
</q-card>
</div>
<div class="col-xs-12 col-sm-3">
<q-select
:readonly="formData.status !== 'NEW'"
for="#investigationDetail"
outlined
hide-bottom-space
dense
lazy-rules
ref="investigationDetailRef"
:rules="[(val) => !!val || `${'กรุณาเลือกลักษณะการสืบสวน'}`]"
v-model="formData.investigationDetail"
:options="investigateFactStore.investigationDetailOp"
label="ลักษณะการสืบสวน"
emit-value
map-options
option-label="name"
option-value="id"
use-input
@filter="(inputValue: any,
doneFn: Function) => filterFnOptionsType(inputValue, doneFn, 'investigationOp'
)"
><template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
ไมอม
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</div>
<div v-if="formData.investigationDetail === 'OTHER'" class="col-12">
<q-input
for="#investigationDetailOther"
@ -949,7 +998,8 @@ onMounted(async () => {
flat
round
color="red"
icon="mdi-delete"
icon="mdi-delete-outline"
@click="deleteDirector(props.row.id)"
>
<q-tooltip>ลบขอม</q-tooltip>
</q-btn>
@ -1137,7 +1187,10 @@ onMounted(async () => {
><q-tooltip>ปโหลดเอกสาร</q-tooltip></q-btn
>
</div>
<div class="col-12 q-mt-sm">
<div
class="col-12 q-mt-sm"
v-if="formData.disciplineInvestigateRelevantDocs.length === 0"
>
<q-card class="q-pa-md" bordered> ไมรายการเอกสาร </q-card>
</div>
<q-list separator class="full-width q-mt-md">
@ -1205,6 +1258,7 @@ onMounted(async () => {
<div class="col-12"><q-separator /></div>
<div class="col-xs-12 q-pa-sm row">
<q-file
v-if="formData.status === 'NEW'"
class="col-11 q-mt-sm"
for="#documentFile"
outlined
@ -1264,6 +1318,7 @@ onMounted(async () => {
</div>
<div>
<q-btn
v-if="formData.status === 'NEW'"
dense
flat
round