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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.rowIndex + 1 }}
+
+
+ {{ props.row.fullname }}
+
+
+ {{ props.row.position }}
+
+
+ {{ props.row.positionLevel }}
+
+
+
+ {{ props.row.organizationPositionOld }}
+
+
+
+
+ {{ props.row.organization }}
+
+
+
+ {{ props.row.statustext }}
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.rowIndex + 1 }}
+
+
+ {{ props.row.fullname }}
+
+
+ {{ props.row.position }}
+
+
+ {{ props.row.positionLevel }}
+
+
+
+ {{ props.row.organizationPositionOld }}
+
+
+
+
+ {{ props.row.organization }}
+
+
+
+ {{ props.row.statustext }}
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.rowIndex + 1 }}
+
+
+ {{ props.row.fullname }}
+
+
+ {{ props.row.position }}
+
+
+ {{ props.row.positionLevel }}
+
+
+
+ {{ props.row.organizationPositionOld }}
+
+
+
+
+ {{ props.row.organization }}
+
+
+
+ {{ props.row.statustext }}
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.rowIndex + 1 }}
+
+
+ {{ props.row.prefix }}
+
+
+ {{ props.row.fullname }}
+
+
+ {{ props.row.positionTypeOld }}
+
+
+ {{ props.row.positionLevelOld }}
+
+
+ {{ props.row.positionNumberOld }}
+
+
+
+
+ {{ props.row.organizationPositionOld }}
+
+
+
+ {{ props.row.datetext }}
+
+
+ {{ props.row.statustext }}
+
+
+
+
+
+
+
+
+
+
+
+
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({
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ props.rowIndex + 1 }}
-
-
- {{ props.row.prefix }}
-
-
- {{ props.row.fullname }}
-
-
- {{ props.row.positionTypeOld }}
-
-
- {{ props.row.positionLevelOld }}
-
-
- {{ props.row.positionNumberOld }}
-
-
-
-
- {{ props.row.organizationPositionOld }}
-
-
-
- {{ props.row.datetext }}
-
-
- {{ props.row.statustext }}
-
-
-
-
-
-
-
-
-
-
-
+
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 @@
@@ -443,6 +472,52 @@ const requestSendNote = async () => {
+
+
+
+ อัปโหลดไฟล์
+
+
+
+
+
+ ดาวน์โหลด
+
+
+ ดาวน์โหลด
+
{
:click-close="closeModalPopupBackToEdit"
:savaForm="backToEdit"
/>
+
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 };