From f7ed037ba6585c23943c3d3dd327a41e3c628110 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Fri, 20 Jun 2025 18:12:39 +0700 Subject: [PATCH] fix filter placemrnt --- .../AppointEmployee/DialogOrders.vue | 70 ++++++-------- .../components/AppointMent/DialogOrders.vue | 95 +++++++++++-------- .../components/Receive/DialogOrders.vue | 63 +++++++----- .../05_placement/views/03_receiveMain.vue | 10 +- .../views/06_appointPromoteMain.vue | 22 ++++- .../views/07_appointEmployeeMain.vue | 10 +- .../05_placement/views/08_otherMain.vue | 12 ++- 7 files changed, 172 insertions(+), 110 deletions(-) diff --git a/src/modules/05_placement/components/AppointEmployee/DialogOrders.vue b/src/modules/05_placement/components/AppointEmployee/DialogOrders.vue index 1573d607c..4e1bbce3f 100644 --- a/src/modules/05_placement/components/AppointEmployee/DialogOrders.vue +++ b/src/modules/05_placement/components/AppointEmployee/DialogOrders.vue @@ -16,7 +16,13 @@ import DialogCreateCommand from "@/modules/18_command/components/DialogCreateCom const $q = useQuasar(); const storeCommand = useCommandMainStore(); const mixin = useCounterMixin(); -const { dialogConfirm, date2Thai, onSearchDataTable } = mixin; +const { + dialogConfirm, + date2Thai, + onSearchDataTable, + findOrgNameHtml, + findOrgName, +} = mixin; const { statusText } = useTransferDataStore(); const props = defineProps({ @@ -166,7 +172,14 @@ const columns2 = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", format: (val, row) => { - return `${row.root.position}${row.root.posTypeName}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + // return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""} ${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${findOrgName(row)}`; }, }, { @@ -429,44 +442,21 @@ watch(
-
-
- {{ - props.row.position !== null - ? props.row.position - : "" - }}{{ - (props.row.posTypeName !== null && - props.row.posTypeName === "บริหาร") || - props.row.posTypeName === "อำนวยการ" - ? `${props.row.posTypeName}` - : "" - }}{{ - props.row.posLevelName !== null - ? `${props.row.posLevelName}` - : "" - }} -
-
- {{ props.row.root !== null ? props.row.root : "" }} - {{ - props.row.rootShortName !== null - ? `(${props.row.rootShortName})` - : "" - }} -
-
- {{ - props.row.nodeName !== null - ? props.row.nodeName - : "-" - }} - {{ - props.row.nodeShortName !== null - ? `(${props.row.nodeShortName}${props.row.posMasterNo})` - : "" - }} -
+ {{ + props.row.position !== null ? props.row.position : "" + }} + {{ + props.row.posLevelName !== null + ? `${props.row.posLevelName}` + : "" + }} + {{ + props.row.nodeShortName !== null + ? `(${props.row.nodeShortName}${props.row.posMasterNo})` + : "" + }} +
+ {{ findOrgNameHtml(props.row) }}
diff --git a/src/modules/05_placement/components/AppointMent/DialogOrders.vue b/src/modules/05_placement/components/AppointMent/DialogOrders.vue index 3c34966b2..3949269d5 100644 --- a/src/modules/05_placement/components/AppointMent/DialogOrders.vue +++ b/src/modules/05_placement/components/AppointMent/DialogOrders.vue @@ -19,7 +19,13 @@ const $q = useQuasar(); const storeFn = useTransferDataStore(); const storeCommand = useCommandMainStore(); const { statusText } = storeFn; -const { dialogConfirm, onSearchDataTable, date2Thai } = useCounterMixin(); +const { + dialogConfirm, + onSearchDataTable, + date2Thai, + findOrgNameHtml, + findOrgName, +} = useCounterMixin(); /** * props @@ -163,7 +169,22 @@ const columns2 = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", format: (val, row) => { - return `${row.root.position}${row.root.posTypeName}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + // return `${row.root.position}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""}${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${ + row.positionExecutive !== null + ? `${row.positionExecutive}${ + row.positionExecutiveField + ? ` (${row.positionExecutiveField})` + : "" + }` + : "" + } ${findOrgName(row)}`; }, }, { @@ -436,44 +457,38 @@ watch(
-
-
- {{ - props.row.position !== null - ? props.row.position - : "-" - }}{{ - (props.row.posTypeName !== null && - props.row.posTypeName === "บริหาร") || - props.row.posTypeName === "อำนวยการ" - ? `${props.row.posTypeName}` - : "" - }}{{ - props.row.posLevelName !== null - ? `${props.row.posLevelName}` - : "" - }} -
-
- {{ props.row.root !== null ? props.row.root : "-" }} - {{ - props.row.rootShortName !== null - ? `(${props.row.rootShortName})` - : "" - }} -
-
- {{ - props.row.nodeName !== null - ? props.row.nodeName - : "" - }} - {{ - props.row.nodeShortName !== null - ? `(${props.row.nodeShortName}${props.row.posMasterNo})` - : "" - }} -
+ {{ + props.row.position !== null ? props.row.position : "" + }}{{ + props.row.posLevelName !== null + ? `${props.row.posLevelName}` + : "" + }} + + {{ + props.row.nodeShortName !== null + ? `(${props.row.nodeShortName}${props.row.posMasterNo})` + : "" + }} +
+ {{ + props.row.positionExecutive !== null + ? `${props.row.positionExecutive}${ + props.row.positionExecutiveField + ? ` (${props.row.positionExecutiveField})` + : "" + }` + : "" + }} +
+
+ {{ findOrgNameHtml(props.row) }}
diff --git a/src/modules/05_placement/components/Receive/DialogOrders.vue b/src/modules/05_placement/components/Receive/DialogOrders.vue index a5262cce7..cf552fc72 100644 --- a/src/modules/05_placement/components/Receive/DialogOrders.vue +++ b/src/modules/05_placement/components/Receive/DialogOrders.vue @@ -32,7 +32,13 @@ const dataMapToSend = computed(() => { })); }); const mixin = useCounterMixin(); -const { dialogConfirm, date2Thai, onSearchDataTable } = mixin; +const { + dialogConfirm, + date2Thai, + onSearchDataTable, + findOrgName, + findOrgNameHtml, +} = mixin; const rows = defineModel("rows", { required: true }); const rowsData = defineModel("rowsData", { required: true }); @@ -136,7 +142,14 @@ const columns2 = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), format: (val, row) => { - return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + // return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""}${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${findOrgName(row)}`; }, }, { @@ -324,29 +337,33 @@ watchEffect(() => {
-
-
- {{ props.row.root !== null ? props.row.root : "-" }} - {{ - props.row.rootShortName !== null - ? `(${props.row.rootShortName})` - : "" - }} -
-
- {{ - props.row.nodeName !== null - ? props.row.nodeName - : "" - }} - {{ - props.row.nodeShortName !== null - ? `(${props.row.nodeShortName}${props.row.posMasterNo})` - : "" - }} -
+ {{ props.row.position !== null ? props.row.position : "" + }}{{ + props.row.posLevelName !== null + ? `${props.row.posLevelName}` + : "" + }} + {{ + props.row.nodeShortName !== null + ? `(${props.row.nodeShortName}${props.row.posMasterNo})` + : "" + }} + +
+ {{ findOrgNameHtml(props.row) }}
+
{{ col.value ? col.value : "-" }}
diff --git a/src/modules/05_placement/views/03_receiveMain.vue b/src/modules/05_placement/views/03_receiveMain.vue index 02830028f..07429f5b4 100644 --- a/src/modules/05_placement/views/03_receiveMain.vue +++ b/src/modules/05_placement/views/03_receiveMain.vue @@ -38,6 +38,7 @@ const { dialogRemove, onSearchDataTable, findOrgNameHtml, + findOrgName, } = mixin; const status = ref(""); @@ -163,7 +164,14 @@ const columns = ref([ sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), format: (val, row) => { - return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + // return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""}${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${findOrgName(row)}`; }, }, { diff --git a/src/modules/05_placement/views/06_appointPromoteMain.vue b/src/modules/05_placement/views/06_appointPromoteMain.vue index 7859676c9..b65d53f18 100644 --- a/src/modules/05_placement/views/06_appointPromoteMain.vue +++ b/src/modules/05_placement/views/06_appointPromoteMain.vue @@ -37,6 +37,7 @@ const { dialogRemove, onSearchDataTable, findOrgNameHtml, + findOrgName, } = useCounterMixin(); const status = ref(""); @@ -147,9 +148,24 @@ const columns = ref([ field: "organizationName", headerStyle: "font-size: 14px", style: "font-size: 14px", - // format: (val, row) => { - // return `${row.root.position}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; - // }, + format: (val, row) => { + // return `${row.root.position}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""}${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${ + row.positionExecutive !== null + ? `${row.positionExecutive}${ + row.positionExecutiveField + ? ` (${row.positionExecutiveField})` + : "" + }` + : "" + } ${findOrgName(row)}`; + }, }, { name: "dateOfBirth", diff --git a/src/modules/05_placement/views/07_appointEmployeeMain.vue b/src/modules/05_placement/views/07_appointEmployeeMain.vue index 80d500bb7..e91ba4c50 100644 --- a/src/modules/05_placement/views/07_appointEmployeeMain.vue +++ b/src/modules/05_placement/views/07_appointEmployeeMain.vue @@ -36,6 +36,7 @@ const { dialogRemove, onSearchDataTable, findOrgNameHtml, + findOrgName, } = mixin; const status = ref(""); @@ -166,7 +167,14 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", format: (val, row) => { - return `${row.root.position}${row.root.posTypeName}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + // return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""} ${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${findOrgName(row)}`; }, }, { diff --git a/src/modules/05_placement/views/08_otherMain.vue b/src/modules/05_placement/views/08_otherMain.vue index ac3e91c5d..0e56a9951 100644 --- a/src/modules/05_placement/views/08_otherMain.vue +++ b/src/modules/05_placement/views/08_otherMain.vue @@ -35,6 +35,7 @@ const { dialogRemove, onSearchDataTable, findChildNameHtml, + findOrgName, } = useCounterMixin(); const modal = ref(false); @@ -134,8 +135,15 @@ const columns = ref([ label: "ตำแหน่ง/หน่วยงานที่บรรจุกลับ", sortable: true, field: "organizationPositionReturn", - format(val, row) { - return row.organizationPositionReturn.replace(/\n/g, " "); + format: (val, row) => { + // return `${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`; + return `${row.position !== null ? row.position : ""}${ + row.posLevelName !== null ? `${row.posLevelName}` : "" + } ${ + row.nodeShortName !== null + ? `(${row.nodeShortName}${row.posMasterNo})` + : "" + } ${findOrgName(row)}`; }, headerStyle: "font-size: 14px", style: "font-size: 14px",