no message

This commit is contained in:
setthawutttty 2025-03-31 16:36:35 +07:00
parent 17230bee6b
commit accac04af8
12 changed files with 268 additions and 131 deletions

View file

@ -48,8 +48,6 @@ const formDataSick = reactive<any>({
leaveRange: "ALL",
leaveTotal: "",
leaveLast: null,
leaveNumber: "",
leaveAddress: "",
leaveDetail: "",
leaveDocument: [],
});
@ -132,8 +130,8 @@ function onValidate() {
convertDateToAPI(formDataSick.leaveEndDate) ?? ""
);
formData.append("leaveWrote", formDataSick.leaveWrote);
formData.append("leaveAddress", formDataSick.leaveAddress);
formData.append("leaveNumber", formDataSick.leaveNumber);
formData.append("leaveAddress", dataStore.currentAddress);
formData.append("leaveNumber", dataStore.telephoneNumber);
formData.append("leaveDetail", formDataSick.leaveDetail);
formData.append("leaveTotal", formDataSick.leaveTotal);
props.onSubmit(formData, isLeave.value);
@ -212,11 +210,9 @@ watch(props.data, () => {
formDataSick.leaveEndDate = new Date(props.data.leaveEndDate);
formDataSick.contractTel = props.data.contractTel;
formDataSick.leaveTotal = props.data.leaveTotal;
formDataSick.leaveNumber = props.data.leaveNumber;
formDataSick.leaveDetail = props.data.leaveDetail;
formDataSick.leaveRange = props.data.leaveRange;
leaveDocumentList.value = props.data.leaveDocument;
formDataSick.leaveAddress = props.data.leaveAddress;
statusCheck.value = props.data.status;
formDataSick.leaveDocument = [];
}
@ -230,11 +226,9 @@ onMounted(() => {
formDataSick.leaveEndDate = new Date(props.data.leaveEndDate);
formDataSick.contractTel = props.data.contractTel;
formDataSick.leaveTotal = props.data.leaveTotal;
formDataSick.leaveNumber = props.data.leaveNumber;
formDataSick.leaveDetail = props.data.leaveDetail;
formDataSick.leaveRange = props.data.leaveRange;
leaveDocumentList.value = props.data.leaveDocument;
formDataSick.leaveAddress = props.data.leaveAddress;
statusCheck.value = props.data.status;
leaveId.value = props.data.id;
}
@ -432,10 +426,11 @@ onMounted(() => {
outlined
ref="leaveNumberRef"
for="leaveNumberRef"
v-model="formDataSick.leaveNumber"
v-model="dataStore.telephoneNumber"
mask="(###)-###-####"
hide-bottom-space
bg-color="white"
lazy-rules
unmasked-value
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit || statusCheck === 'NEW'"
@ -450,7 +445,7 @@ onMounted(() => {
outlined
ref="leaveAddressRef"
for="leaveAddressRef"
v-model="formDataSick.leaveAddress"
v-model="dataStore.currentAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[

View file

@ -46,8 +46,6 @@ const formDataBirth = reactive<any>({
leaveEndDate: null,
leaveTotal: "",
leaveLast: "",
leaveNumber: "",
leaveAddress: "",
leaveDetail: "",
leaveDocument: [],
});
@ -113,8 +111,8 @@ function onValidate() {
convertDateToAPI(formDataBirth.leaveEndDate) ?? ""
);
formData.append("leaveWrote", formDataBirth.leaveWrote);
formData.append("leaveAddress", formDataBirth.leaveAddress);
formData.append("leaveNumber", formDataBirth.leaveNumber);
formData.append("leaveAddress", dataStore.currentAddress);
formData.append("leaveNumber", dataStore.telephoneNumber);
formData.append("leaveDetail", formDataBirth.leaveDetail);
formData.append("leaveTotal", formDataBirth.leaveTotal);
@ -162,8 +160,6 @@ watch(props.data, () => {
formDataBirth.leaveStartDate = props.data.leaveStartDate;
formDataBirth.leaveEndDate = props.data.leaveEndDate;
formDataBirth.leaveTotal = props.data.leaveTotal;
formDataBirth.leaveNumber = props.data.leaveNumber;
formDataBirth.leaveAddress = props.data.leaveAddress;
formDataBirth.leaveDetail = props.data.leaveDetail;
leaveDocumentList.value = props.data.leaveDocument;
statusCheck.value = props.data.status;
@ -178,8 +174,6 @@ onMounted(() => {
formDataBirth.leaveStartDate = props.data.leaveStartDate;
formDataBirth.leaveEndDate = props.data.leaveEndDate;
formDataBirth.leaveTotal = props.data.leaveTotal;
formDataBirth.leaveNumber = props.data.leaveNumber;
formDataBirth.leaveAddress = props.data.leaveAddress;
formDataBirth.leaveDetail = props.data.leaveDetail;
leaveDocumentList.value = props.data.leaveDocument;
statusCheck.value = props.data.status;
@ -352,9 +346,10 @@ onMounted(() => {
bg-color="white"
ref="leaveNumberRef"
for="leaveNumberRef"
v-model="formDataBirth.leaveNumber"
v-model="dataStore.telephoneNumber"
mask="(###)-###-####"
unmasked-value
lazy-rules
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[
@ -370,7 +365,7 @@ onMounted(() => {
bg-color="white"
ref="leaveAddressRef"
for="leaveAddressRef"
v-model="formDataBirth.leaveAddress"
v-model="dataStore.currentAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[

View file

@ -48,8 +48,6 @@ const formDataHelpWife = reactive<any>({
leaveStartDate: null,
leaveEndDate: null,
leaveTotal: "",
leaveNumber: "",
leaveAddress: "",
leaveDetail: "",
leaveDocument: [],
});
@ -124,8 +122,8 @@ function onValidate() {
convertDateToAPI(formDataHelpWife.leaveEndDate)??''
);
formData.append("leaveWrote", formDataHelpWife.leaveWrote);
formData.append("leaveAddress", formDataHelpWife.leaveAddress);
formData.append("leaveNumber", formDataHelpWife.leaveNumber);
formData.append("leaveAddress", dataStore.currentAddress);
formData.append("leaveNumber", dataStore.telephoneNumber);
formData.append("leaveDetail", formDataHelpWife.leaveDetail);
formData.append("wifeDayName", formDataHelpWife.wifeDayName);
formData.append(
@ -187,8 +185,6 @@ watch(props.data, () => {
formDataHelpWife.leaveStartDate = props.data.leaveStartDate;
formDataHelpWife.leaveEndDate = props.data.leaveEndDate;
formDataHelpWife.leaveTotal = props.data.leaveTotal;
formDataHelpWife.leaveNumber = props.data.leaveNumber;
formDataHelpWife.leaveAddress = props.data.leaveAddress;
formDataHelpWife.leaveDetail = props.data.leaveDetail;
formDataHelpWife.leaveDocument = [];
leaveDocumentList.value = props.data.leaveDocument;
@ -205,8 +201,6 @@ onMounted(() => {
formDataHelpWife.leaveStartDate = props.data.leaveStartDate;
formDataHelpWife.leaveEndDate = props.data.leaveEndDate;
formDataHelpWife.leaveTotal = props.data.leaveTotal;
formDataHelpWife.leaveNumber = props.data.leaveNumber;
formDataHelpWife.leaveAddress = props.data.leaveAddress;
formDataHelpWife.leaveDetail = props.data.leaveDetail;
leaveDocumentList.value = props.data.leaveDocument;
statusCheck.value = props.data.status;
@ -426,10 +420,11 @@ onMounted(() => {
outlined
ref="leaveNumberRef"
for="leaveNumberRef"
v-model="formDataHelpWife.leaveNumber"
v-model="dataStore.telephoneNumber"
mask="(###)-###-####"
unmasked-value
hide-bottom-space
lazy-rules
bg-color="white"
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit || statusCheck === 'NEW'"
@ -446,7 +441,7 @@ onMounted(() => {
bg-color="white"
ref="leaveAddressRef"
for="leaveAddressRef"
v-model="formDataHelpWife.leaveAddress"
v-model="dataStore.currentAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[

View file

@ -49,8 +49,6 @@ const formDataVacation = reactive<any>({
leaveStartDate: null,
leaveEndDate: null,
leaveTotal: "",
leaveNumber: "",
leaveAddress: "",
leaveDetail: "",
leaveDocument: [],
});
@ -145,8 +143,8 @@ function onValidate() {
convertDateToAPI(formDataVacation.leaveEndDate)??''
);
formData.append("leaveWrote", formDataVacation.leaveWrote);
formData.append("leaveAddress", formDataVacation.leaveAddress);
formData.append("leaveNumber", formDataVacation.leaveNumber);
formData.append("leaveAddress", dataStore.currentAddress);
formData.append("leaveNumber", dataStore.telephoneNumber);
formData.append("leaveDetail", formDataVacation.leaveDetail);
formData.append("leaveTotal", formDataVacation.leaveTotal);
props.onSubmit(formData, isLeave.value);
@ -203,8 +201,7 @@ watch(props.data, () => {
formDataVacation.leaveStartDate = props.data.leaveStartDate;
formDataVacation.leaveEndDate = props.data.leaveEndDate;
formDataVacation.leaveTotal = props.data.leaveTotal;
formDataVacation.leaveNumber = props.data.leaveNumber;
formDataVacation.leaveAddress = props.data.leaveAddress;
formDataVacation.leaveDetail = props.data.leaveDetail;
leaveDocumentList.value = props.data.leaveDocument;
statusCheck.value = props.data.status;
@ -222,8 +219,7 @@ onMounted(() => {
formDataVacation.leaveStartDate = props.data.leaveStartDate;
formDataVacation.leaveEndDate = props.data.leaveEndDate;
formDataVacation.leaveTotal = props.data.leaveTotal;
formDataVacation.leaveNumber = props.data.leaveNumber;
formDataVacation.leaveAddress = props.data.leaveAddress;
formDataVacation.leaveDetail = props.data.leaveDetail;
leaveDocumentList.value = props.data.leaveDocument;
statusCheck.value = props.data.status;
@ -431,8 +427,9 @@ onMounted(() => {
bg-color="white"
ref="leaveNumberRef"
for="leaveNumberRef"
v-model="formDataVacation.leaveNumber"
v-model="dataStore.telephoneNumber"
mask="(###)-###-####"
lazy-rules
unmasked-value
label="หมายเลขโทรศัพท์ที่ติดต่อได้"
:readonly="!edit || statusCheck === 'NEW'"
@ -449,7 +446,7 @@ onMounted(() => {
bg-color="white"
ref="leaveAddressRef"
for="leaveAddressRef"
v-model="formDataVacation.leaveAddress"
v-model="dataStore.currentAddress"
label="ที่อยู่ที่ติดต่อได้ระหว่างลา"
:readonly="!edit || statusCheck === 'NEW'"
:rules="[

View file

@ -138,7 +138,7 @@ function onValidate() {
);
formData.append(
"ordainDayLocationNumber",
formDataOrdination.ordainDayLocationNumber
dataStore.telephoneNumber
);
formData.append(
"ordainDayLocationAddress",
@ -214,8 +214,7 @@ watch(props.data, () => {
formDataOrdination.leaveTotal = props.data.leaveTotal;
formDataOrdination.ordainDayOrdination = props.data.ordainDayOrdination;
formDataOrdination.ordainDayLocationName = props.data.ordainDayLocationName;
formDataOrdination.ordainDayLocationNumber =
props.data.ordainDayLocationNumber;
formDataOrdination.ordainDayLocationAddress =
props.data.ordainDayLocationAddress;
formDataOrdination.ordainDayBuddhistLentName =
@ -239,8 +238,7 @@ onMounted(() => {
formDataOrdination.leaveTotal = props.data.leaveTotal;
formDataOrdination.ordainDayOrdination = props.data.ordainDayOrdination;
formDataOrdination.ordainDayLocationName = props.data.ordainDayLocationName;
formDataOrdination.ordainDayLocationNumber =
props.data.ordainDayLocationNumber;
formDataOrdination.ordainDayLocationAddress =
props.data.ordainDayLocationAddress;
formDataOrdination.ordainDayBuddhistLentName =
@ -583,9 +581,10 @@ onMounted(() => {
dense
full-width
outlined
v-model="formDataOrdination.ordainDayLocationNumber"
v-model="dataStore.telephoneNumber"
bg-color="white"
mask="(###)-###-####"
lazy-rules
unmasked-value
:readonly="!edit || statusCheck === 'NEW'"
hide-bottom-space

View file

@ -68,8 +68,6 @@ const formDataStudy = reactive<any>({
leavegovernmentDate: new Date(),
leaveSalary: 10000,
leaveSalaryText: arabicNumberToText(10000),
leaveNumber: "",
leaveAddress: "",
studyDayScholarship: "",
studyDayCountry: "",
studyDayUniversityName: "", //
@ -155,8 +153,8 @@ function onValidate() {
formData.append("leaveWrote", formDataStudy.leaveWrote); //
formData.append("leaveDetail", formDataStudy.leaveDetail); //
formData.append("studyDayScholarship", formDataStudy.studyDayScholarship);
formData.append("leaveAddress", formDataStudy.leaveAddress); //
formData.append("leaveNumber", formDataStudy.leaveNumber); //
formData.append("leaveAddress", dataStore.currentAddress); //
formData.append("leaveNumber", dataStore.telephoneNumber); //
formData.append("leaveTotal", formDataStudy.leaveTotalDay); //
props.onSubmit(formData, isLeave.value);
}
@ -206,8 +204,7 @@ watch(props.data, async () => {
formDataStudy.leavegovernmentDate = props.data.leavegovernmentDate;
formDataStudy.leaveSalary = props.data.leaveSalary;
formDataStudy.leaveSalaryText = props.data.leaveSalaryText;
formDataStudy.leaveNumber = props.data.leaveNumber;
formDataStudy.leaveAddress = props.data.leaveAddress;
formDataStudy.studyDayScholarship = props.data.studyDayScholarship;
formDataStudy.studyDayCountry = props.data.studyDayCountry;
formDataStudy.studyDayUniversityName = props.data.studyDayUniversityName;
@ -236,8 +233,7 @@ onMounted(async () => {
formDataStudy.leavegovernmentDate = props.data.leavegovernmentDate;
formDataStudy.leaveSalary = props.data.leaveSalary;
formDataStudy.leaveSalaryText = props.data.leaveSalaryText;
formDataStudy.leaveNumber = props.data.leaveNumber;
formDataStudy.leaveAddress = props.data.leaveAddress;
formDataStudy.studyDayScholarship = props.data.studyDayScholarship;
formDataStudy.studyDayCountry = props.data.studyDayCountry;
formDataStudy.studyDayUniversityName = props.data.studyDayUniversityName;
@ -583,7 +579,7 @@ onMounted(async () => {
/>
<q-input
v-model="formDataStudy.leaveNumber"
v-model="dataStore.telephoneNumber"
ref="leaveNumberRef"
class="col-12 col-sm-6 col-md-4 cursor-pointer inputgreen"
bg-color="white"
@ -600,7 +596,7 @@ onMounted(async () => {
/>
<q-input
v-model="formDataStudy.leaveAddress"
v-model="dataStore.currentAddress"
ref="leaveAddressRef"
class="col-12 cursor-pointer inputgreen"
bg-color="white"

View file

@ -55,8 +55,6 @@ const formDataTrain = reactive<any>({
leavegovernmentDate: new Date(),
leaveSalary: 10000,
leaveSalaryText: arabicNumberToText(10000),
leaveNumber: "",
leaveAddress: "",
studyDayScholarship: "",
studyDayCountry: "",
studyDayTrainingSubject: "",
@ -140,8 +138,8 @@ function onValidate() {
formData.append("leaveWrote", formDataTrain.leaveWrote); //
formData.append("leaveDetail", formDataTrain.leaveDetail); //
formData.append("studyDayScholarship", formDataTrain.studyDayScholarship);
formData.append("leaveAddress", formDataTrain.leaveAddress); //
formData.append("leaveNumber", formDataTrain.leaveNumber); //
formData.append("leaveAddress", dataStore.currentAddress); //
formData.append("leaveNumber", dataStore.telephoneNumber); //
formData.append("leaveSalaryText", formDataTrain.leaveSalaryText); //
formData.append("leaveSalary", formDataTrain.leaveSalary); //
formData.append("leaveTotal", formDataTrain.leaveTotalDay); //
@ -193,8 +191,6 @@ watch(props.data, async () => {
formDataTrain.leavegovernmentDate = props.data.leavegovernmentDate;
formDataTrain.leaveSalary = props.data.leaveSalary;
formDataTrain.leaveSalaryText = props.data.leaveSalaryText;
formDataTrain.leaveNumber = props.data.leaveNumber;
formDataTrain.leaveAddress = props.data.leaveAddress;
formDataTrain.studyDayScholarship = props.data.studyDayScholarship;
formDataTrain.studyDayCountry = props.data.studyDayCountry;
formDataTrain.studyDayTrainingSubject = props.data.studyDayTrainingSubject;
@ -222,8 +218,6 @@ onMounted(async () => {
formDataTrain.leavegovernmentDate = props.data.leavegovernmentDate;
formDataTrain.leaveSalary = props.data.leaveSalary;
formDataTrain.leaveSalaryText = props.data.leaveSalaryText;
formDataTrain.leaveNumber = props.data.leaveNumber;
formDataTrain.leaveAddress = props.data.leaveAddress;
formDataTrain.studyDayScholarship = props.data.studyDayScholarship;
formDataTrain.studyDayCountry = props.data.studyDayCountry;
formDataTrain.studyDayTrainingSubject = props.data.studyDayTrainingSubject;
@ -554,7 +548,7 @@ onMounted(async () => {
/>
<q-input
v-model="formDataTrain.leaveNumber"
v-model="dataStore.telephoneNumber"
class="col-12 col-sm-6 col-md-4 cursor-pointer inputgreen"
ref="leaveNumberRef"
dense
@ -571,7 +565,7 @@ onMounted(async () => {
/>
<q-input
v-model="formDataTrain.leaveAddress"
v-model="dataStore.currentAddress"
ref="leaveAddressRef"
class="col-12 cursor-pointer inputgreen"
bg-color="white"

View file

@ -88,7 +88,7 @@ onMounted(() => {
label="เรียน"
/>
<q-input
class="col-12 col-sm-3"
class="col-12 col-sm-4"
dense
outlined
readonly
@ -97,7 +97,7 @@ onMounted(() => {
label="ชื่อผู้ยื่นขอ"
/>
<q-input
class="col-12 col-sm-3"
class="col-12 col-sm-4"
dense
outlined
readonly
@ -106,7 +106,7 @@ onMounted(() => {
label="ตำแหน่งผู้ยื่นขอ"
/>
<q-input
class="col-12 col-sm-3"
class="col-12 col-sm-4"
dense
outlined
readonly
@ -115,10 +115,11 @@ onMounted(() => {
label="ระดับผู้ยื่นขอ"
/>
<q-input
class="col-12 col-sm-3"
class="col-12 text-html"
dense
outlined
readonly
type="textarea"
bg-color="white"
v-model="dataStore.organizationName"
label="สังกัดผู้ยื่นขอ"

View file

@ -39,7 +39,7 @@ export const useLeaveStore = defineStore("Leave", () => {
leaveTypeName: e.leaveTypeName,
leaveTypeId: e.leaveTypeId,
fullName: e.fullName,
dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave,false,true),
dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave, false, true),
dateLeave:
date2Thai(e.leaveStartDate) + " - " + date2Thai(e.leaveEndDate),
status: e.status,
@ -281,6 +281,9 @@ export const useLeaveStore = defineStore("Leave", () => {
const leaveLast = ref<any>();
const restDayCurrentTotal = ref<number>(0);
const telephoneNumber = ref<string>("");
const currentAddress = ref<string>("");
//ดึงข้อมูล profile จาก API
async function fetchProfile() {
showLoader();
@ -301,6 +304,14 @@ export const useLeaveStore = defineStore("Leave", () => {
restDayTotalOld.value = data.restDayTotalOld;
birthDate.value = data.birthDate;
dateAppoint.value = data.dateAppoint;
telephoneNumber.value =
data.telephoneNumber && data.telephoneNumber !== "-"
? data.telephoneNumber
: null;
currentAddress.value = data.currentSubDistrict
? `${data.currentAddress} ${data.currentSubDistrict} ${data.currentDistrict} ${data.currentProvince} ${data.currentZipCode}`
: "";
salary.value = data.salary ? data.salary.toLocaleString("th-TH") : "";
salaryText.value = data.salaryText;
leaveLast.value =
@ -419,5 +430,7 @@ export const useLeaveStore = defineStore("Leave", () => {
typeOptionsMain,
status,
statusOptionsMain,
telephoneNumber,
currentAddress,
};
});

View file

@ -208,6 +208,11 @@ async function fetchDataDetail(id: string) {
formData.dear = data.dear ?? "-";
formData.leaveLast = data.leaveLast ?? "-";
formData.leaveRange = data.leaveRange;
dataStore.telephoneNumber =
data.leaveNumber && data.leaveNumber !== "-" ? data.leaveNumber : null;
dataStore.currentAddress = data.leaveAddress ? data.leaveAddress : "";
await dataStore.fetchProfileOld(data);
})
.catch((err) => {

View file

@ -22,7 +22,8 @@ const mixin = useCounterMixin();
const store = useEvaluateDetailStore();
const $q = useQuasar();
const route = useRoute();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const { showLoader, hideLoader, messageError, date2Thai, findOrgNameHtml } =
mixin;
const {
columnsCertificates,
columnSalaries,
@ -183,8 +184,6 @@ async function fetchCheckSpec(data: any) {
position: e.position,
positionSalaryAmount: e.positionSalaryAmount ? e.positionSalaryAmount : 0,
refCommandDate: e.refCommandDate ? e.refCommandDate : "",
refCommandNo: e.refCommandNo ? e.refCommandNo : "",
salaryClass: e.salaryClass ? e.salaryClass : "",
salaryRef: e.salaryRef ? e.salaryRef : "",
salaryStatus: e.salaryStatus ? e.salariesStatus : "",
@ -548,7 +547,20 @@ onMounted(async () => {
:key="col.id"
class="vertical-top"
>
<div class="table_ellipsis">
<div v-if="col.name == 'organization'" class="text-html">
{{
props.row
? findOrgNameHtml({
root: props.row.orgRoot,
child1: props.row.orgChild1,
child2: props.row.orgChild2,
child3: props.row.orgChild3,
child4: props.row.orgChild4,
})
: "-"
}}
</div>
<div v-else class="table_ellipsis">
{{ col.value ? col.value : "-" }}
</div>
</q-td>

View file

@ -7,7 +7,7 @@ import { useCounterMixin } from "@/stores/mixin";
export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
/** columns TableViewStep1*/
const mixin = useCounterMixin();
const { date2Thai } = mixin;
const { date2Thai, findOrgNameHtml } = mixin;
const columnsCertificates = ref<QTableProps["columns"]>([
{
@ -59,14 +59,163 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
const columnSalaries = ref<QTableProps["columns"]>([
{
name: "date",
name: "commandDateAffect",
align: "left",
label: "วัน เดือน ปี",
label: "วันที่คำสั่งมีผล",
sortable: true,
field: "date",
field: "commandDateAffect",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (v) => date2Thai(v),
sort: (a: string, b: string) =>
a
.toString()
.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) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "posNumCodeSit",
align: "left",
label: "หน่วยงานที่ออกคำสั่ง",
sortable: false,
field: "posNumCodeSit",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return row.posNumCodeSitAbb && row.posNumCodeSit
? `${row.posNumCodeSit} (${row.posNumCodeSitAbb})`
: row.posNumCodeSit
? row.posNumCodeSit
: "-";
},
},
{
name: "posNo",
align: "left",
label: "เลขที่ตำแหน่ง",
sortable: true,
field: "posNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format(val, row) {
return row.posNoAbb && row.posNo
? `${row.posNoAbb}${row.posNo}`
: row.posNo
? row.posNo
: "-";
},
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: "positionType",
align: "left",
label: "ตำแหน่งประเภท",
sortable: true,
field: "positionType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "positionLevel",
align: "left",
label: "ระดับ",
sortable: true,
field: "positionLevel",
format(val, row) {
return `${
row.positionLevel
? row.positionLevel
: row.positionCee
? row.positionCee
: "-"
}`;
},
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "positionExecutive",
align: "left",
label: "ตำแหน่งทางการบริหาร",
sortable: true,
field: "positionExecutive",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "commandNo",
align: "left",
label: "เลขที่คำสั่ง",
sortable: true,
field: "commandNo",
format(val, row) {
return row.commandNo && row.commandYear
? `${row.commandNo}/${Number(row.commandYear) + 543}`
: "";
},
headerStyle: "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",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "organization",
align: "left",
label: "สังกัด",
sortable: true,
field: "organization",
headerStyle: "font-size: 14px;min-width:280px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "amount",
@ -76,17 +225,19 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
field: "amount",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
},
{
name: "positionSalaryAmount",
align: "left",
label: "เงินประจำตำแหน่ง",
sortable: true,
field: "positionSalaryAmount",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
format(v, row) {
return row.amount
? `${row.amount.toLocaleString()}${
row.amountSpecial !== 0 && row.amountSpecial
? ` (${row.amountSpecial.toLocaleString()})`
: ""
}`
: "-";
},
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "mouthSalaryAmount",
@ -97,54 +248,38 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
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",
style: "font-size: 14px",
format: (v) => Number(v).toLocaleString(),
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "posNo",
name: "remark",
align: "left",
label: "เลขที่ตำแหน่ง",
label: "หมายเหตุ",
sortable: true,
field: "posNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "positionType",
align: "left",
label: "ตำแหน่งประเภท",
sortable: true,
field: "positionType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "positionLevel",
align: "left",
label: "ระดับ",
sortable: true,
field: "positionLevel",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "templateDoc",
align: "left",
label: "เอกสารอ้างอิง",
sortable: true,
field: "templateDoc",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "refCommandNo",
align: "left",
label: "เลขที่คำสั่ง",
sortable: true,
field: "refCommandNo",
field: "remark",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a
.toString()
.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
]);