fix ===> แก้ไขการแสดงผลตารางสร้างคำสั่งของรักษาการในตำแหน่ง

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-07-29 16:03:32 +07:00
parent 41c0adcbb1
commit 27bb2419ce

View file

@ -10,6 +10,7 @@ import { useCommandMainStore } from "@/modules/18_command/store/Main";
/** importType*/
import type { QTableProps } from "quasar";
import type { QTableColumn } from "quasar";
import type {
ListCommand,
DataOption,
@ -94,7 +95,7 @@ const dataMapToSend = computed(() => {
//Table
const rows = ref<any[]>([]);
const selected = ref<any[]>([]);
const columns = ref<QTableProps["columns"]>([
const baseColumns = ref<QTableColumn[]>([
{
name: "posMasterNo",
align: "left",
@ -116,7 +117,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "posType",
align: "left",
label: "ประเภทตำแหน่ง",
label: "ตำแหน่งประเภท",
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
@ -141,6 +142,44 @@ const columns = ref<QTableProps["columns"]>([
style: "font-size: 14px",
},
]);
const baseColumnsActing = ref<QTableColumn[]>([
{
name: "posMasterNo",
align: "left",
label: "รักษาการตำแหน่งเลขที่",
sortable: false,
field: "posMasterNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "positionIsSelected",
align: "left",
label: "ชื่อ-นามสกุล",
sortable: false,
field: "positionIsSelected",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "positionName",
align: "left",
label: "ตำแหน่งในสายงาน",
field: "positionName",
format(val, row) {
return `${val}${row.posLevel}`;
},
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
const columns = computed((): QTableColumn[] => {
return props.commandTypeCode !== "C-PM-40"
? baseColumns.value
: baseColumnsActing.value;
});
/** ฟังก์ชันบันทึกและไปยังหน้าคำสั่ง*/
function onSubmit() {
@ -218,9 +257,7 @@ function filterOption(val: string, update: Function) {
});
}
/**
* งกนเลอกประเภทคำสงและเลอกกล
*/
/** ฟังก์ชันเลือกประเภทคำสั่งและเลือกกลุ่ม */
function updateValue() {
if (props.systemName === "SALARY" || props.systemName === "SALARY_EMP") {
const code = commandOp.value.find(
@ -268,6 +305,20 @@ function getPerson() {
});
}
/**
* งกนแสดงตำแหนงเลขท
* @param row อมลแถว
* @param colValue าของคอลมน
* @returns อความทจะแสดง
*/
function posMasterNoDisplay(row: any, colValue: string): string {
if (props.commandTypeCode === "C-PM-40") {
return row.posMasterNoAct;
}
return row.isSit ? `${colValue}(นั่งทับตำแหน่ง)` : colValue;
}
watch(modal, async () => {
if (modal.value) {
groupOp.value = groupDataMain.value;
@ -557,12 +608,9 @@ watch(modal, async () => {
:props="props"
>
<div v-if="col.name === 'posMasterNo'">
{{
props.row.isSit
? col.value + " " + "(นั่งทับตำแหน่ง)"
: col.value
}}
{{ posMasterNoDisplay(props.row, col.value) }}
</div>
<div v-else-if="col.name === 'posLevelName'">
{{
props.row.posLevelName