Merge branch 'develop' into dev-tee
This commit is contained in:
commit
d0056f1c5e
16 changed files with 210 additions and 353 deletions
|
|
@ -208,15 +208,9 @@
|
|||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>แต่งตั้ง</q-item-section>
|
||||
<q-item-section>ปรับระดับชั้นงาน - ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<!-- <q-item clickable v-close-popup @click="relocationPost">
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-separator /> -->
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
|
|
@ -1097,6 +1091,7 @@ const helpPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/help-government')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1116,6 +1111,7 @@ const repatriationPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/repatriate')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1135,6 +1131,7 @@ const appointPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/appoint-promote')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1155,6 +1152,7 @@ const appointEmployeePost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/appoint-employee')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1182,6 +1180,7 @@ const outPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/dismiss-order')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1201,6 +1200,7 @@ const dischargePost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/discharged')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1220,6 +1220,7 @@ const expulsionPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/expulsion')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -1239,6 +1240,7 @@ const otherPost = async () => {
|
|||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
router.push('/other')
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ const clickSave = async () => {
|
|||
await http
|
||||
.post(config.API.insigniaManageBorrow(), {
|
||||
borrowDate: receivedate.value,
|
||||
borrowOrganizationId: OrganazationId.value,
|
||||
// borrowOrganizationId: OrganazationId.value,
|
||||
insigniaNoteProfileId: insigniaNoteProfileId.value,
|
||||
})
|
||||
.then(() => {
|
||||
|
|
@ -425,7 +425,7 @@ onMounted(() => {
|
|||
</datepicker>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<!-- <div class="col-xs-12 col-sm-6">
|
||||
<q-select
|
||||
hide-bottom-space
|
||||
:options="filterOrgList"
|
||||
|
|
@ -445,7 +445,7 @@ onMounted(() => {
|
|||
doneFn:Function) => filterSelector(inputValue, doneFn,'filterOrgList'
|
||||
) "
|
||||
/>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
|
@ -499,7 +499,7 @@ onMounted(() => {
|
|||
</datepicker>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<!-- <div class="col-xs-12 col-sm-6">
|
||||
<q-select
|
||||
hide-bottom-space
|
||||
:options="filterOrgList"
|
||||
|
|
@ -519,7 +519,7 @@ onMounted(() => {
|
|||
doneFn:Function) => filterSelector(inputValue, doneFn,'filterOrgList'
|
||||
) "
|
||||
/>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="col-12">
|
||||
<q-input
|
||||
|
|
|
|||
|
|
@ -848,7 +848,7 @@ const clearInsigniaFilters = (name: string) => {
|
|||
</q-item-section>
|
||||
<q-item-section>เเก้ไขข้อมูล</q-item-section>
|
||||
</q-item>
|
||||
<!-- <q-item
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="OpenModal(props.row)"
|
||||
|
|
@ -867,7 +867,7 @@ const clearInsigniaFilters = (name: string) => {
|
|||
<q-item-section no-wrap
|
||||
>รับ-คืนเครื่องราชฯ</q-item-section
|
||||
>
|
||||
</q-item> -->
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
|
|
|
|||
|
|
@ -311,71 +311,29 @@ const paginationHis = ref({
|
|||
<q-card flat bordered class="col-12 q-px-lg q-py-md">
|
||||
<div class="flex items-center">
|
||||
<div class="flex items-center">
|
||||
<q-icon
|
||||
name="mdi-clipboard"
|
||||
size="1.5em"
|
||||
color="grey-5"
|
||||
class="q-mr-md"
|
||||
/>
|
||||
<q-icon name="mdi-clipboard" size="1.5em" color="grey-5" class="q-mr-md" />
|
||||
|
||||
<div class="text-bold text-subtitle2 col-12 row items-center">
|
||||
ข้อมูลการจ้าง
|
||||
</div>
|
||||
</div>
|
||||
<div class="q-gutter-sm q-mx-sm">
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
@click="onClickAdd"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-btn size="12px" flat round color="primary" @click="onClickAdd" icon="mdi-plus">
|
||||
<q-tooltip>เพิ่มข้อมูลการจ้าง</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<q-space />
|
||||
<div class="q-gutter-sm" style="display: flex">
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
v-model="filter"
|
||||
label="ค้นหา"
|
||||
style="min-width: 150px"
|
||||
/>
|
||||
<q-input outlined dense v-model="filter" label="ค้นหา" style="min-width: 150px" />
|
||||
|
||||
<q-select
|
||||
v-model="visibleColumns"
|
||||
multiple
|
||||
outlined
|
||||
dense
|
||||
options-dense
|
||||
:display-value="$q.lang.table.columns"
|
||||
emit-value
|
||||
map-options
|
||||
:options="columns"
|
||||
option-value="name"
|
||||
options-cover
|
||||
style="min-width: 150px"
|
||||
/>
|
||||
<q-select v-model="visibleColumns" multiple outlined dense options-dense :display-value="$q.lang.table.columns"
|
||||
emit-value map-options :options="columns" option-value="name" options-cover style="min-width: 150px" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="q-mt-sm">
|
||||
<d-table
|
||||
flat
|
||||
bordered
|
||||
id="table"
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:filter="filter"
|
||||
row-key="dateEmployment"
|
||||
:paging="true"
|
||||
dense
|
||||
:visible-columns="visibleColumns"
|
||||
v-model:pagination="pagination"
|
||||
>
|
||||
<d-table flat bordered id="table" ref="table" :columns="columns" :rows="rows" :filter="filter"
|
||||
row-key="dateEmployment" :paging="true" dense :visible-columns="visibleColumns" v-model:pagination="pagination">
|
||||
<template v-slot:header="props">
|
||||
<q-tr :props="props">
|
||||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||
|
|
@ -394,38 +352,16 @@ const paginationHis = ref({
|
|||
</div>
|
||||
</q-td>
|
||||
<q-td>
|
||||
<q-btn
|
||||
dense
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
icon="mdi-pencil"
|
||||
@click="clickEdit(props.row, 'edit')"
|
||||
>
|
||||
<q-btn dense flat round color="primary" icon="mdi-pencil" @click="clickEdit(props.row, 'edit')">
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</q-td>
|
||||
<q-td>
|
||||
<q-btn
|
||||
dense
|
||||
flat
|
||||
round
|
||||
color="red"
|
||||
icon="mdi-delete"
|
||||
@click="cilckDelete(props.row.id)"
|
||||
>
|
||||
<q-tooltip>ลบข้อมูล</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn dense flat round color="red" icon="mdi-delete" @click="cilckDelete(props.row.id)">
|
||||
<q-tooltip>ลบข้อมูล</q-tooltip></q-btn>
|
||||
</q-td>
|
||||
<q-td>
|
||||
<q-btn
|
||||
dense
|
||||
flat
|
||||
round
|
||||
color="info"
|
||||
@click="openPopupHistory(props.row.id)"
|
||||
icon="mdi-history"
|
||||
>
|
||||
<q-btn dense flat round color="info" @click="openPopupHistory(props.row.id)" icon="mdi-history">
|
||||
<q-tooltip>ประวัติข้อมูลการจ้าง </q-tooltip>
|
||||
</q-btn>
|
||||
</q-td>
|
||||
|
|
@ -444,32 +380,17 @@ const paginationHis = ref({
|
|||
</span>
|
||||
<span style="margin-right: 0" v-else> เพิ่มข้อมูลการจ้าง </span>
|
||||
</q-toolbar-title>
|
||||
<q-btn
|
||||
for="closeDialog"
|
||||
icon="close"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
style="color: #eb0505; background-color: #ffdede"
|
||||
@click="colsePopup"
|
||||
/>
|
||||
<q-btn for="closeDialog" icon="close" unelevated round dense style="color: #eb0505; background-color: #ffdede"
|
||||
@click="colsePopup" />
|
||||
</q-toolbar>
|
||||
<q-separator />
|
||||
<form @submit.prevent="validateForm">
|
||||
<q-card-section class="q-pt-none">
|
||||
<div class="col-12 row q-pa-md">
|
||||
<div
|
||||
class="col-xs-12 col-sm-12 row q-col-gutter-x-md q-col-gutter-y-xs"
|
||||
>
|
||||
<div class="col-xs-12 col-sm-12 row q-col-gutter-x-md q-col-gutter-y-xs">
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<datepicker
|
||||
menu-class-name="modalfix"
|
||||
v-model="formData.dateEmployment"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
borderless
|
||||
:enableTimePicker="false"
|
||||
week-start="0"
|
||||
>
|
||||
<datepicker menu-class-name="modalfix" v-model="formData.dateEmployment" :locale="'th'" autoApply
|
||||
borderless :enableTimePicker="false" week-start="0">
|
||||
<template #year="{ year }">
|
||||
{{ year + 543 }}
|
||||
</template>
|
||||
|
|
@ -477,27 +398,13 @@ const paginationHis = ref({
|
|||
{{ parseInt(value + 543) }}
|
||||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
for="inputdateEmployment"
|
||||
ref="dateEmploymentRef"
|
||||
outlined
|
||||
dense
|
||||
class="full-width datepicker"
|
||||
:model-value="
|
||||
formData.dateEmployment != null
|
||||
<q-input for="inputdateEmployment" ref="dateEmploymentRef" outlined dense
|
||||
class="full-width datepicker" :model-value="formData.dateEmployment != null
|
||||
? date2Thai(formData.dateEmployment)
|
||||
: null
|
||||
"
|
||||
label="วันที่จ้าง"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่จ้าง'}`]"
|
||||
lazy-rules
|
||||
>
|
||||
" label="วันที่จ้าง" :rules="[(val) => !!val || `${'กรุณาเลือกวันที่จ้าง'}`]" lazy-rules>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
name="event"
|
||||
class="cursor-pointer"
|
||||
style="color: var(--q-primary)"
|
||||
>
|
||||
<q-icon name="event" class="cursor-pointer" style="color: var(--q-primary)">
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
|
|
@ -506,16 +413,9 @@ const paginationHis = ref({
|
|||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<q-input
|
||||
for="inputOrderEmployment"
|
||||
ref="orderEmploymentRef"
|
||||
dense
|
||||
outlined
|
||||
v-model="formData.orderEmployment"
|
||||
label="คำสั่งจ้าง"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกคำสั่งจ้าง'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
<q-input for="inputOrderEmployment" ref="orderEmploymentRef" dense outlined
|
||||
v-model="formData.orderEmployment" label="คำสั่งจ้าง"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกคำสั่งจ้าง'}`]" lazy-rules />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -525,16 +425,8 @@ const paginationHis = ref({
|
|||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-btn
|
||||
for="ButtonOnSubmit"
|
||||
id="onSubmit"
|
||||
flat
|
||||
round
|
||||
color="secondary"
|
||||
icon="mdi-content-save-outline"
|
||||
type="submit"
|
||||
><q-tooltip>บับทึกข้อมูล</q-tooltip></q-btn
|
||||
>
|
||||
<q-btn for="ButtonOnSubmit" id="onSubmit" flat round color="secondary" icon="mdi-content-save-outline"
|
||||
type="submit"><q-tooltip>บับทึกข้อมูล</q-tooltip></q-btn>
|
||||
</q-card-actions>
|
||||
</form>
|
||||
</q-card>
|
||||
|
|
@ -546,15 +438,8 @@ const paginationHis = ref({
|
|||
<q-toolbar-title class="text-subtitle1 text-weight-bold">
|
||||
<span style="margin-right: 0"> ประวัติข้อมูลการจ้าง </span>
|
||||
</q-toolbar-title>
|
||||
<q-btn
|
||||
for="closeDialog"
|
||||
icon="close"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
style="color: #eb0505; background-color: #ffdede"
|
||||
@click="colsePopup"
|
||||
/>
|
||||
<q-btn for="closeDialog" icon="close" unelevated round dense style="color: #eb0505; background-color: #ffdede"
|
||||
@click="colsePopup" />
|
||||
</q-toolbar>
|
||||
<q-separator />
|
||||
|
||||
|
|
@ -562,44 +447,16 @@ const paginationHis = ref({
|
|||
<q-toolbar class="q-pa-none">
|
||||
<q-space />
|
||||
<div class="q-gutter-sm" style="display: flex">
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
v-model="filterHis"
|
||||
label="ค้นหา"
|
||||
style="min-width: 150px"
|
||||
/>
|
||||
<q-input outlined dense v-model="filterHis" label="ค้นหา" style="min-width: 150px" />
|
||||
|
||||
<q-select
|
||||
v-model="visibleColumnsHis"
|
||||
multiple
|
||||
outlined
|
||||
dense
|
||||
options-dense
|
||||
:display-value="$q.lang.table.columns"
|
||||
emit-value
|
||||
map-options
|
||||
:options="columnsHis"
|
||||
option-value="name"
|
||||
options-cover
|
||||
style="min-width: 150px"
|
||||
/>
|
||||
<q-select v-model="visibleColumnsHis" multiple outlined dense options-dense
|
||||
:display-value="$q.lang.table.columns" emit-value map-options :options="columnsHis" option-value="name"
|
||||
options-cover style="min-width: 150px" />
|
||||
</div>
|
||||
</q-toolbar>
|
||||
<d-table
|
||||
flat
|
||||
bordered
|
||||
id="table"
|
||||
ref="table"
|
||||
:columns="columnsHis"
|
||||
:rows="rowsHis"
|
||||
:filter="filterHis"
|
||||
row-key="dateEmployment"
|
||||
:paging="true"
|
||||
dense
|
||||
:visible-columns="visibleColumnsHis"
|
||||
v-model:pagination="paginationHis"
|
||||
>
|
||||
<d-table flat bordered id="table" ref="table" :columns="columnsHis" :rows="rowsHis" :filter="filterHis"
|
||||
row-key="dateEmployment" :paging="true" dense :visible-columns="visibleColumnsHis"
|
||||
v-model:pagination="paginationHis">
|
||||
<template v-slot:header="props">
|
||||
<q-tr :props="props">
|
||||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||
|
|
|
|||
|
|
@ -29,18 +29,18 @@ async function fetchListComplaints() {
|
|||
detail: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
|
||||
complainant: "นางศิรินภา คงน้อย",
|
||||
offenseDescription: "ร้ายแรง",
|
||||
creationDate: "2023-10-16",
|
||||
creationDate: new Date("2023-12-01"),
|
||||
considerationLevel: "ด่วนมาก",
|
||||
considerationDeadlineDate: "2023-11-01",
|
||||
considerationDeadlineDate: new Date("2023-12-02"),
|
||||
},
|
||||
{
|
||||
subject: "ทุจริตในหน้าที่",
|
||||
detail: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
|
||||
complainant: "นายแก้ว คำ",
|
||||
offenseDescription: "ร้ายแรง",
|
||||
creationDate: "2023-10-16",
|
||||
creationDate: new Date("2023-12-01"),
|
||||
considerationLevel: "ด่วนมาก",
|
||||
considerationDeadlineDate: "2023-11-01",
|
||||
considerationDeadlineDate: new Date("2023-12-02"),
|
||||
},
|
||||
{
|
||||
subject: "ทุจริตในหน้าที่",
|
||||
|
|
@ -48,9 +48,9 @@ async function fetchListComplaints() {
|
|||
"มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน",
|
||||
complainant: "นายภัทรานุย คงนอย",
|
||||
offenseDescription: "ร้ายแรง",
|
||||
creationDate: "2023-10-16",
|
||||
creationDate: new Date("2023-12-01"),
|
||||
considerationLevel: "ด่วนมาก",
|
||||
considerationDeadlineDate: "2023-11-01",
|
||||
considerationDeadlineDate: new Date("2023-12-02"),
|
||||
},
|
||||
];
|
||||
await fetchComplainst(listData);
|
||||
|
|
|
|||
|
|
@ -111,32 +111,13 @@ const checkSelected = computed(() => {
|
|||
const saveDirector = () => {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
() => Ordersave(),
|
||||
() => DirectorSave(),
|
||||
"ยืนยันเพิ่มรายชื่อกรรมการ",
|
||||
"ต้องการยืนยันเพิ่มรายชื่อกรรมการ?"
|
||||
);
|
||||
};
|
||||
//ส่งไปออกคำสั่ง
|
||||
const Ordersave = async () => {
|
||||
// const id = selected.value.map((r) => r.id);
|
||||
// const body = {
|
||||
// id,
|
||||
// };
|
||||
// showLoader();
|
||||
// await http
|
||||
// .post(config.API.transferReport, body)
|
||||
// .then((res: any) => {
|
||||
// success($q, "ส่งไปออกคำสั่งสำเร็จ");
|
||||
// props.closeModal?.();
|
||||
// })
|
||||
// .catch((e) => {
|
||||
// messageError($q, e);
|
||||
// })
|
||||
// .finally(async () => {
|
||||
// props.getData?.();
|
||||
// hideLoader();
|
||||
// });
|
||||
};
|
||||
const DirectorSave = async () => {};
|
||||
|
||||
const emit = defineEmits(["update:filterKeyword2", "update:selected"]);
|
||||
const updateInput = (value: any) => {
|
||||
|
|
@ -158,7 +139,7 @@ watchEffect(() => {
|
|||
<DialogHeader title="เลือกรายชื่อกรรมการ" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<div class="row justify-end">
|
||||
<div>
|
||||
<div>
|
||||
<q-toolbar style="padding: 0">
|
||||
<q-input
|
||||
|
|
@ -170,7 +151,7 @@ watchEffect(() => {
|
|||
:model-value="filterKeyword2"
|
||||
@update:model-value="updateInput"
|
||||
placeholder="ค้นหารายชื่อ"
|
||||
style="width: 850px; max-width: auto"
|
||||
style="max-width: 100%"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-icon v-if="filterKeyword2 == ''" name="search" />
|
||||
|
|
@ -182,21 +163,6 @@ watchEffect(() => {
|
|||
/>
|
||||
</template>
|
||||
</q-input>
|
||||
<!-- <q-select
|
||||
v-model="visibleColumns2"
|
||||
multiple
|
||||
outlined
|
||||
dense
|
||||
options-dense
|
||||
:display-value="$q.lang.table.columns"
|
||||
emit-value
|
||||
map-options
|
||||
:options="columns2"
|
||||
option-value="name"
|
||||
options-cover
|
||||
style="min-width: 150px"
|
||||
class="gt-xs q-ml-sm"
|
||||
/> -->
|
||||
</q-toolbar>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -205,7 +171,7 @@ watchEffect(() => {
|
|||
:columns="columns2"
|
||||
:rows="rows2"
|
||||
:filter="filterKeyword2"
|
||||
row-key="id"
|
||||
row-key="nameDirector"
|
||||
:visible-columns="visibleColumns2"
|
||||
selection="single"
|
||||
v-model:selected="selected"
|
||||
|
|
@ -229,26 +195,12 @@ watchEffect(() => {
|
|||
v-model="props.selected"
|
||||
/>
|
||||
</q-td>
|
||||
<q-td key="no" :props="props">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</q-td>
|
||||
<q-td key="nameDirector" :props="props">
|
||||
{{ props.row.nameDirector }}
|
||||
</q-td>
|
||||
<q-td key="position" :props="props">
|
||||
{{ props.row.position }}
|
||||
</q-td>
|
||||
<q-td key="duty" :props="props">
|
||||
{{ props.row.duty }}
|
||||
</q-td>
|
||||
<q-td key="email" :props="props">
|
||||
<div class="table_ellipsis">
|
||||
{{ props.row.email }}
|
||||
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
</q-td>
|
||||
<q-td key="telephone" :props="props">
|
||||
<div class="table_ellipsis">
|
||||
{{ props.row.telephone }}
|
||||
<div v-else>
|
||||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ onMounted(async () => {
|
|||
fault: "1",
|
||||
penaltyLevel: "7",
|
||||
caseFault: "ทุจริตในหน้าที่",
|
||||
dateInvestigate: "1 ธ.ค. 2565",
|
||||
dateInvestigate: "2023-12-01",
|
||||
status: "0",
|
||||
active: "2",
|
||||
},
|
||||
|
|
@ -36,7 +36,7 @@ onMounted(async () => {
|
|||
fault: "1",
|
||||
penaltyLevel: "7",
|
||||
caseFault: "ทุจริตในหน้าที่",
|
||||
dateInvestigate: "30 พ.ย. 2565",
|
||||
dateInvestigate: "2023-11-30",
|
||||
status: "0",
|
||||
active: "0",
|
||||
},
|
||||
|
|
@ -46,7 +46,7 @@ onMounted(async () => {
|
|||
fault: "2",
|
||||
penaltyLevel: "1",
|
||||
caseFault: "พบการทุจริต",
|
||||
dateInvestigate: "14 ก.ย. 2565",
|
||||
dateInvestigate: "2023-09-14",
|
||||
status: "1",
|
||||
active: "1",
|
||||
},
|
||||
|
|
@ -56,7 +56,7 @@ onMounted(async () => {
|
|||
fault: "2",
|
||||
penaltyLevel: "1",
|
||||
caseFault: "พูดจาไม่สุภาพกับผู้บังคับบัญชา",
|
||||
dateInvestigate: "11 ส.ค. 2565",
|
||||
dateInvestigate: "2023-08-11",
|
||||
status: "0",
|
||||
active: "1",
|
||||
},
|
||||
|
|
@ -92,10 +92,10 @@ const clickAdd = () => {
|
|||
<template #columns="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||
<q-td v-if="col.name == 'no'">
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</q-td>
|
||||
<div>
|
||||
</div>
|
||||
<div v-else>
|
||||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import type { DataList } from "../../interface/response/order";
|
||||
import type { DataList, DataListRes } from "../../interface/response/order";
|
||||
|
||||
// importStroe
|
||||
import { useOrderStore } from "@/modules/11_discipline/store/OrderStore";
|
||||
|
|
@ -21,11 +21,11 @@ onMounted(async () => {
|
|||
|
||||
// เรียกรายการคำสั่ง จาก API
|
||||
async function fetchListOrder() {
|
||||
const listData: DataList[] = [
|
||||
const listData: DataListRes[] = [
|
||||
{
|
||||
subject: "ทุจริตในหน้าที่",
|
||||
ordernumber: "1/2556",
|
||||
dateOrder: "1 ธ.ค. 2565",
|
||||
dateOrder: new Date("2023-12-01"),
|
||||
orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
|
||||
signer: "นางศิรินภา คงน้อย",
|
||||
statusorder: "เสร็จสิ้นแล้ว",
|
||||
|
|
@ -33,7 +33,7 @@ async function fetchListOrder() {
|
|||
{
|
||||
subject: "ทุจริตในหน้าที่",
|
||||
ordernumber: "4/2556",
|
||||
dateOrder: "1 ธ.ค. 2565",
|
||||
dateOrder: new Date("2023-12-01"),
|
||||
orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
|
||||
signer: "นางศิรินภา คงน้อย",
|
||||
statusorder: "เสร็จสิ้นแล้ว",
|
||||
|
|
@ -41,7 +41,7 @@ async function fetchListOrder() {
|
|||
{
|
||||
subject: "ทุจริตในหน้าที่",
|
||||
ordernumber: "2/2556",
|
||||
dateOrder: "1 ธ.ค. 2565",
|
||||
dateOrder: new Date("2023-12-01"),
|
||||
orderby: "สำนักงานคณพกรรมการข้าราชการกรุงเทพฯ",
|
||||
signer: "นางศิรินภา คงน้อย",
|
||||
statusorder: "เสร็จสิ้นแล้ว",
|
||||
|
|
|
|||
|
|
@ -4,67 +4,15 @@ import type { QTableProps } from "quasar";
|
|||
import router from "@/router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useDisciplineChannelDataStore } from "@/modules/11_discipline/store/ChannelStore";
|
||||
|
||||
import config from "@/app.config";
|
||||
import http from "@/plugins/http";
|
||||
|
||||
const mixin = useCounterMixin();
|
||||
const {
|
||||
date2Thai,
|
||||
success,
|
||||
messageError,
|
||||
showLoader,
|
||||
hideLoader,
|
||||
dialogConfirm,
|
||||
dialogRemove,
|
||||
} = mixin;
|
||||
const { dialogRemove } = mixin;
|
||||
const $q = useQuasar(); //ใช้ noti quasar
|
||||
|
||||
const visibleColumns = ref<string[]>([
|
||||
"no",
|
||||
"subject",
|
||||
"interrogated",
|
||||
"fault",
|
||||
"status",
|
||||
]); //ค้นหา คอลัมน์ คอลัมน์ที่แสดง
|
||||
|
||||
// หัวตาราง
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
label: "ลำดับ",
|
||||
sortable: false,
|
||||
field: "no",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "subject",
|
||||
align: "left",
|
||||
label: "ชื่อประเภท",
|
||||
sortable: true,
|
||||
field: "subject",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
]);
|
||||
|
||||
const rows = ref<any>([
|
||||
{
|
||||
subject: " จดหมาย",
|
||||
},
|
||||
{
|
||||
subject: " อีเมล์",
|
||||
},
|
||||
{
|
||||
subject: " โทรศัพท์",
|
||||
},
|
||||
{
|
||||
subject: " บอกเล่า",
|
||||
},
|
||||
]);
|
||||
|
||||
// ค้นหาในตาราง
|
||||
const filterKeyword = ref<string>("");
|
||||
const filterRef = ref<HTMLInputElement | null>(null);
|
||||
|
|
@ -74,19 +22,13 @@ const resetFilter = () => {
|
|||
filterRef.value.focus();
|
||||
}
|
||||
};
|
||||
|
||||
const attrs = ref<any>(useAttrs());
|
||||
const paging = ref<boolean>(true);
|
||||
const dataStore = useDisciplineChannelDataStore();
|
||||
const pagination = ref({
|
||||
// sortBy: "desc",
|
||||
descending: false,
|
||||
page: 1,
|
||||
rowsPerPage: 10,
|
||||
});
|
||||
const paginationLabel = (start: string, end: string, total: string) => {
|
||||
if (paging.value == true) return " " + start + "-" + end + " ใน " + total;
|
||||
else return start + "-" + end + " ใน " + total;
|
||||
};
|
||||
|
||||
const clickAdd = () => {
|
||||
router.push(`/discipline/channel/add`);
|
||||
|
|
@ -104,7 +46,23 @@ const clickDelete = (id: string) => {
|
|||
);
|
||||
};
|
||||
|
||||
onMounted(() => {});
|
||||
onMounted(() => {
|
||||
// get ข้อมูลแล้วโยนใส่ store
|
||||
dataStore.fetchData([
|
||||
{
|
||||
subject: " จดหมาย",
|
||||
},
|
||||
{
|
||||
subject: " อีเมล์",
|
||||
},
|
||||
{
|
||||
subject: " โทรศัพท์",
|
||||
},
|
||||
{
|
||||
subject: " บอกเล่า",
|
||||
},
|
||||
]);
|
||||
});
|
||||
</script>
|
||||
<template>
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
|
|
@ -149,7 +107,7 @@ onMounted(() => {});
|
|||
</q-input>
|
||||
|
||||
<q-select
|
||||
v-model="visibleColumns"
|
||||
v-model="dataStore.visibleColumns"
|
||||
multiple
|
||||
for="visibleColumns"
|
||||
outlined
|
||||
|
|
@ -158,7 +116,7 @@ onMounted(() => {});
|
|||
:display-value="$q.lang.table.columns"
|
||||
emit-value
|
||||
map-options
|
||||
:options="columns"
|
||||
:options="dataStore.columns"
|
||||
option-value="name"
|
||||
options-cover
|
||||
style="min-width: 150px"
|
||||
|
|
@ -167,12 +125,11 @@ onMounted(() => {});
|
|||
</div>
|
||||
<div class="col-12">
|
||||
<d-table
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:columns="dataStore.columns"
|
||||
:rows="dataStore.rows"
|
||||
row-key="id"
|
||||
:filter="filterKeyword"
|
||||
:visible-columns="visibleColumns"
|
||||
:pagination-label="paginationLabel"
|
||||
:visible-columns="dataStore.visibleColumns"
|
||||
v-model:pagination="pagination"
|
||||
>
|
||||
<template v-slot:header="props">
|
||||
|
|
|
|||
5
src/modules/11_discipline/interface/response/channel.ts
Normal file
5
src/modules/11_discipline/interface/response/channel.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
interface ChannelRows {
|
||||
subject: string;
|
||||
}
|
||||
|
||||
export type { ChannelRows };
|
||||
|
|
@ -1,15 +1,25 @@
|
|||
interface DataListRow {
|
||||
subject: string
|
||||
detail: string
|
||||
complainant: string
|
||||
offenseDescription: string
|
||||
creationDate: string | null
|
||||
considerationLevel: string
|
||||
considerationDeadlineDate: string | null
|
||||
}
|
||||
interface DataList {
|
||||
subject: string
|
||||
detail: string
|
||||
complainant: string
|
||||
offenseDescription: string
|
||||
creationDate: string
|
||||
creationDate: Date
|
||||
considerationLevel: string
|
||||
considerationDeadlineDate: string
|
||||
considerationDeadlineDate: Date
|
||||
}
|
||||
|
||||
|
||||
|
||||
export type {
|
||||
DataList
|
||||
DataList,
|
||||
DataListRow
|
||||
}
|
||||
|
|
@ -1,15 +1,25 @@
|
|||
interface DataList {
|
||||
subject: string
|
||||
ordernumber: string
|
||||
dateOrder: string
|
||||
dateOrder: string | null;
|
||||
orderby: string
|
||||
signer: string
|
||||
statusorder: string
|
||||
|
||||
}
|
||||
|
||||
interface DataListRes {
|
||||
subject: string
|
||||
ordernumber: string
|
||||
dateOrder: Date
|
||||
orderby: string
|
||||
signer: string
|
||||
statusorder: string
|
||||
}
|
||||
|
||||
|
||||
|
||||
export type {
|
||||
DataList
|
||||
DataList,
|
||||
DataListRes
|
||||
}
|
||||
54
src/modules/11_discipline/store/ChannelStore.ts
Normal file
54
src/modules/11_discipline/store/ChannelStore.ts
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type { ChannelRows } from "@/modules/11_discipline/interface/response/channel";
|
||||
import type { QTableProps } from "quasar";
|
||||
|
||||
// store ระบบวินัย >> ข้อมูลพื้นฐาน >> กรรมการ
|
||||
export const useDisciplineChannelDataStore = defineStore(
|
||||
"disciplineChannel",
|
||||
() => {
|
||||
//ค้นหา คอลัมน์ คอลัมน์ที่แสดง
|
||||
const visibleColumns = ref<string[]>([
|
||||
"no",
|
||||
"subject",
|
||||
"interrogated",
|
||||
"fault",
|
||||
"status",
|
||||
]); //ค้นหา คอลัมน์ คอลัมน์ที่แสดง
|
||||
|
||||
// หัวตาราง
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
label: "ลำดับ",
|
||||
sortable: false,
|
||||
field: "no",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "subject",
|
||||
align: "left",
|
||||
label: "ชื่อประเภท",
|
||||
sortable: true,
|
||||
field: "subject",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
]);
|
||||
|
||||
// ข้อมูลในตาราง
|
||||
const rows = ref<ChannelRows[]>([]);
|
||||
function fetchData(data: ChannelRows[]) {
|
||||
rows.value = data;
|
||||
}
|
||||
|
||||
return {
|
||||
visibleColumns,
|
||||
columns,
|
||||
rows,
|
||||
fetchData,
|
||||
};
|
||||
}
|
||||
);
|
||||
|
|
@ -1,13 +1,17 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
import type { DataOption } from "@/modules/11_discipline/interface/index/Main";
|
||||
import type { DataList } from "@/modules/11_discipline/interface/response/complaint"
|
||||
import type { DataList, DataListRow } from "@/modules/11_discipline/interface/response/complaint"
|
||||
import type { QTableProps } from "quasar";
|
||||
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai } = mixin
|
||||
|
||||
|
||||
export const useComplainstDataStore = defineStore("DisciplineComplainst", () => {
|
||||
const rows = ref<DataList[]>([])
|
||||
const rows = ref<DataListRow[]>([])
|
||||
const visibleColumns = ref<string[]>([]);
|
||||
const columns = ref<QTableProps["columns"]>([]);
|
||||
function fetchComplainst(data: DataList[]) {
|
||||
|
|
@ -16,9 +20,9 @@ export const useComplainstDataStore = defineStore("DisciplineComplainst", () =>
|
|||
detail: e.detail,
|
||||
complainant: e.complainant,
|
||||
offenseDescription: e.offenseDescription,
|
||||
creationDate: e.creationDate,
|
||||
creationDate: date2Thai(e.creationDate),
|
||||
considerationLevel: e.considerationLevel,
|
||||
considerationDeadlineDate: e.considerationDeadlineDate,
|
||||
considerationDeadlineDate: date2Thai(e.considerationDeadlineDate),
|
||||
}))
|
||||
rows.value = datalist
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@ import type {
|
|||
DataOption,
|
||||
directorType,
|
||||
} from "@/modules/11_discipline/interface/index/Main";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
const mixin = useCounterMixin();
|
||||
const { date2Thai } = mixin;
|
||||
|
||||
export const useInvestigateDisStore = defineStore(
|
||||
"DisciplineInvestigateDis",
|
||||
|
|
@ -34,7 +37,7 @@ export const useInvestigateDisStore = defineStore(
|
|||
fault: convertFault(e.fault),
|
||||
penaltyLevel: convertPenaltyLevel(e.penaltyLevel),
|
||||
caseFault: e.caseFault,
|
||||
dateInvestigate: e.dateInvestigate,
|
||||
dateInvestigate: date2Thai(new Date(e.dateInvestigate)),
|
||||
status: convertSatatus(e.status),
|
||||
active: activeStatus(e.active),
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -1,22 +1,25 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type { QTableProps } from "quasar";
|
||||
import type { DataList } from "@/modules/11_discipline/interface/response/order"
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
import type { QTableProps } from "quasar";
|
||||
import type { DataList, DataListRes } from "@/modules/11_discipline/interface/response/order"
|
||||
|
||||
const mixin = useCounterMixin()
|
||||
const { date2Thai } = mixin
|
||||
export const useOrderStore = defineStore("DisciplineOrder", () => {
|
||||
const rows = ref<DataList[]>([])
|
||||
const columns = ref<QTableProps["columns"]>([]);
|
||||
const visibleColumns = ref<string[]>([]);
|
||||
async function fetchOrder(data: DataList[]) {
|
||||
let datalist = data.map((e: DataList) => ({
|
||||
async function fetchOrder(data: DataListRes[]) {
|
||||
let datalist: DataList[] = data.map((e: DataListRes) => ({
|
||||
subject: e.subject,
|
||||
ordernumber: e.ordernumber,
|
||||
dateOrder: e.dateOrder,
|
||||
dateOrder: date2Thai(e.dateOrder),
|
||||
orderby: e.orderby,
|
||||
signer: e.signer,
|
||||
statusorder: e.statusorder
|
||||
|
||||
|
||||
}))
|
||||
rows.value = datalist
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue