diff --git a/src/modules/10_order/components/step/step01.vue b/src/modules/10_order/components/step/step01.vue index b72df7f8b..6e1539111 100644 --- a/src/modules/10_order/components/step/step01.vue +++ b/src/modules/10_order/components/step/step01.vue @@ -31,6 +31,7 @@ const route = useRoute(); const router = useRouter(); const orderId = route.params.orderid; +const orderId_paramsName = route.name; const props = defineProps({ next: { @@ -115,6 +116,12 @@ const conclusionFireResolution = ref(""); const conclusionTranferNo = ref(""); const conclusionTranferDate = ref(new Date()); +// C-PM-25-32 +const faultLevel = ref(""); +const caseFault = ref(""); +const result = ref(""); +const refRaw = ref(""); + const typeOrderFilter = ref({ typeOrderOption: [], }); @@ -143,20 +150,44 @@ watch(nameCommand, async () => { positionCommand.value = nameCommand.value.positionName; } }); + +const commandCodes = ref([ + "C-PM-19", + "C-PM-20", + "C-PM-25", + "C-PM-26", + "C-PM-27", + "C-PM-28", + "C-PM-29", + "C-PM-30", + "C-PM-31", + "C-PM-32", +]); // เรียกคำสั่ง const fecthTypeOption = async (actions: string) => { showLoader(); await http .get(config.API.typeOrder()) .then((res) => { - typeOrderOption.value = res.data.result.map((e: OrederResult) => ({ + const response = res.data.result; + const filterRes = response.filter((e: any) => + commandCodes.value.includes(e.commandCode) + ); + + const data = + orderId_paramsName === "OrderDetail" || + orderId_paramsName === "OrderAdd" + ? response + : filterRes; + + typeOrderOption.value = data.map((e: OrederResult) => ({ id: e.id, name: e.name, category: e.category, commandCode: e.commandCode, fullname: e.commandCode + " " + e.name, })); - typeOrderFilter.value = res.data.result.map((e: OrederResult) => ({ + typeOrderFilter.value = data.map((e: OrederResult) => ({ id: e.id, name: e.name, category: e.category, @@ -246,6 +277,12 @@ const fetchdetailOrder = async () => { conclusionTranferNo.value = data.conclusionTranferNo; conclusionTranferDate.value = data.conclusionTranferDate; + // 25-32 + faultLevel.value = data.faultLevel; + caseFault.value = data.caseFault; + result.value = data.result; + refRaw.value = data.refRaw; + fecthExamRoundOption(data.orderTypeCode); }) .catch((e) => { @@ -324,6 +361,11 @@ const selectCMP = (selectOrder: OrederResult) => { // 24 conclusionTranferNo.value = ""; conclusionTranferDate.value = new Date(); + // 25-32 + faultLevel.value = ""; + caseFault.value = ""; + result.value = ""; + refRaw.value = ""; }; // เรียกรอบการสอบ const fecthExamRoundOption = async (commandCode: string) => { @@ -456,6 +498,22 @@ const submit = async () => { conclusionTranferNo: conclusionTranferNo.value, conclusionTranferDate: conclusionTranferDate.value, }); + } else if ( + typeOrder.value.commandCode == "C-PM-25" || + typeOrder.value.commandCode == "C-PM-26" || + typeOrder.value.commandCode == "C-PM-27" || + typeOrder.value.commandCode == "C-PM-28" || + typeOrder.value.commandCode == "C-PM-29" || + typeOrder.value.commandCode == "C-PM-30" || + typeOrder.value.commandCode == "C-PM-31" || + typeOrder.value.commandCode == "C-PM-32" + ) { + Object.assign(formdata, { + faultLevel: faultLevel.value, + caseFault: caseFault.value, + result: result.value, + refRaw: refRaw.value, + }); } // เช็คค่าว่าง @@ -1894,6 +1952,71 @@ const getClass = (val: boolean) => { + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
diff --git a/src/modules/11_discipline/components/9_Order/TableOrder.vue b/src/modules/11_discipline/components/9_Order/TableOrder.vue index 046e16740..da9c57edc 100644 --- a/src/modules/11_discipline/components/9_Order/TableOrder.vue +++ b/src/modules/11_discipline/components/9_Order/TableOrder.vue @@ -18,6 +18,17 @@ const props = defineProps({ /** ข้อมูลที่เเสดงใน คอลัม */ const columns = ref([ + { + name: "no", + align: "left", + label: "ลำดับ ", + sortable: true, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, { name: "orderName", align: "left", @@ -29,6 +40,7 @@ const columns = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, + { name: "orderNo", align: "left", @@ -38,6 +50,62 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, + { + name: "faultLevel", + align: "left", + label: "ระดับความผิด", + sortable: true, + field: "faultLevel", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "caseFault", + align: "left", + label: "กรณีความผิด", + sortable: true, + field: "caseFault", + 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: "result", + align: "left", + label: "ผลดำเนินการพิจารณา", + sortable: true, + field: "result", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "refRaw", + align: "left", + label: "อ้างอิงมาตราตามกฎหมาย", + sortable: true, + field: "refRaw", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { name: "orderTypeName", align: "left", @@ -95,8 +163,14 @@ const columns = ref([ ]); /** หัวตาราง */ const visibleColumns = ref([ + "no", "orderName", "orderNo", + "faultLevel", + "caseFault", + "fullName", + "result", + "refRaw", "orderTypeName", "orderDate", "orderByOrganization", @@ -167,6 +241,9 @@ const redirectToPage = (id?: string, status?: string) => { :props="props" @click="redirectToPage(props.row.orderId, props.row.OrderStatus)" > +
+ {{ props.rowIndex + 1 }} +
{{ col.value }}
diff --git a/src/modules/11_discipline/interface/response/order.ts b/src/modules/11_discipline/interface/response/order.ts index 26b27a7c5..d3f754f80 100644 --- a/src/modules/11_discipline/interface/response/order.ts +++ b/src/modules/11_discipline/interface/response/order.ts @@ -13,6 +13,11 @@ interface DataList { orderTypeValue: string; signatoryBy: string; signatoryPosition: string; + faultLevel: string; + caseFault: string; + fullName: string; + result: string; + refRaw: string; } interface DataListRes { @@ -30,6 +35,11 @@ interface DataListRes { orderTypeValue: string; signatoryBy: string; signatoryPosition: string; + faultLevel: string; + caseFault: string; + fullName: string; + result: string; + refRaw: string; } export type { DataList, DataListRes }; diff --git a/src/modules/11_discipline/store/OrderStore.ts b/src/modules/11_discipline/store/OrderStore.ts index daef1bf0e..82c9f5272 100644 --- a/src/modules/11_discipline/store/OrderStore.ts +++ b/src/modules/11_discipline/store/OrderStore.ts @@ -34,6 +34,11 @@ export const useOrderStore = defineStore("DisciplineOrder", () => { orderTypeValue: e.orderTypeValue, signatoryBy: e.signatoryBy, signatoryPosition: e.signatoryPosition, + faultLevel: e.faultLevel ?? "-", + caseFault: e.caseFault ?? "-", + fullName: e.fullName ?? "-", + result: e.result ?? "-", + refRaw: e.refRaw ?? "-", })); mainData.value = datalist; filterListOrder("", "ทั้งหมด", 0);