เพิ่มฟิลเตอร์
This commit is contained in:
parent
b925026c2f
commit
07962731fa
12 changed files with 403 additions and 36 deletions
|
|
@ -17,6 +17,10 @@ interface ItemTabs {
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface DataOptions{
|
||||||
|
id:string,
|
||||||
|
name:string
|
||||||
|
}
|
||||||
interface FormOrderPlacementMainData {
|
interface FormOrderPlacementMainData {
|
||||||
Order: string;
|
Order: string;
|
||||||
OrderNum: string;
|
OrderNum: string;
|
||||||
|
|
@ -166,4 +170,5 @@ export type {
|
||||||
MemBerType,
|
MemBerType,
|
||||||
PersonsAppointData,
|
PersonsAppointData,
|
||||||
FormDataAppoint,
|
FormDataAppoint,
|
||||||
|
DataOptions
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import { useCounterMixin } from "@/stores/mixin";
|
||||||
import type {
|
import type {
|
||||||
FormPlacementMainData,
|
FormPlacementMainData,
|
||||||
OpfillterTypeSt,
|
OpfillterTypeSt,
|
||||||
|
DataOptions,
|
||||||
} from "@/modules/05_placement/interface/request/Main";
|
} from "@/modules/05_placement/interface/request/Main";
|
||||||
import type { FormOrderPlacementMainData } from "@/modules/05_placement/interface/request/Main";
|
import type { FormOrderPlacementMainData } from "@/modules/05_placement/interface/request/Main";
|
||||||
|
|
||||||
|
|
@ -357,6 +358,15 @@ export const useTransferDataStore = defineStore("transferDataStore", () => {
|
||||||
value: "ออกคำสั่งเสร็จแล้ว",
|
value: "ออกคำสั่งเสร็จแล้ว",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
const statusOp = ref<DataOptions[]>([]);
|
||||||
|
const statusMainOp = ref<DataOptions[]>([
|
||||||
|
{ id: "WAITTING", name: "รอดำเนินการ" },
|
||||||
|
{ id: "PENDING", name: "เลือกตำแหน่งแล้ว" },
|
||||||
|
{ id: "APPROVE", name: "อนุมัติ" },
|
||||||
|
{ id: "REJECT", name: "ไม่อนุมัติ" },
|
||||||
|
{ id: "REPORT", name: "ส่งรายชื่อไปออกคำสั่ง" },
|
||||||
|
{ id: "DONE", name: "ออกคำสั่งเสร็จแล้ว" },
|
||||||
|
]);
|
||||||
|
|
||||||
const statusText = (val: string) => {
|
const statusText = (val: string) => {
|
||||||
switch (val) {
|
switch (val) {
|
||||||
|
|
@ -377,6 +387,22 @@ export const useTransferDataStore = defineStore("transferDataStore", () => {
|
||||||
return "-";
|
return "-";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ฟังก์ชั่นค้นหาข้อมูลของ Option Filter
|
||||||
|
* @param val คำที่ค้นหา
|
||||||
|
* @param update Function
|
||||||
|
*/
|
||||||
|
function filterOption(val: string, update: any) {
|
||||||
|
update(() => {
|
||||||
|
const needle = val.toLowerCase();
|
||||||
|
|
||||||
|
statusOp.value = statusMainOp.value.filter(
|
||||||
|
(v: any) => v.name.toLowerCase().indexOf(needle) > -1
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function statusProbationMain(val: number) {
|
function statusProbationMain(val: number) {
|
||||||
switch (val) {
|
switch (val) {
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -406,5 +432,8 @@ export const useTransferDataStore = defineStore("transferDataStore", () => {
|
||||||
statusText,
|
statusText,
|
||||||
statusProbationMain,
|
statusProbationMain,
|
||||||
optionStatusProbation,
|
optionStatusProbation,
|
||||||
|
statusOp,
|
||||||
|
statusMainOp,
|
||||||
|
filterOption,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,14 @@ import DialogOrders from "@/modules/05_placement/components/Transfer/DialogOrder
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { statusText } = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const { date2Thai, messageError, showLoader, hideLoader, onSearchDataTable } =
|
const { date2Thai, messageError, showLoader, hideLoader, onSearchDataTable } =
|
||||||
mixin;
|
mixin;
|
||||||
|
|
||||||
const modal = ref<boolean>(false); //ส่งไปออกคำสั่ง
|
const modal = ref<boolean>(false); //ส่งไปออกคำสั่ง
|
||||||
const dataTransfer = ref<ResponseData[]>([]); //ช่อมูลรายการขอโอน
|
const dataTransfer = ref<ResponseData[]>([]); //ช่อมูลรายการขอโอน
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
//Table
|
//Table
|
||||||
const rows = ref<ResponseData[]>([]); //รายการขอโอน
|
const rows = ref<ResponseData[]>([]); //รายการขอโอน
|
||||||
|
|
@ -123,7 +125,7 @@ const visibleColumns = ref<string[]>([
|
||||||
async function fetchData() {
|
async function fetchData() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.transfer)
|
.get(config.API.transfer + `?status=${status.value}`)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
const data = await res.data.result;
|
const data = await res.data.result;
|
||||||
rows.value = data;
|
rows.value = data;
|
||||||
|
|
@ -185,7 +187,42 @@ onMounted(async () => {
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12 q-col-gutter-sm">
|
<div class="col-12 q-col-gutter-sm">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),fetchData()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), fetchData()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="openModalOrder"
|
@click="openModalOrder"
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@ import DialogOrgSelect from "@/components/Dialogs/DialogOrgSelect.vue";
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const transferStore = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
const { statusText } = transferStore;
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
showLoader,
|
showLoader,
|
||||||
hideLoader,
|
hideLoader,
|
||||||
|
|
@ -35,6 +35,7 @@ const {
|
||||||
onSearchDataTable,
|
onSearchDataTable,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
|
|
||||||
|
const status = ref<string>("");
|
||||||
const dataRecevice = ref<ResponseData[]>([]); //ข้อมูลรายการรับโอน
|
const dataRecevice = ref<ResponseData[]>([]); //ข้อมูลรายการรับโอน
|
||||||
const filters = ref<ResponseRow[]>([]); //ข้อมูลรายการรับโอน
|
const filters = ref<ResponseRow[]>([]); //ข้อมูลรายการรับโอน
|
||||||
const dataRows = ref<ResponseRow>(); //ข้อมูลที่ต้องการเลือกหน่วยงานที่รับโอน
|
const dataRows = ref<ResponseRow>(); //ข้อมูลที่ต้องการเลือกหน่วยงานที่รับโอน
|
||||||
|
|
@ -166,7 +167,7 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
async function fecthlistRecevice() {
|
async function fecthlistRecevice() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.receiveData())
|
.get(config.API.receiveData() + `?status=${status.value}`)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
const data = await res.data.result;
|
const data = await res.data.result;
|
||||||
dataRecevice.value = data;
|
dataRecevice.value = data;
|
||||||
|
|
@ -353,7 +354,42 @@ onMounted(async () => {
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12 q-gutter-sm">
|
<div class="col-12 q-gutter-sm">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),fecthlistRecevice()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), fecthlistRecevice()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsCreate"
|
v-if="checkPermission($route)?.attrIsCreate"
|
||||||
flat
|
flat
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ import Dialogbody from "@/modules/05_placement/components/Help-Government/Dialog
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const transferStore = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
const { statusText } = transferStore;
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const {
|
const {
|
||||||
date2Thai,
|
date2Thai,
|
||||||
|
|
@ -34,6 +34,8 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
|
|
||||||
/** Table*/
|
/** Table*/
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่งช่วยราชการ;
|
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่งช่วยราชการ;
|
||||||
const filterKeyword = ref<string>(""); //คำค้นหารายการช่วยราชการ
|
const filterKeyword = ref<string>(""); //คำค้นหารายการช่วยราชการ
|
||||||
const filterKeyword2 = ref<string>(""); //คำค้นหารายการออกคำสั่ง
|
const filterKeyword2 = ref<string>(""); //คำค้นหารายการออกคำสั่ง
|
||||||
|
|
@ -182,7 +184,7 @@ const visibleColumns = ref<string[]>([
|
||||||
async function getData() {
|
async function getData() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.officerMain())
|
.get(config.API.officerMain() + `?status=${status.value}`)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
const data = await res.data.result;
|
const data = await res.data.result;
|
||||||
rows.value = data;
|
rows.value = data;
|
||||||
|
|
@ -268,7 +270,42 @@ onMounted(async () => {
|
||||||
<q-card flat bordered class="col-12">
|
<q-card flat bordered class="col-12">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),getData()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), getData()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="openModalOrder"
|
@click="openModalOrder"
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ import Dialogbody from "@/modules/05_placement/components/Repatriate/DialogOrder
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { statusText } = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
date2Thai,
|
date2Thai,
|
||||||
messageError,
|
messageError,
|
||||||
|
|
@ -31,6 +32,7 @@ const {
|
||||||
} = useCounterMixin();
|
} = useCounterMixin();
|
||||||
|
|
||||||
const modal = ref<boolean>(false); // ส่งไปออกคำสั่งส่งตัวกลับ
|
const modal = ref<boolean>(false); // ส่งไปออกคำสั่งส่งตัวกลับ
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
// Table
|
// Table
|
||||||
const filterKeyword = ref<string>(""); //คำค้นหารายการส่งตัวกลับ
|
const filterKeyword = ref<string>(""); //คำค้นหารายการส่งตัวกลับ
|
||||||
|
|
@ -152,7 +154,7 @@ function openDetail(id: string) {
|
||||||
async function getData() {
|
async function getData() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.repatriationMain())
|
.get(config.API.repatriationMain()+`?status=${status.value}`)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
const data = await res.data.result;
|
const data = await res.data.result;
|
||||||
rows.value = data;
|
rows.value = data;
|
||||||
|
|
@ -231,7 +233,42 @@ onMounted(async () => {
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),getData()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), getData()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
flat
|
flat
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ import DialogOrgSelect from "@/components/Dialogs/DialogOrgSelect.vue"; // เ
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const storeFn = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
const { statusText } = storeFn;
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
showLoader,
|
showLoader,
|
||||||
hideLoader,
|
hideLoader,
|
||||||
|
|
@ -34,6 +34,8 @@ const {
|
||||||
onSearchDataTable,
|
onSearchDataTable,
|
||||||
} = useCounterMixin();
|
} = useCounterMixin();
|
||||||
|
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่ง
|
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่ง
|
||||||
const modalTree = ref<boolean>(false); //แสดง popup เลือกหน่วยงานที่แต่งตั้ง - เลื่อน - ย้าย
|
const modalTree = ref<boolean>(false); //แสดง popup เลือกหน่วยงานที่แต่งตั้ง - เลื่อน - ย้าย
|
||||||
const posType = ref<string>(""); //ประเภทตำแหน่ง
|
const posType = ref<string>(""); //ประเภทตำแหน่ง
|
||||||
|
|
@ -176,7 +178,7 @@ const pagination = ref({
|
||||||
async function fecthlistappointment() {
|
async function fecthlistappointment() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.appointmentMain())
|
.get(config.API.appointmentMain()+`?status=${status.value}`)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
let response = res.data.result;
|
let response = res.data.result;
|
||||||
listRecevice.value = response;
|
listRecevice.value = response;
|
||||||
|
|
@ -316,6 +318,41 @@ onMounted(async () => {
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),fecthlistappointment()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), fecthlistappointment()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ import Dialogbody from "@/modules/05_placement/components/AppointEmployee/Dialog
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const storeFn = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
const { statusText } = storeFn;
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง
|
const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง
|
||||||
const {
|
const {
|
||||||
showLoader,
|
showLoader,
|
||||||
|
|
@ -33,6 +33,8 @@ const {
|
||||||
onSearchDataTable,
|
onSearchDataTable,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
|
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
const personalId = ref<string>("");
|
const personalId = ref<string>("");
|
||||||
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่ง
|
const modal = ref<boolean>(false); //แสดง popup ส่งไปออกคำสั่ง
|
||||||
const modalTree = ref<boolean>(false); //แสดง popup เลือกหน่วยงานที่รับการปรับระดับชั้นงาน
|
const modalTree = ref<boolean>(false); //แสดง popup เลือกหน่วยงานที่รับการปรับระดับชั้นงาน
|
||||||
|
|
@ -173,7 +175,7 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
async function fecthlistappointment() {
|
async function fecthlistappointment() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.appointEmployee())
|
.get(config.API.appointEmployee()+`?status=${status.value}`)
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
let response = await res.data.result;
|
let response = await res.data.result;
|
||||||
listRecevice.value = response;
|
listRecevice.value = response;
|
||||||
|
|
@ -314,7 +316,42 @@ onMounted(async () => {
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),fecthlistappointment()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), fecthlistappointment()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="popup()"
|
@click="popup()"
|
||||||
|
|
@ -528,7 +565,9 @@ onMounted(async () => {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<DialogOrgSelectEmployee
|
<DialogOrgSelectEmployee
|
||||||
:title="`เลือกหน่วยงานที่รับ${typeModal !== 'MOVE'? `การปรับระดับชั้นงาน`:`ย้าย`}`"
|
:title="`เลือกหน่วยงานที่รับ${
|
||||||
|
typeModal !== 'MOVE' ? `การปรับระดับชั้นงาน` : `ย้าย`
|
||||||
|
}`"
|
||||||
v-model:modal="modalTree"
|
v-model:modal="modalTree"
|
||||||
v-model:type="typeModal"
|
v-model:type="typeModal"
|
||||||
:pos-type="posType"
|
:pos-type="posType"
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ import Dialogbody from "@/modules/05_placement/components/Other/DialogOrders.vue
|
||||||
/** use*/
|
/** use*/
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const storeFn = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
const { statusText } = storeFn;
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
showLoader,
|
showLoader,
|
||||||
hideLoader,
|
hideLoader,
|
||||||
|
|
@ -32,6 +32,7 @@ const {
|
||||||
} = useCounterMixin();
|
} = useCounterMixin();
|
||||||
|
|
||||||
const modal = ref<boolean>(false);
|
const modal = ref<boolean>(false);
|
||||||
|
const status = ref<string>("");
|
||||||
|
|
||||||
/** Table*/
|
/** Table*/
|
||||||
const rows = ref<listMain[]>([]); //รายการอื่นๆ
|
const rows = ref<listMain[]>([]); //รายการอื่นๆ
|
||||||
|
|
@ -133,7 +134,7 @@ const pagination = ref({
|
||||||
async function fecthlistOthet() {
|
async function fecthlistOthet() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.otherMain())
|
.get(config.API.otherMain() + `?status=${status.value}`)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
let response = res.data.result;
|
let response = res.data.result;
|
||||||
rows.value = response;
|
rows.value = response;
|
||||||
|
|
@ -221,7 +222,42 @@ onMounted(() => {
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),fecthlistOthet()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), fecthlistOthet()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="popup()"
|
@click="popup()"
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ import DialogSendToCommand from "@/modules/06_retirement/components/06_dismissOr
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const transferStore = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
date2Thai,
|
date2Thai,
|
||||||
messageError,
|
messageError,
|
||||||
|
|
@ -28,8 +29,9 @@ const {
|
||||||
onSearchDataTable,
|
onSearchDataTable,
|
||||||
dialogRemove,
|
dialogRemove,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const { statusText } = transferStore;
|
|
||||||
const modal = ref<boolean>(false);
|
const modal = ref<boolean>(false);
|
||||||
|
const status = ref<string>("WAITTING");
|
||||||
|
|
||||||
/** คอลัมน์ที่แสดง */
|
/** คอลัมน์ที่แสดง */
|
||||||
const visibleColumns = ref<string[]>([
|
const visibleColumns = ref<string[]>([
|
||||||
|
|
@ -154,7 +156,7 @@ function openModalOrder() {
|
||||||
async function getData() {
|
async function getData() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.retirementOut+`/officer`)
|
.get(config.API.retirementOut + `/officer?status=${status.value}`)
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
rows.value = data;
|
rows.value = data;
|
||||||
|
|
@ -214,7 +216,42 @@ onMounted(async () => {
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),getData()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), getData()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="openModalOrder"
|
@click="openModalOrder"
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@ import DialogSendToCommand from "@/modules/06_retirement/components/06_dismissOr
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const transferStore = useTransferDataStore();
|
const store = useTransferDataStore();
|
||||||
|
const { statusText, filterOption } = useTransferDataStore();
|
||||||
const {
|
const {
|
||||||
date2Thai,
|
date2Thai,
|
||||||
messageError,
|
messageError,
|
||||||
|
|
@ -28,8 +29,9 @@ const {
|
||||||
onSearchDataTable,
|
onSearchDataTable,
|
||||||
dialogRemove,
|
dialogRemove,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const { statusText } = transferStore;
|
|
||||||
const modal = ref<boolean>(false);
|
const modal = ref<boolean>(false);
|
||||||
|
const status = ref<string>("WAITTING");
|
||||||
|
|
||||||
/** คอลัมน์ที่แสดง */
|
/** คอลัมน์ที่แสดง */
|
||||||
const visibleColumns = ref<string[]>([
|
const visibleColumns = ref<string[]>([
|
||||||
|
|
@ -154,7 +156,7 @@ function openModalOrder() {
|
||||||
async function getData() {
|
async function getData() {
|
||||||
showLoader();
|
showLoader();
|
||||||
await http
|
await http
|
||||||
.get(config.API.retirementOut + `/employee`)
|
.get(config.API.retirementOut + `/employee?status=${status.value}`)
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
rows.value = data;
|
rows.value = data;
|
||||||
|
|
@ -216,7 +218,42 @@ onMounted(async () => {
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row q-pa-md">
|
<div class="row q-pa-md">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row col-12">
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
<q-select
|
||||||
|
:model-value="status ? status : 'ทั้งหมด'"
|
||||||
|
outlined
|
||||||
|
dense
|
||||||
|
label="สถานะ"
|
||||||
|
:options="store.statusOp.filter((item:any)=> item.id !== 'PENDING')"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
fill-input
|
||||||
|
use-input
|
||||||
|
hide-selected
|
||||||
|
bg-color="white"
|
||||||
|
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
|
||||||
|
@update:model-value="(value:string)=>{(status = value),getData()}"
|
||||||
|
>
|
||||||
|
<template v-slot:no-option>
|
||||||
|
<q-item>
|
||||||
|
<q-item-section class="text-grey">
|
||||||
|
ไม่มีข้อมูล
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="status" v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
name="cancel"
|
||||||
|
@click.stop.prevent="(status = ''), getData()"
|
||||||
|
class="cursor-pointer"
|
||||||
|
style="opacity: 0.6"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="checkPermission($route)?.attrIsUpdate"
|
v-if="checkPermission($route)?.attrIsUpdate"
|
||||||
@click="openModalOrder"
|
@click="openModalOrder"
|
||||||
|
|
|
||||||
|
|
@ -111,9 +111,9 @@ const retireTypeOpsMain = ref<DataOption[]>([
|
||||||
|
|
||||||
const retireTypeOpsMainEMP = ref<DataOption[]>([
|
const retireTypeOpsMainEMP = ref<DataOption[]>([
|
||||||
{ id: "RETIRE", name: "เกษียณ" },
|
{ id: "RETIRE", name: "เกษียณ" },
|
||||||
{ id: "RETIRE_RESIGN", name: "ลาออก" },
|
{ id: "RETIRE_RESIGN_EMP", name: "ลาออก" },
|
||||||
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
|
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
|
||||||
{ id: "RETIRE_RESIGN_EMP", name: "ให้ออกจากราชการ" },
|
{ id: "RETIRE_OUT_EMP", name: "ให้ออกจากราชการ" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const visibleColumns = ref<string[]>([
|
const visibleColumns = ref<string[]>([
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue