บรรจุแต่งตั้ง

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-04-01 17:20:47 +07:00
parent dbb9e5719b
commit 184e1a8815
12 changed files with 552 additions and 94 deletions

View file

@ -66,9 +66,14 @@ const visibleColumns2 = ref<string[]>([
"no",
"citizenId",
"fullname",
"positionNumberOld",
"positionLevel",
"organizationNameOld",
"organizationName",
"dateOfBirth",
"typeCommand",
"dateOfBirth",
"createdAt",
"status",
]);
const columns2 = ref<QTableProps["columns"]>([
{
@ -97,10 +102,56 @@ const columns2 = ref<QTableProps["columns"]>([
field: "fullname",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return `${
row.firstName
? `${row.prefix ?? ""}${row.firstName ?? ""} ${row.lastName ?? ""}`
: "-"
}`;
},
},
{
name: "positionNumberOld",
align: "left",
label: "เลขที่ตำแหน่งเดิม",
sortable: true,
field: "positionNumberOld",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return row.positionNumberOld;
},
},
{
name: "positionLevel",
align: "left",
label: "ตำแหน่งประเภทเดิม",
sortable: true,
field: "positionLevel",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
let name = "";
if (row.positionTypeOld && row.positionLevelOld) {
name = `${row.positionTypeOld} (${row.positionLevelOld})`;
} else if (row.positionTypeOld) {
name = `${row.positionTypeOld}`;
} else if (row.positionLevelOld) {
name = `(${row.positionLevelOld})`;
} else name = "-";
return name;
},
},
{
name: "organizationNameOld",
align: "left",
label: "ตำแหน่ง/สังกัดเดิม",
sortable: true,
field: "organizationNameOld",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (val, row) => {
return row.firstName
? `${row.prefix}${row.firstName} ${row.lastName}`
: "-";
return `${row.organizationPositionOld.replace(/(.*)\s(.*)$/, "$1\n$2")}`;
},
},
{
@ -111,10 +162,20 @@ const columns2 = ref<QTableProps["columns"]>([
field: "organizationName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
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.position}${row.root.posTypeName}${row.root.posLevelName}${row.root} (${row.rootShortName}) ${row.nodeName} (${row.nodeShortName}${row.posMasterNo})`;
},
},
{
name: "dateOfBirth",
align: "left",
label: "วัน/เดือน/ปี เกิด",
sortable: true,
field: "dateOfBirth",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return date2Thai(row.dateOfBirth);
},
},
{
@ -136,15 +197,27 @@ const columns2 = ref<QTableProps["columns"]>([
},
},
{
name: "dateOfBirth",
name: "createdAt",
align: "left",
label: "วัน/เดือน/ปี เกิด",
label: "วันที่ดำเนินการ",
sortable: true,
field: "dateOfBirth",
field: "createdAt",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return date2Thai(row.dateOfBirth);
return date2Thai(row.createdAt);
},
},
{
name: "status",
align: "left",
label: "สถานะ",
sortable: true,
field: "status",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return statusText(row.status);
},
},
]);
@ -244,7 +317,7 @@ watch(
<template>
<q-dialog v-model="props.Modal" persistent>
<q-card style="width: 1200px; max-width: 80vw">
<q-card style="min-width: 80%">
<q-form greedy @submit.prevent @validation-success="sendToCommand">
<DialogHeader :tittle="'ส่งไปออกคำสั่ง'" :close="clickClose" />
<q-separator />
@ -351,9 +424,37 @@ watch(
}}
</div>
<div
v-else-if="col.name == 'organizationNameOld'"
class="text-html"
>
{{
props.row.organizationPositionOld !== null
? props.row.organizationPositionOld
: "-"
}}
</div>
<div v-else-if="col.name == 'organizationName'">
<div class="col-4">
<div class="text-weight-medium">
<div>
{{
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}`
: ""
}}
</div>
<div>
{{ props.row.root !== null ? props.row.root : "-" }}
{{
props.row.rootShortName !== null
@ -361,7 +462,7 @@ watch(
: ""
}}
</div>
<div class="text-weight-light">
<div>
{{
props.row.nodeName !== null
? props.row.nodeName