Merge branch 'nice_dev' into develop
# Conflicts: # src/modules/13_salary/views/salaryLists.vue
This commit is contained in:
commit
bbbb157866
11 changed files with 283 additions and 213 deletions
|
|
@ -2,6 +2,7 @@ import env from "../index";
|
||||||
const salary = `${env.API_URI}/salary`;
|
const salary = `${env.API_URI}/salary`;
|
||||||
const salaryRate = `${env.API_URI}/salary/rate`;
|
const salaryRate = `${env.API_URI}/salary/rate`;
|
||||||
const salaryPeriod = `${env.API_URI}/salary/period`;
|
const salaryPeriod = `${env.API_URI}/salary/period`;
|
||||||
|
const salaryPeriodEmp = `${env.API_URI}/salary/period-employee`;
|
||||||
const salaryOrg = `${env.API_URI}/org/employee`;
|
const salaryOrg = `${env.API_URI}/org/employee`;
|
||||||
const salaryFormula = `${env.API_URI}/salary/formula`;
|
const salaryFormula = `${env.API_URI}/salary/formula`;
|
||||||
|
|
||||||
|
|
@ -31,7 +32,8 @@ export default {
|
||||||
salaryListPeriodProfileById: (id: string) => `${salaryPeriod}/profile/${id}`,
|
salaryListPeriodProfileById: (id: string) => `${salaryPeriod}/profile/${id}`,
|
||||||
salaryListPerson: `${env.API_URI}/org/profile/salary/gen`,
|
salaryListPerson: `${env.API_URI}/org/profile/salary/gen`,
|
||||||
salaryPeriodProfile: `${salary}/period/org/profile`,
|
salaryPeriodProfile: `${salary}/period/org/profile`,
|
||||||
|
salaryReportListsByid: (type: string, rootId: string, periodId: string) =>
|
||||||
|
`${salary}/report/${type}/${rootId}/${periodId}`,
|
||||||
salaryProperty: (id: string) => `${salaryPeriod}/org/property/${id}`,
|
salaryProperty: (id: string) => `${salaryPeriod}/org/property/${id}`,
|
||||||
|
|
||||||
/** รายการเงินเดือนลูกจ้างประจำ*/
|
/** รายการเงินเดือนลูกจ้างประจำ*/
|
||||||
|
|
@ -45,13 +47,21 @@ export default {
|
||||||
salaryEmployeeRateList: `${salaryRate}/employee`,
|
salaryEmployeeRateList: `${salaryRate}/employee`,
|
||||||
salaryEmployeeRateListByid: (id: string) => `${salaryRate}/employee/${id}`,
|
salaryEmployeeRateListByid: (id: string) => `${salaryRate}/employee/${id}`,
|
||||||
|
|
||||||
salaryEmployeePosType:()=>`${salaryOrg}/pos/type`,
|
salaryEmployeePosType: () => `${salaryOrg}/pos/type`,
|
||||||
salaryFormula:()=>`${salaryFormula}`,
|
salaryFormula: () => `${salaryFormula}`,
|
||||||
salaryFormulaById:(id:string)=>`${salaryFormula}/${id}`,
|
salaryFormulaById: (id: string) => `${salaryFormula}/${id}`,
|
||||||
salaryEmployeePositionType:(key:string)=>`${salaryOrg}/pos/position?keyword=${key}&type=positionType`,
|
salaryEmployeePositionType: (key: string) =>
|
||||||
salaryEmployeeActive :()=>`${salary}/employee/active`,
|
`${salaryOrg}/pos/position?keyword=${key}&type=positionType`,
|
||||||
|
salaryEmployeeActive: () => `${salary}/employee/active`,
|
||||||
|
|
||||||
|
salaryPeriodStatus: (type: string, periodId: string, rootId: string) =>
|
||||||
|
`${salaryPeriod}/${type}/approve/${periodId}/${rootId}`,
|
||||||
|
salaryPeriodStatusComment: (type: string, periodId: string, rootId: string) =>
|
||||||
|
`${salaryPeriod}/${type}/comment/${periodId}/${rootId}`,
|
||||||
|
|
||||||
salaryPeriodStatus:(type:string,periodId:string,rootId:string)=>`${salaryPeriod}/${type}/approve/${periodId}/${rootId}`,
|
/** รายการเงินเดือนลูกจ้างประจำ*/
|
||||||
salaryPeriodStatusComment:(type:string,periodId:string,rootId:string)=>`${salaryPeriod}/${type}/comment/${periodId}/${rootId}`
|
salaryListPeriodLatestEmp: `${salaryPeriodEmp}/latest`,
|
||||||
|
salaryListPeriodQuotaEmp: (id: string) => `${salaryPeriodEmp}/quota/${id}`,
|
||||||
|
salaryListPeriodORGEmp: (id: string) => `${salaryPeriodEmp}/org/${id}`,
|
||||||
|
salaryPeriodProfileEmp: `${salaryPeriodEmp}/org/profile`,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ function onClickAddPerson(data: DataPerson) {
|
||||||
$q,
|
$q,
|
||||||
() => {
|
() => {
|
||||||
http
|
http
|
||||||
.post(config.API.salaryPeriodProfile, body)
|
.post(config.API.salaryPeriodProfileEmp, body)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
props.fetchData?.();
|
props.fetchData?.();
|
||||||
success($q, "เพื่มรายชื่อสำเร็จ");
|
success($q, "เพื่มรายชื่อสำเร็จ");
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@ const maxPage = ref<number>(1);
|
||||||
function fetchDataQuota(id: string) {
|
function fetchDataQuota(id: string) {
|
||||||
// showLoader();
|
// showLoader();
|
||||||
http
|
http
|
||||||
.get(config.API.salaryListPeriodQuota(id))
|
.get(config.API.salaryListPeriodQuotaEmp(id))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
store.remaining = data.remaining;
|
store.remaining = data.remaining;
|
||||||
|
|
@ -242,7 +242,7 @@ function fetchDataPeriod(id: string) {
|
||||||
};
|
};
|
||||||
|
|
||||||
http
|
http
|
||||||
.put(config.API.salaryListPeriodORG(id), formData)
|
.put(config.API.salaryListPeriodORGEmp(id), formData)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
rows.value = res.data.result.data;
|
rows.value = res.data.result.data;
|
||||||
total.value = res.data.result.total;
|
total.value = res.data.result.total;
|
||||||
|
|
@ -298,9 +298,9 @@ function onClickDownload(data: DataOption) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const modalDialogInfoCriteria = ref<boolean>(false);
|
const modalDialogInfoCriteria = ref<boolean>(false);
|
||||||
onMounted(async () => {
|
onMounted(() => {
|
||||||
await fetchDataQuota(store.groupId);
|
fetchDataQuota(store.groupId);
|
||||||
await fetchDataPeriod(store.groupId);
|
fetchDataPeriod(store.groupId);
|
||||||
splitterModel.value = store.roundMainCode === "APR" ? 13 : 16;
|
splitterModel.value = store.roundMainCode === "APR" ? 13 : 16;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,13 @@ watch(
|
||||||
:display-value="$q.lang.table.columns"
|
:display-value="$q.lang.table.columns"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
:options="store.roundMainCode === 'OCT' ? columns : columns.slice(0, 10)"
|
:options="
|
||||||
|
store.roundMainCode === 'OCT'
|
||||||
|
? columns
|
||||||
|
: columns
|
||||||
|
? columns.slice(0, 10)
|
||||||
|
: []
|
||||||
|
"
|
||||||
option-value="name"
|
option-value="name"
|
||||||
options-cover
|
options-cover
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
|
|
@ -299,7 +305,13 @@ watch(
|
||||||
|
|
||||||
<d-table
|
<d-table
|
||||||
ref="table"
|
ref="table"
|
||||||
:columns="store.roundMainCode === 'OCT' ? columns : columns.slice(0, 10)"
|
:columns="
|
||||||
|
store.roundMainCode === 'OCT'
|
||||||
|
? columns
|
||||||
|
: columns
|
||||||
|
? columns.slice(0, 10)
|
||||||
|
: []
|
||||||
|
"
|
||||||
:rows="props.rows"
|
:rows="props.rows"
|
||||||
row-key="id"
|
row-key="id"
|
||||||
flat
|
flat
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,15 @@ const typeRangeOps = computed(() => {
|
||||||
{ id: "FULL", name: "1 ขั้น" },
|
{ id: "FULL", name: "1 ขั้น" },
|
||||||
{ id: "FULLHAFT", name: "1.5 ขั้น" },
|
{ id: "FULLHAFT", name: "1.5 ขั้น" },
|
||||||
]
|
]
|
||||||
: [
|
: store.roundMainCode == "ARP"
|
||||||
|
? [
|
||||||
{ id: "NONE", name: "ไม่ได้เลื่อน" },
|
{ id: "NONE", name: "ไม่ได้เลื่อน" },
|
||||||
{ id: "HAFT", name: "0.5 ขั้น" },
|
{ id: "HAFT", name: "0.5 ขั้น" },
|
||||||
{ id: "FULL", name: "1 ขั้น" },
|
{ id: "FULL", name: "1 ขั้น" },
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{ id: "HAFT", name: "0.5 ขั้น" },
|
||||||
|
{ id: "FULL", name: "1 ขั้น" },
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -104,7 +109,7 @@ function onSubmit() {
|
||||||
watch(
|
watch(
|
||||||
() => modal.value,
|
() => modal.value,
|
||||||
() => {
|
() => {
|
||||||
type.value = props.typeLevel == 'PENDING' ? "" : props.typeLevel;
|
type.value = props.typeLevel == "PENDING" ? "" : props.typeLevel;
|
||||||
isReserve.value = props.isReserve;
|
isReserve.value = props.isReserve;
|
||||||
isChange.value = false;
|
isChange.value = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ const { messageError, showLoader, hideLoader } = useCounterMixin();
|
||||||
/** props*/
|
/** props*/
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
periodLatest: { type: Object as () => DataPeriodLatest, require: true },
|
periodLatest: { type: Object as () => DataPeriodLatest, require: true },
|
||||||
|
rootId: { type: String, require: true },
|
||||||
|
periodId: { type: String, require: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
const total = ref<number>();
|
const total = ref<number>();
|
||||||
|
|
@ -84,7 +86,8 @@ const itemsTabType = computed(() => {
|
||||||
type: "NONE",
|
type: "NONE",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
: [
|
: store.roundMainCode === "APR"
|
||||||
|
? [
|
||||||
{
|
{
|
||||||
lable: "รายชื่อคนครอง",
|
lable: "รายชื่อคนครอง",
|
||||||
name: "tab1",
|
name: "tab1",
|
||||||
|
|
@ -105,6 +108,23 @@ const itemsTabType = computed(() => {
|
||||||
name: "tab4",
|
name: "tab4",
|
||||||
type: "NONE",
|
type: "NONE",
|
||||||
},
|
},
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
lable: "รายชื่อคนครอง",
|
||||||
|
name: "tab1",
|
||||||
|
type: "PENDING",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
lable: "1 ขั้น",
|
||||||
|
name: "tab2",
|
||||||
|
type: "FULL",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
lable: "0.5 ขั้น",
|
||||||
|
name: "tab3",
|
||||||
|
type: "HAFT",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -282,26 +302,29 @@ function fetchDataPeriodNew() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function onClickDownload(data: DataOption) {
|
function onClickDownload(data: DataOption) {
|
||||||
console.log(data);
|
if (props.rootId && props.periodId) {
|
||||||
// showLoader();
|
showLoader();
|
||||||
// http
|
http
|
||||||
// .get(config.API.salaryReportByid(salaryId.value))
|
.get(
|
||||||
// .then((res) => {
|
config.API.salaryReportListsByid(data.id, props.rootId, props.periodId)
|
||||||
// const dataList = res.data.result;
|
)
|
||||||
// genReportXLSX(dataList, "อัตราเงินเดือน");
|
.then((res) => {
|
||||||
// })
|
const dataList = res.data.result;
|
||||||
// .catch((e) => {
|
genReportXLSX(dataList, data.name);
|
||||||
// messageError($q, e);
|
})
|
||||||
// })
|
.catch((e) => {
|
||||||
// .finally(() => {
|
messageError($q, e);
|
||||||
// hideLoader();
|
})
|
||||||
// });
|
.finally(() => {
|
||||||
|
hideLoader();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const modalDialogInfoCriteria = ref<boolean>(false);
|
const modalDialogInfoCriteria = ref<boolean>(false);
|
||||||
onMounted(async () => {
|
onMounted(() => {
|
||||||
await fetchDataQuota(store.groupId);
|
fetchDataQuota(store.groupId);
|
||||||
await fetchDataPeriod(store.groupId);
|
fetchDataPeriod(store.groupId);
|
||||||
splitterModel.value = store.roundMainCode === "APR" ? 13 : 16;
|
splitterModel.value = store.roundMainCode === "APR" ? 13 : 16;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,13 @@ watch(
|
||||||
:display-value="$q.lang.table.columns"
|
:display-value="$q.lang.table.columns"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
:options="store.roundMainCode === 'OCT' ? columns : columns.slice(0, 10)"
|
:options="
|
||||||
|
store.roundMainCode === 'OCT'
|
||||||
|
? columns
|
||||||
|
: columns
|
||||||
|
? columns.slice(0, 10)
|
||||||
|
: []
|
||||||
|
"
|
||||||
option-value="name"
|
option-value="name"
|
||||||
options-cover
|
options-cover
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
|
|
@ -299,7 +305,13 @@ watch(
|
||||||
|
|
||||||
<d-table
|
<d-table
|
||||||
ref="table"
|
ref="table"
|
||||||
:columns="store.roundMainCode === 'OCT' ? columns : columns.slice(0, 10)"
|
:columns="
|
||||||
|
store.roundMainCode === 'OCT'
|
||||||
|
? columns
|
||||||
|
: columns
|
||||||
|
? columns.slice(0, 10)
|
||||||
|
: []
|
||||||
|
"
|
||||||
:rows="props.rows"
|
:rows="props.rows"
|
||||||
row-key="id"
|
row-key="id"
|
||||||
flat
|
flat
|
||||||
|
|
|
||||||
|
|
@ -198,10 +198,10 @@ const modalDialogProperties = ref<boolean>(false);
|
||||||
/** ตัวแปร*/
|
/** ตัวแปร*/
|
||||||
const profileId = ref<string>("");
|
const profileId = ref<string>("");
|
||||||
const amount = ref<number>(0);
|
const amount = ref<number>(0);
|
||||||
const isPunish = ref<boolean>(false)
|
const isPunish = ref<boolean>(false);
|
||||||
const isSuspension = ref<boolean>(false)
|
const isSuspension = ref<boolean>(false);
|
||||||
const isAbsent = ref<boolean>(false)
|
const isAbsent = ref<boolean>(false);
|
||||||
const isLeave = ref<boolean>(false)
|
const isLeave = ref<boolean>(false);
|
||||||
/**
|
/**
|
||||||
* function ยืนยันการลบรายชื่อ
|
* function ยืนยันการลบรายชื่อ
|
||||||
* @param id profileId
|
* @param id profileId
|
||||||
|
|
@ -282,14 +282,13 @@ function searchData() {
|
||||||
props.fetchDataTable?.();
|
props.fetchDataTable?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onProperties(data:any){
|
function onProperties(data: any) {
|
||||||
console.log(data)
|
modalDialogProperties.value = true;
|
||||||
modalDialogProperties.value = true
|
profileId.value = data.id;
|
||||||
profileId.value = data.id
|
isPunish.value = data.isPunish;
|
||||||
isPunish.value = data.isPunish
|
isSuspension.value = data.isSuspension;
|
||||||
isSuspension.value = data.isSuspension
|
isAbsent.value = data.isAbsent;
|
||||||
isAbsent.value = data.isAbsent
|
isLeave.value = data.isLeave;
|
||||||
isLeave.value = data.isLeave
|
|
||||||
}
|
}
|
||||||
/** callblack function เรียกข้อมูลรายชื่อใหม่ เมื่อมีการเปลี่ยน PageSize*/
|
/** callblack function เรียกข้อมูลรายชื่อใหม่ เมื่อมีการเปลี่ยน PageSize*/
|
||||||
watch(
|
watch(
|
||||||
|
|
@ -302,7 +301,14 @@ watch(
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-toolbar class="text-primary" style="padding: 0px">
|
<q-toolbar class="text-primary" style="padding: 0px">
|
||||||
<q-btn v-if="!store.isClosedRound" flat round dense icon="add" @click="onClickAddPerson">
|
<q-btn
|
||||||
|
v-if="!store.isClosedRound"
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
dense
|
||||||
|
icon="add"
|
||||||
|
@click="onClickAddPerson"
|
||||||
|
>
|
||||||
<q-tooltip>เพิ่ม </q-tooltip>
|
<q-tooltip>เพิ่ม </q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-space />
|
<q-space />
|
||||||
|
|
@ -439,7 +445,7 @@ watch(
|
||||||
size="24px"
|
size="24px"
|
||||||
/>
|
/>
|
||||||
<div v-else-if="props.row.isPunish == null">
|
<div v-else-if="props.row.isPunish == null">
|
||||||
{{ props.row.isPunish == null ? '-':''}}
|
{{ props.row.isPunish == null ? "-" : "" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.name == 'isSuspension'">
|
<div v-else-if="col.name == 'isSuspension'">
|
||||||
|
|
@ -450,7 +456,7 @@ watch(
|
||||||
size="24px"
|
size="24px"
|
||||||
/>
|
/>
|
||||||
<div v-else-if="props.row.isSuspension == null">
|
<div v-else-if="props.row.isSuspension == null">
|
||||||
{{ props.row.isSuspension == null ? '-':''}}
|
{{ props.row.isSuspension == null ? "-" : "" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.name == 'isAbsent'">
|
<div v-else-if="col.name == 'isAbsent'">
|
||||||
|
|
@ -461,12 +467,12 @@ watch(
|
||||||
size="24px"
|
size="24px"
|
||||||
/>
|
/>
|
||||||
<div v-else-if="props.row.isAbsent == null">
|
<div v-else-if="props.row.isAbsent == null">
|
||||||
{{ props.row.isAbsent == null ? '-':''}}
|
{{ props.row.isAbsent == null ? "-" : "" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.name == 'amount'">
|
<div v-else-if="col.name == 'amount'">
|
||||||
{{Number(props.row.amount).toLocaleString()}}
|
{{ Number(props.row.amount).toLocaleString() }}
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.name == 'isLeave'">
|
<div v-else-if="col.name == 'isLeave'">
|
||||||
<q-icon
|
<q-icon
|
||||||
v-if="props.row.isLeave !== null"
|
v-if="props.row.isLeave !== null"
|
||||||
|
|
@ -475,9 +481,8 @@ watch(
|
||||||
size="24px"
|
size="24px"
|
||||||
/>
|
/>
|
||||||
<div v-else-if="props.row.isLeave == null">
|
<div v-else-if="props.row.isLeave == null">
|
||||||
{{ props.row.isLeave == null ? '-':''}}
|
{{ props.row.isLeave == null ? "-" : "" }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
{{ col.value ? col.value : "-" }}
|
{{ col.value ? col.value : "-" }}
|
||||||
|
|
@ -485,7 +490,7 @@ watch(
|
||||||
</q-td>
|
</q-td>
|
||||||
<q-td>
|
<q-td>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="!store.isClosedRound"
|
v-if="!store.isClosedRound"
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
icon="mdi-dots-vertical"
|
icon="mdi-dots-vertical"
|
||||||
|
|
@ -576,13 +581,13 @@ watch(
|
||||||
:fetchData="props.fetchDataTable"
|
:fetchData="props.fetchDataTable"
|
||||||
/>
|
/>
|
||||||
<DialogProperties
|
<DialogProperties
|
||||||
v-model:modal="modalDialogProperties"
|
v-model:modal="modalDialogProperties"
|
||||||
v-model:id="profileId"
|
v-model:id="profileId"
|
||||||
:is-punish="isPunish"
|
:is-punish="isPunish"
|
||||||
:is-suspension="isSuspension"
|
:is-suspension="isSuspension"
|
||||||
:is-absent="isAbsent"
|
:is-absent="isAbsent"
|
||||||
:is-leave="isLeave"
|
:is-leave="isLeave"
|
||||||
:fetch-data="props.fetchDataTable"
|
:fetch-data="props.fetchDataTable"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ interface DataRound {
|
||||||
revisionId: string;
|
revisionId: string;
|
||||||
status: string;
|
status: string;
|
||||||
year: number;
|
year: number;
|
||||||
isClose: boolean
|
isClose: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface DataAgency {
|
interface DataAgency {
|
||||||
|
|
|
||||||
|
|
@ -8,152 +8,155 @@ import type {
|
||||||
} from "@/modules/13_salary/interface/index/Main";
|
} from "@/modules/13_salary/interface/index/Main";
|
||||||
import type { DataPeriodLatest } from "@/modules/13_salary/interface/response/SalaryList";
|
import type { DataPeriodLatest } from "@/modules/13_salary/interface/response/SalaryList";
|
||||||
|
|
||||||
export const useSalaryEmployeeListSDataStore = defineStore("salaryEmployeeListStore", () => {
|
export const useSalaryEmployeeListSDataStore = defineStore(
|
||||||
const tabGroup = ref<string>("group1");
|
"salaryEmployeeListStore",
|
||||||
const tabType = ref<string>("PENDING");
|
() => {
|
||||||
const groupOp = ref<DataOption[]>([
|
const tabGroup = ref<string>("group1");
|
||||||
{ id: "", name: "กลุ่ม1" },
|
const tabType = ref<string>("PENDING");
|
||||||
{ id: "", name: "กลุ่ม2" },
|
const groupOp = ref<DataOption[]>([
|
||||||
]);
|
{ id: "", name: "กลุ่ม1" },
|
||||||
|
{ id: "", name: "กลุ่ม2" },
|
||||||
|
]);
|
||||||
|
|
||||||
const remaining = ref<number>(0);
|
const remaining = ref<number>(0);
|
||||||
|
|
||||||
const groupId = ref<string>("");
|
const groupId = ref<string>("");
|
||||||
const rootId = ref<string>("");
|
const rootId = ref<string>("");
|
||||||
const roundMainCode = ref<string>("");
|
const roundMainCode = ref<string>("");
|
||||||
const roundYear = ref<number>(0);
|
const roundYear = ref<number>(0);
|
||||||
const roundCode = ref<string>("");
|
const roundCode = ref<string>("");
|
||||||
const isClosedRound = ref<boolean>(false); // การปิดรอบ
|
const isClosedRound = ref<boolean>(false); // การปิดรอบ
|
||||||
/** List Menu*/
|
/** List Menu*/
|
||||||
const itemMenu = ref<ItemsMenu[]>([
|
const itemMenu = ref<ItemsMenu[]>([
|
||||||
{
|
{
|
||||||
label: "แก้ไขเงินเดือน",
|
label: "แก้ไขเงินเดือน",
|
||||||
icon: "edit",
|
icon: "edit",
|
||||||
color: "edit",
|
color: "edit",
|
||||||
type: "edit",
|
type: "edit",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "ย้ายกลุ่ม",
|
label: "ย้ายกลุ่ม",
|
||||||
icon: "mdi-account-arrow-right-outline",
|
icon: "mdi-account-arrow-right-outline",
|
||||||
color: "indigo-6",
|
color: "indigo-6",
|
||||||
type: "moveGroup",
|
type: "moveGroup",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "ย้ายขั้น",
|
label: "ย้ายขั้น",
|
||||||
icon: "mdi-swap-vertical-bold",
|
icon: "mdi-swap-vertical-bold",
|
||||||
color: "green-6",
|
color: "green-6",
|
||||||
type: "moveLevel",
|
type: "moveLevel",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "แก้ไขคุณสมบัติ",
|
label: "แก้ไขคุณสมบัติ",
|
||||||
icon: "mdi-format-list-checks",
|
icon: "mdi-format-list-checks",
|
||||||
color: "blue-6",
|
color: "blue-6",
|
||||||
type: "properties",
|
type: "properties",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "ลบ",
|
label: "ลบ",
|
||||||
icon: "delete",
|
icon: "delete",
|
||||||
color: "red",
|
color: "red",
|
||||||
type: "delete",
|
type: "delete",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** List Download รายงานของรอบเมษายน*/
|
/** List Download รายงานของรอบเมษายน*/
|
||||||
const itemDownloadApr = ref<DataOption[]>([
|
const itemDownloadApr = ref<DataOption[]>([
|
||||||
{
|
{
|
||||||
id: "gov1-01",
|
id: "gov1-01",
|
||||||
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 มีนาคม",
|
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 มีนาคม",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-02",
|
id: "gov1-02",
|
||||||
name: "บัญชีการคำนวณโควตาเลื่อนเงินเดือน รอบเมษายน",
|
name: "บัญชีการคำนวณโควตาเลื่อนเงินเดือน รอบเมษายน",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-03",
|
id: "gov1-03",
|
||||||
name: "รายชื่อข้าราชการที่ได้รับการเสนอขอเลื่อนหนึ่งขั้น",
|
name: "รายชื่อข้าราชการที่ได้รับการเสนอขอเลื่อนหนึ่งขั้น",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-04",
|
id: "gov1-04",
|
||||||
name: "แบบ 1 กท รอบเมษายน",
|
name: "แบบ 1 กท รอบเมษายน",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-05",
|
id: "gov1-05",
|
||||||
name: "แบบ 2 กท รอบเมษายน",
|
name: "แบบ 2 กท รอบเมษายน",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-06",
|
id: "gov1-06",
|
||||||
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก.",
|
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-07",
|
id: "gov1-07",
|
||||||
name: "คำสั่งเลื่อนเงินเดือน รอบเมษายน",
|
name: "คำสั่งเลื่อนเงินเดือน รอบเมษายน",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov1-08",
|
id: "gov1-08",
|
||||||
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อน รอบเมษายน",
|
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อน รอบเมษายน",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** List Download รายงานของรอบตุลาคม*/
|
/** List Download รายงานของรอบตุลาคม*/
|
||||||
const itemDownloadOct = ref<DataOption[]>([
|
const itemDownloadOct = ref<DataOption[]>([
|
||||||
{
|
{
|
||||||
id: "gov2-01",
|
id: "gov2-01",
|
||||||
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 กันยายน",
|
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 กันยายน",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-02",
|
id: "gov2-02",
|
||||||
name: "บัญชีการคำนวณวงเงินเลื่อนเงินเดือน รอบตุลาคม",
|
name: "บัญชีการคำนวณวงเงินเลื่อนเงินเดือน รอบตุลาคม",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-03",
|
id: "gov2-03",
|
||||||
name: "รายชื่อข้าราชการผู้ที่ได้รับการเสนอขอเลื่อนเงินเดือนทั้งปีสองขั้น",
|
name: "รายชื่อข้าราชการผู้ที่ได้รับการเสนอขอเลื่อนเงินเดือนทั้งปีสองขั้น",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-04",
|
id: "gov2-04",
|
||||||
name: "แบบ 1 กท รอบตุลาคม",
|
name: "แบบ 1 กท รอบตุลาคม",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-05",
|
id: "gov2-05",
|
||||||
name: "แบบ 2 กท รอบตุลาคม",
|
name: "แบบ 2 กท รอบตุลาคม",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-06",
|
id: "gov2-06",
|
||||||
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก. ",
|
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก. ",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-07",
|
id: "gov2-07",
|
||||||
name: "คำสั่งเลื่อนเงินเดือนข้าราชการเกษียณ",
|
name: "คำสั่งเลื่อนเงินเดือนข้าราชการเกษียณ",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-08",
|
id: "gov2-08",
|
||||||
name: "คำสั่งเลื่อนเงินเดือน รอบตุลาคม",
|
name: "คำสั่งเลื่อนเงินเดือน รอบตุลาคม",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "gov2-09",
|
id: "gov2-09",
|
||||||
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อนเงินเดือน รอบตุลาคม",
|
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อนเงินเดือน รอบตุลาคม",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function fetchPeriodLatest(data: DataPeriodLatest, type: string) {
|
function fetchPeriodLatest(data: DataPeriodLatest, type: string) {
|
||||||
groupId.value = type === "group1" ? data.group1id : data.group2id;
|
groupId.value = data.group1id;
|
||||||
roundCode.value = data.period;
|
roundCode.value = data.period;
|
||||||
groupOp.value[0].id = data.group1id;
|
groupOp.value[0].id = data.group1id;
|
||||||
groupOp.value[1].id = data.group2id;
|
groupOp.value[1].id = data.group2id;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
tabGroup,
|
||||||
|
tabType,
|
||||||
|
itemMenu,
|
||||||
|
itemDownloadOct,
|
||||||
|
itemDownloadApr,
|
||||||
|
groupId,
|
||||||
|
fetchPeriodLatest,
|
||||||
|
rootId,
|
||||||
|
roundCode,
|
||||||
|
groupOp,
|
||||||
|
roundMainCode,
|
||||||
|
remaining,
|
||||||
|
isClosedRound,
|
||||||
|
roundYear,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return {
|
);
|
||||||
tabGroup,
|
|
||||||
tabType,
|
|
||||||
itemMenu,
|
|
||||||
itemDownloadOct,
|
|
||||||
itemDownloadApr,
|
|
||||||
groupId,
|
|
||||||
fetchPeriodLatest,
|
|
||||||
rootId,
|
|
||||||
roundCode,
|
|
||||||
groupOp,
|
|
||||||
roundMainCode,
|
|
||||||
remaining,
|
|
||||||
isClosedRound,
|
|
||||||
roundYear,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,11 @@ import TabGroup from "@/modules/13_salary/components/SalaryEmployeeLists/TabMain
|
||||||
// import PageDashBoard from "@/modules/13_salary/components/SalaryEmployeeLists/Dashboard.vue";
|
// import PageDashBoard from "@/modules/13_salary/components/SalaryEmployeeLists/Dashboard.vue";
|
||||||
|
|
||||||
/** importStore*/
|
/** importStore*/
|
||||||
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
|
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
|
||||||
/** use*/
|
/** use*/
|
||||||
const store = useSalaryListSDataStore();
|
const store = useSalaryEmployeeListSDataStore();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { messageError, showLoader, hideLoader } = useCounterMixin();
|
const { messageError, showLoader, hideLoader } = useCounterMixin();
|
||||||
|
|
||||||
|
|
@ -215,7 +215,7 @@ function fetchSalalyPeriod(rootId: string, periodId: string, snap: string) {
|
||||||
};
|
};
|
||||||
|
|
||||||
http
|
http
|
||||||
.post(config.API.salaryListPeriodLatest, body)
|
.post(config.API.salaryListPeriodLatestEmp, body)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
if (Object.values(data).includes(null)) {
|
if (Object.values(data).includes(null)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue