fix filter ==> รายชื่อลูกจ้างชั่วคราว
This commit is contained in:
parent
e7a271dd8e
commit
0796c36f73
2 changed files with 38 additions and 84 deletions
|
|
@ -29,6 +29,7 @@ const {
|
|||
messageError,
|
||||
dialogMessageNotify,
|
||||
dialogConfirm,
|
||||
onSearchDataTable,
|
||||
} = useCounterMixin();
|
||||
|
||||
const route = useRoute();
|
||||
|
|
@ -197,6 +198,8 @@ const visibleColumns = ref<string[]>([
|
|||
|
||||
/** Position*/
|
||||
const positionNo = ref<PositionNo[]>([]); //รายการตำแหน่ง
|
||||
const positionNoMain = ref<PositionNo[]>([]); //รายการตำแหน่ง
|
||||
|
||||
const positionId = ref<string>(""); //id ตำแหน่ง
|
||||
const seletcId = ref<string>(""); // id ที่ตเ้องการ
|
||||
const selectedPos = ref<any[]>([]); //ตำแหน่ง ที่ต้องการ
|
||||
|
|
@ -278,6 +281,7 @@ async function fetchDataTable(id: string, level: number = 0) {
|
|||
}
|
||||
});
|
||||
positionNo.value = dataMain;
|
||||
positionNoMain.value = dataMain;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -416,6 +420,14 @@ async function onClickSelectPos(id: string) {
|
|||
}
|
||||
}
|
||||
|
||||
function serchDataTable() {
|
||||
positionNo.value = onSearchDataTable(
|
||||
filters.value,
|
||||
positionNoMain.value,
|
||||
columns.value ? columns.value : []
|
||||
);
|
||||
}
|
||||
|
||||
/** callback function เมื่อมีการเปิด popup*/
|
||||
watch(
|
||||
() => modal.value,
|
||||
|
|
@ -489,12 +501,7 @@ onBeforeMount(async () => {
|
|||
label="ค้นหา"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-icon
|
||||
v-if="filterTree !== ''"
|
||||
name="clear"
|
||||
class="cursor-pointer"
|
||||
@click="filterTree = ''"
|
||||
/>
|
||||
<q-icon name="search" color="grey-5" />
|
||||
</template>
|
||||
</q-input>
|
||||
<q-tree
|
||||
|
|
@ -503,7 +510,7 @@ onBeforeMount(async () => {
|
|||
default-expand-all
|
||||
:nodes="lazy"
|
||||
node-key="orgTreeId"
|
||||
label-key="orgTreeName"
|
||||
label-key="labelName"
|
||||
:filter="filterTree.trim()"
|
||||
no-results-label="ไม่พบข้อมูลที่ค้นหา"
|
||||
no-nodes-label="ไม่มีข้อมูล"
|
||||
|
|
@ -566,7 +573,7 @@ onBeforeMount(async () => {
|
|||
<div class="col-12"><q-separator /></div>
|
||||
<div class="col-12 q-pa-md">
|
||||
<q-toolbar style="padding: 0px">
|
||||
<div class="row q-gutter-md">
|
||||
<div class="row q-gutter-sm">
|
||||
<q-checkbox
|
||||
keep-color
|
||||
v-model="isBlank"
|
||||
|
|
@ -578,7 +585,7 @@ onBeforeMount(async () => {
|
|||
</div>
|
||||
<q-space />
|
||||
|
||||
<div class="row q-gutter-md">
|
||||
<div class="row q-gutter-sm">
|
||||
<q-checkbox
|
||||
keep-color
|
||||
v-model="isAll"
|
||||
|
|
@ -595,6 +602,7 @@ onBeforeMount(async () => {
|
|||
dense
|
||||
v-model="filters"
|
||||
label="ค้นหา"
|
||||
@keydown.enter.pervent="serchDataTable"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-icon name="search" color="grey-5" />
|
||||
|
|
@ -613,7 +621,6 @@ onBeforeMount(async () => {
|
|||
map-options
|
||||
:options="columns"
|
||||
option-value="name"
|
||||
|
||||
style="min-width: 140px"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -623,7 +630,6 @@ onBeforeMount(async () => {
|
|||
ref="table"
|
||||
:columns="columns"
|
||||
:rows="positionNo"
|
||||
:filter="filters"
|
||||
row-key="id"
|
||||
flat
|
||||
bordered
|
||||
|
|
@ -686,73 +692,6 @@ onBeforeMount(async () => {
|
|||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
|
||||
<!-- <d-table
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:rows="positionNo"
|
||||
:filter="filters"
|
||||
row-key="id"
|
||||
flat
|
||||
bordered
|
||||
:paging="true"
|
||||
dense
|
||||
:rows-per-page-options="[10, 25, 50, 100]"
|
||||
:visible-columns="visibleColumns"
|
||||
>
|
||||
<template v-slot:header="props">
|
||||
<q-tr :props="props">
|
||||
<q-th
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
>
|
||||
<span class="text-weight-medium">{{
|
||||
col.label
|
||||
}}</span>
|
||||
</q-th>
|
||||
</q-tr>
|
||||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="onClickSelectPos(props.row.id)"
|
||||
:class="
|
||||
props.row.id === positionId ? 'bg-blue-2' : ''
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div v-else-if="col.name === 'posMasterNo'">
|
||||
{{
|
||||
props.row.isSit
|
||||
? col.value + " " + "(นั่งทับตำแหน่ง)"
|
||||
: col.value
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="col.name === 'isPosition'">
|
||||
<div v-if="col.value">
|
||||
<q-icon
|
||||
name="done"
|
||||
color="primary"
|
||||
size="24px"
|
||||
>
|
||||
<q-tooltip>ตรงตามตำแหน่ง </q-tooltip>
|
||||
</q-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
{{ col.value ? col.value : "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</d-table> -->
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import DialogCreateCommand from "@/modules/18_command/components/DialogCreateCom
|
|||
|
||||
const $q = useQuasar();
|
||||
const {
|
||||
success,
|
||||
onSearchDataTable,
|
||||
messageError,
|
||||
showLoader,
|
||||
hideLoader,
|
||||
|
|
@ -38,6 +38,7 @@ const props = defineProps({
|
|||
|
||||
const filter = ref<string>(""); //ค้นหารายชื่อไปออกคำสั่ง
|
||||
const rows = ref<DataEmployee[]>([]); //รายชื่อไปออกคำสั่ง
|
||||
const rowsMain = ref<DataEmployee[]>([]); //รายชื่อไปออกคำสั่ง
|
||||
const selected = ref<DataEmployee[]>([]); //รายชื่อที่เลือกไปออกคำสั่ง
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
|
|
@ -63,7 +64,10 @@ const columns = ref<QTableProps["columns"]>([
|
|||
align: "left",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
sortable: true,
|
||||
field: (row) => `${row.prefix}${row.firstName} ${row.lastName}`,
|
||||
field: "fullname",
|
||||
format(val, row) {
|
||||
return `${row.prefix}${row.firstName} ${row.lastName}`;
|
||||
},
|
||||
headerStyle: "font-size: 14px; min-width: 200px",
|
||||
style: "font-size: 14px; ",
|
||||
},
|
||||
|
|
@ -147,7 +151,10 @@ const columns = ref<QTableProps["columns"]>([
|
|||
align: "left",
|
||||
label: "สถานะ",
|
||||
sortable: true,
|
||||
field: (row) => statusText(row.draftOrgEmployeeStatus),
|
||||
field: "statustext",
|
||||
format(val, row) {
|
||||
return statusText(row.draftOrgEmployeeStatus);
|
||||
},
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
|
|
@ -195,6 +202,8 @@ function fetchList() {
|
|||
...e,
|
||||
profileId: e.id,
|
||||
}));
|
||||
|
||||
rowsMain.value = rows.value;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -209,6 +218,14 @@ function closeDialog() {
|
|||
modal.value = false;
|
||||
}
|
||||
|
||||
function serchDataTable() {
|
||||
rows.value = onSearchDataTable(
|
||||
filter.value,
|
||||
rowsMain.value,
|
||||
columns.value ? columns.value : []
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* ทำเมื่อ modal เป็น true
|
||||
* ทำการเรียก fetchList เพื่อข้อมูลราชชื่อส่งออกคำสั่ง
|
||||
|
|
@ -235,10 +252,10 @@ watch(
|
|||
borderless
|
||||
outlined
|
||||
dense
|
||||
debounce="300"
|
||||
v-model="filter"
|
||||
ref="filterRef"
|
||||
placeholder="ค้นหา"
|
||||
@keydown.enter.pervent="serchDataTable"
|
||||
style="max-width: auto"
|
||||
>
|
||||
<template v-slot:append>
|
||||
|
|
@ -256,7 +273,6 @@ watch(
|
|||
map-options
|
||||
:options="columns"
|
||||
option-value="name"
|
||||
|
||||
style="min-width: 140px"
|
||||
class="gt-xs q-ml-sm"
|
||||
/>
|
||||
|
|
@ -267,7 +283,6 @@ watch(
|
|||
:rows="rows"
|
||||
:columns="columns"
|
||||
:visible-columns="visibleColumns"
|
||||
:filter="filter"
|
||||
row-key="id"
|
||||
selection="multiple"
|
||||
v-model:selected="selected"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue