ส่งหนังสือเวียน

This commit is contained in:
setthawutttty 2023-09-01 17:51:21 +07:00
parent 64152f72d9
commit e39809b0d0
3 changed files with 77 additions and 50 deletions

View file

@ -9,12 +9,8 @@ import type { treeTab } from "@/modules/05_placement/interface/index/Main";
import http from "@/plugins/http";
import config from "@/app.config";
import type { QTableProps } from "quasar";
import type {
ResponseOrganiz,
ResponseCopyOrder,
DataCopyOrder,
} from "@/modules/05_placement/interface/response/Order";
import type { RequestCopyOrder } from "@/modules/05_placement/interface/request/Order";
import type { requestSendNoti,DataCopyOrder,ResponseOrganiz } from "@/modules/06_retirement/interface/response/Deceased";
import { useRouter, useRoute } from "vue-router";
const router = useRouter();
const route = useRoute();
@ -160,9 +156,24 @@ const rows = ref<DataCopyOrder[]>([]);
const editRows = ref<DataCopyOrder[]>([]);
onMounted(async () => {
await conditionId();
await getData();
// await getList();
});
const getList = async () => {
showLoader();
await http.get(config.API.detailByidDeceased(profileId.value))
.then((res) => {
const data = res.data.result
console.log(data)
}).catch((e) => {
messageError($q, e);
})
.finally(async () => {
hideLoader();
});
}
const listModal = async (id: string) => {
showLoader();
await http
@ -192,40 +203,31 @@ const listModal = async (id: string) => {
});
};
const conditionId = async () => {
const id = route.params.orderid
? route.params.orderid.toString()
: localStorage.getItem("orderId")
? localStorage.getItem("orderId")
: null;
if (id !== null) {
await getData(id);
}
};
const getData = async (id: string) => {
const getData = async () => {
showLoader();
await http
.get(config.API.copyOrderId(id))
.get(config.API.detailByidDeceased(profileId.value))
.then((res) => {
const data = res.data.result;
// console.log(data);
let list: DataCopyOrder[] = [];
data.map((r: ResponseCopyOrder) => {
data.map((r: any) => {
let selectCopyOrder = [];
if (r.emailChannel) {
if (r.isSendMail) {
selectCopyOrder.push(1);
}
if (r.inboxChannel) {
if (r.isSendInbox) {
selectCopyOrder.push(2);
}
list.push({
personalId: r.personalId ?? "",
name: r.name ?? "",
idCard: r.idCard ?? "",
position: r.position ?? "",
unit: r.unit ?? "",
id:r.id,
personalId: r.profileId ?? "",
name:`${r.prefix}${r.firstName} ${r.lastName}`,
idCard: r.citizenId ?? "",
position: r.positionName ?? "",
unit: r.organizationName ?? "-",
send: "",
mutiselect: selectCopyOrder,
});
@ -250,29 +252,22 @@ const getData = async (id: string) => {
};
const saveData = async () => {
// console.log("select", selectedModal.value);
const id = route.params.orderid
? route.params.orderid.toString()
: localStorage.getItem("orderId")
? localStorage.getItem("orderId")
: null;
if (id !== null) {
showLoader();
const persons = selectedModal.value.map(item => ({ profileId: item.profileId }));
const dataToSend = { Persons: persons };
await http
.post(config.API.copyOrderPersonsId(id), selectedModal.value)
.put(config.API.detailByidDeceased(profileId.value), dataToSend)
.then((res) => {
// const data = res.data.result;
// console.log(res);
})
.catch((e) => {
messageError($q, e);
})
.finally(async () => {
await conditionId();
clickClose();
// hideLoader();
getData();
hideLoader();
});
}
};
const resetFilter = () => {
@ -304,6 +299,7 @@ const clickAdd = async () => {
};
const clickDelete = (id: string) => {
console.log(id)
dialogRemove(
$q,
() => deleteData(id),
@ -335,10 +331,8 @@ const onSelected = async (id: string) => {
const deleteData = async (id: string) => {
await http
.delete(config.API.copyOrderId(id))
.delete(config.API.detailByidDeceased(id))
.then((res) => {
// const data = res.data.result;
// console.log(res);
success($q, "ลบข้อมูลสำเร็จ");
})
.catch((e) => {
@ -346,7 +340,7 @@ const deleteData = async (id: string) => {
})
.finally(async () => {
// hideLoader();
await conditionId();
await getData();
});
};
@ -361,18 +355,19 @@ const saveDataCopyOrder = async () => {
};
const fetchSaveCopyOrder = async () => {
let list: RequestCopyOrder[] = [];
let list: requestSendNoti[] = [];
rows.value.map((r: DataCopyOrder) => {
list.push({
personalId: r.personalId,
emailChannel: r.mutiselect.includes(1),
inboxChannel: r.mutiselect.includes(2),
profileId: r.personalId,
isSendMail: r.mutiselect.includes(1),
isSendInbox: r.mutiselect.includes(2),
isSendNotification: true,
});
});
showLoader();
await http
.put(config.API.copyOrder, list)
.put(config.API.notiDeceased(profileId.value), {Persons:list})
.then((res: any) => {
success($q, "บันทึกข้อมูลสำเร็จ");
next();
@ -382,6 +377,7 @@ const fetchSaveCopyOrder = async () => {
})
.finally(() => {
hideLoader();
getData()
});
};
@ -514,13 +510,14 @@ const updateData = (row: DataCopyOrder) => {
</q-select>
</q-td>
<q-td auto-width>
<q-btn
dense
size="12px"
flat
round
color="red"
@click="clickDelete(props.row.personalId)"
@click="clickDelete(props.row.id)"
icon="mdi-delete"
>
<q-tooltip>ลบขอม</q-tooltip>
@ -628,6 +625,7 @@ const updateData = (row: DataCopyOrder) => {
:filter="filterModal"
row-key="profileId"
selection="multiple"
v-model:selected="selectedModal"
>
<template v-slot:header-selection="scope">

View file

@ -0,0 +1,27 @@
interface requestSendNoti {
profileId: string;
isSendMail: boolean;
isSendInbox: boolean;
isSendNotification: boolean;
}
interface DataCopyOrder {
id:string;
personalId: string;
name: string;
idCard: string;
position: string;
unit: string;
send: string;
mutiselect: number[];
}
interface ResponseOrganiz {
firstName: string;
idCard: string;
lastName: string;
name: string;
position: string;
prefixId: string;
profileId: string;
unit: string;
}
export type { requestSendNoti,DataCopyOrder,ResponseOrganiz };