diff --git a/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue b/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue index 55f4aaf49..9e58ff370 100644 --- a/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue +++ b/src/modules/03_recruiting/views/02_qualify/PeriodAdd.vue @@ -316,7 +316,7 @@ > -->
-
+
@@ -1049,7 +1049,7 @@ const filterPayment = ref(""); //search data table const filterPosition = ref(""); //search data table const edit = ref(false); const rowsPayment = ref([]); -const rowsPosition = ref([]); +const rowsPosition = ref([]); const visibleColumnsPayment = ref([ "accountNumber", "bankName", @@ -1152,16 +1152,18 @@ onMounted(async () => { id.value = route.params.id.toString(); await fetchData(); } else { + pay.value = ""; edit.value = false; } - await fetchOrganizationShortName(); - if ( - organizationShortName.value != null && - organizationShortName.value.id != null - ) - await fetchOrganizationOrganization(organizationShortName.value.id); - if (organizationName.value != null && organizationName.value.id != null) - await fetchPositionPath(organizationName.value.id); + // await fetchOrganizationShortName(); + // if ( + // organizationShortName.value != null && + // organizationShortName.value.id != null + // ) + // await fetchOrganizationOrganization(organizationShortName.value.id); + // if (organizationName.value != null && organizationName.value.id != null) + // await fetchPositionPath(organizationName.value.id); + await fetchPositionPath("test"); }); const clickBack = () => { @@ -1575,7 +1577,7 @@ const clickAddPosition = () => { if (result) { rowsPosition.value.push({ id: "00000000-0000-0000-0000-000000000000", - position: { id: "", name: "" }, + position: null, type: { id: "normol", name: "ทั่วไป" }, highDegree: false, }); diff --git a/src/modules/05_placement/components/Transfer/transferRegistry.vue b/src/modules/05_placement/components/Transfer/transferRegistry.vue index d581a69ae..2ad3d424b 100644 --- a/src/modules/05_placement/components/Transfer/transferRegistry.vue +++ b/src/modules/05_placement/components/Transfer/transferRegistry.vue @@ -69,14 +69,14 @@ const downloadFile = (response: any, filename: string) => { link.click(); document.body.removeChild(link); }; -const fileDownload = async (no: number, type: string) => { +const fileDownload = async (no: number, type: string, fileName: string) => { showLoader(); await http .get(config.API.reportTransferFile(no, type, id.value), { responseType: "blob", }) .then(async (res) => { - downloadFile(res, `_ครั้งที่.${type}`); + downloadFile(res, `${fileName}.${type}`); }) .catch((e) => { messageError($q, e); @@ -464,7 +464,7 @@ onMounted(async () => { round color="red" icon="picture_as_pdf" - @click="fileDownload(props.row.no, 'pdf')" + @click="fileDownload(props.row.no, 'pdf', props.row.fileName)" > ไฟล์ PDF @@ -474,7 +474,7 @@ onMounted(async () => { round color="blue" icon="mdi-file-word" - @click="fileDownload(props.row.no, 'docx')" + @click="fileDownload(props.row.no, 'docx', props.row.fileName)" > ไฟล์ WORD diff --git a/src/modules/06_retirement/components/Discharged/DialogSendToCommand.vue b/src/modules/06_retirement/components/Discharged/DialogSendToCommand.vue new file mode 100644 index 000000000..1d7b279e3 --- /dev/null +++ b/src/modules/06_retirement/components/Discharged/DialogSendToCommand.vue @@ -0,0 +1,257 @@ + + diff --git a/src/modules/06_retirement/components/Discharged/dischargedMain.vue b/src/modules/06_retirement/components/Discharged/dischargedMain.vue index 8ea120eea..72b5954f5 100644 --- a/src/modules/06_retirement/components/Discharged/dischargedMain.vue +++ b/src/modules/06_retirement/components/Discharged/dischargedMain.vue @@ -1,5 +1,5 @@ + diff --git a/src/modules/06_retirement/components/DismissOrder/DismissOrder.vue b/src/modules/06_retirement/components/DismissOrder/DismissOrder.vue index 04b1853aa..7802c3aae 100644 --- a/src/modules/06_retirement/components/DismissOrder/DismissOrder.vue +++ b/src/modules/06_retirement/components/DismissOrder/DismissOrder.vue @@ -1,5 +1,5 @@ + diff --git a/src/modules/06_retirement/components/Expulsion/expulsionMain.vue b/src/modules/06_retirement/components/Expulsion/expulsionMain.vue index 7cdd9a527..7543d229f 100644 --- a/src/modules/06_retirement/components/Expulsion/expulsionMain.vue +++ b/src/modules/06_retirement/components/Expulsion/expulsionMain.vue @@ -1,28 +1,20 @@ + diff --git a/src/modules/06_retirement/components/resign/Resign.vue b/src/modules/06_retirement/components/resign/Resign.vue index 4418b53f4..24e49de71 100644 --- a/src/modules/06_retirement/components/resign/Resign.vue +++ b/src/modules/06_retirement/components/resign/Resign.vue @@ -4,7 +4,7 @@ import { useQuasar } from "quasar"; import { useRouter } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; import { useRetirementDataStore } from "@/modules/06_retirement/store"; -import DialogHeader from "@/modules/06_retirement/components/DialogHeader.vue"; +import DialogSendToCommand from "@/modules/06_retirement/components/resign/DialogSendToCommand.vue"; import http from "@/plugins/http"; import config from "@/app.config"; import type { QTableProps } from "quasar"; @@ -15,7 +15,7 @@ const { statusText } = RetirementData; const $q = useQuasar(); //ใช้ noti quasar const router = useRouter(); const mixin = useCounterMixin(); -const { messageError, date2Thai, showLoader, hideLoader, success } = mixin; +const { messageError, date2Thai, showLoader, hideLoader } = mixin; const rows = ref([]); const columns = ref([ @@ -135,109 +135,6 @@ const visibleColumns = ref([ const filters = ref([]); const rows2 = ref([]); -const columns2 = ref([ - { - name: "no", - align: "left", - label: "ลำดับ", - sortable: false, - field: "no", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - { - name: "fullname", - align: "left", - label: "ชื่อ-นามสกุล", - sortable: true, - field: "fullname", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - - { - name: "positionTypeOld", - align: "left", - label: "ตำแหน่งในสายงาน", - sortable: true, - field: "positionTypeOld", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - { - name: "positionLevelOld", - align: "left", - label: "ระดับ", - sortable: true, - field: "positionLevelOld", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - { - name: "positionNumberOld", - align: "left", - label: "เลขที่", - sortable: true, - field: "positionNumberOld", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - { - name: "organizationPositionOld", - align: "left", - label: "สังกัด", - sortable: true, - field: "organizationPositionOld", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, - { - name: "datetext", - align: "left", - label: "วันที่ดำเนินการ", - sortable: true, - field: "datetext", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - sortOrder: "da", - }, - { - name: "statustext", - align: "left", - label: "สถานะ", - sortable: true, - field: "statustext", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - sort: (a: string, b: string) => - a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), - }, -]); -const visibleColumns2 = ref([ - "no", - "fullname", - "positionTypeOld", - "positionLevelOld", - "positionNumberOld", - "organizationPositionOld", - "datetext", - "statustext", -]); - const modal = ref(false); const filterKeyword2 = ref(""); //ค้นหา คอลัมน์ คอลัมน์ที่แสดง @@ -245,14 +142,12 @@ const filterKeyword = ref(""); const filterRef = ref(null); const openModal = () => (modal.value = true); -const closeModal = () => (modal.value = false); -const selected = ref([]); -const checkSelected = computed(() => { - if (selected.value.length === 0) { - return true; - } -}); +// ปิดโมเดล +const closeModal = () => { + modal.value = false; + filterKeyword2.value = ""; +}; const resetFilter = () => { filterKeyword.value = ""; @@ -317,30 +212,6 @@ const fecthlist = async () => { hideLoader(); }); }; - -//ส่งไปออกคำสั่ง -const saveOrder = async () => { - const id = selected.value.map((r) => r.id); - const body = { - id, - }; - - showLoader(); - await http - .post(config.API.resignReport, body) - .then((res: any) => { - success($q, "ส่งไปออกคำสั่งลาออกสำเร็จ"); - closeModal(); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(async () => { - await fecthlist(); - hideLoader(); - }); -}; - const pagination = ref({ sortBy: "datetext", descending: true, @@ -467,124 +338,12 @@ const pagination = ref({
- - - - - -
-
- - - - - - -
-
- - - - - - -
- - - - -
-
+ diff --git a/src/modules/06_retirement/components/resign/ResignByid.vue b/src/modules/06_retirement/components/resign/ResignByid.vue index 2f9499e88..6e2c8469b 100644 --- a/src/modules/06_retirement/components/resign/ResignByid.vue +++ b/src/modules/06_retirement/components/resign/ResignByid.vue @@ -173,15 +173,15 @@ const fetchData = async (id: string) => { hideLoader(); }); }; -const downloadFile = (response: any, filename: string) => { - const link = document.createElement("a"); - var fileName = filename; - link.href = window.URL.createObjectURL(new Blob([response.data])); - link.setAttribute("download", fileName); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); -}; +// const downloadFile = (response: any, filename: string) => { +// const link = document.createElement("a"); +// var fileName = filename; +// link.href = window.URL.createObjectURL(new Blob([response.data])); +// link.setAttribute("download", fileName); +// document.body.appendChild(link); +// link.click(); +// document.body.removeChild(link); +// }; const popUp = (action: "pass" | "passNot") => { reasonReign.value = ""; @@ -214,12 +214,10 @@ const confirmpopUp = async () => { await http .put(config.API.resignConfirm(roleUser.value, id.value), body) .then(() => { - console.log("ยืนยัน"); success($q, "การอนุมัติสำเร็จ"); closeModal(); }) .catch((e) => { - console.log(e); messageError($q, e); }) .finally(() => { diff --git a/src/modules/07_insignia/components/2_Manage/Tab1.vue b/src/modules/07_insignia/components/2_Manage/Tab1.vue index 2c1c66a72..9cf092545 100644 --- a/src/modules/07_insignia/components/2_Manage/Tab1.vue +++ b/src/modules/07_insignia/components/2_Manage/Tab1.vue @@ -1,7 +1,7 @@ diff --git a/src/modules/07_insignia/components/report/ReportView.vue b/src/modules/07_insignia/components/report/ReportView.vue index 05a0ad78b..057c4339b 100644 --- a/src/modules/07_insignia/components/report/ReportView.vue +++ b/src/modules/07_insignia/components/report/ReportView.vue @@ -18,14 +18,14 @@ const nextPage = (type: string, title: string) => {
- + { showLoader(); await http .get(config.API.listOrder()) - .then((res: any) => { - rows.value = res.data.result.map((e: any) => ({ + .then((res) => { + rows.value = res.data.result.map((e: OrderResult) => ({ orderId: e.orderId, Order: e.orderName, OrderNum: @@ -155,7 +156,7 @@ const OriginalDataFetch = async () => { orderTypeValue: e.orderTypeValue, })); }) - .catch((e: any) => { + .catch((e) => { messageError($q, e); }) .finally(async () => { @@ -240,13 +241,13 @@ const OrderStatusFilter = async () => { }; // ค้นหาในตาราง const filterKeyword = ref(""); -const filterRef = ref(null); +const filterRef = ref(null); const resetFilter = () => { filterKeyword.value = ""; filterRef.value.focus(); }; -const attrs = ref(useAttrs()); +const attrs = ref(useAttrs()); // ค้นหาประเภท และ สถานะ const searchFilterTable = async () => { if (OrderType.value == "ทั้งหมด") { diff --git a/src/modules/10_order/components/PopupHistory.vue b/src/modules/10_order/components/PopupHistory.vue index b1ccab9dd..7aa815deb 100644 --- a/src/modules/10_order/components/PopupHistory.vue +++ b/src/modules/10_order/components/PopupHistory.vue @@ -6,6 +6,11 @@ import type { QForm } from "quasar"; import { useCounterMixin } from "@/stores/mixin"; import { useQuasar } from "quasar"; import { useRouter } from "vue-router"; +import { + history, + ColumnData, + DataOptionInsigniaType, +} from "../interface/index/Main.ts"; const myForm = ref(); const mixin = useCounterMixin(); @@ -17,7 +22,7 @@ const props = defineProps({ OrderTypeOption: Object, }); -const OrderTypeOption = ref([]); +const OrderTypeOption = ref([]); const modal = ref(false); const employeeClass = ref(""); @@ -25,7 +30,7 @@ const reportType = ref(""); const reportYear = ref(); const reportNo = ref(""); -const columns = ref([ +const columns = ref([ { name: "no", label: "ลำดับ", @@ -67,14 +72,14 @@ const columns = ref([ style: "font-size: 14px", }, ]); -const rows = ref([]); +const rows = ref([]); // เปิด popup ประวัติ const clickOpenpopup = () => { modal.value = true; employeeClass.value = ""; if (props.OrderTypeOption != undefined) { OrderTypeOption.value = props.OrderTypeOption.filter( - (e: any) => e.name !== "ทั้งหมด" + (e: DataOptionInsigniaType) => e.name !== "ทั้งหมด" ); reportType.value = OrderTypeOption.value[0].name; let currentDate = new Date(); @@ -99,7 +104,7 @@ const clickSearch = async () => { .then((res) => { let data = res.data.result; if (data.length !== 0) { - rows.value = data.map((e: any) => ({ + rows.value = data.map((e: history) => ({ id: e.id, citizenId: e.citizenId, name: e.fullName, diff --git a/src/modules/10_order/interface/index/Main.ts b/src/modules/10_order/interface/index/Main.ts index 45d341f54..e770515ad 100644 --- a/src/modules/10_order/interface/index/Main.ts +++ b/src/modules/10_order/interface/index/Main.ts @@ -195,6 +195,50 @@ interface Assign { createdAt: Date; updatedAt: Date; } +interface OrderResult { + fiscalYear: string + orderBy: string + orderById: string + orderByOrganization: string + orderDate: Date + orderId: string + orderName: string + orderNo: string + orderStatusName: string + orderStatusValue: string + orderTypeName: string + orderTypeValue: string + signatoryBy: string + signatoryPosition: string +} +interface history { + citizenId: string, + fullName: string, + id: string + posNo: string, + position: string + +} +interface ColumnData { + name: string; + align: string; + label: string; + field: string; + headerStyle: string; + style: string; +} +interface DataOptionInsigniaType { + category: string; + commandCode: string; + createdAt: string; + createdFullName: string; + createdUserId: string; + id: string; + lastUpdateFullName: string; + lastUpdateUserId: string; + lastUpdatedAt: string | null; + name: string; +} export type { DataOption, DataOptionInsignia, @@ -213,6 +257,10 @@ export type { optionData, Certificate, Assign, + OrderResult, + history, + ColumnData, + DataOptionInsigniaType }; export { AddressDataDefualt, FamilyDataDefualt };