ส่งหนังสือเวียน
This commit is contained in:
parent
64152f72d9
commit
e39809b0d0
3 changed files with 77 additions and 50 deletions
|
|
@ -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">
|
||||
|
|
|
|||
27
src/modules/06_retirement/interface/response/Deceased.ts
Normal file
27
src/modules/06_retirement/interface/response/Deceased.ts
Normal 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 };
|
||||
Loading…
Add table
Add a link
Reference in a new issue