API เรื่องร้องเรียน
This commit is contained in:
parent
005cfd37c2
commit
bd17556d3c
8 changed files with 312 additions and 276 deletions
|
|
@ -7,26 +7,30 @@ import { useQuasar } from "quasar";
|
|||
import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
|
||||
const $q = useQuasar()
|
||||
const mixin = useCounterMixin()
|
||||
const $q = useQuasar();
|
||||
const mixin = useCounterMixin();
|
||||
|
||||
const { showLoader,hideLoader } = mixin
|
||||
const { showLoader, hideLoader, success, messageError } = mixin;
|
||||
const router = useRouter();
|
||||
|
||||
/** บันทึกข้อมูล */
|
||||
async function onSubmit (data:any) {
|
||||
async function onSubmit(data: any) {
|
||||
/** post */
|
||||
showLoader()
|
||||
showLoader();
|
||||
http
|
||||
.post(config.API.complaintAdd(),
|
||||
data
|
||||
).then((res)=>{
|
||||
console.log(res)
|
||||
}).catch(()=>{})
|
||||
.finally(()=>{})
|
||||
console.log("add",data);
|
||||
router.push(`/discipline/complaints`);
|
||||
};
|
||||
.post(config.API.complaintAdd(), data)
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
router.push(`/discipline/complaints/${res.data.result}`);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div class="col-xs-12 col-sm-12 col-md-11">
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@ import Form from "@/modules/11_discipline/components/1_Complaint/Form.vue";
|
|||
import Popup from "@/modules/11_discipline/components/1_Complaint/Popup.vue";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import { useQuasar } from "quasar";
|
||||
|
||||
import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
|
||||
import type {
|
||||
FormData,
|
||||
ArrayPerson,
|
||||
|
|
@ -13,7 +17,7 @@ import { useCounterMixin } from "@/stores/mixin";
|
|||
|
||||
const $q = useQuasar();
|
||||
const mixin = useCounterMixin();
|
||||
const { dialogConfirm } = mixin;
|
||||
const { dialogConfirm, showLoader, hideLoader, success, messageError } = mixin;
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const id = ref<string>(route.params.id as string);
|
||||
|
|
@ -22,25 +26,28 @@ const modalPopup = ref<boolean>(false);
|
|||
|
||||
/** ข้อมูล v-model ของฟอร์ม */
|
||||
const personOj = reactive<ArrayPerson>({
|
||||
personId:'',
|
||||
idcard: "",
|
||||
name: "",
|
||||
positionNo: "",
|
||||
prefix:'',
|
||||
firstName:'',
|
||||
lastName:'',
|
||||
posNo: "",
|
||||
position: "",
|
||||
positionLevel: "",
|
||||
salary: "",
|
||||
salary: null,
|
||||
organization: "",
|
||||
});
|
||||
|
||||
const fileListOj = reactive<ArrayFileList>({
|
||||
id: "",
|
||||
file: "",
|
||||
pathName: "",
|
||||
fileName: "",
|
||||
fileType: "",
|
||||
});
|
||||
|
||||
const data = reactive<FormData>({
|
||||
respondentType: "",
|
||||
office: "",
|
||||
organizationId: "",
|
||||
consideredAgency: "",
|
||||
title: "",
|
||||
description: "",
|
||||
|
|
@ -52,79 +59,123 @@ const data = reactive<FormData>({
|
|||
complaintFrom: "",
|
||||
appellant: "",
|
||||
documentFile: null,
|
||||
complaintStatus: "",
|
||||
organizationId: "",
|
||||
status: "",
|
||||
persons: [personOj],
|
||||
personId: [],
|
||||
respondentId: [],
|
||||
fileList: [fileListOj],
|
||||
rejectReason: null,
|
||||
disciplineComplaintDocs: [fileListOj],
|
||||
});
|
||||
|
||||
/** ดึงค่าจาก api */
|
||||
const fetchData = async () => {
|
||||
data.respondentType = "PERSON";
|
||||
data.office = "0";
|
||||
data.consideredAgency = "2";
|
||||
data.title = "ทุจริตในหน้าที่";
|
||||
data.description = "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน";
|
||||
data.dateReceived = new Date("2023-11-05");
|
||||
data.dateConsideration = new Date("2023-11-07T14:58:00");
|
||||
data.offenseDetails = "NOT_SPECIFIED";
|
||||
data.levelConsideration = "NORMAL";
|
||||
data.dateNotification = new Date("2023-11-07T14:58:00");
|
||||
data.complaintFrom = "สตง";
|
||||
data.appellant = "สมศรี สุขใจ";
|
||||
data.documentFile = "";
|
||||
data.complaintStatus = "NEW";
|
||||
(data.persons = [
|
||||
{
|
||||
idcard: "1529900022223",
|
||||
name: "นางศิรินภา คงน้อย",
|
||||
positionNo: "สกก.1",
|
||||
position: "ธุรการ",
|
||||
positionLevel: "ต้น",
|
||||
salary: "10000",
|
||||
organization: "สกจ.",
|
||||
},
|
||||
]),
|
||||
(data.fileList = [
|
||||
{
|
||||
id: "08dbeb08-1931-487d-8989-0725ce48031d",
|
||||
file: "https://s3cluster.frappet.com/bma-ehr-fpt/edb095bf-8898-4ef8-ad60-daaf60991b8f?AWSAccessKeyId=frappet&Expires=1700657567&Signature=7Do0YexqpTJGA4DQPKzJ5YtvyJg%3D",
|
||||
fileName: "ex_slip.jpeg.png14",
|
||||
fileType: "image/png",
|
||||
},
|
||||
{
|
||||
id: "08dbeb08-392b-41b8-8970-78934f317469",
|
||||
file: "https://s3cluster.frappet.com/bma-ehr-fpt/5a32c821-46d6-4bbc-9824-b777f154702e?AWSAccessKeyId=frappet&Expires=1700657567&Signature=HlNAjybBNPqGAYJtHIefNRofz1E%3D",
|
||||
fileName: "17058616.jpg",
|
||||
fileType: "image/jpeg",
|
||||
},
|
||||
{
|
||||
id: "08dbeb08-3e41-4500-8476-6bdd76f0b6c8",
|
||||
file: "https://s3cluster.frappet.com/bma-ehr-fpt/1bf5ef61-05f3-4cb1-98a5-dd2698b49440?AWSAccessKeyId=frappet&Expires=1700657567&Signature=WAlAjPbX%2BUoO0zY7m1jDEb3ovvA%3D",
|
||||
fileName: "17058616.jpg",
|
||||
fileType: "image/jpeg",
|
||||
},
|
||||
{
|
||||
id: "08dbeb08-428f-483b-8d50-718e947d012e",
|
||||
file: "https://s3cluster.frappet.com/bma-ehr-fpt/d848952a-54af-4502-b235-1f01f441d86c?AWSAccessKeyId=frappet&Expires=1700657568&Signature=3L9QfaWLCHmZjeS2UttVM3se6W0%3D",
|
||||
fileName: "HybGoQu8osQ49G7AzCOvYF4G.png",
|
||||
fileType: "image/png",
|
||||
},
|
||||
{
|
||||
id: "08dbeb08-8aa5-4264-87bf-1794be50f0c7",
|
||||
file: "https://s3cluster.frappet.com/bma-ehr-fpt/ac55b1f8-54f6-43c4-9f85-c236d24e7d76?AWSAccessKeyId=frappet&Expires=1700657568&Signature=isN3RM3P4%2BP5lgK5%2F45h1U5pabI%3D",
|
||||
fileName: "1300399ปปปป.jpg",
|
||||
fileType: "image/jpeg",
|
||||
},
|
||||
]);
|
||||
};
|
||||
// const fetchData = async () => {
|
||||
// data.respondentType = "PERSON";
|
||||
// data.organizationId = "0";
|
||||
// data.consideredAgency = "2";
|
||||
// data.title = "ทุจริตในหน้าที่";
|
||||
// data.description = "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน";
|
||||
// data.dateReceived = new Date("2023-11-05");
|
||||
// data.dateConsideration = new Date("2023-11-07T14:58:00");
|
||||
// data.offenseDetails = "NOT_SPECIFIED";
|
||||
// data.levelConsideration = "NORMAL";
|
||||
// data.dateNotification = new Date("2023-11-07T14:58:00");
|
||||
// data.complaintFrom = "สตง";
|
||||
// data.appellant = "สมศรี สุขใจ";
|
||||
// data.documentFile = "";
|
||||
// data.complaintStatus = "NEW";
|
||||
// (data.persons = [
|
||||
// {
|
||||
// idcard: "1529900022223",
|
||||
// name: "นางศิรินภา คงน้อย",
|
||||
// positionNo: "สกก.1",
|
||||
// position: "ธุรการ",
|
||||
// positionLevel: "ต้น",
|
||||
// salary: "10000",
|
||||
// organization: "สกจ.",
|
||||
// },
|
||||
// ]),
|
||||
// (data.fileList = [
|
||||
// {
|
||||
// id: "08dbeb08-1931-487d-8989-0725ce48031d",
|
||||
// file: "https://s3cluster.frappet.com/bma-ehr-fpt/edb095bf-8898-4ef8-ad60-daaf60991b8f?AWSAccessKeyId=frappet&Expires=1700657567&Signature=7Do0YexqpTJGA4DQPKzJ5YtvyJg%3D",
|
||||
// fileName: "ex_slip.jpeg.png14",
|
||||
// fileType: "image/png",
|
||||
// },
|
||||
// {
|
||||
// id: "08dbeb08-392b-41b8-8970-78934f317469",
|
||||
// file: "https://s3cluster.frappet.com/bma-ehr-fpt/5a32c821-46d6-4bbc-9824-b777f154702e?AWSAccessKeyId=frappet&Expires=1700657567&Signature=HlNAjybBNPqGAYJtHIefNRofz1E%3D",
|
||||
// fileName: "17058616.jpg",
|
||||
// fileType: "image/jpeg",
|
||||
// },
|
||||
// {
|
||||
// id: "08dbeb08-3e41-4500-8476-6bdd76f0b6c8",
|
||||
// file: "https://s3cluster.frappet.com/bma-ehr-fpt/1bf5ef61-05f3-4cb1-98a5-dd2698b49440?AWSAccessKeyId=frappet&Expires=1700657567&Signature=WAlAjPbX%2BUoO0zY7m1jDEb3ovvA%3D",
|
||||
// fileName: "17058616.jpg",
|
||||
// fileType: "image/jpeg",
|
||||
// },
|
||||
// {
|
||||
// id: "08dbeb08-428f-483b-8d50-718e947d012e",
|
||||
// file: "https://s3cluster.frappet.com/bma-ehr-fpt/d848952a-54af-4502-b235-1f01f441d86c?AWSAccessKeyId=frappet&Expires=1700657568&Signature=3L9QfaWLCHmZjeS2UttVM3se6W0%3D",
|
||||
// fileName: "HybGoQu8osQ49G7AzCOvYF4G.png",
|
||||
// fileType: "image/png",
|
||||
// },
|
||||
// {
|
||||
// id: "08dbeb08-8aa5-4264-87bf-1794be50f0c7",
|
||||
// file: "https://s3cluster.frappet.com/bma-ehr-fpt/ac55b1f8-54f6-43c4-9f85-c236d24e7d76?AWSAccessKeyId=frappet&Expires=1700657568&Signature=isN3RM3P4%2BP5lgK5%2F45h1U5pabI%3D",
|
||||
// fileName: "1300399ปปปป.jpg",
|
||||
// fileType: "image/jpeg",
|
||||
// },
|
||||
// ]);
|
||||
// };
|
||||
|
||||
async function getData() {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.complaintbyId(id.value))
|
||||
.then((res) => {
|
||||
const dataList = res.data.result;
|
||||
data.respondentType = dataList.respondentType
|
||||
data.organizationId = dataList.organizationId
|
||||
data.consideredAgency = dataList.consideredAgency
|
||||
data.title = dataList.title
|
||||
data.description = dataList.description
|
||||
data.dateReceived = dataList.dateReceived
|
||||
data.levelConsideration = dataList.levelConsideration
|
||||
data.dateConsideration = dataList.dateConsideration
|
||||
data.offenseDetails = dataList.offenseDetails
|
||||
data.dateNotification = dataList.dateNotification
|
||||
data.complaintFrom = dataList.complaintFrom
|
||||
data.appellant = dataList.appellant
|
||||
data.status = dataList.status
|
||||
data.persons = dataList.persons
|
||||
data.rejectReason = dataList.rejectReason
|
||||
data.disciplineComplaintDocs = dataList.disciplineComplaintDocs
|
||||
|
||||
console.log('list', dataList.persons)
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
/** ฟังชั่น แก้ไข */
|
||||
async function onSubmit() {
|
||||
console.log("edit");
|
||||
router.push(`/discipline/complaints`);
|
||||
async function onSubmit(data:any) {
|
||||
showLoader()
|
||||
http
|
||||
.put(config.API.complaintbyId(id.value),data)
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
router.push(`/discipline/complaints`);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
});
|
||||
console.log("edit",data);
|
||||
// router.push(`/discipline/complaints`);
|
||||
}
|
||||
|
||||
/** ยืนยัน มีมูลส่งไปสืบสวน */
|
||||
|
|
@ -179,7 +230,8 @@ function confirmCancelInvestigate() {
|
|||
/** เรียกใช้งาน ฟังชั่น ตอนเริ่มโหลดหน้า */
|
||||
onMounted(() => {
|
||||
console.log(data);
|
||||
fetchData();
|
||||
// fetchData();
|
||||
getData();
|
||||
});
|
||||
</script>
|
||||
<template>
|
||||
|
|
@ -199,19 +251,19 @@ onMounted(() => {
|
|||
<q-space />
|
||||
<div class="q-gutter-x-sm">
|
||||
<q-btn
|
||||
v-if="data.complaintStatus === 'NEW'"
|
||||
v-if="data.status === 'NEW'"
|
||||
label="มีมูลส่งไปสืบสวน"
|
||||
color="public"
|
||||
@click="sentInvestigate"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="data.complaintStatus === 'NEW'"
|
||||
v-if="data.status === 'NEW'"
|
||||
label="ยุติเรื่อง"
|
||||
color="red-7"
|
||||
@click="endInvestigate"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="data.complaintStatus === 'STOP'"
|
||||
v-if="data.status === 'STOP'"
|
||||
label="ยกเลิกการยุติเรื่อง"
|
||||
color="red-7"
|
||||
@click="cancelInvestigate"
|
||||
|
|
@ -220,7 +272,6 @@ onMounted(() => {
|
|||
</div>
|
||||
|
||||
<Form :on-submit="onSubmit" :data="data" />
|
||||
|
||||
<Popup :modal="modalPopup" :close="closePopup" />
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ const dateNotificationRef = ref<Object | null>(null);
|
|||
const complaintFromRef = ref<Object | null>(null);
|
||||
const appellantRef = ref<Object | null>(null);
|
||||
|
||||
const fileList = ref<ArrayFileList[]>()
|
||||
const fileList = ref<ArrayFileList[]>([]);
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
const props = defineProps({
|
||||
data: {
|
||||
|
|
@ -59,12 +59,10 @@ const props = defineProps({
|
|||
},
|
||||
});
|
||||
|
||||
|
||||
const fileListOj = reactive<ArrayFileList>({
|
||||
id: "",
|
||||
file: "",
|
||||
pathName: "",
|
||||
fileName: "",
|
||||
fileType: "",
|
||||
});
|
||||
|
||||
const formData = reactive<FormData>({
|
||||
|
|
@ -81,9 +79,10 @@ const formData = reactive<FormData>({
|
|||
complaintFrom: "",
|
||||
appellant: "",
|
||||
documentFile: null,
|
||||
complaintStatus: "",
|
||||
status: "",
|
||||
rejectReason: null,
|
||||
persons: [],
|
||||
fileList:fileList.value?? null
|
||||
disciplineComplaintDocs: fileList.value ?? null,
|
||||
});
|
||||
|
||||
/** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */
|
||||
|
|
@ -153,11 +152,11 @@ const columns = ref<QTableProps["columns"]>([
|
|||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "positionNo",
|
||||
name: "posNo",
|
||||
align: "left",
|
||||
label: "ตำแหน่งเลขที่",
|
||||
sortable: true,
|
||||
field: "positionNo",
|
||||
field: "posNo",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -204,7 +203,7 @@ const visibleColumns = ref<string[]>([
|
|||
"no",
|
||||
"idcard",
|
||||
"name",
|
||||
'positionNo',
|
||||
"posNo",
|
||||
"position",
|
||||
"positionLevel",
|
||||
"salary",
|
||||
|
|
@ -304,8 +303,13 @@ function onSubmit() {
|
|||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
console.log(formData);
|
||||
props.onSubmit(formData);
|
||||
if(complainstStore.rowsAdd){
|
||||
formData.persons = complainstStore.rowsAdd
|
||||
props.onSubmit(formData)
|
||||
}else(
|
||||
props.onSubmit(formData)
|
||||
)
|
||||
// props.onSubmit(formData);
|
||||
},
|
||||
"ยืนยันการบันทึกข้อมูล",
|
||||
"ต้องการยืนยันการบันทึกข้อมูลนี้หรือไม่ ?"
|
||||
|
|
@ -315,42 +319,6 @@ function onSubmit() {
|
|||
/**ชั่งฟังเพิ่มข้อมูล ลง ตาราง */
|
||||
const modal = ref<boolean>(false);
|
||||
const toggleModal = () => (modal.value = !modal.value);
|
||||
async function addPerson() {
|
||||
const listData: DataAddRequest[] = [
|
||||
{
|
||||
id: "001",
|
||||
idcard: "0000000000001",
|
||||
name: "นางศิรินภา คงน้อย",
|
||||
positionNo: "สกก.1",
|
||||
position: "ตำเเหน่ง1",
|
||||
positionLevel: "level1",
|
||||
salary: "10000",
|
||||
organization: "สำนักงาน 1",
|
||||
},
|
||||
{
|
||||
id: "002",
|
||||
idcard: "0000000000002",
|
||||
name: "นายแก้ว คำ",
|
||||
positionNo: "สกก.1",
|
||||
position: "ตำแหน่ง2",
|
||||
positionLevel: "level2",
|
||||
salary: "1000",
|
||||
organization: "สำนักงาน 2",
|
||||
},
|
||||
{
|
||||
id: "003",
|
||||
idcard: "0000000000003",
|
||||
name: "นายภัทรานุย คงนอย",
|
||||
positionNo: "สกก.1",
|
||||
position: "ตำแหน่ง2",
|
||||
positionLevel: "level3",
|
||||
salary: "100",
|
||||
organization: "สำนักงาน 3",
|
||||
},
|
||||
];
|
||||
await complainstStore.fetchComplainstAdd(listData);
|
||||
toggleModal();
|
||||
}
|
||||
|
||||
/**
|
||||
* เปิดลิงค์ไฟล์
|
||||
|
|
@ -362,7 +330,7 @@ function downloadFile(link: string) {
|
|||
|
||||
/**
|
||||
* ลบไฟล์
|
||||
* @param id id file
|
||||
* @param id id file
|
||||
*/
|
||||
function deleteFile(id: string) {
|
||||
dialogRemove($q, () => confirmDelete(id));
|
||||
|
|
@ -382,6 +350,9 @@ function confirmDelete(id: string) {
|
|||
* เก็บข้อมูลลง formData
|
||||
*/
|
||||
watch(props.data, async () => {
|
||||
fileList.value = props.data.disciplineComplaintDocs;
|
||||
complainstStore.fetchComplainstAdd(props.data.persons);
|
||||
|
||||
formData.respondentType = props.data.respondentType;
|
||||
formData.organizationId = props.data.organizationId;
|
||||
formData.consideredAgency = props.data.consideredAgency;
|
||||
|
|
@ -395,9 +366,9 @@ watch(props.data, async () => {
|
|||
formData.complaintFrom = props.data.complaintFrom;
|
||||
formData.appellant = props.data.appellant;
|
||||
formData.documentFile = props.data.documentFile;
|
||||
formData.complaintStatus = props.data.complaintStatus;
|
||||
complainstStore.fetchComplainstAdd(props.data.persons);
|
||||
fileList.value = props.data.fileList
|
||||
formData.status = props.data.status;
|
||||
formData.persons = complainstStore.rowsAdd
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
@ -405,20 +376,23 @@ watch(props.data, async () => {
|
|||
* @param returnData ค่าที่ได้คืนมา
|
||||
*/
|
||||
function handleSave(returnData: any) {
|
||||
console.log("returnData:", returnData);
|
||||
formData.persons = returnData
|
||||
addPerson(returnData);
|
||||
toggleModal();
|
||||
}
|
||||
|
||||
function getOc(){
|
||||
http
|
||||
.get(config.API.typeOc())
|
||||
.then((res)=>{
|
||||
const data = res.data.result
|
||||
complainstStore.ocListFn(data)
|
||||
})
|
||||
async function addPerson(data:any) {
|
||||
await complainstStore.fetchComplainstAdd(data);
|
||||
toggleModal();
|
||||
}
|
||||
|
||||
function getOc() {
|
||||
http.get(config.API.typeOc()).then((res) => {
|
||||
const data = res.data.result;
|
||||
complainstStore.ocListFn(data);
|
||||
});
|
||||
}
|
||||
onMounted(() => {
|
||||
getOc()
|
||||
getOc();
|
||||
complainstStore.columns = columns.value;
|
||||
complainstStore.visibleColumns = visibleColumns.value;
|
||||
});
|
||||
|
|
@ -437,8 +411,8 @@ onMounted(() => {
|
|||
dense
|
||||
outlined
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
label="ผู้ถูกร้องเรียน"
|
||||
option-value="id"
|
||||
|
|
@ -477,8 +451,8 @@ onMounted(() => {
|
|||
dense
|
||||
hide-bottom-space
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
outlined
|
||||
option-label="name"
|
||||
|
|
@ -505,8 +479,8 @@ onMounted(() => {
|
|||
option-value="id"
|
||||
option-label="name"
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
hide-bottom-space
|
||||
emit-value
|
||||
|
|
@ -539,8 +513,8 @@ onMounted(() => {
|
|||
ผู้ถูกร้องเรียน
|
||||
<q-btn
|
||||
v-if="
|
||||
formData.complaintStatus === 'NEW' ||
|
||||
formData.complaintStatus === ''
|
||||
formData.status === 'NEW' ||
|
||||
formData.status === ''
|
||||
"
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -560,7 +534,7 @@ onMounted(() => {
|
|||
ref="table"
|
||||
:columns="complainstStore.columns"
|
||||
:rows="complainstStore.rowsAdd"
|
||||
row-key="interrogated"
|
||||
row-key="idcard"
|
||||
flat
|
||||
bordered
|
||||
:paging="true"
|
||||
|
|
@ -609,8 +583,8 @@ onMounted(() => {
|
|||
dense
|
||||
outlined
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
hide-bottom-space
|
||||
v-model="formData.title"
|
||||
|
|
@ -629,8 +603,8 @@ onMounted(() => {
|
|||
dense
|
||||
outlined
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
hide-bottom-space
|
||||
v-model="formData.description"
|
||||
|
|
@ -650,8 +624,8 @@ onMounted(() => {
|
|||
autoApply
|
||||
borderless
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
|
|
@ -669,8 +643,8 @@ onMounted(() => {
|
|||
outlined
|
||||
dense
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
hide-bottom-space
|
||||
class="full-width datepicker"
|
||||
|
|
@ -705,8 +679,8 @@ onMounted(() => {
|
|||
dense
|
||||
outlined
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
v-model="formData.levelConsideration"
|
||||
:options="levelConsiderationtoptions"
|
||||
|
|
@ -729,8 +703,8 @@ onMounted(() => {
|
|||
@update:model-value="selectLevel(formData.levelConsideration)"
|
||||
:locale="'th'"
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
autoApply
|
||||
borderless
|
||||
|
|
@ -756,8 +730,8 @@ onMounted(() => {
|
|||
: null
|
||||
"
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
label="วันที่กำหนดวันพิจารณา"
|
||||
hide-bottom-space
|
||||
|
|
@ -786,8 +760,8 @@ onMounted(() => {
|
|||
dense
|
||||
outlined
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
v-model="formData.offenseDetails"
|
||||
:options="offenseDetailstoptions"
|
||||
|
|
@ -809,8 +783,8 @@ onMounted(() => {
|
|||
:locale="'th'"
|
||||
autoApply
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
|
|
@ -829,8 +803,8 @@ onMounted(() => {
|
|||
outlined
|
||||
dense
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
hide-bottom-space
|
||||
class="full-width datepicker"
|
||||
|
|
@ -865,8 +839,8 @@ onMounted(() => {
|
|||
ref="complaintFromRef"
|
||||
dense
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
outlined
|
||||
v-model="formData.complaintFrom"
|
||||
|
|
@ -890,8 +864,8 @@ onMounted(() => {
|
|||
outlined
|
||||
v-model="formData.appellant"
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
label="ผู้ร้องเรียน"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกข้อมูล'}`]"
|
||||
|
|
@ -907,8 +881,8 @@ onMounted(() => {
|
|||
<div
|
||||
class="row col-12 q-pa-sm"
|
||||
v-if="
|
||||
formData.complaintStatus === 'NEW' ||
|
||||
formData.complaintStatus === ''
|
||||
formData.status === 'NEW' ||
|
||||
formData.status === ''
|
||||
"
|
||||
>
|
||||
<q-space />
|
||||
|
|
@ -925,8 +899,14 @@ onMounted(() => {
|
|||
</q-card>
|
||||
</div>
|
||||
|
||||
<div class="col-12 q-mt-sm">
|
||||
<div class="col-12 q-mt-sm q-mb-lg">
|
||||
<q-card flat bordered>
|
||||
<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="row q-ma-sm q-col-gutter-x-sm">
|
||||
<div class="col-11" id="documentFile">
|
||||
<q-file
|
||||
|
|
@ -935,8 +915,8 @@ onMounted(() => {
|
|||
dense
|
||||
class="fit"
|
||||
:readonly="
|
||||
formData.complaintStatus !== 'NEW' &&
|
||||
formData.complaintStatus !== ''
|
||||
formData.status !== 'NEW' &&
|
||||
formData.status !== ''
|
||||
"
|
||||
v-model="formData.documentFile"
|
||||
@added="fileUploadDoc"
|
||||
|
|
@ -947,7 +927,7 @@ onMounted(() => {
|
|||
clearable
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
<q-icon name="attach_file" color="primary" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
|
|
@ -964,13 +944,8 @@ onMounted(() => {
|
|||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="q-pa-md" v-if="fileList">
|
||||
<q-list
|
||||
bordered
|
||||
separator
|
||||
v-for="data in fileList"
|
||||
:key="data.id"
|
||||
>
|
||||
<div class="q-pa-md" v-if="fileList.length > 0">
|
||||
<q-list bordered separator v-for="data in fileList" :key="data.id">
|
||||
<q-item clickable v-ripple class="items-center">
|
||||
<q-item-section>{{ data.fileName }}</q-item-section>
|
||||
<q-space />
|
||||
|
|
@ -982,7 +957,7 @@ onMounted(() => {
|
|||
color="blue"
|
||||
class="q-ml-sm"
|
||||
icon="mdi-download"
|
||||
@click="downloadFile(data.file)"
|
||||
@click="downloadFile(data.pathName)"
|
||||
><q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -1003,6 +978,7 @@ onMounted(() => {
|
|||
</div>
|
||||
|
||||
<DialogAddPersonal
|
||||
:checkId="complainstStore.rowsAdd"
|
||||
:modal="modal"
|
||||
btn-title="เพิ่มรายชื่อผู้ถูกสอบสวน"
|
||||
:close="toggleModal"
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ async function getList() {
|
|||
|
||||
/** ไปยังหน้าเพิ่มข้อมูล */
|
||||
function redirectToPageadd() {
|
||||
complainstStore.fetchComplainstAdd([])
|
||||
router.push(`/discipline/complaints/add`);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue