updated เงินเดือน

This commit is contained in:
Warunee Tamkoo 2024-02-28 15:52:08 +07:00
parent 16a6a4255b
commit 44d22a9b13
4 changed files with 32 additions and 56 deletions

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, defineModel } from "vue"; import { ref, defineModel, computed } from "vue";
import Header from "@/components/DialogHeader.vue"; import Header from "@/components/DialogHeader.vue";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import type { DataOption } from "@/modules/13_salary/interface/response/Main"; import type { DataOption } from "@/modules/13_salary/interface/response/Main";
@ -61,6 +61,21 @@ function onSubmit() {
}); });
} }
const typeRangeOps = computed(() => {
return store.roundMainCode == "OCT"
? [
{ id: "NONE", name: "ไม่ได้เลื่อน" },
{ id: "HAFT", name: "0.5 ขั้น" },
{ id: "FULL", name: "1 ขั้น" },
{ id: "FULLHAFT", name: "1.5 ขั้น" },
]
: [
{ id: "NONE", name: "ไม่ได้เลื่อน" },
{ id: "HAFT", name: "0.5 ขั้น" },
{ id: "FULL", name: "1 ขั้น" },
];
});
function inputEdit(val: boolean) { function inputEdit(val: boolean) {
return { return {
"full-width cursor-pointer inputgreen ": val, "full-width cursor-pointer inputgreen ": val,
@ -88,7 +103,7 @@ function inputEdit(val: boolean) {
map-options map-options
option-label="name" option-label="name"
option-value="id" option-value="id"
:options="store.typeRangeOps.filter((e) => e.id !== store.tabType)" :options="typeRangeOps.filter((e) => e.id !== store.tabType)"
:rules="[(val) => !!val || `${'กรุณาเลือก ขั้น'}`]" :rules="[(val) => !!val || `${'กรุณาเลือก ขั้น'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, reactive } from "vue"; import { ref, onMounted, reactive, computed } from "vue";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import http from "@/plugins/http"; import http from "@/plugins/http";
@ -44,8 +44,8 @@ const itemsTabGroup = ref([
}, },
]); ]);
const itemsTabType = ref( const itemsTabType = computed(() => {
store.roundCode === "OCT" return store.roundMainCode === "OCT"
? [ ? [
{ {
lable: "รายชื่อคนครอง", lable: "รายชื่อคนครอง",
@ -99,8 +99,8 @@ const itemsTabType = ref(
name: "tab4", name: "tab4",
type: "NONE", type: "NONE",
}, },
] ];
); });
const itemsCard = ref([ const itemsCard = ref([
{ {
@ -224,7 +224,6 @@ onMounted(async () => {
<q-tab :name="item.name" :label="item.lable" /> <q-tab :name="item.name" :label="item.lable" />
</div> </div>
</q-tabs> </q-tabs>
<q-separator /> <q-separator />
<q-tab-panels v-model="store.tabGroup" animated class="bg-grey-1"> <q-tab-panels v-model="store.tabGroup" animated class="bg-grey-1">
<q-tab-panel <q-tab-panel
@ -303,47 +302,19 @@ onMounted(async () => {
:name="item.type" :name="item.type"
> >
<TableTabType1 <TableTabType1
v-if="index + 1 === 1" v-if="index === 0"
:rows="rows" :rows="rows"
v-model:maxPage="maxPage" v-model:maxPage="maxPage"
v-model:formFilter="formFilter" v-model:formFilter="formFilter"
:fetchDataTable="updatePagination" :fetchDataTable="updatePagination"
/> />
<TableTabType2 <TableTabType2
v-if="index + 1 === 2" v-else
:rows="rows" :rows="rows"
v-model:maxPage="maxPage" v-model:maxPage="maxPage"
v-model:formFilter="formFilter" v-model:formFilter="formFilter"
:fetchDataTable="updatePagination" :fetchDataTable="updatePagination"
/> />
<TableTabType2
v-if="index + 1 === 3"
:rows="rows"
v-model:maxPage="maxPage"
v-model:formFilter="formFilter"
:fetchDataTable="updatePagination"
/>
<TableTabType2
v-if="index + 1 === 4"
:rows="rows"
v-model:maxPage="maxPage"
v-model:formFilter="formFilter"
:fetchDataTable="updatePagination"
/>
<TableTabType2
v-if="index + 1 === 5"
:rows="rows"
v-model:maxPage="maxPage"
v-model:formFilter="formFilter"
:updatePagination="updatePagination"
/>
<TableTabType2
v-if="index + 1 === 6"
:rows="rows"
v-model:maxPage="maxPage"
v-model:formFilter="formFilter"
:updatePagination="updatePagination"
/>
</q-tab-panel> </q-tab-panel>
</q-tab-panels> </q-tab-panels>
</template> </template>

View file

@ -18,7 +18,8 @@ export const useSalaryListSDataStore = defineStore("salaryListStore", () => {
const groupId = ref<string>(""); const groupId = ref<string>("");
const rootId = ref<string>(""); const rootId = ref<string>("");
const roundCode = ref<string>("OCT"); const roundMainCode = ref<string>("");
const roundCode = ref<string>("");
/** List Menu*/ /** List Menu*/
const itemMenu = ref<ItemsMenu[]>([ const itemMenu = ref<ItemsMenu[]>([
{ {
@ -47,21 +48,6 @@ export const useSalaryListSDataStore = defineStore("salaryListStore", () => {
}, },
]); ]);
const typeRangeOps = ref<DataOption[]>(
roundCode.value === "OCT"
? [
{ id: "NONE", name: "ไม่ได้เลื่อน" },
{ id: "HAFT", name: "0.5 ขั้น" },
{ id: "FULL", name: "1 ขั้น" },
{ id: "FULLHAFT", name: "1.5 ขั้น" },
]
: [
{ id: "NONE", name: "ไม่ได้เลื่อน" },
{ id: "HAFT", name: "0.5 ขั้น" },
{ id: "FULL", name: "1 ขั้น" },
]
);
function fetchPeriodLatest(data: DataPeriodLatest, type: string) { function fetchPeriodLatest(data: DataPeriodLatest, type: string) {
groupId.value = type === "group1" ? data.group1id : data.group2id; groupId.value = type === "group1" ? data.group1id : data.group2id;
roundCode.value = data.period; roundCode.value = data.period;
@ -77,6 +63,6 @@ export const useSalaryListSDataStore = defineStore("salaryListStore", () => {
rootId, rootId,
roundCode, roundCode,
groupOp, groupOp,
typeRangeOps, roundMainCode
}; };
}); });

View file

@ -62,6 +62,8 @@ async function getRound() {
? roundOptions.value[0] ? roundOptions.value[0]
: ""); : "");
store.roundMainCode = roundFilter.value.shortCode;
await getSnap(roundFilter.value.shortCode); await getSnap(roundFilter.value.shortCode);
await getAgency(roundFilter.value.revisionId); await getAgency(roundFilter.value.revisionId);
await getAgencyPosition(roundFilter.value.revisionId); await getAgencyPosition(roundFilter.value.revisionId);
@ -85,7 +87,7 @@ async function getRound() {
/** function เรียกรอบ*/ /** function เรียกรอบ*/
function getSnap(code: string) { function getSnap(code: string) {
snapOptions.value = snapOptions.value =
code === "OCT" code == "OCT"
? [ ? [
{ {
id: "SNAP1", id: "SNAP1",
@ -210,6 +212,8 @@ async function onChangeRound() {
roundFilter.value.id, roundFilter.value.id,
snapFilter.value snapFilter.value
); );
store.tabType = "PENDING";
store.roundMainCode = roundFilter.value.shortCode
} }
} }