Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2025-02-26 16:04:47 +07:00
commit 383176f5be
16 changed files with 280 additions and 108 deletions

View file

@ -14,6 +14,8 @@ import type { Avatar } from "@/components/information/interface/response/avatar"
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import CardPosition from "@/modules/21_report/components/CardPosition.vue";
/** use*/
const route = useRoute();
const mixin = useCounterMixin();
@ -24,6 +26,7 @@ const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const isEmployee = defineModel("isEmployee", { type: String });
const empType = ref<string>("officer");
const checkRoute = ref<boolean>(route.name == "reportRegistry");
/** props*/
const props = defineProps({
id: {
@ -172,7 +175,9 @@ async function fetchProfileGov(id: string) {
}
function redirecToRegistry() {
router.push(`/registry-${props.type == 'employee' ? 'employee':'officer'}/${props.id}`);
router.push(
`/registry-${props.type == "employee" ? "employee" : "officer"}/${props.id}`
);
modal.value = false;
}
@ -422,7 +427,11 @@ async function fetchProfile(id: string, avatarName: string) {
:model-value="
goverment.positionType ? goverment.positionType : '-'
"
:label="props.type == 'employee' ? 'กลุ่มงาน':'ประเภทตำแหน่ง'"
:label="
props.type == 'employee'
? 'กลุ่มงาน'
: 'ประเภทตำแหน่ง'
"
/>
</div>
<div class="col-xs-6 col-md-6">
@ -434,7 +443,11 @@ async function fetchProfile(id: string, avatarName: string) {
? goverment.positionLevel
: '-'
"
:label="props.type == 'employee' ? 'ระดับชั้นงาน':'ระดับตำแหน่ง'"
:label="
props.type == 'employee'
? 'ระดับชั้นงาน'
: 'ระดับตำแหน่ง'
"
/>
</div>
<div
@ -470,6 +483,14 @@ async function fetchProfile(id: string, avatarName: string) {
</div>
</div>
</q-card>
<q-card
bordered
style="border: 1px solid #d6dee1"
v-if="checkRoute"
>
<CardPosition :id="props.id" :type="props.type" />
</q-card>
</div>
</q-scroll-area>
</div>

View file

@ -289,6 +289,27 @@ const posExecutiveOptionMain = ref<DataOption[]>([]);
const docOption = ref<DataOption2[]>(store.optionTemplateDoc);
const cardData = ref<any[]>([
{
label: "ระยะเวลาดำรงตำแหน่งในสายงาน",
data: [
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
],
},
{
label: "ระยะเวลาดำรงตำแหน่งตามระดับ",
data: [{ name: "ละดับ", time: "1 ปี" }],
},
{
label: "ระยะเวลาดำรงตำแหน่งทางการบริหาร",
data: [{ name: "ตำแหน่งทางการบริหาร", time: "1 ปี" }],
},
]);
/** function fetch รายการ ตำแหน่งเงินเดือน*/
async function fetchListSalary() {
showLoader();
@ -715,7 +736,24 @@ onMounted(() => {
fetchListSalary();
});
</script>
<template>
<div class="row q-col-gutter-sm q-pb-sm">
<div class="col" v-for="(item, index) in cardData" :key="index">
<q-card bordered class="col-12" style="border: 1px solid #d6dee1">
<div class="col-12 text-weight-medium bg-grey-1 q-py-xs q-px-md">
{{ item.label }}
</div>
<div class="col-12"><q-separator /></div>
<q-card-section class="q-pt-none" style="min-height: 200px">
<li v-for="data in item.data" :key="data.id">
{{ data.name }} {{ data.time }}
</li>
</q-card-section>
</q-card>
</div>
</div>
<div class="row items-center q-gutter-x-sm q-pb-sm">
<q-btn
v-if="!isLeave && checkPermission($route)?.attrIsUpdate"

View file

@ -34,7 +34,7 @@ const columns = ref<QTableProps["columns"]>([
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
sortable: false,
field: "name",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -43,7 +43,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posType",
align: "left",
label: "กลุ่มงาน",
sortable: true,
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -52,7 +52,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posName",
align: "left",
label: "ตำแหน่ง",
sortable: true,
sortable: false,
field: "posName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posLevel",
align: "left",
label: "ระดับชั้นงาน",
sortable: true,
sortable: false,
field: "posLevel",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -70,7 +70,7 @@ const columns = ref<QTableProps["columns"]>([
name: "rateOldMin",
align: "left",
label: "อัตราค่าจ้าง ขั้นต่ำสุด",
sortable: true,
sortable: false,
field: "rateOldMin",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -79,7 +79,7 @@ const columns = ref<QTableProps["columns"]>([
name: "groupOld",
align: "left",
label: "อัตราค่าจ้าง กลุ่มบัญชีค่าจ่าง",
sortable: true,
sortable: false,
field: "groupOld",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -88,7 +88,7 @@ const columns = ref<QTableProps["columns"]>([
name: "rateMaxOld",
align: "left",
label: "อัตราค่าจ้าง ขั้นสูงสุดเดิม",
sortable: true,
sortable: false,
field: "rateMaxOld",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
name: "groupRateHigh",
align: "left",
label: "อัตราค่าจ้างสูงกว่า ฯ กลุ่มบัญชีค่าจ่าง",
sortable: true,
sortable: false,
field: "groupRateHigh",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -106,7 +106,7 @@ const columns = ref<QTableProps["columns"]>([
name: "rateHighMax",
align: "left",
label: "อัตราค่าจ้างสูงกว่า ฯ ขั้นสูงใหม่",
sortable: true,
sortable: false,
field: "rateHighMax",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -115,7 +115,7 @@ const columns = ref<QTableProps["columns"]>([
name: "reson",
align: "left",
label: "หมายเหตุ",
sortable: true,
sortable: false,
field: "reson",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -54,7 +54,7 @@ const columns = ref<QTableProps["columns"]>([
name: "name",
align: "left",
label: "ชื่อผังบัญชีอัตราค่าจ้าง",
sortable: true,
sortable: false,
field: "name",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -63,7 +63,7 @@ const columns = ref<QTableProps["columns"]>([
name: "group",
align: "left",
label: "กลุ่มของผังบัญชีอัตราค่าจ้าง",
sortable: true,
sortable: false,
field: "group",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -72,7 +72,7 @@ const columns = ref<QTableProps["columns"]>([
name: "startDate",
align: "left",
label: "วันที่มีผลบังคับใช้",
sortable: true,
sortable: false,
field: "startDate",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -81,7 +81,7 @@ const columns = ref<QTableProps["columns"]>([
name: "isActive",
align: "left",
label: "สถานะการใช้งาน",
sortable: true,
sortable: false,
field: "isActive",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -47,7 +47,7 @@ const columns = ref<QTableProps["columns"]>([
name: "citizenId",
align: "left",
label: "เลขประจำตัวประชาชน",
sortable: true,
sortable: false,
field: "citizenId",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -57,7 +57,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ชื่อ-นามสกุล",
field: "fullName",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -65,7 +65,7 @@ const columns = ref<QTableProps["columns"]>([
name: "position",
align: "left",
label: "ตำแหน่งในสายงาน",
sortable: true,
sortable: false,
field: "position",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -74,7 +74,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posType",
align: "left",
label: "ประเภทตำเเหน่ง",
sortable: true,
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -83,7 +83,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posLevel",
align: "left",
label: "ระดับตำเเหน่ง",
sortable: true,
sortable: false,
field: "posLevel",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -51,7 +51,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
sortable: false,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -60,7 +60,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "posNo",
align: "left",
label: "ตำแหน่งเลขที่",
sortable: true,
sortable: false,
field: "posNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -70,7 +70,7 @@ const baseColumns = ref<QTableProps["columns"]>([
align: "left",
label: "ชื่อ-นามสกุล",
field: "fullName",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -78,7 +78,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "position",
align: "left",
label: "ตำแหน่งในสายงาน",
sortable: true,
sortable: false,
field: "position",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -51,7 +51,7 @@ const columns = ref<QTableProps["columns"]>([
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
sortable: false,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -60,7 +60,7 @@ const columns = ref<QTableProps["columns"]>([
name: "fullName",
align: "left",
label: "ชื่อ-นามสกุล",
sortable: true,
sortable: false,
field: "fullName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -69,7 +69,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posType",
align: "left",
label: "ประเภทตำแหน่ง",
sortable: true,
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -78,7 +78,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posExecutive",
align: "left",
label: "ตำแหน่งทางการบริหาร",
sortable: true,
sortable: false,
field: "posExecutive",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -88,7 +88,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ตำแหน่งในสายงาน",
field: "position",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ระดับตำแหน่ง",
field: "posLevel",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -106,7 +106,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "เงินเดือน",
field: "amount",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -114,7 +114,7 @@ const columns = ref<QTableProps["columns"]>([
name: "organization",
align: "left",
label: "สังกัด",
sortable: true,
sortable: false,
field: "organization",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -47,7 +47,7 @@ const columns = ref<QTableProps["columns"]>([
name: "citizenId",
align: "left",
label: "เลขประจำตัวประชาชน",
sortable: true,
sortable: false,
field: "citizenId",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -57,7 +57,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ชื่อ-นามสกุล",
field: "fullName",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -65,7 +65,7 @@ const columns = ref<QTableProps["columns"]>([
name: "position",
align: "left",
label: "ตำแหน่ง",
sortable: true,
sortable: false,
field: "position",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -74,7 +74,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posType",
align: "left",
label: "กลุ่มงาน",
sortable: true,
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -83,7 +83,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posLevelName",
align: "left",
label: "ระดับชั้นงาน",
sortable: true,
sortable: false,
field: "posLevelName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -49,7 +49,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
sortable: false,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -58,7 +58,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "posNo",
align: "left",
label: "ตำแหน่งเลขที่",
sortable: true,
sortable: false,
field: "posNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -68,7 +68,7 @@ const baseColumns = ref<QTableProps["columns"]>([
align: "left",
label: "ชื่อ-นามสกุล",
field: "fullName",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -76,7 +76,7 @@ const baseColumns = ref<QTableProps["columns"]>([
name: "position",
align: "left",
label: "ตำแหน่ง",
sortable: true,
sortable: false,
field: "position",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -51,7 +51,7 @@ const columns = ref<QTableProps["columns"]>([
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
sortable: false,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -60,7 +60,7 @@ const columns = ref<QTableProps["columns"]>([
name: "fullName",
align: "left",
label: "ชื่อ-นามสกุล",
sortable: true,
sortable: false,
field: "fullName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -69,7 +69,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posType",
align: "left",
label: "กลุ่มงาน",
sortable: true,
sortable: false,
field: "posType",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -79,7 +79,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ตำแหน่ง",
field: "position",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -88,7 +88,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ระดับชั้นงาน",
field: "posLevel",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -118,7 +118,7 @@ const columns = ref<QTableProps["columns"]>([
align: "left",
label: "ค่าจ้าง",
field: "amount",
sortable: true,
sortable: false,
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
@ -126,7 +126,7 @@ const columns = ref<QTableProps["columns"]>([
name: "organization",
align: "left",
label: "สังกัด",
sortable: true,
sortable: false,
field: "organization",
headerStyle: "font-size: 14px",
style: "font-size: 14px",

View file

@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
name: "name",
align: "left",
label: "ชื่อผังบัญชีอัตราเงินเดือน",
sortable: true,
sortable: false,
field: "name",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -55,7 +55,7 @@ const columns = ref<QTableProps["columns"]>([
name: "posList",
align: "left",
label: "ประเภทผังบัญชีเงินเดือน",
sortable: true,
sortable: false,
field: "posList",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -64,7 +64,7 @@ const columns = ref<QTableProps["columns"]>([
name: "startDate",
align: "left",
label: "วันที่มีผลบังคับใช้",
sortable: true,
sortable: false,
field: "startDate",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -73,7 +73,7 @@ const columns = ref<QTableProps["columns"]>([
name: "isActive",
align: "center",
label: "สถานะการใช้งาน",
sortable: true,
sortable: false,
field: "isActive",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -275,7 +275,6 @@ onMounted(() => {
map-options
:options="columns"
option-value="name"
style="min-width: 140px"
class="col-xs-12 col-sm-3 col-md-2 q-ml-sm"
/>

View file

@ -61,7 +61,7 @@ const columns = ref<QTableProps["columns"]>([
name: "period",
align: "left",
label: "รอบการขึ้นเงินเดือน",
sortable: true,
sortable: false,
field: "period",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -70,7 +70,7 @@ const columns = ref<QTableProps["columns"]>([
name: "year",
align: "left",
label: "ปีงบประมาณ",
sortable: true,
sortable: false,
field: "year",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -79,7 +79,7 @@ const columns = ref<QTableProps["columns"]>([
name: "effectiveDate",
align: "left",
label: "วันที่มีผลบังคับใช้",
sortable: true,
sortable: false,
field: "effectiveDate",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -88,7 +88,7 @@ const columns = ref<QTableProps["columns"]>([
name: "isActive",
align: "left",
label: "สถานะการใช้งาน",
sortable: true,
sortable: false,
field: "isActive",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -97,7 +97,7 @@ const columns = ref<QTableProps["columns"]>([
name: "isClose",
align: "left",
label: "สถานะการปิดรอบ",
sortable: true,
sortable: false,
field: "isClose",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
@ -335,7 +335,6 @@ onMounted(async () => {
map-options
:options="dataStore.columns"
option-value="name"
style="min-width: 140px"
class="col-xs-12 col-sm-3 col-md-2"
/>

View file

@ -1,5 +1,5 @@
<script setup lang="ts">
import { ref, onMounted, reactive } from "vue";
import { ref, onMounted, reactive, computed } from "vue";
import { useQuasar, type QTableProps } from "quasar";
import http from "@/plugins/http";
@ -36,6 +36,7 @@ const props = defineProps({
onCheckChangeData: { type: Function, required: true },
fetchDataCommandList: { type: Function, required: true },
commandSysId: { type: String, required: true },
commandCode: { type: String, required: true },
formCommandList: { type: Object, required: true },
});
@ -64,7 +65,7 @@ const filter = ref<string>("");
const rows = ref<PersonInfo[]>([]);
const rowsMain = ref<PersonInfo[]>([]);
const columns = ref<QTableProps["columns"]>([
const baseColumns = ref<QTableProps["columns"]>([
{
name: "no",
align: "left",
@ -130,8 +131,22 @@ const columns = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
const columns = computed<QTableProps["columns"]>(() => {
if (
props.commandCode === "C-PM-01" ||
props.commandCode === "C-PM-02" ||
props.commandCode === "C-PM-03" ||
props.commandCode === "C-PM-04"
) {
return baseColumns.value;
} else {
return baseColumns.value?.filter(
(e) => e.name !== "position" && e.name !== "positionType"
);
}
});
const visibleColumns = ref<String[]>([
"no",
"citizenId",
@ -287,6 +302,7 @@ function onSearchData() {
onMounted(async () => {
const promises = [getPersonList()];
console.log(props.commandCode);
if (props.commandSysId) {
promises.push(getCommandSalaryList(props.commandSysId));

View file

@ -22,6 +22,7 @@ const { showLoader, hideLoader, messageError } = useCounterMixin();
const router = useRouter();
const route = useRoute();
const commandId = ref<string>(route.params.id.toString()); //ID
const commandCode = ref<string>("");
const store = useCommandDetail();
const tabs = ref<string>("Main"); //Tab
@ -41,7 +42,7 @@ const tabsManu = ref<ItemTabs[]>([
{ label: "พรีวิวคำสั่ง", name: "Attached" },
]);
const statusCheck = ref<boolean>(false)
const statusCheck = ref<boolean>(false);
let formCommandList = reactive<FormCommandList>({
id: "",
status: "",
@ -60,7 +61,6 @@ let formCommandList = reactive<FormCommandList>({
/**
* งกนเชคการเปลนรแปลงของขอม
*
* ามการเปลนยแปลง กำหนด 'isChangeData' เป true
*/
function onCheckChangeData() {
@ -69,7 +69,6 @@ function onCheckChangeData() {
/**
* งกนดงขอมลรายละเอยดคำส
*
* กำหนดขอมลทไดบมาใหบตวแปร `formData`
*/
async function fetchDataCommandList() {
@ -78,10 +77,12 @@ async function fetchDataCommandList() {
.get(config.API.commandAction(commandId.value, "tab1"))
.then(async (res) => {
const data = await res.data.result;
formCommandList = data;
statusCheck.value = data.commandCode == 'C-PM-10'? true:false;
statusCheck.value = data.commandCode == "C-PM-10" ? true : false;
store.dataCommand = data;
isChangeData.value = false; //
commandCode.value = data.commandCode;
})
.catch((err) => {
messageError($q, err);
@ -159,13 +160,14 @@ onMounted(async () => {
/>
</q-card>
</q-tab-panel>
<q-tab-panel class="bg-grey-2" style="padding: 0px" name="ListPersons" >
<q-tab-panel class="bg-grey-2" style="padding: 0px" name="ListPersons">
<ListPersons
v-model:is-change-data="isChangeData"
:on-check-change-data="onCheckChangeData"
:fetch-data-command-list="fetchDataCommandList"
:command-sys-id="formCommandList?.commandSysId as string"
:form-command-list="formCommandList"
:command-code="commandCode"
/>
</q-tab-panel>

View file

@ -0,0 +1,67 @@
<script setup lang="ts">
import { ref, onMounted } from "vue";
/** props*/
const props = defineProps({
id: {
type: String,
requier: true,
},
type: { type: String, default: "" },
});
const cardData = ref<any[]>([
{
label: "ระยะเวลาดำรงตำแหน่งในสายงาน",
data: [
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
{ name: "ตำแหน่ง", time: "1 ปี" },
],
},
{
label: "ระยะเวลาดำรงตำแหน่งตามระดับ",
data: [{ name: "ละดับ", time: "1 ปี" }],
},
{
label: "ระยะเวลาดำรงตำแหน่งทางการบริหาร",
data: [{ name: "ตำแหน่งทางการบริหาร", time: "1 ปี" }],
},
]);
onMounted(() => {
console.log(props.id);
console.log(props.type);
});
</script>
<template>
<div class="q-pa-md">
<div class="text-weight-bold row items-center">
<q-icon name="mdi-account-tie" color="grey-7" />
<span class="q-ml-md">อมลตำแหน </span>
</div>
<div class="row q-pa-sm">
<q-list flat bordered class="col-12" style="border-radius: 5px;">
<q-card flat v-for="(item, index) in cardData" :key="index">
<q-item>
<q-item-section>
<q-item-label class="text-grey-6">{{ item.label }}</q-item-label>
<q-item-label
><li v-for="data in item.data" :key="data.id">
{{ data.name }} {{ data.time }}
</li>
</q-item-label>
</q-item-section>
</q-item>
<q-separator spaced v-if="index !== 2" />
</q-card>
</q-list>
</div>
</div>
</template>
<style scoped></style>

View file

@ -301,7 +301,7 @@ const columns = computed<QTableProps["columns"]>(() => {
{
name: "lengthPosition",
align: "left",
label: "ระยะเวลาดำรงตำแหน่งในเเต่ละระดับ",
label: "ระยะเวลาดำรงตำแหน่งในระดับปัจจุบัน",
sortable: true,
field: "lengthPosition",
headerStyle: "font-size: 14px",
@ -318,6 +318,12 @@ const visibleColumns = computed<string[]>(() => {
: visibleColumnsBase.value.filter((e: string) => e !== "positionExecutive");
});
const typeTerm = ref<string>("");
const rangeTerm = ref<RangeAge>({
min: 0,
max: 20,
});
function onOpenOrg() {
modalOrg.value = true;
}
@ -616,6 +622,10 @@ function clearFilter() {
expandedModal.value = false;
filterTree.value = "";
typeTerm.value = "";
rangeTerm.value.min = 0;
rangeTerm.value.max = 20;
}
watch(
@ -1421,48 +1431,68 @@ onMounted(async () => {
</q-select>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12">
<!-- <q-btn-dropdown
:label="
sortBy
? sortBy == 'DESC'
? `เรียงตามวันที่บรรจุเเต่งตั้ง
(เก-าส)`
: `เรียงตามวันที่บรรจุเเต่งตั้ง
(าส-เก)`
: 'ลำดับการเเสดงผล'
"
dropdown-icon="mdi-chevron-down"
rounded
text-color="primary"
dense
padding="xs md"
label-color="white"
outline
>
<q-list>
<q-item clickable v-close-popup @click="sortBy = 'ASC'">
<q-item-section>
<q-item-label
>เรยงตามวนทบรรจเเตงต
(าส-เก)</q-item-label
>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="sortBy = 'DESC'">
<q-item-section>
<q-item-label
>เรยงตามวนทบรรจเเตงต
(เก-าส)</q-item-label
>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown> -->
<div class="">
<q-radio
v-model="typeTerm"
val="position"
label="ระยะเวลาดำรงตำแหน่งปัจจุบัน"
size="xs"
class="text-grey-8"
/>
<q-radio
v-model="typeTerm"
val="level"
label="ระยะเวลาดำรงตำแหน่งในระดับปัจจุบัน"
size="xs"
class="text-grey-8"
/>
</div>
<div class="q-pa-md" v-if="typeTerm">
<q-range
v-model="rangeTerm"
:min="0"
:max="20"
label
color="primary"
track-size="4px"
thumb-size="16px"
switch-label-side
dense
>
</q-range>
<div
class="col-12 justify-around items-center row no-wrap q-pt-sm"
>
<div>
<q-input
readonly
type="number"
style="max-width: 60px"
v-model="rangeTerm.min"
dense
standout="bg-teal text-white"
/>
</div>
<div class="q-px-sm text-grey-8">-</div>
<div>
<q-input
readonly
type="number"
style="max-width: 60px"
v-model="rangeTerm.max"
dense
standout="bg-teal text-white"
/>
</div>
</div>
</div>
</div>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12 row q-pa-sm">
<q-space />
<q-btn