Merge branch 'develop' of github.com:Frappet/bma-ehr-frontend into me
# Conflicts: # src/modules/05_placement/components/OrderPlacement/MainOrderPlacement.vue
This commit is contained in:
commit
f09079fc7d
13 changed files with 863 additions and 981 deletions
|
|
@ -106,7 +106,8 @@
|
||||||
<template v-slot:pagination="scope">
|
<template v-slot:pagination="scope">
|
||||||
<q-pagination
|
<q-pagination
|
||||||
v-model="pagination.page"
|
v-model="pagination.page"
|
||||||
color="grey-8"
|
active-color="primary"
|
||||||
|
color="dark"
|
||||||
:max="scope.pagesNumber"
|
:max="scope.pagesNumber"
|
||||||
:max-pages="5"
|
:max-pages="5"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|
|
||||||
|
|
@ -249,7 +249,8 @@
|
||||||
<template v-slot:pagination="scope">
|
<template v-slot:pagination="scope">
|
||||||
<q-pagination
|
<q-pagination
|
||||||
v-model="pagination.page"
|
v-model="pagination.page"
|
||||||
color="grey-8"
|
active-color="primary"
|
||||||
|
color="dark"
|
||||||
:max="scope.pagesNumber"
|
:max="scope.pagesNumber"
|
||||||
:max-pages="5"
|
:max-pages="5"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|
|
||||||
|
|
@ -195,16 +195,16 @@ const menuList = readonly<any[]>([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 7,
|
key: 7,
|
||||||
icon: "mdi-home-variant-outline",
|
icon: "mdi-account-cancel-outline",
|
||||||
activeIcon: "mdi-home-variant",
|
activeIcon: "mdi-account-cancel",
|
||||||
label: "พ้นจากราชการ",
|
label: "พ้นจากราชการ",
|
||||||
path: "retirement",
|
path: "retirement",
|
||||||
role: "retirement",
|
role: "retirement",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 8,
|
key: 8,
|
||||||
icon: "mdi-home-variant-outline",
|
icon: "mdi-medal-outline",
|
||||||
activeIcon: "mdi-home-variant",
|
activeIcon: "mdi-medal",
|
||||||
label: "เครื่องราชอิสริยาภรณ์",
|
label: "เครื่องราชอิสริยาภรณ์",
|
||||||
path: "insignia",
|
path: "insignia",
|
||||||
role: "insignia",
|
role: "insignia",
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@ const mixin = useCounterMixin();
|
||||||
const { success, dateText, messageError, showLoader, hideLoader } = mixin;
|
const { success, dateText, messageError, showLoader, hideLoader } = mixin;
|
||||||
const store = useManageDataStore();
|
const store = useManageDataStore();
|
||||||
const { manageData, changeManageColumns, getInsignia, dataInsignia } = store;
|
const { manageData, changeManageColumns, getInsignia, dataInsignia } = store;
|
||||||
const rows = ref<RequestItemsHistoryObject[]>(dataInsignia); //list data table
|
const rows = ref<RequestItemsHistoryObject[]>(); //list data table
|
||||||
const rowsHistory = ref<RequestItemsHistoryObject[]>([]); //select data history
|
const rowsHistory = ref<RequestItemsHistoryObject[]>([]); //select data history
|
||||||
const rawHistory = ref<RequestItemsHistoryObject[]>([]); //raw data history
|
const rawHistory = ref<RequestItemsHistoryObject[]>([]); //raw data history
|
||||||
const tittleHistory = ref<string>("ประวัติแก้ไขชื่อเครื่องราชฯ"); //
|
const tittleHistory = ref<string>("ประวัติแก้ไขชื่อเครื่องราชฯ"); //
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ const { success, dateText, messageError, showLoader, hideLoader } = mixin;
|
||||||
const store = useManageDataStore();
|
const store = useManageDataStore();
|
||||||
const { manageData, changeManageColumns, getInsigniaType, dataInsigniaType } =
|
const { manageData, changeManageColumns, getInsigniaType, dataInsigniaType } =
|
||||||
store;
|
store;
|
||||||
const rows = ref<RequestItemsHistoryObject[]>(dataInsigniaType); //list data table
|
const rows = ref<RequestItemsHistoryObject[]>(); //list data table
|
||||||
const rowsHistory = ref<RequestItemsHistoryObject[]>([]); //select data history
|
const rowsHistory = ref<RequestItemsHistoryObject[]>([]); //select data history
|
||||||
const rawHistory = ref<RequestItemsHistoryObject[]>([]); //raw data history
|
const rawHistory = ref<RequestItemsHistoryObject[]>([]); //raw data history
|
||||||
const tittleHistory = ref<string>("ประวัติแก้ไขลำดับชั้นเครื่องราชฯ"); //
|
const tittleHistory = ref<string>("ประวัติแก้ไขลำดับชั้นเครื่องราชฯ"); //
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">ออกคำสั่ง</div>
|
<div class="toptitle text-dark col-12 row items-center">ออกคำสั่ง</div>
|
||||||
<div>
|
<div>
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm q-pa-md">
|
||||||
<div class="row q-pa-md">
|
<div class="row q-col-gutter-md">
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<q-select
|
<q-select
|
||||||
|
class="col-xs-10 col-sm-3 col-md-2"
|
||||||
v-model="fiscalyear"
|
v-model="fiscalyear"
|
||||||
label="ปีงบประมาณ"
|
label="ปีงบประมาณ"
|
||||||
dense
|
dense
|
||||||
|
|
@ -41,6 +42,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<div class="col-xs-12 col-sm-3 col-md-2">
|
||||||
<q-input
|
<q-input
|
||||||
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
standout
|
standout
|
||||||
dense
|
dense
|
||||||
v-model="filterKeyword"
|
v-model="filterKeyword"
|
||||||
|
|
@ -48,7 +50,6 @@
|
||||||
outlined
|
outlined
|
||||||
debounce="300"
|
debounce="300"
|
||||||
placeholder="ค้นหา"
|
placeholder="ค้นหา"
|
||||||
class="q-ml-sm"
|
|
||||||
>
|
>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<q-icon v-if="filterKeyword == ''" name="search" />
|
<q-icon v-if="filterKeyword == ''" name="search" />
|
||||||
|
|
@ -60,9 +61,8 @@
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
|
||||||
<q-select
|
<q-select
|
||||||
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
v-model="visibleColumns"
|
v-model="visibleColumns"
|
||||||
multiple
|
multiple
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -75,15 +75,13 @@
|
||||||
option-value="name"
|
option-value="name"
|
||||||
options-cover
|
options-cover
|
||||||
style="min-width: 150px"
|
style="min-width: 150px"
|
||||||
class="gt-xs q-ml-sm"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-12">
|
||||||
<div class="q-pt-sm q-pl-md q-pr-md q-pb-md">
|
<q-card bordered class="col-12 filter-card q-pa-sm">
|
||||||
<q-card bordered class="col-12 filter-card">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<div class="row q-pa-sm">
|
|
||||||
<div class="col-xs-12 col-sm-3 col-md- q-pl-sm">
|
|
||||||
<q-select
|
<q-select
|
||||||
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
v-model="OrderType"
|
v-model="OrderType"
|
||||||
label="ประเภท"
|
label="ประเภท"
|
||||||
dense
|
dense
|
||||||
|
|
@ -100,9 +98,8 @@
|
||||||
:hide-dropdown-icon="false"
|
:hide-dropdown-icon="false"
|
||||||
@update:model-value="searchFilterTable"
|
@update:model-value="searchFilterTable"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-sm-3 col-md- q-pl-sm">
|
|
||||||
<q-select
|
<q-select
|
||||||
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
v-model="OrderStatus"
|
v-model="OrderStatus"
|
||||||
label="สถานะ"
|
label="สถานะ"
|
||||||
dense
|
dense
|
||||||
|
|
@ -120,10 +117,9 @@
|
||||||
@update:model-value="searchFilterTable"
|
@update:model-value="searchFilterTable"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pt-sm q-pl-md q-pr-md q-pb-md">
|
<div class="col-12">
|
||||||
<q-table
|
<q-table
|
||||||
ref="table"
|
ref="table"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
|
@ -192,15 +188,15 @@
|
||||||
>
|
>
|
||||||
<q-icon
|
<q-icon
|
||||||
v-if="props.row.OrderStatus == 'ยังไม่ได้ออกคำสั่ง'"
|
v-if="props.row.OrderStatus == 'ยังไม่ได้ออกคำสั่ง'"
|
||||||
name="hourglass_top"
|
name="mdi-timer-sand"
|
||||||
color="orange"
|
color="orange"
|
||||||
class="text-h5"
|
class="text-h6"
|
||||||
/>
|
/>
|
||||||
<q-icon
|
<q-icon
|
||||||
v-if="props.row.OrderStatus == 'ออกคำสั่งแล้ว'"
|
v-if="props.row.OrderStatus == 'ออกคำสั่งแล้ว'"
|
||||||
name="mdi-check"
|
name="mdi-check"
|
||||||
color="positive"
|
color="positive"
|
||||||
class="text-h5"
|
class="text-h6"
|
||||||
/>
|
/>
|
||||||
</q-td>
|
</q-td>
|
||||||
|
|
||||||
|
|
@ -222,7 +218,8 @@
|
||||||
<template v-slot:pagination="scope">
|
<template v-slot:pagination="scope">
|
||||||
<q-pagination
|
<q-pagination
|
||||||
v-model="pagination.page"
|
v-model="pagination.page"
|
||||||
color="primary"
|
active-color="primary"
|
||||||
|
color="dark"
|
||||||
:max="scope.pagesNumber"
|
:max="scope.pagesNumber"
|
||||||
:max-pages="5"
|
:max-pages="5"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|
@ -232,6 +229,7 @@
|
||||||
</template>
|
</template>
|
||||||
</q-table>
|
</q-table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -252,7 +250,7 @@ const pagination = ref({
|
||||||
sortBy: "desc",
|
sortBy: "desc",
|
||||||
descending: false,
|
descending: false,
|
||||||
page: 1,
|
page: 1,
|
||||||
rowsPerPage: 10,
|
rowsPerPage: 5,
|
||||||
});
|
});
|
||||||
|
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
|
|
@ -329,7 +327,7 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "OrderStatus",
|
name: "OrderStatus",
|
||||||
align: "left",
|
align: "center",
|
||||||
label: "สถานะคำสั่ง",
|
label: "สถานะคำสั่ง",
|
||||||
sortable: false,
|
sortable: false,
|
||||||
field: "OrderStatus",
|
field: "OrderStatus",
|
||||||
|
|
@ -355,9 +353,9 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
const rows = ref<FormOrderPlacementMainData[]>([
|
const rows = ref<FormOrderPlacementMainData[]>([
|
||||||
{
|
{
|
||||||
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
||||||
OrderNum: "1/2565",
|
OrderNum: "1/2566",
|
||||||
fiscalYear: 2565,
|
fiscalYear: 2566,
|
||||||
OrderDate: "30 พ.ค. 2565",
|
OrderDate: "30 พ.ค. 2566",
|
||||||
OrderBy: "สำนักงาน กทม.",
|
OrderBy: "สำนักงาน กทม.",
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
||||||
|
|
@ -366,39 +364,9 @@ const rows = ref<FormOrderPlacementMainData[]>([
|
||||||
|
|
||||||
{
|
{
|
||||||
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
||||||
OrderNum: "1/2565",
|
OrderNum: "1/2566",
|
||||||
fiscalYear: 2565,
|
fiscalYear: 2566,
|
||||||
OrderDate: "30 พ.ค. 2565",
|
OrderDate: "30 พ.ค. 2566",
|
||||||
OrderBy: "สำนักงาน กทม.",
|
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
|
||||||
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
|
||||||
OrderNum: "1/2565",
|
|
||||||
fiscalYear: 2565,
|
|
||||||
OrderDate: "30 พ.ค. 2565",
|
|
||||||
OrderBy: "สำนักงาน กทม.",
|
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
|
||||||
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
|
||||||
OrderNum: "1/2565",
|
|
||||||
fiscalYear: 2565,
|
|
||||||
OrderDate: "30 พ.ค. 2565",
|
|
||||||
OrderBy: "สำนักงาน กทม.",
|
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
|
||||||
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
|
||||||
OrderNum: "1/2565",
|
|
||||||
fiscalYear: 2565,
|
|
||||||
OrderDate: "30 พ.ค. 2565",
|
|
||||||
OrderBy: "สำนักงาน กทม.",
|
OrderBy: "สำนักงาน กทม.",
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
||||||
|
|
@ -431,7 +399,37 @@ const rows = ref<FormOrderPlacementMainData[]>([
|
||||||
OrderDate: "30 พ.ค. 2565",
|
OrderDate: "30 พ.ค. 2565",
|
||||||
OrderBy: "สำนักงาน กทม.",
|
OrderBy: "สำนักงาน กทม.",
|
||||||
Signer: "นาม สมคิด ยอดใจ ",
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
OrderStatus: "ยังไม่ได้ออกคำสั่ง",
|
OrderStatus: "ออกคำสั่งแล้ว",
|
||||||
|
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
||||||
|
OrderNum: "1/2565",
|
||||||
|
fiscalYear: 2565,
|
||||||
|
OrderDate: "30 พ.ค. 2565",
|
||||||
|
OrderBy: "สำนักงาน กทม.",
|
||||||
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
|
OrderStatus: "ออกคำสั่งแล้ว",
|
||||||
|
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
||||||
|
OrderNum: "1/2565",
|
||||||
|
fiscalYear: 2565,
|
||||||
|
OrderDate: "30 พ.ค. 2565",
|
||||||
|
OrderBy: "สำนักงาน กทม.",
|
||||||
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
|
OrderStatus: "ออกคำสั่งแล้ว",
|
||||||
|
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Order: "คำสั่งแต่งตั้งผู้สอบแข่งขันได้",
|
||||||
|
OrderNum: "1/2565",
|
||||||
|
fiscalYear: 2565,
|
||||||
|
OrderDate: "30 พ.ค. 2565",
|
||||||
|
OrderBy: "สำนักงาน กทม.",
|
||||||
|
Signer: "นาม สมคิด ยอดใจ ",
|
||||||
|
OrderStatus: "ออกคำสั่งแล้ว",
|
||||||
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
OrderType: "คำสั่งบรรจุและแต่งตั้ง",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -703,7 +701,7 @@ const paginationLabel = (start: string, end: string, total: string) => {
|
||||||
|
|
||||||
<style lang="scss" scope>
|
<style lang="scss" scope>
|
||||||
.filter-card {
|
.filter-card {
|
||||||
background-color: #ededed;
|
background-color: #f1f1f1b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toggle-expired-account {
|
.toggle-expired-account {
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,7 @@ const paginationLabel = (start: string, end: string, total: string) => {
|
||||||
|
|
||||||
<style lang="scss" scope>
|
<style lang="scss" scope>
|
||||||
.filter-card {
|
.filter-card {
|
||||||
background-color: #EDEDED;
|
background-color: #f1f1f1b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toggle-expired-account {
|
.toggle-expired-account {
|
||||||
|
|
|
||||||
|
|
@ -293,51 +293,37 @@ const paginationLabel = (start: string, end: string, total: string) => {
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายการสอบแข่งขัน / คัดเลือก
|
รายการสอบแข่งขัน / คัดเลือก
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<q-card flat bordered class="col-12 q-mt-sm q-pa-md">
|
||||||
<q-card flat bordered class="col-12 q-mt-sm">
|
<div class="row q-col-gutter-md">
|
||||||
<div class="row q-pa-md">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<q-select class="col-xs-12 col-sm-3 col-md-2" v-model="fiscalyear" label="ปีงบประมาณ" dense clearable emit-value map-options :options="fiscalyearOP"
|
||||||
<q-select v-model="fiscalyear" label="ปีงบประมาณ" dense clearable emit-value map-options :options="fiscalyearOP"
|
|
||||||
option-value="id" option-label="name" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
option-value="id" option-label="name" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
||||||
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchfiscalyear" />
|
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchfiscalyear" />
|
||||||
</div>
|
<q-space />
|
||||||
<div class="col-xs-12 col-sm-3 col-md-6"></div>
|
<q-input class="col-xs-12 col-sm-3 col-md-2" standout dense v-model="filterKeyword" ref="filterRef" outlined debounce="300" placeholder="ค้นหา">
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
|
||||||
<q-input standout dense v-model="filterKeyword" ref="filterRef" outlined debounce="300" placeholder="ค้นหา"
|
|
||||||
class="q-ml-sm">
|
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<q-icon v-if="filterKeyword == ''" name="search" />
|
<q-icon v-if="filterKeyword == ''" name="search" />
|
||||||
<q-icon v-if="filterKeyword !== ''" name="clear" class="cursor-pointer" @click="resetFilter" />
|
<q-icon v-if="filterKeyword !== ''" name="clear" class="cursor-pointer" @click="resetFilter" />
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
|
<q-select class="col-xs-12 col-sm-3 col-md-2" 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 />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2">
|
<div class="col-12">
|
||||||
<q-select v-model="visibleColumns" multiple outlined dense options-dense :display-value="$q.lang.table.columns"
|
<q-card bordered class="col-12 filter-card q-pa-sm">
|
||||||
emit-value map-options :options="columns" option-value="name" options-cover style="min-width: 150px"
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
class="gt-xs q-ml-sm" />
|
<q-select class="col-xs-12 col-sm-3 col-md-2" v-model="examTime" label="ครั้งที่" dense clearable emit-value map-options :options="examTimeOP"
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="q-pt-sm q-pl-md q-pr-md q-pb-md">
|
|
||||||
<q-card bordered class="col-12 filter-card">
|
|
||||||
<div class="row q-pa-sm">
|
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2 q-pl-sm">
|
|
||||||
<q-select v-model="examTime" label="ครั้งที่" dense clearable emit-value map-options :options="examTimeOP"
|
|
||||||
option-value="id" option-label="name" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
option-value="id" option-label="name" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
||||||
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchFilterTable" />
|
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchFilterTable" />
|
||||||
</div>
|
<q-select class="col-xs-12 col-sm-3 col-md-2" v-model="examType" label="ประเภทการสอบ" dense clearable emit-value map-options option-label="name"
|
||||||
<div class="col-xs-12 col-sm-3 col-md-2 q-pl-sm">
|
|
||||||
<q-select v-model="examType" label="ประเภทการสอบ" dense clearable emit-value map-options option-label="name"
|
|
||||||
:options="examTypeOP" option-value="id" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
:options="examTypeOP" option-value="id" lazy-rules hide-bottom-space :readonly="false" :borderless="false"
|
||||||
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchFilterTable" />
|
:outlined="true" :hide-dropdown-icon="false" @update:model-value="searchFilterTable" />
|
||||||
</div>
|
<q-toggle class="col-xs-12 col-sm-5 col-md-5 toggle-expired-account" v-model="expiredAccount" color="blue" label="แสดงบัญชีหมดอายุ"
|
||||||
<div class="col-xs-12 col-sm-3 col-md-3">
|
|
||||||
<q-toggle v-model="expiredAccount" class="toggle-expired-account" color="blue" label="แสดงบัญชีหมดอายุ"
|
|
||||||
@update:model-value="searchFilterTable" />
|
@update:model-value="searchFilterTable" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-pt-sm q-pl-md q-pr-md q-pb-md">
|
<div class="col-12">
|
||||||
<q-table ref="table" :columns="columns" :rows="UpdataData" :filter="filterKeyword" row-key="id" flat bordered
|
<q-table ref="table" :columns="columns" :rows="UpdataData" :filter="filterKeyword" row-key="id" flat bordered
|
||||||
dense class="custom-header-table" v-bind="attrs" :visible-columns="visibleColumns"
|
dense class="custom-header-table" v-bind="attrs" :visible-columns="visibleColumns"
|
||||||
:pagination-label="paginationLabel">
|
:pagination-label="paginationLabel">
|
||||||
|
|
@ -368,13 +354,13 @@ const paginationLabel = (start: string, end: string, total: string) => {
|
||||||
</template>
|
</template>
|
||||||
</q-table>
|
</q-table>
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
|
||||||
</div>
|
</div>
|
||||||
|
</q-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scope>
|
<style lang="scss" scope>
|
||||||
.filter-card {
|
.filter-card {
|
||||||
background-color: #EDEDED;
|
background-color: #f1f1f1b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toggle-expired-account {
|
.toggle-expired-account {
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,13 @@ const AddTablePosition = defineAsyncComponent(
|
||||||
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" @click="router.go(-1)" />
|
<q-btn icon="mdi-arrow-left" unelevated round dense flat color="primary" class="q-mr-sm" @click="router.go(-1)" />
|
||||||
รายชื่อผู้สอบในรอบ {{ title }} ครั้งที่ {{ round }} ปี {{ year }}
|
รายชื่อผู้สอบในรอบ {{ title }} ครั้งที่ {{ round }} ปี {{ year }}
|
||||||
</div>
|
</div>
|
||||||
<q-space />
|
|
||||||
|
|
||||||
<div class="q-py-md row col-12">
|
<q-card bordered class="q-py-sm row col-12">
|
||||||
<div class="col-12 row bg-white">
|
<div class="col-12 row bg-white">
|
||||||
<div class="fit q-pa-md">
|
<div class="fit q-px-md q-py-sm">
|
||||||
<div class="row col-12 q-col-gutter-md fit">
|
<div class="row col-12 q-col-gutter-md fit">
|
||||||
<div class="" v-for="item in itemTop" :key="item.id" :style="$q.screen.lt.md ? '' : sizeCard(5)" :class="$q.screen.lt.sm ? 'col-4' : ''">
|
<div class="" v-for="item in itemTop" :key="item.id" :style="$q.screen.lt.md ? '' : sizeCard(5)" :class="$q.screen.lt.sm ? 'col-4' : ''">
|
||||||
<div class="q-card q-card--bordered q-card--flat no-shadow row fit cardNum items-center q-pa-sm">
|
<div class="q-card q-card--bordered q-card--flat no-shadow row fit cardNum items-center q-px-sm">
|
||||||
<div class="col-12 row items-center q-pa-sm">
|
<div class="col-12 row items-center q-pa-sm">
|
||||||
<div class="col-12 text-h5 text-weight-bold" :style="{ color: item.color }">
|
<div class="col-12 text-h5 text-weight-bold" :style="{ color: item.color }">
|
||||||
{{ item.num }}
|
{{ item.num }}
|
||||||
|
|
@ -77,7 +76,7 @@ const AddTablePosition = defineAsyncComponent(
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
<q-card flat bordered class="col-12 q-mt-sm q-pt-sm">
|
<q-card flat bordered class="col-12 q-mt-sm q-pt-sm">
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ const positionLevelId = ref<string>();
|
||||||
const date = ref<Date>(new Date());
|
const date = ref<Date>(new Date());
|
||||||
const expanded = ref<string[]>([]);
|
const expanded = ref<string[]>([]);
|
||||||
const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง
|
const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง
|
||||||
const editvisible = ref<boolean>(false);
|
const editvisible = ref<boolean>(true);
|
||||||
const myForm = ref<QForm | null>(null);
|
const myForm = ref<QForm | null>(null);
|
||||||
const positionLineId = ref<string>();
|
const positionLineId = ref<string>();
|
||||||
const positionId = ref<string>();
|
const positionId = ref<string>();
|
||||||
|
|
@ -268,19 +268,19 @@ const appoint = ref<any>({
|
||||||
|
|
||||||
const saveAppoint = () => {
|
const saveAppoint = () => {
|
||||||
const dataAppoint = {
|
const dataAppoint = {
|
||||||
date : date.value,
|
date: date.value,
|
||||||
posNoId: posNoId.value,
|
posNoId: posNoId.value,
|
||||||
positionId: positionId.value,
|
positionId: positionId.value,
|
||||||
positionPathSideId: positionPathSideId.value,
|
positionPathSideId: positionPathSideId.value,
|
||||||
positionTypeId: positionTypeId.value,
|
positionTypeId: positionTypeId.value,
|
||||||
positionLineId: positionLineId.value,
|
positionLineId: positionLineId.value,
|
||||||
positionLevelId: positionLevelId.value,
|
positionLevelId: positionLevelId.value,
|
||||||
amount : amount.value,
|
amount: amount.value,
|
||||||
positionSalaryAmount : positionSalaryAmount.value,
|
positionSalaryAmount: positionSalaryAmount.value,
|
||||||
mouthSalaryAmount : mouthSalaryAmount.value,
|
mouthSalaryAmount: mouthSalaryAmount.value,
|
||||||
salaryClass : salaryClass.value,
|
salaryClass: salaryClass.value,
|
||||||
refSelected : refSelected.value,
|
refSelected: refSelected.value,
|
||||||
salaryRef : salaryRef.value
|
salaryRef: salaryRef.value,
|
||||||
};
|
};
|
||||||
console.log("save appoint===>", dataAppoint);
|
console.log("save appoint===>", dataAppoint);
|
||||||
};
|
};
|
||||||
|
|
@ -310,17 +310,7 @@ const getClass = (val: boolean) => {
|
||||||
};
|
};
|
||||||
const selectData = (props: TableName) => {
|
const selectData = (props: TableName) => {
|
||||||
itemtest.value = props;
|
itemtest.value = props;
|
||||||
if (editvisible.value == true) {
|
|
||||||
editRow.value = false;
|
|
||||||
modalEdit.value = true;
|
|
||||||
modal.value = false;
|
|
||||||
edit.value = true;
|
|
||||||
} else {
|
|
||||||
editRow.value = false;
|
|
||||||
modalEdit.value = true;
|
|
||||||
modal.value = true;
|
modal.value = true;
|
||||||
edit.value = true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
const onSelected = async (id: string) => {
|
const onSelected = async (id: string) => {
|
||||||
await fetchPositionNumber(id);
|
await fetchPositionNumber(id);
|
||||||
|
|
@ -439,8 +429,8 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "BMAOfficer",
|
name: "BMAOfficer",
|
||||||
align: "center",
|
align: "left",
|
||||||
label: "ข้าราชการฯ กทม.",
|
label: "สถานภาพ",
|
||||||
sortable: true,
|
sortable: true,
|
||||||
field: "BMAOfficer",
|
field: "BMAOfficer",
|
||||||
headerStyle: "font-size: 14px",
|
headerStyle: "font-size: 14px",
|
||||||
|
|
@ -471,7 +461,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "",
|
UnitGroup: "",
|
||||||
Unit: "",
|
Unit: "",
|
||||||
ReportingDate: "-", //วันที่รายงานตัว
|
ReportingDate: "-", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ขรก.กทม. สามัญ",
|
||||||
Status: "สละสิทธิ์",
|
Status: "สละสิทธิ์",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -505,7 +495,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "",
|
UnitGroup: "",
|
||||||
Unit: "",
|
Unit: "",
|
||||||
ReportingDate: "", //วันที่รายงานตัว
|
ReportingDate: "", //วันที่รายงานตัว
|
||||||
BMAOfficer: false,
|
BMAOfficer: "บุคคลภายนอก",
|
||||||
Status: "ยังไม่บรรจุ",
|
Status: "ยังไม่บรรจุ",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -539,7 +529,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "",
|
UnitGroup: "",
|
||||||
Unit: "",
|
Unit: "",
|
||||||
ReportingDate: "", //วันที่รายงานตัว
|
ReportingDate: "", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ลูกจ้างชั่วคราว",
|
||||||
Status: "ยังไม่บรรจุ",
|
Status: "ยังไม่บรรจุ",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -574,7 +564,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
||||||
Unit: "นักทรัพยากรบุคคล (กบห.1)",
|
Unit: "นักทรัพยากรบุคคล (กบห.1)",
|
||||||
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ลูกจ้างประจำ",
|
||||||
Status: "เตรียมบรรจุ",
|
Status: "เตรียมบรรจุ",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -609,7 +599,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
||||||
Unit: "นักทรัพยากรบุคคล (กบห.2)",
|
Unit: "นักทรัพยากรบุคคล (กบห.2)",
|
||||||
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ขรก.กทม. สามัญ",
|
||||||
Status: "เตรียมบรรจุ",
|
Status: "เตรียมบรรจุ",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -643,7 +633,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
||||||
Unit: "นักทรัพยากรบุคคล (กบห.3)",
|
Unit: "นักทรัพยากรบุคคล (กบห.3)",
|
||||||
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "บุคคลภายนอก",
|
||||||
Status: "เตรียมบรรจุ",
|
Status: "เตรียมบรรจุ",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -677,7 +667,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
||||||
Unit: "นักทรัพยากรบุคคล (กบห.4)",
|
Unit: "นักทรัพยากรบุคคล (กบห.4)",
|
||||||
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ขรก.กทม. สามัญ",
|
||||||
Status: "บรรจุเเล้ว",
|
Status: "บรรจุเเล้ว",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -711,7 +701,7 @@ const rows = ref<TableName[]>([
|
||||||
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)",
|
||||||
Unit: "นักทรัพยากรบุคคล (กบห.4)",
|
Unit: "นักทรัพยากรบุคคล (กบห.4)",
|
||||||
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
ReportingDate: "2023-05-30", //วันที่รายงานตัว
|
||||||
BMAOfficer: true,
|
BMAOfficer: "ลูกจ้างชั่วคราว",
|
||||||
Status: "ขอผ่อนผัน",
|
Status: "ขอผ่อนผัน",
|
||||||
checkList: null,
|
checkList: null,
|
||||||
address:
|
address:
|
||||||
|
|
@ -968,9 +958,9 @@ const refOptionsFilter = ref<DataOption[]>([
|
||||||
]);
|
]);
|
||||||
const itemtest = ref<object>({});
|
const itemtest = ref<object>({});
|
||||||
|
|
||||||
const clickCancel = async () => {
|
// const clickCancel = async () => {
|
||||||
editvisible.value = false;
|
// editvisible.value = false;
|
||||||
};
|
// };
|
||||||
|
|
||||||
const openAppointModal = (value: any) => {
|
const openAppointModal = (value: any) => {
|
||||||
appointModal.value = true;
|
appointModal.value = true;
|
||||||
|
|
@ -1132,7 +1122,6 @@ const listKeyId = (data: any) => {
|
||||||
v-model:inputfilter="filter"
|
v-model:inputfilter="filter"
|
||||||
v-model:inputvisible="visibleColumns"
|
v-model:inputvisible="visibleColumns"
|
||||||
v-model:editvisible="editvisible"
|
v-model:editvisible="editvisible"
|
||||||
:cancel="clickCancel"
|
|
||||||
:history="true"
|
:history="true"
|
||||||
:boss="true"
|
:boss="true"
|
||||||
:saveNoDraft="true"
|
:saveNoDraft="true"
|
||||||
|
|
@ -1155,23 +1144,7 @@ const listKeyId = (data: any) => {
|
||||||
@click="selectData(props.row)"
|
@click="selectData(props.row)"
|
||||||
class="cursor-pointer"
|
class="cursor-pointer"
|
||||||
>
|
>
|
||||||
<div v-if="col.name == 'BMAOfficer'" class="table_ellipsis">
|
<div v-if="col.name == 'Name'" class="table_ellipsis">
|
||||||
<div>
|
|
||||||
<q-icon
|
|
||||||
v-if="col.value == false"
|
|
||||||
name="mdi-close"
|
|
||||||
color="grey-5"
|
|
||||||
class="text-h5"
|
|
||||||
/>
|
|
||||||
<q-icon
|
|
||||||
v-else
|
|
||||||
name="mdi-check"
|
|
||||||
color="positive"
|
|
||||||
class="text-h5"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.name == 'Name'" class="table_ellipsis">
|
|
||||||
{{ col.value }}
|
{{ col.value }}
|
||||||
<div class="row col-12 text-no-wrap items-center">
|
<div class="row col-12 text-no-wrap items-center">
|
||||||
<img
|
<img
|
||||||
|
|
@ -1191,27 +1164,8 @@ const listKeyId = (data: any) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.name == 'Unit'" class="table_ellipsis">
|
<div v-else-if="col.name == 'Unit'" class="table_ellipsis">
|
||||||
<div v-if="editvisible && props.row.Status == 'ยังไม่บรรจุ'">
|
|
||||||
<div @click="openAppointModal">
|
|
||||||
<q-input
|
|
||||||
hide-bottom-space
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
v-model="props.row.Unit"
|
|
||||||
>
|
|
||||||
<template v-slot:prepend>
|
|
||||||
<q-icon
|
|
||||||
name="mdi-bookmark-plus-outline"
|
|
||||||
color="primary"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</q-input>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
v-else-if="
|
v-if="props.row.Status == 'ยังไม่บรรจุ' ||
|
||||||
props.row.Status == 'ยังไม่บรรจุ' ||
|
|
||||||
props.row.Status == 'สละสิทธิ์'
|
props.row.Status == 'สละสิทธิ์'
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
@ -1226,116 +1180,77 @@ const listKeyId = (data: any) => {
|
||||||
v-else-if="col.name == 'ReportingDate' && col.value != '-'"
|
v-else-if="col.name == 'ReportingDate' && col.value != '-'"
|
||||||
class="table_ellipsis"
|
class="table_ellipsis"
|
||||||
>
|
>
|
||||||
<div v-if="editvisible && props.row.Status == 'ยังไม่บรรจุ'">
|
|
||||||
<datepicker
|
|
||||||
:locale="'th'"
|
|
||||||
autoApply
|
|
||||||
:enableTimePicker="false"
|
|
||||||
week-start="0"
|
|
||||||
v-model="props.row.ReportingDate"
|
|
||||||
>
|
|
||||||
<template #year="{ year }">
|
|
||||||
{{ year + 543 }}
|
|
||||||
</template>
|
|
||||||
<template #year-overlay-value="{ value }">
|
|
||||||
{{ parseInt(value + 543) }}
|
|
||||||
</template>
|
|
||||||
<template #trigger>
|
|
||||||
<q-input
|
|
||||||
hide-bottom-space
|
|
||||||
outlined
|
|
||||||
dense
|
|
||||||
lazy-rules
|
|
||||||
:model-value="mixin.date2Thai(col.value)"
|
|
||||||
>
|
|
||||||
<template v-slot:prepend>
|
|
||||||
<q-icon
|
|
||||||
name="event"
|
|
||||||
class="cursor-pointer"
|
|
||||||
style="color: var(--q-primary)"
|
|
||||||
>
|
|
||||||
</q-icon>
|
|
||||||
</template>
|
|
||||||
</q-input>
|
|
||||||
</template>
|
|
||||||
</datepicker>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-else-if="
|
|
||||||
props.row.Status == 'ยังไม่บรรจุ' ||
|
|
||||||
props.row.Status == 'สละสิทธิ์'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
-
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
{{ mixin.date2Thai(col.value) }}
|
{{ mixin.date2Thai(col.value) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div v-else class="table_ellipsis">
|
<div v-else class="table_ellipsis">
|
||||||
{{ col.value }}
|
{{ col.value }}
|
||||||
</div>
|
</div>
|
||||||
</q-td>
|
</q-td>
|
||||||
<q-td auto-width>
|
<q-td auto-width>
|
||||||
<div
|
<q-btn
|
||||||
v-if="
|
v-if="props.row.Status !== 'สละสิทธิ์' &&
|
||||||
props.row.Status === 'บรรจุเเล้ว' ||
|
props.row.Status !== 'บรรจุเเล้ว'
|
||||||
props.row.Status === 'สละสิทธิ์'
|
|
||||||
"
|
"
|
||||||
|
icon="mdi-dots-vertical"
|
||||||
|
size="12px"
|
||||||
|
color="grey-7"
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
dense
|
||||||
>
|
>
|
||||||
<div></div>
|
<q-menu transition-show="jump-down" transition-hide="jump-up">
|
||||||
</div>
|
<q-list dense style="min-width: 100px">
|
||||||
<div v-else-if="props.row.Status === 'ขอผ่อนผัน'">
|
<q-item
|
||||||
<q-btn
|
v-if="props.row.Status === 'ยังไม่บรรจุ'"
|
||||||
color="blue"
|
clickable
|
||||||
flat
|
v-close-popup
|
||||||
dense
|
@click="openAppointModal"
|
||||||
round
|
>
|
||||||
size="14px"
|
<q-item-section style="min-width: 0px;" avatar class="q-py-sm">
|
||||||
icon="mdi-information-outline"
|
<q-icon color="primary" size="xs" name="mdi-bookmark-outline" />
|
||||||
@click="editDetail(props.row, 'waitInfo')"
|
</q-item-section>
|
||||||
/>
|
<q-item-section>เลือกหน่วยงานที่รับบรรจุ</q-item-section>
|
||||||
<q-btn
|
</q-item>
|
||||||
color="red"
|
<q-separator />
|
||||||
flat
|
<q-item
|
||||||
dense
|
v-if="props.row.Status === 'ยังไม่บรรจุ'"
|
||||||
round
|
clickable
|
||||||
size="14px"
|
v-close-popup
|
||||||
icon="mdi-account-remove"
|
|
||||||
@click="editDetail(props.row, 'cancel')"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="props.row.Status === 'ยังไม่บรรจุ'">
|
|
||||||
<q-btn
|
|
||||||
color="blue"
|
|
||||||
flat
|
|
||||||
dense
|
|
||||||
round
|
|
||||||
size="14px"
|
|
||||||
icon="mdi-account-alert"
|
|
||||||
@click="editDetail(props.row, 'wait')"
|
@click="editDetail(props.row, 'wait')"
|
||||||
/>
|
>
|
||||||
<q-btn
|
<q-item-section style="min-width: 0px;" avatar class="q-py-sm">
|
||||||
color="red"
|
<q-icon color="blue" size="xs" name="mdi-account-alert-outline" />
|
||||||
flat
|
</q-item-section>
|
||||||
dense
|
<q-item-section>ขอผ่อนผัน</q-item-section>
|
||||||
round
|
</q-item>
|
||||||
size="14px"
|
<q-item
|
||||||
icon="mdi-account-remove"
|
v-else-if="props.row.Status === 'ขอผ่อนผัน'"
|
||||||
|
clickable
|
||||||
|
v-close-popup
|
||||||
|
@click="editDetail(props.row, 'waitInfo')"
|
||||||
|
>
|
||||||
|
<q-item-section style="min-width: 0px;" avatar class="q-py-sm">
|
||||||
|
<q-icon color="blue" size="xs" name="mdi-account-details-outline" />
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>ข้อมูลการผ่อนผัน</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
<q-separator />
|
||||||
|
<q-item
|
||||||
|
v-if="props.row.Status === 'ยังไม่บรรจุ' ||
|
||||||
|
props.row.Status === 'เตรียมบรรจุ'
|
||||||
|
"
|
||||||
|
clickable
|
||||||
|
v-close-popup
|
||||||
@click="editDetail(props.row, 'cancel')"
|
@click="editDetail(props.row, 'cancel')"
|
||||||
/>
|
>
|
||||||
</div>
|
<q-item-section style="min-width: 0px;" avatar class="q-py-sm">
|
||||||
<div v-else align="right">
|
<q-icon color="pink" size="xs" name="mdi-account-cancel-outline" />
|
||||||
<q-btn
|
</q-item-section>
|
||||||
color="red"
|
<q-item-section>สละสิทธิ์</q-item-section>
|
||||||
flat
|
</q-item>
|
||||||
dense
|
</q-list>
|
||||||
round
|
</q-menu>
|
||||||
size="14px"
|
</q-btn>
|
||||||
icon="mdi-account-remove"
|
|
||||||
@click="editDetail(props.row, 'cancel')"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</q-td>
|
</q-td>
|
||||||
</q-tr>
|
</q-tr>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -1411,13 +1326,24 @@ const listKeyId = (data: any) => {
|
||||||
<q-item
|
<q-item
|
||||||
clickable
|
clickable
|
||||||
:active="clickAction === prop.node.keyId"
|
:active="clickAction === prop.node.keyId"
|
||||||
@click="clickAction = listKeyId(prop)"
|
@click="
|
||||||
|
clickAction =
|
||||||
|
prop.node.name == `ว่าง` ||
|
||||||
|
prop.node.name == `N/A` ||
|
||||||
|
prop.node.name == null
|
||||||
|
? listKeyId(prop)
|
||||||
|
: ''
|
||||||
|
"
|
||||||
active-class="my-list-link text-primary text-weight-medium"
|
active-class="my-list-link text-primary text-weight-medium"
|
||||||
class="row items-center text-dark q-py-xs q-pl-sm rounded-borders my-list"
|
:class="prop.node.name == `ว่าง` ||
|
||||||
|
prop.node.name == `N/A` ||
|
||||||
|
prop.node.name == null
|
||||||
|
? 'row items-center text-dark q-py-xs q-pl-sm rounded-borders my-list'
|
||||||
|
: 'row items-center text-dark q-py-xs q-pl-sm rounded-borders my-list disabled'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
v-if="
|
v-if="prop.node.avatar == '' ||
|
||||||
prop.node.avatar == '' ||
|
|
||||||
prop.node.avatar ==
|
prop.node.avatar ==
|
||||||
'https://cdn.quasar.dev/img/boy-avatar.png'
|
'https://cdn.quasar.dev/img/boy-avatar.png'
|
||||||
"
|
"
|
||||||
|
|
@ -1433,8 +1359,7 @@ const listKeyId = (data: any) => {
|
||||||
/>
|
/>
|
||||||
<!--=====ตำแหน่งว่าง สีแดง=====-->
|
<!--=====ตำแหน่งว่าง สีแดง=====-->
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="prop.node.name == `ว่าง` ||
|
||||||
prop.node.name == `ว่าง` ||
|
|
||||||
prop.node.name == `N/A` ||
|
prop.node.name == `N/A` ||
|
||||||
prop.node.name == null
|
prop.node.name == null
|
||||||
"
|
"
|
||||||
|
|
@ -1508,19 +1433,18 @@ const listKeyId = (data: any) => {
|
||||||
:borderless="!edit"
|
:borderless="!edit"
|
||||||
:model-value="date2Thai(date)"
|
:model-value="date2Thai(date)"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val:string) =>
|
(val: string) =>
|
||||||
!!val ||
|
!!val ||
|
||||||
`${'กรุณาเลือกวัน เดือน ปี รับตำแหน่ง'}`,
|
`${'วันที่รายงานตัว'}`,
|
||||||
]"
|
]"
|
||||||
:label="`${'วัน เดือน ปี รับตำแหน่ง'}`"
|
:label="`${'วันที่รายงานตัว'}`"
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
>
|
>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon
|
<q-icon
|
||||||
name="event"
|
name="event"
|
||||||
class="cursor-pointer"
|
class="cursor-pointer"
|
||||||
:style="
|
:style="edit
|
||||||
edit
|
|
||||||
? 'color: var(--q-primary)'
|
? 'color: var(--q-primary)'
|
||||||
: 'color: var(--q-grey)'
|
: 'color: var(--q-grey)'
|
||||||
"
|
"
|
||||||
|
|
@ -1613,7 +1537,7 @@ const listKeyId = (data: any) => {
|
||||||
:readonly="!edit"
|
:readonly="!edit"
|
||||||
:borderless="!edit"
|
:borderless="!edit"
|
||||||
v-model="amount"
|
v-model="amount"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
|
:rules="[(val: string) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
|
||||||
:label="`${'เงินเดือน'}`"
|
:label="`${'เงินเดือน'}`"
|
||||||
@update:modelValue="clickEditRow"
|
@update:modelValue="clickEditRow"
|
||||||
type="number"
|
type="number"
|
||||||
|
|
@ -1630,7 +1554,7 @@ const listKeyId = (data: any) => {
|
||||||
:borderless="!edit"
|
:borderless="!edit"
|
||||||
v-model="positionSalaryAmount"
|
v-model="positionSalaryAmount"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val:string) => !!val || `${'กรุณากรอกเงินประจำตำแหน่ง'}`,
|
(val: string) => !!val || `${'กรุณากรอกเงินประจำตำแหน่ง'}`,
|
||||||
]"
|
]"
|
||||||
:label="`${'เงินประจำตำแหน่ง'}`"
|
:label="`${'เงินประจำตำแหน่ง'}`"
|
||||||
@update:modelValue="clickEditRow"
|
@update:modelValue="clickEditRow"
|
||||||
|
|
@ -1667,7 +1591,7 @@ const listKeyId = (data: any) => {
|
||||||
:borderless="!edit"
|
:borderless="!edit"
|
||||||
v-model="salaryClass"
|
v-model="salaryClass"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val:string) =>
|
(val: string) =>
|
||||||
!!val || `${'กรุณากรอกตำแหน่ง (รายละเอียด)'}`,
|
!!val || `${'กรุณากรอกตำแหน่ง (รายละเอียด)'}`,
|
||||||
]"
|
]"
|
||||||
:label="`${'ตำแหน่ง (รายละเอียด)'}`"
|
:label="`${'ตำแหน่ง (รายละเอียด)'}`"
|
||||||
|
|
@ -1707,9 +1631,9 @@ const listKeyId = (data: any) => {
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
use-input
|
use-input
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
@filter="(inputValue:any,
|
@filter="(inputValue: any,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'8'
|
doneFn: Function) => filterSelector(inputValue, doneFn, '8'
|
||||||
) "
|
)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-12">
|
<div class="col-xs-12 col-sm-12 col-md-12">
|
||||||
|
|
@ -1722,7 +1646,7 @@ const listKeyId = (data: any) => {
|
||||||
:borderless="!edit"
|
:borderless="!edit"
|
||||||
v-model="salaryRef"
|
v-model="salaryRef"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val:string) => !!val || `${'กรุณากรอกเอกสารอ้างอิง'}`,
|
(val: string) => !!val || `${'กรุณากรอกเอกสารอ้างอิง'}`,
|
||||||
]"
|
]"
|
||||||
:label="`${'เอกสารอ้างอิง'}`"
|
:label="`${'เอกสารอ้างอิง'}`"
|
||||||
@update:modelValue="clickEditRow"
|
@update:modelValue="clickEditRow"
|
||||||
|
|
@ -1800,6 +1724,7 @@ const listKeyId = (data: any) => {
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|
||||||
|
<!-- dialog ขอผ่อนผัน / สละสิทธิ์ -->
|
||||||
<q-dialog v-model="modalwaitInfo" persistent>
|
<q-dialog v-model="modalwaitInfo" persistent>
|
||||||
<q-card style="width: 500px; max-width: 500px">
|
<q-card style="width: 500px; max-width: 500px">
|
||||||
<q-form ref="myForm">
|
<q-form ref="myForm">
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="q-px-md q-pb-md">
|
<div class="q-px-md q-pb-md">
|
||||||
<div class="col-12 row q-py-sm" v-if="nornmalData == false">
|
<div class="col-12 row q-py-sm" v-if="nornmalData == false">
|
||||||
<q-btn
|
|
||||||
size="12px"
|
|
||||||
v-if="!editvisible"
|
|
||||||
flat
|
|
||||||
round
|
|
||||||
:disabled="editvisible"
|
|
||||||
:color="editvisible ? 'grey-7' : 'primary'"
|
|
||||||
@click="clickEdit"
|
|
||||||
icon="mdi-pencil-outline"
|
|
||||||
>
|
|
||||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
|
||||||
</q-btn>
|
|
||||||
<q-btn
|
|
||||||
size="12px"
|
|
||||||
flat
|
|
||||||
round
|
|
||||||
v-if="editvisible"
|
|
||||||
:disabled="!editvisible"
|
|
||||||
:color="!editvisible ? 'grey-7' : 'red'"
|
|
||||||
@click="clickCancel"
|
|
||||||
icon="mdi-undo"
|
|
||||||
>
|
|
||||||
<q-tooltip>ยกเลิก</q-tooltip>
|
|
||||||
</q-btn>
|
|
||||||
<div class="q-px-sm">
|
|
||||||
<q-btn
|
|
||||||
flat
|
|
||||||
round
|
|
||||||
:disabled="editvisible == false"
|
|
||||||
:color="editvisible == false ? 'grey-7' : 'public'"
|
|
||||||
@click="add"
|
|
||||||
icon="mdi-content-save-outline"
|
|
||||||
>
|
|
||||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
|
||||||
</q-btn>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<q-space />
|
<q-space />
|
||||||
<div class="items-center" style="display: flex">
|
<div class="items-center" style="display: flex">
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ interface TableName {
|
||||||
UnitGroup: string;
|
UnitGroup: string;
|
||||||
Unit: string;
|
Unit: string;
|
||||||
ReportingDate: string; //วันที่รายงานตัว
|
ReportingDate: string; //วันที่รายงานตัว
|
||||||
BMAOfficer: boolean;
|
BMAOfficer: string;
|
||||||
Status: string;
|
Status: string;
|
||||||
checkList: any;
|
checkList: any;
|
||||||
address: string;
|
address: string;
|
||||||
|
|
@ -20,7 +20,7 @@ interface TableName {
|
||||||
number: number;
|
number: number;
|
||||||
examCount: number;
|
examCount: number;
|
||||||
scoreResult: {
|
scoreResult: {
|
||||||
scoreAFull:number
|
scoreAFull: number;
|
||||||
scoreA: number;
|
scoreA: number;
|
||||||
scoreBFull: number;
|
scoreBFull: number;
|
||||||
scoreB: number;
|
scoreB: number;
|
||||||
|
|
|
||||||
|
|
@ -723,6 +723,7 @@ if (keycloak.tokenParsed != null) {
|
||||||
dense-toggle
|
dense-toggle
|
||||||
:label="subMenu.label"
|
:label="subMenu.label"
|
||||||
v-if="subMenu.key !== 5.1"
|
v-if="subMenu.key !== 5.1"
|
||||||
|
class="expan2"
|
||||||
dense
|
dense
|
||||||
>
|
>
|
||||||
<q-item
|
<q-item
|
||||||
|
|
@ -891,17 +892,20 @@ if (keycloak.tokenParsed != null) {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.menuSub .q-item__section--avatar, .menu .q-item__section--avatar{
|
||||||
|
min-width: 0px;
|
||||||
|
}
|
||||||
.menu {
|
.menu {
|
||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
border-radius: 0 100px 100px 0;
|
border-radius: 0 100px 100px 0;
|
||||||
margin-right: 4%;
|
margin-right: 2%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menuActive {
|
.menuActive {
|
||||||
background: #212a2f;
|
background: #212a2f;
|
||||||
border-radius: 0 100px 100px 0;
|
border-radius: 0 100px 100px 0;
|
||||||
margin-right: 4%;
|
margin-right: 2%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menuActiveMini {
|
.menuActiveMini {
|
||||||
|
|
@ -909,17 +913,22 @@ if (keycloak.tokenParsed != null) {
|
||||||
}
|
}
|
||||||
.menuSub .q-item {
|
.menuSub .q-item {
|
||||||
border-radius: 0 100px 100px 0;
|
border-radius: 0 100px 100px 0;
|
||||||
margin-right: 4%;
|
margin-right: 2%;
|
||||||
|
}
|
||||||
|
.expan2 .q-item {
|
||||||
|
padding-left: 10%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .menuSubAct {
|
/* .menuSubAct {
|
||||||
background: #1e2529d9;
|
background: #1e2529d9;
|
||||||
} */
|
} */
|
||||||
|
.expan2 .menuSubHover{
|
||||||
.menuSubHover {
|
|
||||||
padding-left: 30%;
|
padding-left: 30%;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
}
|
}
|
||||||
|
.menuSubHover{
|
||||||
|
padding-left: 25%;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
.menuSub .q-expansion-item__content {
|
.menuSub .q-expansion-item__content {
|
||||||
background: #212a2f;
|
background: #212a2f;
|
||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue