fix ตำแหน่งเงินเดือน

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-03-11 11:11:31 +07:00
parent 139437d793
commit e5b9299ee9
6 changed files with 842 additions and 966 deletions

View file

@ -51,6 +51,7 @@ const {
onSearchDataTable, onSearchDataTable,
formatDatePosition, formatDatePosition,
findOrgName, findOrgName,
convertDateToAPI
} = useCounterMixin(); } = useCounterMixin();
const empType = ref<string>(pathRegistryEmp(route.name?.toString() ?? "")); const empType = ref<string>(pathRegistryEmp(route.name?.toString() ?? ""));
@ -419,8 +420,6 @@ async function fetchDataOption() {
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
console.log(data);
const seen = new Set(); const seen = new Set();
const seen2 = new Set(); const seen2 = new Set();
@ -566,7 +565,12 @@ async function onClickOpenDialog(
} else { } else {
await fetchOptionGroup(); await fetchOptionGroup();
} }
commandCodeOptions.value = store.commandCodeData;
posTypeOptions.value = store.posTypeData;
posLevelOptions.value = store.posLevelData;
posLineOptions.value = store.posLineData;
posPathSideOptions.value = store.posPathSideData;
posExecutiveOptions.value = store.posExecutiveData;
// //
statusEdit && (await updateSelectType(data.positionType, true)); statusEdit && (await updateSelectType(data.positionType, true));
isStatusEdit.value = statusEdit; isStatusEdit.value = statusEdit;
@ -601,27 +605,6 @@ async function onClickOpenDialog(
/** function ปิด dialog ตำแหน่งเงินเดือน*/ /** function ปิด dialog ตำแหน่งเงินเดือน*/
function onClickCloseDialog() { function onClickCloseDialog() {
modalDialogSalary.value = false; modalDialogSalary.value = false;
formData.commandCode = "";
formData.commandNo = "";
formData.commandYear = null;
formData.commandDateAffect = null;
formData.commandDateSign = null;
formData.posNoAbb = "";
formData.posNo = "";
formData.positionName = "";
formData.positionType = "";
formData.positionLevel = "";
formData.positionLine = "";
formData.positionPathSide = "";
formData.positionExecutive = "";
formData.amount = null;
formData.amountSpecial = null;
formData.orgRoot = "";
formData.orgChild1 = "";
formData.orgChild2 = "";
formData.orgChild3 = "";
formData.orgChild4 = "";
formData.remark = "";
} }
/** /**
@ -704,6 +687,8 @@ function onSubmit() {
? profileId.value ? profileId.value
: undefined, : undefined,
...formData, ...formData,
commandDateAffect: convertDateToAPI(formData.commandDateAffect),
commandDateSign: convertDateToAPI(formData.commandDateSign),
amount: Number(String(formData.amount)?.replace(/,/g, "")), amount: Number(String(formData.amount)?.replace(/,/g, "")),
amountSpecial: Number( amountSpecial: Number(
String(formData.amountSpecial)?.replace(/,/g, "") String(formData.amountSpecial)?.replace(/,/g, "")
@ -921,9 +906,7 @@ onMounted(async () => {
<q-card style="min-width: 40vw"> <q-card style="min-width: 40vw">
<q-form greedy @submit.prevent @validation-success="onSubmit"> <q-form greedy @submit.prevent @validation-success="onSubmit">
<DialogHeader <DialogHeader
:tittle=" :tittle="isStatusEdit ? 'แก้ไขตำแหน่ง' : 'เพิ่มตำแหน่ง'"
isStatusEdit ? 'แก้ไขตำแหน่ง/เงินเดือน' : 'เพิ่มตำแหน่ง/เงินเดือน'
"
:close="onClickCloseDialog" :close="onClickCloseDialog"
/> />
<q-separator color="grey-4" /> <q-separator color="grey-4" />
@ -1417,6 +1400,7 @@ onMounted(async () => {
</div> </div>
</div> </div>
</div> </div>
<div class="col-xs-12 col-sm-12 col-md-12"> <div class="col-xs-12 col-sm-12 col-md-12">
<q-input <q-input
:class="classInput(true)" :class="classInput(true)"

View file

@ -4,6 +4,8 @@ import { useQuasar } from "quasar";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useSalaryDataStore } from "@/modules/04_registryPerson/stores/salary";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
@ -14,6 +16,7 @@ import DialogHeader from "@/components/DialogHeader.vue";
const $q = useQuasar(); const $q = useQuasar();
const route = useRoute(); const route = useRoute();
const store = useSalaryDataStore();
const { const {
date2Thai, date2Thai,
showLoader, showLoader,
@ -21,6 +24,7 @@ const {
messageError, messageError,
pathRegistryEmp, pathRegistryEmp,
onSearchDataTable, onSearchDataTable,
findOrgName,
} = useCounterMixin(); } = useCounterMixin();
/** props*/ /** props*/
@ -36,7 +40,7 @@ const baseColumns = ref<QTableProps["columns"]>([
{ {
name: "commandDateAffect", name: "commandDateAffect",
align: "left", align: "left",
label: "วัน เดือน ปี", label: "วันที่คำสั่งมีผล",
sortable: true, sortable: true,
field: "commandDateAffect", field: "commandDateAffect",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -47,74 +51,6 @@ const baseColumns = ref<QTableProps["columns"]>([
.toString() .toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{
name: "amount",
align: "left",
label: empType.value === "-employee" ? "ค่าตอบแทนรายเดือน" : "เงินเดือน",
sortable: true,
field: "amount",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "positionSalaryAmount",
align: "left",
label: "เงินประจำตำแหน่ง",
sortable: true,
field: "positionSalaryAmount",
headerStyle: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "mouthSalaryAmount",
align: "left",
label: "เงินค่าตอบแทนรายเดือน",
sortable: true,
field: "mouthSalaryAmount",
headerStyle: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "oc",
align: "left",
label: "สังกัด",
sortable: true,
field: "oc",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "positionName",
align: "left",
label: "ตำแหน่ง",
sortable: true,
field: "positionName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{ {
name: "posNo", name: "posNo",
align: "left", align: "left",
@ -125,7 +61,7 @@ const baseColumns = ref<QTableProps["columns"]>([
style: "font-size: 14px", style: "font-size: 14px",
format(val, row) { format(val, row) {
return row.posNoAbb && row.posNo return row.posNoAbb && row.posNo
? `${row.posNoAbb}${row.posNo}` ? `${row.posNoAbb}.${row.posNo}`
: row.posNo : row.posNo
? row.posNo ? row.posNo
: "-"; : "-";
@ -136,24 +72,11 @@ const baseColumns = ref<QTableProps["columns"]>([
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "positionLine", name: "positionName",
align: "left", align: "left",
label: "สายงาน", label: empType.value === "-employee" ? "ตำแหน่ง" : "ตำแหน่งในสายงาน",
sortable: true, sortable: true,
field: "positionLine", field: "positionName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "positionPathSide",
align: "left",
label: "ด้าน/สาขา",
sortable: true,
field: "positionPathSide",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
@ -164,7 +87,7 @@ const baseColumns = ref<QTableProps["columns"]>([
{ {
name: "positionType", name: "positionType",
align: "left", align: "left",
label: "ตำแหน่งประเภท", label: empType.value === "-employee" ? "กลุ่มงาน" : "ประเภทตำแหน่ง",
sortable: true, sortable: true,
field: "positionType", field: "positionType",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -177,7 +100,7 @@ const baseColumns = ref<QTableProps["columns"]>([
{ {
name: "positionLevel", name: "positionLevel",
align: "left", align: "left",
label: "ระดับ", label: empType.value === "-employee" ? "ระดับชั้นงาน" : "ระดับ",
sortable: true, sortable: true,
field: "positionLevel", field: "positionLevel",
format(val, row) { format(val, row) {
@ -192,9 +115,7 @@ const baseColumns = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "positionExecutive", name: "positionExecutive",
@ -205,55 +126,64 @@ const baseColumns = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "positionExecutiveSide", name: "amount",
align: "left", align: "left",
label: "ด้านทางการบริหาร", label: empType.value === "-employee" ? "ค่าตอบแทนรายเดือน" : "เงินเดือน",
sortable: true, sortable: true,
field: "positionExecutiveSide", field: "amount",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
format(v, row) {
return row.amount
? `${row.amount.toLocaleString()}${
row.amountSpecial !== 0 && row.amountSpecial
? ` (${row.amountSpecial.toLocaleString()})`
: ""
}`
: "-";
},
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a
.toString() .toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "salaryClass", name: "positionSalaryAmount",
align: "left", align: "left",
label: "ตำแหน่ง (รายละเอียด)", label: "เงินประจำตำแหน่ง",
sortable: true, sortable: true,
field: "salaryClass", field: "positionSalaryAmount",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a
.toString() .toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "commandName", name: "mouthSalaryAmount",
align: "left", align: "left",
label: "เอกสารอ้างอิง", label: "เงินค่าตอบแทนรายเดือน",
sortable: true, sortable: true,
field: "commandName", field: "mouthSalaryAmount",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a
.toString() .toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "refCommandNo", name: "commandNo",
align: "left", align: "left",
label: "เลขที่คำสั่ง", label: "เลขที่คำสั่ง",
sortable: true, sortable: true,
field: "refCommandNo", field: "commandNo",
format(val, row) { format(val, row) {
return row.commandNo && row.commandYear return row.commandNo && row.commandYear
? `${row.commandNo}/${row.commandYear}` ? `${row.commandNo}/${row.commandYear}`
@ -261,11 +191,58 @@ const baseColumns = ref<QTableProps["columns"]>([
}, },
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "commandCode",
align: "left",
label: "ประเภทคำสั่ง",
sortable: true,
field: "commandCode",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return store.convertCommandCodeName(val);
},
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "commandDateSign",
align: "left",
label: "วันที่ลงนาม",
sortable: true,
field: "commandDateSign",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (v) => date2Thai(v),
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a a
.toString() .toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), .localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{
name: "organization",
align: "left",
label: "สังกัด",
sortable: true,
field: "organization",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return findOrgName({
root: row.orgRoot,
child1: row.orgChild1,
child2: row.orgChild2,
child3: row.orgChild3,
child4: row.orgChild4,
});
},
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{ {
name: "remark", name: "remark",
align: "left", align: "left",
@ -309,21 +286,18 @@ const baseColumns = ref<QTableProps["columns"]>([
]); ]);
const visibleColumns = ref<string[]>([ const visibleColumns = ref<string[]>([
"commandDateAffect", "commandDateAffect",
"amount",
"positionSalaryAmount",
"mouthSalaryAmount",
"oc",
"positionName",
"posNo", "posNo",
"positionLine", "positionName",
"positionPathSide",
"positionType", "positionType",
"positionLevel", "positionLevel",
"positionExecutive", "positionExecutive",
"positionExecutiveSide", "amount",
"salaryClass", "positionSalaryAmount",
"commandName", "mouthSalaryAmount",
"refCommandNo", "commandNo",
"commandCode",
"commandDateSign",
"organization",
"remark", "remark",
"lastUpdateFullName", "lastUpdateFullName",
"lastUpdatedAt", "lastUpdatedAt",

View file

@ -30,7 +30,7 @@ const tab = ref<string>("1");
dense dense
class="text-grey q-pl-sm" class="text-grey q-pl-sm"
> >
<q-tab name="1" label="ตำแหน่ง/เงินเดือน" /> <q-tab name="1" label="เงินเดือน" />
<q-tab name="2" label="บันทึกวันที่ไม่ได้รับเงินเดือนฯ" /> <q-tab name="2" label="บันทึกวันที่ไม่ได้รับเงินเดือนฯ" />
</q-tabs> </q-tabs>
<q-separator /> <q-separator />

View file

@ -1,20 +1,27 @@
interface FormSalaryNew { interface FormSalary {
date: Date | null; commandCode: string; //ประเภทคำสั่ง
posNo: string; commandNo: string; //เลขที่คำสั่ง
templatePos: string; commandYear: number | null; //ปี
position: string; commandDateAffect: Date | null; //วันที่มีผล
positionLine: string; commandDateSign: Date | null; //วันที่ลงนาม
positionPathSide: string; posNoAbb: string; //ตัวย่อเลขที่ตำแหน่ง
positionType: string; posNo: string; //เลขที่ตำแหน่ง
positionLevel: string; positionName: string; //ตำแหน่ง
positionExecutive: string; positionType: string; //ประเภทตำแหน่ง, กลุ่มงาน
salary: number | string | null; positionLevel: string; //ระดับตำแหน่ง, ระดับชั้นงาน
amountSpecial: number | string | null; positionLine: string; // สายงาน
salaryPos: number | string | null; positionPathSide: string; //ด้าน/สาขา
salaryCompensation: number | string | null; positionExecutive: string; //ตำแหน่งทางการบริหาร
refCommandNo: string; amount: number | null; //เงินเดือน
templateDoc: string; amountSpecial: number | null; //เงินค่าตอบแทนพิเศษ
doc: string; positionSalaryAmount: number | null; //เงินประจำตำแหน่ง
mouthSalaryAmount: number | null; //เงินค่าตอบแทนรายเดือน
orgRoot: string; //หน่วยงาน
orgChild1: string; //ส่วนราชการระดับ 1
orgChild2: string; //ส่วนราชการระดับ 2
orgChild3: string; //ส่วนราชการระดับ 3
orgChild4: string; //ส่วนราชการระดับ 4
remark: string; //หมายเหตุstring
} }
interface RequestNoPaidObject { interface RequestNoPaidObject {
@ -26,4 +33,4 @@ interface RequestNoPaidObject {
refCommandNo: string; refCommandNo: string;
} }
export type { FormSalaryNew, RequestNoPaidObject }; export type { FormSalary, RequestNoPaidObject };

View file

@ -1,187 +1,36 @@
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { ref } from "vue"; import { ref } from "vue";
import type { DataOption2 } from "@/modules/04_registryPerson/interface/index/Main"; import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main";
export const useSalaryDataStore = defineStore("salatyDataStore", () => { export const useSalaryDataStore = defineStore("salatyDataStore", () => {
const optionTemplatePos = ref<DataOption2[]>([ // commandCode ขอตำแหน่ง
{ const salaryCode = ref<number[]>([5, 6, 7]);
id: 1,
name: "เลื่อนเงินเดือน",
},
{
id: 2,
name: "เลื่อนเงินเดือน (ดีเด่น)",
},
{
id: 3,
name: "เลื่อนเงินเดือน (เพิ่มเติม)",
},
{ const commandCodeData = ref<DataOption[]>([]);
id: 4, const posTypeData = ref<DataOption[]>([]); //รายการประเภทตำแหน่ง | กลุ่มงาน
name: "ปรับเงินเดือน", const posLevelData = ref<DataOption[]>([]); //รายการระดับตำแหน่ง | ระดับชั้นงาน
}, const posLineData = ref<DataOption[]>([]); //รายการสายงาน
const posPathSideData = ref<DataOption[]>([]); //รายการด้าน/สาขา
const posExecutiveData = ref<DataOption[]>([]); //รายการตำแหน่งทางการบริหาร
{ function convertCommandCodeName(val: string) {
id: 5, return (
name: "ปรับเงินเดือนเพิ่มเติมตามคุณวุฒิการศึกษา", commandCodeData.value.find((e: DataOption) => e.id === val)?.name ?? "-"
}, );
{ }
id: 6,
name: "ปรับเงินเดือนเพิ่มเติมตามคุณวุฒิการศึกษา (เพิ่มเติม)",
},
{
id: 7,
name: "เลื่อนเงินเดือนและให้ข้าราชการ กทม. สามัญได้รับเงินเดือนสูงกว่าขั้นสูงของตำแหน่งที่ได้รับแต่งตั้ง",
},
{
id: 8,
name: "เลื่อนเงินเดือนกรณีพิเศษให้แก่ผู้ปฏิบัติงานด้านยาเสพติด",
},
{
id: 9,
name: "{ประเภทตำแหน่ง} {ชื่อตำแหน่ง} สำนัก{ชื่อสำนัก}",
},
{
id: 10,
name: "แต่งตั้งข้าราชการ {ประเภทตำแหน่ง} {ชื่อตำแหน่ง} สำนัก{ชื่อสำนัก}",
},
{
id: 11,
name: "แก้ไขคำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 12,
name: "โปรดเกล้าฯ {ชื่อตำแหน่ง} สำนัก{ชื่อสำนัก}",
},
{
id: 13,
name: "ช่วยราชการที่{หน่วยงานและรายละเอียดต่างๆ}",
},
{
id: 14,
name: "ปฏิบัติหน้าที่ในตำแหน่ง{ชื่อตำแหน่ง} สำนัก{ชื่อสำนัก}",
},
{
id: 15,
name: "รักษาการในตำแหน่ง{ชื่อตำแหน่ง} สำนัก{ชื่อสำนัก}",
},
{
id: 16,
name: "พ้นจากการทดลองปฏิบัติหน้าที่ราชการ",
},
{
id: 17,
name: "งดเลื่อนขั้นเงินเดือน",
},
{
id: 18,
name: "แก้ไขคำสั่งเลื่อนขั้นเงินเดือน {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 19,
name: "ยกเลิกคำสั่งเลื่อนขั้นเงินเดือน {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 20,
name: "กลับไปปฏิบัติงานทางต้นสังกัดเดิม",
},
{
id: 21,
name: "โปรดเกล้าฯ แต่งตั้งให้ดำรงตำแหน่ง{รายละเอียดของตำแหน่งและหน่วยงาน}",
},
]);
const optionTemplateDoc = ref<DataOption2[]>([
{
id: 1,
name: "บรรจุและแต่งตั้งผู้สอบแข่งขันได้ คำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 2,
name: "ปรับเงินเดือนตาม{รายละเอียดของบัญชี เช่นชื่อ ฉบับที่ ปี พ.ศ.}",
},
{
id: 3,
name: "เลื่อนขั้นเงินเดือนตามคำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 4,
name: "เลื่อนขั้นเงินเดือน คำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 5,
name: "เลื่อนขั้นเงินเดือน (1 ขั้น) คำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 6,
name: "เลื่อนขั้นเงินเดือน (1.5 ขั้น) คำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 7,
name: "แต่งตั้งตามคำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 8,
name: "คำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 9,
name: "ปรับเงินเดือนตาม{รายละเอียดข้อมูล}",
},
{
id: 10,
name: "แก้ไขคำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม} ตามคำสั่ง {หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 11,
name: "เลื่อนระดับและแต่งตั้งคำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 12,
name: "แต่งตั้งดำรงตำแหน่ง{ชื่อตำแหน่ง} คำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 13,
name: "แต่งตั้งคำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 14,
name: "เลื่อนและแต่งตั้งโดยการสอบคัดเลือก คำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 15,
name: "แต่งตั้งข้าราชการให้ดำรงตำแหน่งของ{รายละเอียดของตำแหน่งและหน่วยงาน} คำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 16,
name: "ย้ายตามคำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 17,
name: "แต่งตั้งข้าราชการให้ดำรงตำแหน่งตามคำสั่ง{หน่วยงาน/สำนัก} ที่ {เลขที่}/{ปีงบประมาณ} ลว. {วันที่ลงนาม}",
},
{
id: 18,
name: "ปรับอัตราเงินเดือนตามพระราชกฤษฎีกาการปรับอัตราเงินเดือนของข้าราชการ พ.ศ. (.............)",
},
]);
return { return {
optionTemplatePos, // Data
optionTemplateDoc, salaryCode,
commandCodeData,
posTypeData,
posLevelData,
posLineData,
posPathSideData,
posExecutiveData,
// Function
convertCommandCodeName,
}; };
}); });