เลขที่ตำแหน่ง => ตำแหน่งเลขที่

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-06-26 14:15:54 +07:00
parent 599a9c2c75
commit c1bb3651ab
47 changed files with 155 additions and 127 deletions

View file

@ -55,6 +55,7 @@ export default {
placementEducationId: (id: string) => `${placement}/education/${id}`, placementEducationId: (id: string) => `${placement}/education/${id}`,
// position // position
placementPosition: () => `${placement}/position/use`, placementPosition: () => `${placement}/position/use`,
placementPositionUse: () => `${placement}/use`,
// putPositiom // putPositiom
putPosition: (id: any) => `${placement}/position/${id}`, putPosition: (id: any) => `${placement}/position/${id}`,
// clear Position // clear Position

View file

@ -98,7 +98,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -379,7 +379,7 @@ function filterItemsTaps(data: TreeMain[]) {
} }
/** /**
* function เลอกเลขทตำแหน * function เลอกตำแหนเลขท
* @param id เลชทตำแหน * @param id เลชทตำแหน
*/ */
async function onClickSelectPos(id: string) { async function onClickSelectPos(id: string) {
@ -435,6 +435,8 @@ watch(
async (n) => { async (n) => {
if (n == true) { if (n == true) {
getActive(); getActive();
console.log(props.dataRows);
if (props?.dataRows?.node !== null && props?.dataRows?.nodeId !== null) { if (props?.dataRows?.node !== null && props?.dataRows?.nodeId !== null) {
await fetchPosFind(props?.dataRows?.node, props?.dataRows?.nodeId); await fetchPosFind(props?.dataRows?.node, props?.dataRows?.nodeId);
if (positionId.value) { if (positionId.value) {
@ -491,7 +493,7 @@ function onSubmit() {
nodeId: dataPosMaster.nodeId, nodeId: dataPosMaster.nodeId,
orgRevisionId: formActive.activeId, orgRevisionId: formActive.activeId,
positionId: selectedPos.value[0].id, positionId: selectedPos.value[0].id,
posMasterNo: dataPosMaster.posMasterNo, //() posMasterNo: dataPosMaster.posMasterNo, //()
positionName: selectedPos.value[0].positionName, // positionName: selectedPos.value[0].positionName, //
positionField: selectedPos.value[0].positionField, // positionField: selectedPos.value[0].positionField, //
posTypeId: selectedPos.value[0].posTypeId, // posTypeId: selectedPos.value[0].posTypeId, //
@ -586,8 +588,8 @@ function onSubmit() {
:key="index" :key="index"
:name="item" :name="item"
> >
<div class="column q-col-gutter-sm" > <div class="column q-col-gutter-sm">
<!-- เลอกเลขทตำแหน --> <!-- เลอกตำแหนเลขท -->
<div class="col-7"> <div class="col-7">
<q-card <q-card
bordered bordered
@ -596,7 +598,7 @@ function onSubmit() {
<div <div
class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md" class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md"
> >
เลอกเลขทตำแหน เลอกตำแหนเลขท
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-md"> <div class="col-12 q-pa-md">
@ -860,10 +862,12 @@ function onSubmit() {
</div> </div>
<div <div
v-else-if="col.name === 'positionArea'" v-else-if="col.name === 'positionArea'"
class="table_ellipsis" class="table_ellipsis"
> >
{{ {{
props.row.positionArea ? props.row.positionArea:'-' props.row.positionArea
? props.row.positionArea
: "-"
}} }}
</div> </div>

View file

@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -360,7 +360,7 @@ function filterItemsTaps(data: TreeMain[]) {
} }
/** /**
* function เลอกเลขทตำแหน * function เลอกตำแหนเลขท
* @param id เลชทตำแหน * @param id เลชทตำแหน
*/ */
async function onClickSelectPos(id: string) { async function onClickSelectPos(id: string) {
@ -472,7 +472,7 @@ function onSubmit() {
nodeId: dataPosMaster.nodeId, nodeId: dataPosMaster.nodeId,
orgRevisionId: formActive.activeId, orgRevisionId: formActive.activeId,
positionId: selectedPos.value[0].id, positionId: selectedPos.value[0].id,
posMasterNo: dataPosMaster.posMasterNo, //() posMasterNo: dataPosMaster.posMasterNo, //()
positionName: selectedPos.value[0].positionName, // positionName: selectedPos.value[0].positionName, //
positionField: selectedPos.value[0].positionField, // positionField: selectedPos.value[0].positionField, //
posTypeId: selectedPos.value[0].posTypeId, // posTypeId: selectedPos.value[0].posTypeId, //
@ -568,7 +568,7 @@ function onSubmit() {
:name="item" :name="item"
> >
<div class="column q-col-gutter-sm" style="height: 70vh"> <div class="column q-col-gutter-sm" style="height: 70vh">
<!-- เลอกเลขทตำแหน --> <!-- เลอกตำแหนเลขท -->
<div class="col-7"> <div class="col-7">
<q-card <q-card
bordered bordered
@ -577,7 +577,7 @@ function onSubmit() {
<div <div
class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md" class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md"
> >
เลอกเลขทตำแหน เลอกตำแหนเลขท
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-md"> <div class="col-12 q-pa-md">

View file

@ -279,7 +279,7 @@ function filterItemsTaps(data: TreeMain[]) {
} }
/** /**
* function เลอกเลขทตำแหน * function เลอกตำแหนเลขท
* @param id เลชทตำแหน * @param id เลชทตำแหน
*/ */
async function onClickSelectPos(id: string) { async function onClickSelectPos(id: string) {

View file

@ -4,7 +4,7 @@ interface ResponsePreson {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string; //เลขที่ตำแหน่ง posNo: string; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salaries: number; //เงินเดือน salaries: number; //เงินเดือน

View file

@ -633,8 +633,8 @@
dense dense
lazy-rules lazy-rules
v-model="posNo" v-model="posNo"
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
:rules="[(val:any) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]" :rules="[(val:any) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
/> />
</div> </div>
<div class="col-xs-6 col-sm-12 col-md-12"> <div class="col-xs-6 col-sm-12 col-md-12">
@ -948,7 +948,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -277,7 +277,7 @@ const columns = ref<QTableColumn[]>([
{ {
name: "positionNo", name: "positionNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
field: "positionNo", field: "positionNo",
sortable: true, sortable: true,
}, },

View file

@ -368,10 +368,10 @@ function onSubmit() {
positionIsSelected: e.positionIsSelected, positionIsSelected: e.positionIsSelected,
})); }));
const body = { const body = {
posMasterNoPrefix: formData.prefixNo, //*Prefix Optional (/) posMasterNoPrefix: formData.prefixNo, //*Prefix Optional (/)
posMasterNo: Number(formData.positionNo), //* posMasterNo: Number(formData.positionNo), //*
posMasterNoSuffix: formData.suffixNo, //Suffix . posMasterNoSuffix: formData.suffixNo, //Suffix .
reason: formData.reason, //Suffix . reason: formData.reason, //Suffix .
isDirector: formData.isDirector, isDirector: formData.isDirector,
isOfficer: formData.isOfficer ? formData.isOfficer : false, isOfficer: formData.isOfficer ? formData.isOfficer : false,
orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id
@ -670,11 +670,11 @@ async function emitSearch(keyword: string, typeSelect: string) {
dense dense
outlined outlined
for="#positionNo" for="#positionNo"
label="เลขที่ตำแหน่ง" label="ตำแหน่งเลขที่"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
:rules="[ :rules="[
(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`, (val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`,
]" ]"
mask="########################" mask="########################"
/> />
@ -686,7 +686,7 @@ async function emitSearch(keyword: string, typeSelect: string) {
dense dense
outlined outlined
for="#suffixNo" for="#suffixNo"
label="Suffix เลขที่ตำแหน่ง" label="Suffix ตำแหน่งเลขที่"
/> />
</div> </div>
</div> </div>

View file

@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoPrefix", name: "posMasterNoPrefix",
align: "left", align: "left",
label: " Prefix เลขที่ตำแหน่ง", label: " Prefix ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoPrefix", field: "posMasterNoPrefix",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -55,7 +55,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -64,7 +64,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoSuffix", name: "posMasterNoSuffix",
align: "left", align: "left",
label: "Suffix เลขที่ตำแหน่ง", label: "Suffix ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoSuffix", field: "posMasterNoSuffix",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -32,7 +32,7 @@ const prosp = defineProps({
/** formData*/ /** formData*/
const formData = reactive<FormDetailPosition>({ const formData = reactive<FormDetailPosition>({
positionNo: "", //* positionNo: "", //*
positionType: "", //* positionType: "", //*
positionPathSide: "", //* positionPathSide: "", //*
positionLine: "", //* positionLine: "", //*
@ -124,7 +124,7 @@ function close() {
modal.value = false; modal.value = false;
} }
/** callblack function ทำเมื่อเปิด popup set เลขที่ตำแหน่ง และสถานะตำแหน่ง */ /** callblack function ทำเมื่อเปิด popup set ตำแหน่งเลขที่ และสถานะตำแหน่ง */
watch( watch(
() => modal.value, () => modal.value,
() => { () => {
@ -180,7 +180,7 @@ watch(
<div class="row q-col-gutter-sm q-mb-xs"> <div class="row q-col-gutter-sm q-mb-xs">
<div class="col-4 text-bold"> <div class="col-4 text-bold">
<div> <div>
<p>เลขทตำแหน</p> <p>ตำแหนเลขท</p>
</div> </div>
</div> </div>
<div class="col-8 text-grey-8"> <div class="col-8 text-grey-8">

View file

@ -70,11 +70,11 @@ const selected = ref<Position[]>([]);
const isSit = ref<boolean>(false); const isSit = ref<boolean>(false);
const formData = reactive<FormPositionFilter>({ const formData = reactive<FormPositionFilter>({
positionNo: "", //* positionNo: "", //*
positionType: "", //* positionType: "", //*
positionLevel: "", //* positionLevel: "", //*
personal: "", //* personal: "", //*
position: "", //* position: "", //*
status: "", status: "",
}); });
@ -427,7 +427,7 @@ watch([() => page.value, () => pageSize.value], () => {
<div class="q-px-md"> <div class="q-px-md">
<div class="row q-col-gutter-sm q-mb-xs"> <div class="row q-col-gutter-sm q-mb-xs">
<div class="text-bold text-body1"> <div class="text-bold text-body1">
<p>เลขทตำแหน</p> <p>ตำแหนเลขท</p>
</div> </div>
<div class="text-grey-8 q-ml-sm text-body1"> <div class="text-grey-8 q-ml-sm text-body1">
<p>{{ formData.positionNo }}</p> <p>{{ formData.positionNo }}</p>

View file

@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -134,7 +134,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: false, sortable: false,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -94,9 +94,9 @@ interface Position {
interface PosMaster { interface PosMaster {
id: string; // id อัตรากำลัง posmaster id: string; // id อัตรากำลัง posmaster
orgShortname: string; // อักษรย่อตำแหน่ง orgShortname: string; // อักษรย่อตำแหน่ง
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
positionField: string; // สายงาน positionField: string; // สายงาน
posTypeId: string; // ประเภทตำแหน่ง posTypeId: string; // ประเภทตำแหน่ง
@ -134,9 +134,9 @@ interface Position2 {
interface PosMaster2 { interface PosMaster2 {
id: string; // id อัตรากำลัง posmaster id: string; // id อัตรากำลัง posmaster
orgShortname: string; // อักษรย่อตำแหน่ง orgShortname: string; // อักษรย่อตำแหน่ง
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
positionField: string; // สายงาน positionField: string; // สายงาน
posTypeId: string; // ประเภทตำแหน่ง posTypeId: string; // ประเภทตำแหน่ง
@ -155,9 +155,9 @@ interface HistoryPos {
id: string; //id node id: string; //id node
orgShotName: string; //ชื่อย่อส่วนราชการ orgShotName: string; //ชื่อย่อส่วนราชการ
lastUpdatedAt: Date; //วันที่แก้ไข lastUpdatedAt: Date; //วันที่แก้ไข
posMasterNoPrefix: string; //Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; //Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number; //เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number; //ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string; //Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string; //Suffix หลังตำแหน่งเลขที่ เช่น ช.
} }
interface SelectPerson { interface SelectPerson {

View file

@ -24,7 +24,7 @@ const employeeClassOps = ref<DataOption[]>([
{ id: "perm", name: "ลูกจ้างประจำ" }, { id: "perm", name: "ลูกจ้างประจำ" },
]); ]);
const typeKeywordOps = ref<DataOption[]>([ const typeKeywordOps = ref<DataOption[]>([
{ id: "no", name: "เลขที่ตำแหน่ง" }, { id: "no", name: "ตำแหน่งเลขที่" },
{ id: "position", name: "ตำแหน่ง" }, { id: "position", name: "ตำแหน่ง" },
]); ]);
const positionOps = ref<DataOption[]>([]); const positionOps = ref<DataOption[]>([]);
@ -56,7 +56,7 @@ const columns = ref<any["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
@ -283,8 +283,8 @@ const paginationLabel = (start: number, end: number, total: number) => {
dense dense
debounce="300" debounce="300"
v-model="Keyword" v-model="Keyword"
placeholder="เลขที่ตำแหน่ง" placeholder="ตำแหน่งเลขที่"
:rules="[(val:string) => !!val || `${'กรุณากรอก เลขที่ตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอก ตำแหน่งเลขที่'}`]"
/> />
<q-select <q-select
v-if="typeKeyword === 'position'" v-if="typeKeyword === 'position'"

View file

@ -188,8 +188,8 @@
:borderless="!edit" :borderless="!edit"
v-model="formDataSalary.posNo" v-model="formDataSalary.posNo"
hide-bottom-space hide-bottom-space
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
:rules="[(val: string) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]" :rules="[(val: string) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
@update:modelValue="clickEditRow" @update:modelValue="clickEditRow"
> >
</q-input> </q-input>

View file

@ -31,7 +31,7 @@ const employeeClassOps = ref<DataOption[]>([
{ id: "perm", name: "ลูกจ้างประจำ" }, { id: "perm", name: "ลูกจ้างประจำ" },
]); ]);
const typeKeywordOps = ref<DataOption[]>([ const typeKeywordOps = ref<DataOption[]>([
{ id: "no", name: "เลขที่ตำแหน่ง" }, { id: "no", name: "ตำแหน่งเลขที่" },
{ id: "position", name: "ตำแหน่ง" }, { id: "position", name: "ตำแหน่ง" },
]); ]);
const positionOps = ref<DataOption[]>([]); const positionOps = ref<DataOption[]>([]);
@ -63,7 +63,7 @@ const columns = ref<any["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
@ -274,8 +274,8 @@ const paginationLabel = (start: number, end: number, total: number) => {
dense dense
debounce="300" debounce="300"
v-model="Keyword" v-model="Keyword"
placeholder="เลขที่ตำแหน่ง" placeholder="ตำแหน่งเลขที่"
:rules="[(val:string) => !!val || `${'กรุณากรอก เลขที่ตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอก ตำแหน่งเลขที่'}`]"
hide-bottom-space hide-bottom-space
/> />
<q-select <q-select

View file

@ -37,7 +37,7 @@ const formMain = reactive<FormMain>({
positionId: "", // positionId: "", //
positionLine: "", // positionLine: "", //
positionLevel: "", // positionLevel: "", //
numberId: "", // numberId: "", //
positionExecutive: "", // positionExecutive: "", //
positionExecutiveSide: "", // positionExecutiveSide: "", //
positionType: "", // positionType: "", //
@ -360,7 +360,7 @@ function getData() {
formMain.positionId = data.position ?? "-"; // formMain.positionId = data.position ?? "-"; //
formMain.positionLine = data.positionField ?? "-"; // formMain.positionLine = data.positionField ?? "-"; //
formMain.positionLevel = data.posLevel ?? "-"; // formMain.positionLevel = data.posLevel ?? "-"; //
formMain.numberId = data.posMasterNo ?? "-"; // formMain.numberId = data.posMasterNo ?? "-"; //
formMain.positionType = data.posType ?? "-"; // formMain.positionType = data.posType ?? "-"; //
formMain.positionExecutive = data.posExecutive ?? "-"; // formMain.positionExecutive = data.posExecutive ?? "-"; //
formMain.positionPathSide = data.positionArea ?? "-"; // formMain.positionPathSide = data.positionArea ?? "-"; //
@ -472,7 +472,7 @@ onMounted(() => {
</div> </div>
<div class="row items-center"> <div class="row items-center">
<div class="col-12 col-sm-12 col-md-5 text-grey-6 text-weight-medium"> <div class="col-12 col-sm-12 col-md-5 text-grey-6 text-weight-medium">
<div>เลขทตำแหน</div> <div>ตำแหนเลขท</div>
</div> </div>
<div class="col-12 col-sm-12 col-md-7">{{ formMain.numberId }}</div> <div class="col-12 col-sm-12 col-md-7">{{ formMain.numberId }}</div>
</div> </div>

View file

@ -354,7 +354,7 @@ async function submit() {
profileId: profileId:
!isStatusEdit.value && empType.value === "" ? profileId.value : undefined, !isStatusEdit.value && empType.value === "" ? profileId.value : undefined,
date: formDataSalary.date, // date: formDataSalary.date, //
posNo: formDataSalary.posNo, // posNo: formDataSalary.posNo, //
position: formDataSalary.position, // position: formDataSalary.position, //
positionLine: positionLine:
empType.value === "" ? formDataSalary.positionLine : undefined, // empType.value === "" ? formDataSalary.positionLine : undefined, //
@ -719,8 +719,8 @@ onMounted(() => {
borderless borderless
v-model="formDataSalary.posNo" v-model="formDataSalary.posNo"
hide-bottom-space hide-bottom-space
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
:rules="[(val: string) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]" :rules="[(val: string) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
> >
</q-input> </q-input>
</div> </div>

View file

@ -174,7 +174,7 @@ const columnsPosition = ref<QTableProps["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -214,7 +214,7 @@ const closeAndClear = async () => {
dataForm.positionPathSideId = ""; dataForm.positionPathSideId = "";
dataForm.positionTypeId = ""; dataForm.positionTypeId = "";
}; };
// //
const posNoOptions = ref<Object[]>([ const posNoOptions = ref<Object[]>([
{ {
label: "", label: "",
@ -600,7 +600,7 @@ onMounted(async () => {
lazy-rules lazy-rules
:options="posNoOptions" :options="posNoOptions"
v-model="dataForm.posNoId" v-model="dataForm.posNoId"
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
map-options map-options
/> />
</div> </div>

View file

@ -215,7 +215,7 @@ const closeAndClear = async () => {
dataForm.positionPathSideId = ""; dataForm.positionPathSideId = "";
dataForm.positionTypeId = ""; dataForm.positionTypeId = "";
}; };
// //
const posNoOptions = ref<Object[]>([ const posNoOptions = ref<Object[]>([
{ {
label: "", label: "",
@ -601,7 +601,7 @@ onMounted(async () => {
lazy-rules lazy-rules
:options="posNoOptions" :options="posNoOptions"
v-model="dataForm.posNoId" v-model="dataForm.posNoId"
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
map-options map-options
/> />
</div> </div>

View file

@ -47,7 +47,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -177,7 +177,7 @@ const visibleColumns = ref<string[]>([
]); ]);
/** /**
* function เลอกเลขทตำแหน * function เลอกตำแหนเลขท
* @param id เลชทตำแหน * @param id เลชทตำแหน
*/ */
async function onClickSelectPos(id: string) { async function onClickSelectPos(id: string) {
@ -210,11 +210,11 @@ onMounted(async () => {
<template> <template>
<div class="column q-col-gutter-sm"> <div class="column q-col-gutter-sm">
<!-- เลอกเลขทตำแหน --> <!-- เลอกตำแหนเลขท -->
<div class="col-7"> <div class="col-7">
<q-card bordered style="height: 100%; border: 1px solid #d6dee1"> <q-card bordered style="height: 100%; border: 1px solid #d6dee1">
<div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md"> <div class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md">
เลอกเลขทตำแหน เลอกตำแหนเลขท
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-md"> <div class="col-12 q-pa-md">

View file

@ -60,6 +60,7 @@ const lazy = ref(nodes);
const expanded = ref<string[]>([]); const expanded = ref<string[]>([]);
/** Position*/ /** Position*/
const positionUse = ref<string[]>([]);
const positionNo = ref<DataPositionNo[]>(); const positionNo = ref<DataPositionNo[]>();
const positionId = ref<string>(""); const positionId = ref<string>("");
const seletcId = ref<string>(""); const seletcId = ref<string>("");
@ -171,7 +172,18 @@ async function fetchDataTable(id: string, level: number = 0) {
} }
}); });
positionNo.value = store.fetchPosNo(dataMain); let posMain = store.fetchPosNo(dataMain);
if (props.dataRow?.posmasterId) {
const newUse = positionUse.value.filter(
(e) => e !== props.dataRow?.posmasterId
);
positionNo.value = posMain.filter((e: any) => !newUse.includes(e.id));
} else {
positionNo.value = posMain.filter(
(e: any) => !positionUse.value.includes(e.id)
);
}
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
@ -230,7 +242,7 @@ async function onClickSubmit() {
nodeId: dataPosMaster.nodeId, nodeId: dataPosMaster.nodeId,
orgRevisionId: orgRevisionId.value, orgRevisionId: orgRevisionId.value,
positionId: selectedPos.value[0].id, positionId: selectedPos.value[0].id,
posMasterNo: dataPosMaster.posMasterNo, //() posMasterNo: dataPosMaster.posMasterNo, //()
positionName: selectedPos.value[0].positionName, // positionName: selectedPos.value[0].positionName, //
positionField: selectedPos.value[0].positionField, // positionField: selectedPos.value[0].positionField, //
posTypeId: selectedPos.value[0].posTypeId, // posTypeId: selectedPos.value[0].posTypeId, //
@ -278,7 +290,7 @@ watch(
async () => { async () => {
if (modal.value) { if (modal.value) {
await fetchOrganizationActive(); await fetchOrganizationActive();
console.log(props?.dataRow); await fetchPositionUes();
if (props?.dataRow?.node !== null && props?.dataRow?.nodeId !== null) { if (props?.dataRow?.node !== null && props?.dataRow?.nodeId !== null) {
await fetchPosFind(props?.dataRow?.node, props?.dataRow?.nodeId); await fetchPosFind(props?.dataRow?.node, props?.dataRow?.nodeId);
@ -289,6 +301,17 @@ watch(
} }
); );
function fetchPositionUes() {
http
.get(config.API.placementPositionUse())
.then((res) => {
positionUse.value = res.data.result;
})
.catch((err) => {
messageError($q, err);
});
}
const itemTaps = ref<string[]>(); const itemTaps = ref<string[]>();
function filterItemsTaps(data: TreeMain[]) { function filterItemsTaps(data: TreeMain[]) {
let orgTreeIds: string[] = []; let orgTreeIds: string[] = [];

View file

@ -53,7 +53,7 @@ const columns2 = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -59,7 +59,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -53,7 +53,7 @@ const columns2 = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -77,7 +77,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -364,7 +364,7 @@ async function onClickSubmit() {
nodeId: dataPosMaster.nodeId, nodeId: dataPosMaster.nodeId,
orgRevisionId: orgRevisionId.value, orgRevisionId: orgRevisionId.value,
positionId: selectedPos.value[0].id, positionId: selectedPos.value[0].id,
posMasterNo: dataPosMaster.posMasterNo.toString(), //() posMasterNo: dataPosMaster.posMasterNo.toString(), //()
position: selectedPos.value[0].positionName, // position: selectedPos.value[0].positionName, //
positionField: "", // positionField: "", //
posTypeId: selectedPos.value[0].posTypeId, // posTypeId: selectedPos.value[0].posTypeId, //
@ -558,7 +558,7 @@ watch(
:name="item" :name="item"
> >
<div class="column q-col-gutter-sm"> <div class="column q-col-gutter-sm">
<!-- เลอกเลขทตำแหน --> <!-- เลอกตำแหนเลขท -->
<div class="col-7"> <div class="col-7">
<q-card <q-card
bordered bordered
@ -567,7 +567,7 @@ watch(
<div <div
class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md" class="col-12 text-weight-medium bg-grey-1 q-py-sm q-px-md"
> >
เลอกเลขทตำแหน เลอกตำแหนเลขท
</div> </div>
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-md"> <div class="col-12 q-pa-md">

View file

@ -420,7 +420,7 @@ const columnsPosition = ref<QTableProps["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
field: "posNo", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",

View file

@ -414,9 +414,9 @@ onMounted(async () => {
:readonly="!edit" :readonly="!edit"
:borderless="!edit" :borderless="!edit"
v-model="data.posNo" v-model="data.posNo"
:rules="[(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`]" :rules="[(val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`]"
hide-bottom-space hide-bottom-space
:label="`${'เลขที่ตำแหน่ง'}`" :label="`${'ตำแหน่งเลขที่'}`"
/> />
</div> </div>
</div> </div>

View file

@ -39,7 +39,7 @@ interface ResponsePreson {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string; //เลขที่ตำแหน่ง posNo: string; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salaries: number; //เงินเดือน salaries: number; //เงินเดือน

View file

@ -4,7 +4,7 @@ interface Persons {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string; //เลขที่ตำแหน่ง posNo: string; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salary: number; //เงินเดือน salary: number; //เงินเดือน
@ -21,7 +21,7 @@ interface PersonsArray {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string; //เลขที่ตำแหน่ง posNo: string; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salary: number; //เงินเดือน salary: number; //เงินเดือน
@ -47,7 +47,7 @@ interface Director {
// prefix: string; //คำนำหน้า // prefix: string; //คำนำหน้า
// firstName: string; //ชื่อ // firstName: string; //ชื่อ
// lastName: string; //นามสกุล // lastName: string; //นามสกุล
// posNo: string; //เลขที่ตำแหน่ง // posNo: string; //ตำแหน่งเลขที่
// position: string; //ตำแหน่ง // position: string; //ตำแหน่ง
// positionLevel: string; //ระดับ // positionLevel: string; //ระดับ
// salary: number; //เงินเดือน // salary: number; //เงินเดือน

View file

@ -32,7 +32,7 @@ interface ArrayPersonAdd {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string|null; //เลขที่ตำแหน่ง posNo: string|null; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salary: number|null; //เงินเดือน salary: number|null; //เงินเดือน

View file

@ -54,7 +54,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -32,7 +32,7 @@ interface ResponsePreson {
prefix: string; //คำนำหน้า prefix: string; //คำนำหน้า
firstName: string; //ชื่อ firstName: string; //ชื่อ
lastName: string; //นามสกุล lastName: string; //นามสกุล
posNo: string; //เลขที่ตำแหน่ง posNo: string; //ตำแหน่งเลขที่
position: string; //ตำแหน่ง position: string; //ตำแหน่ง
positionLevel: string; //ระดับ positionLevel: string; //ระดับ
salaries: number; //เงินเดือน salaries: number; //เงินเดือน

View file

@ -38,7 +38,7 @@ const formMain = reactive<FormAddHistory>({
posTypeId: "", //id posTypeId: "", //id
position: "", // position: "", //
positionSide: "", // positionSide: "", //
posNo: "", // posNo: "", //
oc: "", // oc: "", //
}); });

View file

@ -39,7 +39,7 @@ const formMain = reactive<FormAddHistoryEmployee>({
posLevelId: "", //id posLevelId: "", //id
posTypeId: "", //id posTypeId: "", //id
position: "", // position: "", //
posNo: "", // posNo: "", //
oc: "", // oc: "", //
}); });

View file

@ -207,10 +207,10 @@ function onSubmit() {
posLevelId: e.posLevelId, //* posLevelId: e.posLevelId, //*
})); }));
const body = { const body = {
posMasterNoPrefix: formData.prefixNo, //*Prefix Optional (/) posMasterNoPrefix: formData.prefixNo, //*Prefix Optional (/)
posMasterNo: Number(formData.positionNo), //* posMasterNo: Number(formData.positionNo), //*
posMasterNoSuffix: formData.suffixNo, //Suffix . posMasterNoSuffix: formData.suffixNo, //Suffix .
reason: formData.reason, //Suffix . reason: formData.reason, //Suffix .
orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id orgRootId: props.orgLevel === 0 ? props.treeId : null, //Id
orgChild1Id: props.orgLevel === 1 ? props.treeId : null, orgChild1Id: props.orgLevel === 1 ? props.treeId : null,
orgChild2Id: props.orgLevel === 2 ? props.treeId : null, orgChild2Id: props.orgLevel === 2 ? props.treeId : null,
@ -414,11 +414,11 @@ watch(
dense dense
outlined outlined
for="#positionNo" for="#positionNo"
label="เลขที่ตำแหน่ง" label="ตำแหน่งเลขที่"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
:rules="[ :rules="[
(val) => !!val || `${'กรุณากรอกเลขที่ตำแหน่ง'}`, (val) => !!val || `${'กรุณากรอกตำแหน่งเลขที่'}`,
]" ]"
mask="########################" mask="########################"
/> />
@ -430,7 +430,7 @@ watch(
dense dense
outlined outlined
for="#suffixNo" for="#suffixNo"
label="Suffix เลขที่ตำแหน่ง" label="Suffix ตำแหน่งเลขที่"
/> />
</div> </div>
</div> </div>

View file

@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoPrefix", name: "posMasterNoPrefix",
align: "left", align: "left",
label: " Prefix เลขที่ตำแหน่ง", label: " Prefix ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoPrefix", field: "posMasterNoPrefix",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -55,7 +55,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -64,7 +64,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoSuffix", name: "posMasterNoSuffix",
align: "left", align: "left",
label: "Suffix เลขที่ตำแหน่ง", label: "Suffix ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoSuffix", field: "posMasterNoSuffix",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -29,7 +29,7 @@ function close() {
<!-- <div class="row q-col-gutter-sm q-mb-xs"> <!-- <div class="row q-col-gutter-sm q-mb-xs">
<div class="col-4 text-bold"> <div class="col-4 text-bold">
<div> <div>
<p>เลขทตำแหน</p> <p>ตำแหนเลขท</p>
</div> </div>
</div> </div>
<div class="col-8 text-grey-8"> <div class="col-8 text-grey-8">

View file

@ -70,11 +70,11 @@ const selected = ref<Position[]>([]);
const isSit = ref<boolean>(false); const isSit = ref<boolean>(false);
const formData = reactive<FormPositionFilter>({ const formData = reactive<FormPositionFilter>({
positionNo: "", //* positionNo: "", //*
positionType: "", //* positionType: "", //*
positionLevel: "", //* positionLevel: "", //*
personal: "", //* personal: "", //*
position: "", //* position: "", //*
status: "", status: "",
}); });
@ -393,7 +393,7 @@ watch([() => page.value, () => pageSize.value], () => {
<div class="q-px-md"> <div class="q-px-md">
<div class="row q-col-gutter-sm q-mb-xs"> <div class="row q-col-gutter-sm q-mb-xs">
<div class="text-bold text-body1"> <div class="text-bold text-body1">
<p>เลขทตำแหน</p> <p>ตำแหนเลขท</p>
</div> </div>
<div class="text-grey-8 q-ml-sm text-body1"> <div class="text-grey-8 q-ml-sm text-body1">
<p>{{ formData.positionNo }}</p> <p>{{ formData.positionNo }}</p>

View file

@ -96,7 +96,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -128,7 +128,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: false, sortable: false,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",

View file

@ -94,9 +94,9 @@ interface Position {
interface PosMaster { interface PosMaster {
id: string; // id อัตรากำลัง posmaster id: string; // id อัตรากำลัง posmaster
orgShortname: string; // อักษรย่อตำแหน่ง orgShortname: string; // อักษรย่อตำแหน่ง
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
positionField: string; // สายงาน positionField: string; // สายงาน
posTypeId: string; // ประเภทตำแหน่ง posTypeId: string; // ประเภทตำแหน่ง
@ -134,9 +134,9 @@ interface Position2 {
interface PosMaster2 { interface PosMaster2 {
id: string; // id อัตรากำลัง posmaster id: string; // id อัตรากำลัง posmaster
orgShortname: string; // อักษรย่อตำแหน่ง orgShortname: string; // อักษรย่อตำแหน่ง
posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; // Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number | string; // ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string | null; // Suffix หลังตำแหน่งเลขที่ เช่น ช.
positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง)
positionField: string; // สายงาน positionField: string; // สายงาน
posTypeId: string; // ประเภทตำแหน่ง posTypeId: string; // ประเภทตำแหน่ง
@ -155,9 +155,9 @@ interface HistoryPos {
id: string; //id node id: string; //id node
orgShotName: string; //ชื่อย่อส่วนราชการ orgShotName: string; //ชื่อย่อส่วนราชการ
lastUpdatedAt: Date; //วันที่แก้ไข lastUpdatedAt: Date; //วันที่แก้ไข
posMasterNoPrefix: string; //Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) posMasterNoPrefix: string; //Prefix นำหน้าตำแหน่งเลขที่ เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ)
posMasterNo: number; //เลขที่ตำแหน่ง เป็นตัวเลข posMasterNo: number; //ตำแหน่งเลขที่ เป็นตัวเลข
posMasterNoSuffix: string; //Suffix หลังเลขที่ตำแหน่ง เช่น ช. posMasterNoSuffix: string; //Suffix หลังตำแหน่งเลขที่ เช่น ช.
} }
interface SelectPerson { interface SelectPerson {

View file

@ -98,7 +98,7 @@ const columnsPosition = ref<QTableProps["columns"]>([
{ {
name: "posMasterNo", name: "posMasterNo",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: false, sortable: false,
field: "posMasterNo", field: "posMasterNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",