Merge branch 'develop' into devTee
This commit is contained in:
commit
be098be411
10 changed files with 119 additions and 71 deletions
|
|
@ -147,6 +147,22 @@ export const useOrderPlacementDataStore = defineStore("placementOrder", () => {
|
|||
return "อนุญาตให้ลูกจ้างประจำลาออกจากราชการ";
|
||||
case "C-PM-24":
|
||||
return "แต่งตั้งลูกจ้างประจำ";
|
||||
case "C-PM-25":
|
||||
return "พักจากราชการ";
|
||||
case "C-PM-26":
|
||||
return "ให้ออกจากราชการไว้ก่อน";
|
||||
case "C-PM-27":
|
||||
return "ลงโทษภาคทัณฑ์ข้าราชการ";
|
||||
case "C-PM-28":
|
||||
return "ลงโทษตัดเงินเดือนข้าราชการ";
|
||||
case "C-PM-29":
|
||||
return "ลงโทษลดขั้นเงินเดือนข้าราชการ";
|
||||
case "C-PM-30":
|
||||
return "งดโทษ/ลดโทษ/เพิ่มโทษ/ยกโทษ";
|
||||
case "C-PM-31":
|
||||
return "งดโทษข้าราชการ";
|
||||
case "C-PM-32":
|
||||
return "ยุติเรื่องข้าราชการ";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ watch(
|
|||
:modal="modalPopup"
|
||||
:close="closePopup"
|
||||
title="ส่งไปสอบสวน"
|
||||
:rows="mainStore.rowsAdd"
|
||||
:rows="mainStore.rowsAdd.filter((item:any)=> item.isSend === false )"
|
||||
:columns="mainStore.columnsDirector"
|
||||
:visibleColumns="mainStore.visibleColumnsDirector"
|
||||
@return-person="emitPerson"
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import type {
|
|||
MyObjectInvestigateRef,
|
||||
} from "@/modules/11_discipline/interface/request/investigateFact";
|
||||
|
||||
import type {
|
||||
ArrayPersonAdd
|
||||
} from '@/modules/11_discipline/interface/response/investigate'
|
||||
import type { ArrayPersonAdd } from "@/modules/11_discipline/interface/response/investigate";
|
||||
import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
|
||||
|
|
@ -275,8 +273,10 @@ watch(props.data, async () => {
|
|||
formData.investigationExtendHistory = props.data.investigationExtendHistory;
|
||||
|
||||
mainStore.rowsAdd = props.data.persons;
|
||||
mainStore.rowsCheck = mainStore.rowsAdd.filter((item:any)=> item.isSend === false )
|
||||
console.log(mainStore.rowsCheck)
|
||||
mainStore.rowsCheck = mainStore.rowsAdd.filter(
|
||||
(item: any) => item.isSend === false
|
||||
);
|
||||
|
||||
const dataMap = props.data.directors.map((item: any) => ({
|
||||
id: item.id,
|
||||
name: `${item.prefix}${item.firstName} ${item.lastName}`,
|
||||
|
|
@ -518,16 +518,21 @@ function inputEditExtend(val: boolean) {
|
|||
}
|
||||
}
|
||||
|
||||
function openModal(){
|
||||
modalPopup.value = true
|
||||
function openModal() {
|
||||
modalPopup.value = true;
|
||||
}
|
||||
function closePopup() {
|
||||
modalPopup.value = false;
|
||||
}
|
||||
|
||||
function fetchData() {
|
||||
setTimeout(() => {
|
||||
props.getData();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function emitPerson(data: FormData[]) {
|
||||
const dataMapId = data.map((item: FormData) => item.id);
|
||||
console.log(dataMapId);
|
||||
showLoader();
|
||||
http
|
||||
.post(config.API.investigateReport(), {
|
||||
|
|
@ -1514,6 +1519,7 @@ onMounted(async () => {
|
|||
:visibleColumns="mainStore.visibleColumnsDirector"
|
||||
@return-person="emitPerson"
|
||||
:checked-val="false"
|
||||
:fetch-data="fetchData"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ async function onSubmit(id: string) {
|
|||
|
||||
/** ยืนยัน ส่งไปออกคำสั่ง */
|
||||
async function sentIssue() {
|
||||
respondentRows.value = await store.rowSent.filter((x) => x.report === false); //x.report === false
|
||||
respondentRows.value = await store.rowSent.filter((x) => x.report === false && x.isSend === false); //x.report === false
|
||||
modalPopup.value = true;
|
||||
}
|
||||
|
||||
|
|
@ -341,13 +341,13 @@ function emitPerson(data: PersonsArray[]) {
|
|||
persons: dataMapId,
|
||||
})
|
||||
.then((res) => {
|
||||
success($q, "ส่งไปพักราชการสำเร็จ");
|
||||
// router.push(`/discipline/investigatefacts`);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
success($q, "ส่งไปพักราชการสำเร็จ");
|
||||
hideLoader();
|
||||
fetchDetailDisciplinary();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import type {
|
|||
FormData,
|
||||
DisciplinaryRef,
|
||||
Director,
|
||||
PersonsArray
|
||||
PersonsArray,
|
||||
} from "@/modules/11_discipline/interface/request/disciplinary";
|
||||
import type {
|
||||
DataOption,
|
||||
|
|
@ -302,7 +302,9 @@ async function fetchDatadetail() {
|
|||
formData.disciplinaryExtendHistory = props.data.disciplinaryExtendHistory;
|
||||
|
||||
mainStore.rowsAdd = props.data.persons;
|
||||
mainStore.rowsCheck = mainStore.rowsAdd.filter((item:any)=> item.isSend === false )
|
||||
mainStore.rowsCheck = mainStore.rowsAdd.filter(
|
||||
(item: any) => item.isSend === false
|
||||
);
|
||||
/** MAP รายชื่อกรรมการ หน้าหลัก */
|
||||
const dataMap = props.data.director.map((item: any) => ({
|
||||
id: item.directorId,
|
||||
|
|
@ -491,13 +493,19 @@ function inputEditExtend(val: boolean) {
|
|||
}
|
||||
}
|
||||
|
||||
function openModal(){
|
||||
modalPopup.value = true
|
||||
function openModal() {
|
||||
modalPopup.value = true;
|
||||
}
|
||||
function closePopup() {
|
||||
modalPopup.value = false;
|
||||
}
|
||||
|
||||
function fetchDataList() {
|
||||
setTimeout(() => {
|
||||
props.fetchData();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function emitPerson(data: PersonsArray[]) {
|
||||
const dataMapId = data.map((item: PersonsArray) => item.id);
|
||||
showLoader();
|
||||
|
|
@ -545,7 +553,7 @@ onMounted(async () => {
|
|||
<div class="row col-12 q-col-gutter-x-md">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
for="SelectrespondentType"
|
||||
v-model="formData.respondentType"
|
||||
|
|
@ -579,7 +587,7 @@ onMounted(async () => {
|
|||
</template>
|
||||
</q-select>
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
class="col-xs-12 col-sm-3"
|
||||
v-if="formData.respondentType === 'ORGANIZATION'"
|
||||
|
|
@ -915,13 +923,12 @@ onMounted(async () => {
|
|||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="q-pa-sm">
|
||||
|
||||
<div class="q-col-gutter-sm row col-12">
|
||||
<div class="col-12">
|
||||
<div class="row q-col-gutter-sm">
|
||||
<div v-if="extendStatus" class="col-3">
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
for="#daysExtend"
|
||||
outlined
|
||||
|
|
@ -1409,7 +1416,7 @@ onMounted(async () => {
|
|||
@update:model-value="changeFormData()"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-input
|
||||
:readonly="isReadonly"
|
||||
|
|
@ -1464,7 +1471,7 @@ onMounted(async () => {
|
|||
<div class="row col-12 q-col-gutter-md">
|
||||
<div class="col-3">
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:class="inputEdit(isReadonly)"
|
||||
for="#fault"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -1503,7 +1510,7 @@ onMounted(async () => {
|
|||
class="col-3"
|
||||
>
|
||||
<q-select
|
||||
:class="inputEdit(isReadonly)"
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
for="#fault"
|
||||
outlined
|
||||
|
|
@ -1535,7 +1542,7 @@ onMounted(async () => {
|
|||
|
||||
<div class="row col-12">
|
||||
<q-input
|
||||
:class="inputEdit(isReadonly)"
|
||||
:class="inputEdit(isReadonly)"
|
||||
:readonly="isReadonly"
|
||||
class="full-width cursor-pointer"
|
||||
outlined
|
||||
|
|
@ -1668,8 +1675,8 @@ onMounted(async () => {
|
|||
:visibleColumns="mainStore.visibleColumnsDirector"
|
||||
@return-person="emitPerson"
|
||||
:checked-val="false"
|
||||
:fetch-data="fetchDataList"
|
||||
/>
|
||||
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
|
|
|||
|
|
@ -8,12 +8,15 @@ import DialogAddPersonal from "@/components/Dialogs/AddPersonal.vue";
|
|||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useAppealComplainStore } from "@/modules/11_discipline/store/AppealComplainStore";
|
||||
import { useDisciplineMainStore } from "@/modules/11_discipline/store/main";
|
||||
import DialogHistory from '@/modules/11_discipline/components/8_AppealComplain/dialog/DialogEditStatus.vue'
|
||||
import DialogHistory from "@/modules/11_discipline/components/8_AppealComplain/dialog/DialogEditStatus.vue";
|
||||
|
||||
import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
|
||||
import type { MyObjectAppealRef,HistoryStatusType } from "@/modules/11_discipline/interface/response/appealComplain";
|
||||
import type {
|
||||
MyObjectAppealRef,
|
||||
HistoryStatusType,
|
||||
} from "@/modules/11_discipline/interface/response/appealComplain";
|
||||
const isReadonly = ref<boolean>(false); // อ่านได้อย่างเดียว
|
||||
const mainStore = useDisciplineMainStore();
|
||||
const router = useRouter();
|
||||
|
|
@ -35,7 +38,7 @@ const props = defineProps({
|
|||
});
|
||||
|
||||
const $q = useQuasar();
|
||||
const modalHistory = ref<boolean>(false)
|
||||
const modalHistory = ref<boolean>(false);
|
||||
const statusCheck = ref<string>("");
|
||||
const modalPerson = ref<boolean>(false);
|
||||
const mixin = useCounterMixin();
|
||||
|
|
@ -52,11 +55,13 @@ const dataStore = useAppealComplainStore();
|
|||
|
||||
const modalEdit = ref<boolean>(false);
|
||||
|
||||
const historyStatusOb = reactive<HistoryStatusType[]>([{
|
||||
status: "",
|
||||
createdFullName: "",
|
||||
createdAt: new Date(),
|
||||
}]);
|
||||
const historyStatusOb = reactive<HistoryStatusType[]>([
|
||||
{
|
||||
status: "",
|
||||
createdFullName: "",
|
||||
createdAt: new Date(),
|
||||
},
|
||||
]);
|
||||
|
||||
const formData = reactive<any>({
|
||||
profileId: "xx",
|
||||
|
|
@ -87,10 +92,15 @@ const objectAppeal: MyObjectAppealRef = {
|
|||
};
|
||||
|
||||
/** หัวข้อที่เเสดงในตารางผู้ถูกร้องเรียน */
|
||||
const visibleColumns = ref<string[]>(["no", "citizenId", "fullname","oc",'position']);
|
||||
const visibleColumns = ref<string[]>([
|
||||
"no",
|
||||
"citizenId",
|
||||
"fullname",
|
||||
"oc",
|
||||
"position",
|
||||
]);
|
||||
/** หัวตารางผู้ถูกร้องเรียน */
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
|
|
@ -191,7 +201,6 @@ function inputEdit(val: boolean) {
|
|||
"full-width cursor-pointer inputgreen ": val,
|
||||
"full-width cursor-pointer inputgreen": !val,
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function uploadFile() {
|
||||
|
|
@ -279,8 +288,8 @@ function close() {
|
|||
modalHistory.value = false;
|
||||
}
|
||||
|
||||
function historyStatus(){
|
||||
modalHistory.value = true
|
||||
function historyStatus() {
|
||||
modalHistory.value = true;
|
||||
}
|
||||
|
||||
function onSubmit() {
|
||||
|
|
@ -322,7 +331,6 @@ onMounted(() => {
|
|||
<div class="q-pa-md">
|
||||
<div class="q-gutter-y-sm">
|
||||
<div class="row q-gutter-x-sm">
|
||||
|
||||
<div class="col-3">
|
||||
<q-select
|
||||
ref="typeRef"
|
||||
|
|
@ -385,7 +393,7 @@ onMounted(() => {
|
|||
>
|
||||
ผู้ยื่นอุทธณ์/ร้องทุกข์
|
||||
<q-btn
|
||||
v-if="!isReadonly"
|
||||
v-if="!isReadonly"
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
|
|
@ -562,8 +570,9 @@ onMounted(() => {
|
|||
</q-card>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- อัพโหลดไฟล์ -->
|
||||
<div class="col-sm-12 col-md-3">
|
||||
<div v-if="isReadonly" class="col-sm-12 col-md-3">
|
||||
<q-card bordered class="row col-12" style="border: 1px solid #d6dee1">
|
||||
<div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
อัปโหลดไฟล์เอกสารหลักฐาน
|
||||
|
|
@ -660,9 +669,9 @@ onMounted(() => {
|
|||
/>
|
||||
|
||||
<DialogHistory
|
||||
:modal="modalHistory"
|
||||
:close="close"
|
||||
:data="formData.historyStatus"
|
||||
:modal="modalHistory"
|
||||
:close="close"
|
||||
:data="formData.historyStatus"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -235,19 +235,21 @@ const redirectToPage = (id?: string, status?: string) => {
|
|||
</q-tr>
|
||||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="redirectToPage(props.row.orderId, props.row.OrderStatus)"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div>
|
||||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="redirectToPage(props.row.orderId, props.row.OrderStatus)"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div>
|
||||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,10 @@ const props = defineProps({
|
|||
type: Function,
|
||||
default: () => "",
|
||||
},
|
||||
fetchData: {
|
||||
type: Function,
|
||||
default: () => console.log("function fetchData"),
|
||||
},
|
||||
rows: {
|
||||
type: Array,
|
||||
default: [],
|
||||
|
|
@ -66,7 +70,8 @@ function onclickSend() {
|
|||
$q,
|
||||
async () => {
|
||||
// success($q, `ส่งข้อมูล${props.title}สำเร็จ`);
|
||||
emit("returnPerson", selected.value);
|
||||
await emit("returnPerson", selected.value);
|
||||
props.fetchData();
|
||||
props.close?.();
|
||||
},
|
||||
`ยืนยันการ${props.title}`,
|
||||
|
|
|
|||
|
|
@ -113,8 +113,9 @@ function downloadFile(link: string) {
|
|||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div v-if="!isReadonly" class="row">
|
||||
<div class="col-11 q-pa-sm">
|
||||
<div class="col-12 q-pa-sm row">
|
||||
<q-file
|
||||
class="col-11"
|
||||
outlined
|
||||
dense
|
||||
ref="fileRef"
|
||||
|
|
@ -129,19 +130,20 @@ function downloadFile(link: string) {
|
|||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
<div class="col-1 self-center text-center">
|
||||
<q-btn
|
||||
v-if="file"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
color="add"
|
||||
icon="mdi-upload"
|
||||
@click="uploadFile()"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
|
||||
<div class="col-1 self-center">
|
||||
<q-btn
|
||||
v-if="file"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
color="add"
|
||||
icon="mdi-upload"
|
||||
@click="uploadFile()"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ interface Persons {
|
|||
organization: string; //สังกัด
|
||||
name: string;
|
||||
report?: boolean;
|
||||
isSend?: boolean;
|
||||
}
|
||||
interface PersonsArray {
|
||||
id: string; //id อ้างอิง profile
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue