Merge branch 'develop' into working
This commit is contained in:
commit
1d9ea3305a
22 changed files with 303 additions and 239 deletions
|
|
@ -13,6 +13,7 @@
|
|||
:edit="clickEdit"
|
||||
:addData="false"
|
||||
:bottom="true"
|
||||
:boss="status == 'checkRegister' || status == 'payment'"
|
||||
:editData="status == 'checkRegister' || status == 'payment'"
|
||||
name="ประวัติการทำงาน (ตั้งแต่เริ่มปฏิบัติงานกับกรุงเทพมหานคร - ปัจจุบัน)"
|
||||
icon="mdi-briefcase"
|
||||
|
|
@ -34,7 +35,7 @@
|
|||
</div>
|
||||
</q-td>
|
||||
<q-td
|
||||
auto-width
|
||||
style="width: 5% !important"
|
||||
v-if="status == 'checkRegister' || status == 'payment'"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -50,10 +51,20 @@
|
|||
</q-tr>
|
||||
</template>
|
||||
<template #bottom="props">
|
||||
<div :props="props" class="row col-11 justify-end">
|
||||
<span class="text-weight-medium text-subtitle2"
|
||||
>รวมระยะเวลา : <span class="q-pl-sm">{{ total }}</span></span
|
||||
<div style="width: 64% !important" />
|
||||
|
||||
<div
|
||||
:props="props"
|
||||
class="row"
|
||||
style="width: 33% !important; padding-left: 20px"
|
||||
>
|
||||
<div
|
||||
class="text-weight-medium text-subtitle2 q-py-sm row col-12 justify-between"
|
||||
>
|
||||
<div>รวมระยะเวลา :</div>
|
||||
|
||||
<div>{{ total }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Table>
|
||||
|
|
@ -73,32 +84,36 @@
|
|||
>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<q-input
|
||||
:class="getClass(edit)"
|
||||
:outlined="edit"
|
||||
:class="
|
||||
getClass(status == 'checkRegister' || status == 'payment')
|
||||
"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
lazy-rules
|
||||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
:readonly="!status == 'checkRegister' || status == 'payment'"
|
||||
:borderless="!status == 'checkRegister' || status == 'payment'"
|
||||
v-model="position"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง/ลักษณะงาน'}`]"
|
||||
:label="`${'ตำแหน่ง/ลักษณะงาน'}`"
|
||||
@update:modelValue="clickEditRow"
|
||||
@update:modelValue="clickEditRowPosition"
|
||||
hide-bottom-space
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<q-select
|
||||
:class="getClass(edit)"
|
||||
:outlined="edit"
|
||||
:class="
|
||||
getClass(status == 'checkRegister' || status == 'payment')
|
||||
"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
lazy-rules
|
||||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
:readonly="!status == 'checkRegister' || status == 'payment'"
|
||||
:borderless="!status == 'checkRegister' || status == 'payment'"
|
||||
v-model="type"
|
||||
:options="opType"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกประเภท'}`]"
|
||||
:label="`${'ประเภท'}`"
|
||||
@update:modelValue="clickEditRow"
|
||||
@update:modelValue="clickEditRowPosition"
|
||||
hide-bottom-space
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -149,7 +164,8 @@
|
|||
</div> -->
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<datepicker
|
||||
:readonly="!edit"
|
||||
menu-class-name="modalfix"
|
||||
:readonly="!status == 'checkRegister' || status == 'payment'"
|
||||
v-model="startDate"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
|
|
@ -165,13 +181,22 @@
|
|||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
:class="getClass(edit)"
|
||||
:outlined="edit"
|
||||
:class="
|
||||
getClass(status == 'checkRegister' || status == 'payment')
|
||||
"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
lazy-rules
|
||||
:borderless="!edit"
|
||||
:borderless="
|
||||
!status == 'checkRegister' || status == 'payment'
|
||||
"
|
||||
:model-value="date2Thai(startDate)"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่เริ่ม'}`]"
|
||||
:rules="[
|
||||
(val) => !!val || `${'กรุณาเลือกวันที่เริ่ม'}`,
|
||||
(val) =>
|
||||
startDate <= endDate ||
|
||||
`${'กรุณาเลือกวันที่เริ่มให้ถูกต้อง'}`,
|
||||
]"
|
||||
hide-bottom-space
|
||||
:label="`${'วันที่เริ่ม'}`"
|
||||
>
|
||||
|
|
@ -180,7 +205,7 @@
|
|||
name="event"
|
||||
class="cursor-pointer"
|
||||
:style="
|
||||
edit
|
||||
status == 'checkRegister' || status == 'payment'
|
||||
? 'color: var(--q-primary)'
|
||||
: 'color: var(--q-grey)'
|
||||
"
|
||||
|
|
@ -193,7 +218,8 @@
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<datepicker
|
||||
:readonly="!edit"
|
||||
menu-class-name="modalfix"
|
||||
:readonly="!status == 'checkRegister' || status == 'payment'"
|
||||
v-model="endDate"
|
||||
:locale="'th'"
|
||||
autoApply
|
||||
|
|
@ -209,13 +235,22 @@
|
|||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
:class="getClass(edit)"
|
||||
:outlined="edit"
|
||||
:class="
|
||||
getClass(status == 'checkRegister' || status == 'payment')
|
||||
"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
lazy-rules
|
||||
:borderless="!edit"
|
||||
:borderless="
|
||||
!status == 'checkRegister' || status == 'payment'
|
||||
"
|
||||
:model-value="date2Thai(endDate)"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่สิ้นสุด'}`]"
|
||||
:rules="[
|
||||
(val) => !!val || `${'กรุณาเลือกวันที่สิ้นสุด'}`,
|
||||
(val) =>
|
||||
startDate <= endDate ||
|
||||
`${'กรุณาเลือกวันที่สิ้นสุดให้ถูกต้อง'}`,
|
||||
]"
|
||||
hide-bottom-space
|
||||
:label="`${'วันที่สิ้นสุด'}`"
|
||||
>
|
||||
|
|
@ -224,7 +259,7 @@
|
|||
name="event"
|
||||
class="cursor-pointer"
|
||||
:style="
|
||||
edit
|
||||
status == 'checkRegister' || status == 'payment'
|
||||
? 'color: var(--q-primary)'
|
||||
: 'color: var(--q-grey)'
|
||||
"
|
||||
|
|
@ -353,7 +388,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
sortable: true,
|
||||
field: "position",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
style: "font-size: 14px; width:25%;",
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
|
|
@ -364,7 +399,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
sortable: true,
|
||||
field: "type",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
style: "font-size: 14px; width:20%;",
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
|
|
@ -403,34 +438,34 @@ const columns = ref<QTableProps["columns"]>([
|
|||
// },
|
||||
{
|
||||
name: "startDate",
|
||||
align: "left",
|
||||
align: "center",
|
||||
label: "เริ่ม",
|
||||
sortable: true,
|
||||
field: "startDate",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
style: "font-size: 14px; width:15%;",
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
{
|
||||
name: "endDate",
|
||||
align: "left",
|
||||
align: "center",
|
||||
label: "สิ้นสุด",
|
||||
sortable: true,
|
||||
field: "endDate",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
style: "font-size: 14px; width:15%;",
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
{
|
||||
name: "rangeDate",
|
||||
align: "left",
|
||||
align: "right",
|
||||
label: "ระยะเวลา",
|
||||
sortable: true,
|
||||
field: "rangeDate",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
style: "font-size: 14px; width:20%;",
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
|
|
@ -484,6 +519,14 @@ const calDate = async () => {
|
|||
}
|
||||
dayDiff += daysInMonth[_startDate.getMonth()];
|
||||
}
|
||||
if (dayDiff >= 30) {
|
||||
monthDiff = monthDiff + 1;
|
||||
dayDiff = 0;
|
||||
if (monthDiff >= 12) {
|
||||
yearDiff = yearDiff + 1;
|
||||
monthDiff = 0;
|
||||
}
|
||||
}
|
||||
rangeDate.value = `${yearDiff > 0 ? yearDiff + " ปี " : ""}${
|
||||
monthDiff > 0 ? monthDiff + " เดือน " : ""
|
||||
}${dayDiff > 0 ? dayDiff + " วัน " : ""}`;
|
||||
|
|
@ -521,6 +564,14 @@ const calDateSplit = async (startDate: Date, endDate: Date) => {
|
|||
}
|
||||
dayDiff += daysInMonth[_startDate.getMonth()];
|
||||
}
|
||||
if (dayDiff >= 30) {
|
||||
monthDiff = monthDiff + 1;
|
||||
dayDiff = 0;
|
||||
if (monthDiff >= 12) {
|
||||
yearDiff = yearDiff + 1;
|
||||
monthDiff = 0;
|
||||
}
|
||||
}
|
||||
var obj = {
|
||||
yearDiff: yearDiff,
|
||||
monthDiff: monthDiff,
|
||||
|
|
@ -810,6 +861,11 @@ const addRow = () => {
|
|||
* เช็คว่ามีการแก้ไขข้อมูล
|
||||
*/
|
||||
const clickEditRow = () => {
|
||||
myForm.value.validate();
|
||||
editRow.value = true;
|
||||
};
|
||||
|
||||
const clickEditRowPosition = () => {
|
||||
editRow.value = true;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
/>
|
||||
<q-form ref="myform">
|
||||
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
|
||||
<div class="col-12 row">
|
||||
<div class="col-3">
|
||||
<div class="col-12 row q-col-gutter-sm">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-select
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:readonly="!(status == 'checkRegister' || status == 'payment')"
|
||||
|
|
@ -30,9 +30,8 @@
|
|||
@update:model-value="(value) => checkInputName()"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-3" v-if="showEducationName">
|
||||
<div class="col-xs-12 col-sm-3" v-if="showEducationName">
|
||||
<q-input
|
||||
class="q-pl-sm"
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
|
|
@ -45,9 +44,8 @@
|
|||
:label="`${'ชื่อปริญญา'}`"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-input
|
||||
class="q-pl-sm"
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
|
|
@ -60,9 +58,7 @@
|
|||
:label="`${'สาขาวิชา/วิชาเอก'}`"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row">
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-input
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
|
|
@ -76,9 +72,8 @@
|
|||
:label="`${'ชื่อสถานศึกษา'}`"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-select
|
||||
class="q-pl-sm"
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:readonly="!(status == 'checkRegister' || status == 'payment')"
|
||||
:borderless="!(status == 'checkRegister' || status == 'payment')"
|
||||
|
|
@ -95,7 +90,7 @@
|
|||
:label="`${'ประเภทสถานศึกษา'}`"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<datepicker
|
||||
v-model="defaultEducation.educationEndDate"
|
||||
:locale="'th'"
|
||||
|
|
@ -113,7 +108,6 @@
|
|||
</template>
|
||||
<template #trigger>
|
||||
<q-input
|
||||
class="q-pl-sm"
|
||||
:class="
|
||||
getClass(status == 'checkRegister' || status == 'payment')
|
||||
"
|
||||
|
|
@ -147,9 +141,8 @@
|
|||
</template>
|
||||
</datepicker>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-input
|
||||
class="q-pl-sm"
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:outlined="status == 'checkRegister' || status == 'payment'"
|
||||
dense
|
||||
|
|
@ -162,9 +155,7 @@
|
|||
:label="`${'คะแนนเฉลี่ยสะสม'}`"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 row">
|
||||
<div class="col-3">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<q-select
|
||||
:class="getClass(status == 'checkRegister' || status == 'payment')"
|
||||
:readonly="!(status == 'checkRegister' || status == 'payment')"
|
||||
|
|
@ -268,6 +259,7 @@ const fetchData = async () => {
|
|||
defaultEducation.value.educationEndDate = data.educationEndDate;
|
||||
defaultEducation.value.educationScores = data.educationScores;
|
||||
defaultEducation.value.educationLevelHighId = data.educationLevelHighId;
|
||||
checkInputName();
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@
|
|||
<div class="text-black text-bold q-pl-sm">{{ examNumber }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="">เลขที่นั่งสอบ :</div>
|
||||
<div class="">สนามสอบ :</div>
|
||||
<div class="text-black text-bold q-pl-sm">{{ examSeat }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- <div class="row">
|
||||
<div class="">วันสอบ :</div>
|
||||
<div class="text-black text-bold q-pl-sm">5 มิ.ย. 2566</div>
|
||||
</div>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
<div class="row">
|
||||
<div class="">ชุดข้อสอบ :</div>
|
||||
<div class="text-black text-bold q-pl-sm">0506-1/2566</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<q-card-section class="col-3">
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||
<span class="text-weight-medium">{{ col.label }}</span>
|
||||
</q-th>
|
||||
<q-th auto-width v-if="editBtn == true" />
|
||||
<q-th auto-width v-if="boss == true" />
|
||||
</q-tr>
|
||||
</template>
|
||||
<template #body="props">
|
||||
|
|
@ -103,6 +103,7 @@ const props = defineProps({
|
|||
editvisible: Boolean,
|
||||
nameHeader: Boolean,
|
||||
bottom: Boolean,
|
||||
boss: Boolean,
|
||||
addData: {
|
||||
type: Boolean,
|
||||
defualt: true,
|
||||
|
|
|
|||
|
|
@ -78,10 +78,11 @@
|
|||
color="primary"
|
||||
@click="candidateCheckProfileDialog"
|
||||
:disabled="
|
||||
attrs.rows.filter((r) => r.status == 'checkRegister').length == 0
|
||||
attrs.rows.filter((r) => r.status == 'checkRegister').length == 0 ||
|
||||
selected.length == 0
|
||||
"
|
||||
>
|
||||
<q-tooltip>ตรวจสอบข้อมูล</q-tooltip>
|
||||
<q-tooltip>ตรวจสอบข้อมูล/ได้รับใบสมัครแล้ว</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
checked-icon="task_alt"
|
||||
unchecked-icon="panorama_fish_eye"
|
||||
val="1"
|
||||
label="ผ่านการตรวจสอบคุณสมบัติ"
|
||||
label="ผ่านการตรวจสอบคุณสมบัติ/กดรับใบสมัคร"
|
||||
class="col-12"
|
||||
@update:modelValue="reason = ''"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div v-else-if="col.name == 'yearly'">
|
||||
{{ col.value + 543 }}
|
||||
{{ props.row.round }}/{{ col.value + 543 }}
|
||||
</div>
|
||||
<div
|
||||
v-else-if="
|
||||
|
|
@ -96,7 +96,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "yearly",
|
||||
align: "left",
|
||||
label: "ปีงบประมาณ",
|
||||
label: "รอบ/ปีงบประมาณ",
|
||||
sortable: true,
|
||||
field: "yearly",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@
|
|||
checked-icon="task_alt"
|
||||
unchecked-icon="panorama_fish_eye"
|
||||
val="1"
|
||||
label="ผ่านการตรวจสอบคุณสมบัติ"
|
||||
label="ผ่านการตรวจสอบคุณสมบัติ/กดรับใบสมัคร"
|
||||
dense
|
||||
class="col-12"
|
||||
@update:modelValue="reason = ''"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div v-else-if="col.name == 'yearly'" class="table_ellipsis2">
|
||||
{{ col.value + 543 }}
|
||||
{{ props.row.round }}/{{ col.value + 543 }}
|
||||
</div>
|
||||
<div
|
||||
v-else-if="
|
||||
|
|
@ -117,7 +117,7 @@ const visibleColumns = ref<String[]>([
|
|||
"no",
|
||||
"announcementExam",
|
||||
"yearly",
|
||||
"category",
|
||||
// "category",
|
||||
"name",
|
||||
"document",
|
||||
"dateAnnouncement",
|
||||
|
|
@ -147,21 +147,21 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "yearly",
|
||||
align: "center",
|
||||
label: "ปีงบประมาณ",
|
||||
label: "รอบ/ปีงบประมาณ",
|
||||
sortable: true,
|
||||
field: "yearly",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "category",
|
||||
align: "left",
|
||||
label: "สังกัด",
|
||||
sortable: true,
|
||||
field: "category",
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
// {
|
||||
// name: "category",
|
||||
// align: "left",
|
||||
// label: "สังกัด",
|
||||
// sortable: true,
|
||||
// field: "category",
|
||||
// headerStyle: "font-size: 14px",
|
||||
// style: "font-size: 14px",
|
||||
// },
|
||||
{
|
||||
name: "name",
|
||||
align: "left",
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -282,7 +282,7 @@ const optionsStatus = ref<any>([
|
|||
},
|
||||
{
|
||||
id: "checkRegister",
|
||||
name: "ตรวจสอบข้อมูลสมัครสอบ",
|
||||
name: "รอกดรับใบสมัคร",
|
||||
},
|
||||
{
|
||||
id: "payment",
|
||||
|
|
@ -298,11 +298,11 @@ const optionsStatus = ref<any>([
|
|||
},
|
||||
{
|
||||
id: "checkSeat",
|
||||
name: "จัดที่นั่งสอบ",
|
||||
name: "กดรับใบสมัครแล้ว",
|
||||
},
|
||||
{
|
||||
id: "checkPoint",
|
||||
name: "สรุปคะแนนสอบ",
|
||||
name: "รอสรุปคะแนนสอบ",
|
||||
},
|
||||
{
|
||||
id: "done",
|
||||
|
|
@ -481,7 +481,7 @@ const fetchData = async () => {
|
|||
avatar: r.profileImg != null ? r.profileImg.detail : "",
|
||||
citizenId: r.citizenId,
|
||||
number: r.number,
|
||||
registerDate: date2Thai(r.registerDate),
|
||||
registerDate: date2Thai(r.registerDate, false, true),
|
||||
examIdenNumber: r.examIdenNumber,
|
||||
seatNumber: r.seatNumber,
|
||||
resultC: r.resultC,
|
||||
|
|
@ -554,7 +554,7 @@ const fetchDataSummary = async () => {
|
|||
};
|
||||
|
||||
/**
|
||||
* สรุปคะแนนสอบ
|
||||
* รอสรุปคะแนนสอบ
|
||||
*/
|
||||
const clickPointRow = async (row: any) => {
|
||||
candidateId.value = row.id;
|
||||
|
|
@ -574,7 +574,7 @@ const statusCandidate = (status: string) => {
|
|||
case "register":
|
||||
return "ยังไม่สมัครสอบ";
|
||||
case "checkRegister":
|
||||
return "ตรวจสอบข้อมูลสมัครสอบ";
|
||||
return "รอกดรับใบสมัคร";
|
||||
case "payment":
|
||||
return "รอชำระค่าสมัครสอบ";
|
||||
case "rejectRegister":
|
||||
|
|
@ -584,9 +584,9 @@ const statusCandidate = (status: string) => {
|
|||
case "rejectPayment":
|
||||
return "หลักฐานชำระเงินไม่ถูกต้อง";
|
||||
case "checkSeat":
|
||||
return "จัดที่นั่งสอบ";
|
||||
return "กดรับใบสมัครแล้ว";
|
||||
case "checkPoint":
|
||||
return "สรุปคะแนนสอบ";
|
||||
return "รอสรุปคะแนนสอบ";
|
||||
case "done":
|
||||
return "คัดเลือกสำเร็จ";
|
||||
case "waiver":
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -163,7 +163,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3" v-if="addressData.same == '0'">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3" v-if="addressData.same == '0'">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3" v-if="addressData.same == '0'">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -799,7 +799,7 @@ const fetchProvince = async () => {
|
|||
showLoader();
|
||||
await http
|
||||
.get(config.API.province)
|
||||
.then((res) => {
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
let option: DataOption[] = [];
|
||||
data.map((r: any) => {
|
||||
|
|
@ -807,6 +807,29 @@ const fetchProvince = async () => {
|
|||
});
|
||||
Ops.value.provinceOps = option;
|
||||
OpsFilter.value.provinceOps = option;
|
||||
|
||||
const checkRegistProvinceId = await option.find(
|
||||
(e: any) => e.id === addressData.value.provinceId
|
||||
);
|
||||
if (checkRegistProvinceId) {
|
||||
addressData.value = addressData.value;
|
||||
} else {
|
||||
addressData.value.provinceId = "";
|
||||
addressData.value.districtId = "";
|
||||
addressData.value.subdistrictId = "";
|
||||
addressData.value.codep = "";
|
||||
}
|
||||
const checkCurrentProvinceId = await option.find(
|
||||
(e: any) => e.id === addressData.value.provinceIdC
|
||||
);
|
||||
if (checkCurrentProvinceId) {
|
||||
addressData.value = addressData.value;
|
||||
} else {
|
||||
addressData.value.provinceIdC = "";
|
||||
addressData.value.districtIdC = "";
|
||||
addressData.value.subdistrictIdC = "";
|
||||
addressData.value.codec = "";
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -821,7 +844,7 @@ const fetchDistrict = async (id: string | null, position: string) => {
|
|||
showLoader();
|
||||
await http
|
||||
.get(config.API.listDistrict(id))
|
||||
.then((res) => {
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
let option: DataOption[] = [];
|
||||
data.map((r: any) => {
|
||||
|
|
@ -830,9 +853,35 @@ const fetchDistrict = async (id: string | null, position: string) => {
|
|||
if (position == "1") {
|
||||
Ops.value.districtOps = option;
|
||||
OpsFilter.value.districtOps = option;
|
||||
|
||||
const checkRegistDistrictId = await option.find(
|
||||
(e: any) => e.id === addressData.value.districtId
|
||||
);
|
||||
if (checkRegistDistrictId) {
|
||||
addressData.value.districtId = addressData.value.districtId;
|
||||
addressData.value.subdistrictId = addressData.value.subdistrictId;
|
||||
addressData.value.codep = addressData.value.codep;
|
||||
} else {
|
||||
addressData.value.districtId = "";
|
||||
addressData.value.subdistrictId = "";
|
||||
addressData.value.codep = "";
|
||||
}
|
||||
} else {
|
||||
Ops.value.districtCOps = option;
|
||||
OpsFilter.value.districtCOps = option;
|
||||
|
||||
const checkCurrentDistrictIdC = await option.find(
|
||||
(e: any) => e.id === addressData.value.districtIdC
|
||||
);
|
||||
if (checkCurrentDistrictIdC) {
|
||||
addressData.value.districtIdC = addressData.value.districtIdC;
|
||||
addressData.value.subdistrictIdC = addressData.value.subdistrictIdC;
|
||||
addressData.value.codec = addressData.value.codec;
|
||||
} else {
|
||||
addressData.value.districtIdC = "";
|
||||
addressData.value.subdistrictIdC = "";
|
||||
addressData.value.codec = "";
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -849,7 +898,7 @@ const fetchSubDistrict = async (id: string | null, position: string) => {
|
|||
showLoader();
|
||||
await http
|
||||
.get(config.API.listSubDistrict(id))
|
||||
.then((res) => {
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
let option: zipCodeOption[] = [];
|
||||
data.map((r: any) => {
|
||||
|
|
@ -862,9 +911,31 @@ const fetchSubDistrict = async (id: string | null, position: string) => {
|
|||
if (position == "1") {
|
||||
Ops.value.subdistrictOps = option;
|
||||
OpsFilter.value.subdistrictOps = option;
|
||||
|
||||
const checkRegistSubdistrictId = await option.find(
|
||||
(e: any) => e.id === addressData.value.subdistrictId
|
||||
);
|
||||
if (checkRegistSubdistrictId) {
|
||||
addressData.value.subdistrictId = addressData.value.subdistrictId;
|
||||
addressData.value.codep = addressData.value.codep;
|
||||
} else {
|
||||
addressData.value.subdistrictId = "";
|
||||
addressData.value.codep = "";
|
||||
}
|
||||
} else {
|
||||
Ops.value.subdistrictCOps = option;
|
||||
OpsFilter.value.subdistrictCOps = option;
|
||||
|
||||
const checkCurrentSubdistrictIdC = await option.find(
|
||||
(e: any) => e.id === addressData.value.subdistrictIdC
|
||||
);
|
||||
if (checkCurrentSubdistrictIdC) {
|
||||
addressData.value.subdistrictIdC = addressData.value.subdistrictIdC;
|
||||
addressData.value.codec = addressData.value.codec;
|
||||
} else {
|
||||
addressData.value.subdistrictIdC = "";
|
||||
addressData.value.codec = "";
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ const currentAddress = reactive<AddressData>({
|
|||
});
|
||||
|
||||
onMounted(async () => {
|
||||
// await getNewData();
|
||||
await getNewData();
|
||||
emit("update:statusEdit", false);
|
||||
});
|
||||
|
||||
|
|
@ -126,13 +126,13 @@ const filterSelector = (val: any, update: Function, refData: string) => {
|
|||
|
||||
const refreshData = async () => {
|
||||
myform.value.reset();
|
||||
await props.fetch();
|
||||
// await props.fetch();
|
||||
await fetchProvince();
|
||||
// await getNewData();
|
||||
await getNewData();
|
||||
};
|
||||
|
||||
const getNewData = async () => {
|
||||
await props.fetch();
|
||||
// await props.fetch();
|
||||
await fetchProvince();
|
||||
};
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ const editData = async () => {
|
|||
config.API.placementAddressId(route.params.personalId.toString()),
|
||||
body
|
||||
)
|
||||
.then((res) => {
|
||||
.then(() => {
|
||||
success($q, "แก้ไขข้อมูลสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -181,9 +181,9 @@ const editData = async () => {
|
|||
.finally(async () => {
|
||||
edit.value = false;
|
||||
emit("update:statusEdit", false);
|
||||
// await getNewData();
|
||||
await getNewData();
|
||||
await props.fetch();
|
||||
await fetchProvince();
|
||||
// await fetchProvince();
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -469,7 +469,7 @@ const getClass = (val: boolean) => {
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -495,7 +495,7 @@ const getClass = (val: boolean) => {
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -521,7 +521,7 @@ const getClass = (val: boolean) => {
|
|||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3 col-md-3">
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -604,7 +604,7 @@ const getClass = (val: boolean) => {
|
|||
class="col-xs-6 col-sm-3 col-md-3"
|
||||
v-if="addressData.registSame == '0'"
|
||||
>
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -633,7 +633,7 @@ const getClass = (val: boolean) => {
|
|||
class="col-xs-6 col-sm-3 col-md-3"
|
||||
v-if="addressData.registSame == '0'"
|
||||
>
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
@ -662,7 +662,7 @@ const getClass = (val: boolean) => {
|
|||
class="col-xs-6 col-sm-3 col-md-3"
|
||||
v-if="addressData.registSame == '0'"
|
||||
>
|
||||
<selector
|
||||
<q-select
|
||||
:hide-dropdown-icon="!edit"
|
||||
hide-bottom-space
|
||||
:class="getClass(edit)"
|
||||
|
|
|
|||
|
|
@ -456,12 +456,7 @@ const clickBack = () => {
|
|||
</div>
|
||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||
<q-input hide-bottom-space outlined dense lazy-rules type="tel" v-model="informaData.tel"
|
||||
:label="`${'เบอร์โทร'}`" :rules="[
|
||||
(val: string) => !!val || `${'กรุณากรอก เบอร์โทร'}`,
|
||||
(val: string) =>
|
||||
val.length >= 10 ||
|
||||
`${'กรุณากรอกเบอร์โทรให้ครบ'}`,
|
||||
]" mask="##########" />
|
||||
:label="`${'เบอร์โทร'}`" mask="##########" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -583,9 +583,6 @@ onMounted(async () => {
|
|||
dense
|
||||
@update:model-value="changeCardID"
|
||||
lazy-rules
|
||||
:rules="[
|
||||
(val:string) => !!val || `${'กรุณากรอก เลขประจำตัวประชาชน'}`,
|
||||
(val:string) => val.length >= 13 || `${'กรุณากรอกเลขประจำตัวประชาชนให้ครบ'}`,]"
|
||||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
label="เลขประจำตัวประชาชน"
|
||||
|
|
@ -600,7 +597,6 @@ onMounted(async () => {
|
|||
:class="getClass(edit)"
|
||||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก คำนำหน้าชื่อ'}`]"
|
||||
:outlined="edit"
|
||||
dense
|
||||
lazy-rules
|
||||
|
|
@ -626,7 +622,6 @@ onMounted(async () => {
|
|||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
v-model="informaData.firstname"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก ชื่อ'}`]"
|
||||
:label="`${'ชื่อ'}`"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -640,7 +635,6 @@ onMounted(async () => {
|
|||
:borderless="!edit"
|
||||
v-model="informaData.lastname"
|
||||
lazy-rules
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก นามสกุล'}`]"
|
||||
:label="`${'นามสกุล'}`"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -675,7 +669,6 @@ onMounted(async () => {
|
|||
? null
|
||||
: date2Thai(informaData.birthDate)
|
||||
"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก วัน/เดือน/ปี เกิด'}`]"
|
||||
:label="`${'วัน/เดือน/ปี เกิด'}`"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
|
|
@ -726,7 +719,6 @@ onMounted(async () => {
|
|||
:label="`${'เพศ'}`"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก เพศ'}`]"
|
||||
@filter="(inputValue:any,doneFn:Function) => filterSelector(inputValue, doneFn,'genderOps') "
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -749,7 +741,6 @@ onMounted(async () => {
|
|||
:label="`${'สถานภาพ'}`"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก สถานภาพ'}`]"
|
||||
@filter="(inputValue:any, doneFn:Function) => filterSelector(inputValue, doneFn,'statusOps' ) "
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -764,7 +755,6 @@ onMounted(async () => {
|
|||
:borderless="!edit"
|
||||
v-model="informaData.nationality"
|
||||
:label="`${'สัญชาติ'}`"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก สัญชาติ'}`]"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||
|
|
@ -778,7 +768,6 @@ onMounted(async () => {
|
|||
:borderless="!edit"
|
||||
v-model="informaData.ethnicity"
|
||||
:label="`${'เชื้อชาติ'}`"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก เชื้อชาติ'}`]"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||
|
|
@ -800,7 +789,6 @@ onMounted(async () => {
|
|||
:label="`${'ศาสนา'}`"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก ศาสนา'}`]"
|
||||
@filter="(inputValue:any,
|
||||
doneFn:Function) => filterSelector(inputValue, doneFn,'religionOps'
|
||||
) "
|
||||
|
|
@ -825,7 +813,6 @@ onMounted(async () => {
|
|||
:label="`${'หมู่เลือด'}`"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก หมู่เลือด'}`]"
|
||||
@filter="(inputValue:any,
|
||||
doneFn:Function) => filterSelector(inputValue, doneFn,'bloodOps'
|
||||
) "
|
||||
|
|
@ -845,7 +832,6 @@ onMounted(async () => {
|
|||
v-model="informaData.tel"
|
||||
:label="`${'เบอร์โทร'}`"
|
||||
mask="##########"
|
||||
:rules="[(val:string) => !!val || `${'กรุณากรอก เบอร์โทร'}`]"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -143,19 +143,15 @@ const closeModal = () => {
|
|||
|
||||
// เปิดโมเดล
|
||||
const openModalOrder = () => {
|
||||
console.log(filters.value);
|
||||
|
||||
openModal();
|
||||
console.log("filters===>",filters.value)
|
||||
const row = filters.value.filter(
|
||||
(r: ResponseData) =>
|
||||
(r.status == "WAITTING" ||
|
||||
r.status == "PENDING" ||
|
||||
r.status == "APPROVE") &&
|
||||
r.createdAt &&
|
||||
(r.status == "APPROVE") &&
|
||||
r.organizationPositionOld &&
|
||||
r.positionTypeOld &&
|
||||
r.positionLevel &&
|
||||
r.posNo &&
|
||||
r.positionLevelOld &&
|
||||
r.positionNumberOld &&
|
||||
r.salary !== null &&
|
||||
r.organization &&
|
||||
r.date
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ const getData = async () => {
|
|||
organizationPositionOld.value = data.organizationPositionOld ?? "";
|
||||
positionTypeOld.value = data.positionTypeOld ?? "";
|
||||
positionLevelOld.value = data.positionLevelOld ?? "";
|
||||
posNo.value = data.posNo ?? "";
|
||||
posNo.value = data.positionNumberOld ?? "";
|
||||
salary.value = data.salary ?? 0;
|
||||
organization.value = data.organization ?? "";
|
||||
date.value = data.date !== null ? new Date(data.date) : null;
|
||||
|
|
|
|||
|
|
@ -154,13 +154,11 @@ const resetFilter = () => {
|
|||
filterRef.value.focus();
|
||||
};
|
||||
|
||||
const openModalOrder = () => {
|
||||
const openModalOrder = async () => {
|
||||
openModal();
|
||||
const row = filters.value.filter(
|
||||
const row = await filters.value.filter(
|
||||
(r: ResponseItems) =>
|
||||
(r.status == "WAITTING" ||
|
||||
r.status == "PENDING" ||
|
||||
r.status == "APPROVE") &&
|
||||
(r.status == "REJECT" || r.status == "APPROVE") &&
|
||||
r.organizationPositionOld &&
|
||||
r.positionTypeOld &&
|
||||
r.positionLevelOld &&
|
||||
|
|
@ -236,66 +234,28 @@ const pagination = ref({
|
|||
<div class="row col-12">
|
||||
<div class="row col-12 q-col-gutter-sm">
|
||||
<div>
|
||||
<q-btn
|
||||
@click="openModalOrder"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
color="add"
|
||||
icon="mdi-account-arrow-right"
|
||||
>
|
||||
<q-btn @click="openModalOrder" size="14px" flat round color="add" icon="mdi-account-arrow-right">
|
||||
<q-tooltip>ส่งไปออกคำสั่งลาออก</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<q-space />
|
||||
|
||||
<q-input
|
||||
class="col-xs-12 col-sm-3 col-md-2"
|
||||
standout
|
||||
dense
|
||||
v-model="filterKeyword"
|
||||
ref="filterRef"
|
||||
outlined
|
||||
debounce="300"
|
||||
placeholder="ค้นหา"
|
||||
>
|
||||
<q-input class="col-xs-12 col-sm-3 col-md-2" standout dense v-model="filterKeyword" ref="filterRef" outlined
|
||||
debounce="300" placeholder="ค้นหา">
|
||||
<template v-slot:append>
|
||||
<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>
|
||||
</q-input>
|
||||
|
||||
<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"
|
||||
class="col-xs-12 col-sm-3 col-md-2"
|
||||
/>
|
||||
<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"
|
||||
class="col-xs-12 col-sm-3 col-md-2" />
|
||||
</div>
|
||||
<div class="col-12 q-pt-sm">
|
||||
<d-table
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:filter="filterKeyword"
|
||||
row-key="id"
|
||||
:visible-columns="visibleColumns"
|
||||
v-model:pagination="pagination"
|
||||
>
|
||||
<d-table :columns="columns" :rows="rows" :filter="filterKeyword" row-key="id" :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">
|
||||
|
|
@ -304,11 +264,7 @@ const pagination = ref({
|
|||
</q-tr>
|
||||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr
|
||||
:props="props"
|
||||
class="cursor-pointer"
|
||||
@click="router.push(`/retirement/resign/${props.row.id}`)"
|
||||
>
|
||||
<q-tr :props="props" class="cursor-pointer" @click="router.push(`/retirement/resign/${props.row.id}`)">
|
||||
<q-td key="no" :props="props">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</q-td>
|
||||
|
|
@ -347,12 +303,7 @@ const pagination = ref({
|
|||
</div>
|
||||
</q-card>
|
||||
|
||||
<DialogSendToCommand
|
||||
v-model:modal="modal"
|
||||
:closeModal="closeModal"
|
||||
:rows2="rows2"
|
||||
v-model:filterKeyword2="filterKeyword2"
|
||||
:fecthlistRecevice="fecthlist"
|
||||
/>
|
||||
<DialogSendToCommand v-model:modal="modal" :closeModal="closeModal" :rows2="rows2"
|
||||
v-model:filterKeyword2="filterKeyword2" :fecthlistRecevice="fecthlist" />
|
||||
</template>
|
||||
<style scoped lang="scss"></style>
|
||||
|
|
|
|||
|
|
@ -95,10 +95,11 @@ const fecthAgency = async () => {
|
|||
await http
|
||||
.get(config.API.insigniaAgency())
|
||||
.then(async (res) => {
|
||||
DataStore.agency = res.data.result;
|
||||
loadview.value = true;
|
||||
DataStore.agency = res.data.result;
|
||||
if (roleDataStore.adminRole) {
|
||||
await fecthType(); // ถ้าไม่มีหนวยงานจะเรียกหน่วยงานทั้งหมด
|
||||
} else {
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
|
|
@ -323,9 +324,9 @@ const backToEditinsignia2Role = async (reason: string) => {
|
|||
};
|
||||
// ล็อกข้อมูลรอบการเสนอขอ
|
||||
const requestSendNote = async () => {
|
||||
var organization = await (DataStore.agency != null
|
||||
? DataStore.agency
|
||||
: DataStore.typeOc);
|
||||
// var organization = await (DataStore.agency != null
|
||||
// ? DataStore.agency
|
||||
// : DataStore.typeOc);
|
||||
dialogConfirm($q, async () => {
|
||||
showLoader();
|
||||
await http
|
||||
|
|
@ -336,7 +337,7 @@ const requestSendNote = async () => {
|
|||
success($q, "บันทึกสำเร็จ");
|
||||
await fecthInsigniaByOc(
|
||||
round.value,
|
||||
organization,
|
||||
DataStore.typeOc,
|
||||
"officer",
|
||||
tab.value
|
||||
);
|
||||
|
|
@ -399,6 +400,7 @@ const uploadFile = async (event: any) => {
|
|||
|
||||
<q-space />
|
||||
<!-- สกจ. Freez ข้อมูล -->
|
||||
|
||||
<q-btn
|
||||
v-if="
|
||||
roleDataStore.adminRole && DataStore.isLock !== true && hideBottom
|
||||
|
|
|
|||
|
|
@ -32,12 +32,15 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
|
||||
//รางาน
|
||||
const optionReport = ref<OptionReport[]>([
|
||||
{ id: '45', title: "บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชอิสริยาภรณ์" },
|
||||
{ id: '43', title: 'บัญชีระดับผลการประเมินผลการปฏิบัติราชการในรอบ 5 ปี' },
|
||||
{ id: '44', title: 'บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ' }
|
||||
])
|
||||
{
|
||||
id: "45",
|
||||
title: "บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชอิสริยาภรณ์",
|
||||
},
|
||||
{ id: "43", title: "บัญชีระดับผลการประเมินผลการปฏิบัติราชการในรอบ 5 ปี" },
|
||||
{ id: "44", title: "บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ" },
|
||||
]);
|
||||
const mainTab = ref<string | undefined>("pending");
|
||||
const dataInsigniaType = ref<any>([])
|
||||
const dataInsigniaType = ref<any>([]);
|
||||
// เรียกราชชื่อการเสนอขอ
|
||||
const fetchData = async (data: any) => {
|
||||
if (data !== null) {
|
||||
|
|
@ -61,7 +64,12 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
markLeave: e.markLeave,
|
||||
markRate: e.markRate,
|
||||
isApprove: e.isApprove,
|
||||
statusMark: e.markDiscipline === true || e.markLeave === true || e.markRate === true ? true : false
|
||||
statusMark:
|
||||
e.markDiscipline === true ||
|
||||
e.markLeave === true ||
|
||||
e.markRate === true
|
||||
? true
|
||||
: false,
|
||||
}));
|
||||
rows.value = await datalist;
|
||||
listinsignia.value = await datalist;
|
||||
|
|
@ -79,7 +87,8 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
const fetchOption = (op: any) => {
|
||||
if (agency.value !== null) {
|
||||
typeOc.value = agency.value;
|
||||
optionsTypeOc.value = op.filter((e: any) => e.id == agency.value);
|
||||
optionsTypeOc.value = op;
|
||||
// .filter((e: any) => e.id == agency.value);
|
||||
} else {
|
||||
(optionsTypeOc.value = op), (typeOc.value = op[0].id);
|
||||
}
|
||||
|
|
@ -105,8 +114,8 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
};
|
||||
// ค้นหาข้อมมูลราชชื่อ ตาม ประเท๓และสถานภาพ
|
||||
const searchDataTable = async (type: string, employeeClasstype: string) => {
|
||||
typeinsignia.value = type
|
||||
employeeClass.value = employeeClasstype
|
||||
typeinsignia.value = type;
|
||||
employeeClass.value = employeeClasstype;
|
||||
if (type !== "all" && employeeClasstype !== "all") {
|
||||
rows.value = listinsignia.value.filter(
|
||||
(e: any) =>
|
||||
|
|
@ -127,7 +136,7 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
};
|
||||
// ประเภทเครื่องราช
|
||||
function fetchInsigniaType(data: any) {
|
||||
dataInsigniaType.value = data
|
||||
dataInsigniaType.value = data;
|
||||
}
|
||||
|
||||
// ประเภทลูกจ้าง
|
||||
|
|
@ -147,15 +156,14 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
|||
function convertStatus(val: string) {
|
||||
switch (val) {
|
||||
case "WAITTING":
|
||||
return "สร้างรอบ"
|
||||
return "สร้างรอบ";
|
||||
case "PENDING":
|
||||
return "กำลังดำเนินการ"
|
||||
return "กำลังดำเนินการ";
|
||||
case "DONE":
|
||||
return "เสร็จสิ้น"
|
||||
return "เสร็จสิ้น";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return {
|
||||
roundId,
|
||||
optionRound,
|
||||
|
|
|
|||
|
|
@ -75,21 +75,21 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "name",
|
||||
align: "left",
|
||||
label: "ชื่อ-สกุล",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
field: "name",
|
||||
sortable: true,
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
{
|
||||
name: "education",
|
||||
align: "left",
|
||||
label: "วุฒิการศึกษาในการออกคำสั่ง",
|
||||
field: "education",
|
||||
sortable: true,
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
// {
|
||||
// name: "education",
|
||||
// align: "left",
|
||||
// label: "วุฒิการศึกษาในการออกคำสั่ง",
|
||||
// field: "education",
|
||||
// sortable: true,
|
||||
// sort: (a: string, b: string) =>
|
||||
// a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
// },
|
||||
]);
|
||||
const rows = ref<ResponseData[]>([]);
|
||||
const rows2 = ref<ResponseData[]>([]);
|
||||
|
|
@ -168,7 +168,7 @@ const statuscode = computed(() => {
|
|||
orderTypeCode.value === "c-pm-08" ||
|
||||
orderTypeCode.value === "c-pm-09" ||
|
||||
orderTypeCode.value === "c-pm-14" ||
|
||||
orderTypeCode.value === "c-pm-21" ||
|
||||
orderTypeCode.value === "c-pm-21" ||
|
||||
orderTypeCode.value === "c-pm-22"
|
||||
) {
|
||||
return false;
|
||||
|
|
@ -515,7 +515,6 @@ const pagination = ref({
|
|||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||
<span class="text-weight-medium">{{ col.label }}</span>
|
||||
</q-th>
|
||||
|
||||
<q-th auto-width />
|
||||
<q-th auto-width />
|
||||
<q-th auto-width />
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ const getCommandDetail = async () => {
|
|||
code.value != "c-pm-19" &&
|
||||
code.value != "c-pm-20" &&
|
||||
code.value != "c-pm-21" &&
|
||||
code.value != "c-pm-22"
|
||||
code.value != "c-pm-22" &&
|
||||
code.value != "c-pm-23"
|
||||
) {
|
||||
fetchReportAttachment("pdf", orderId.value);
|
||||
}
|
||||
|
|
@ -274,7 +275,8 @@ const saveUpload = () => {
|
|||
code.value != "c-pm-19" &&
|
||||
code.value != "c-pm-20" &&
|
||||
code.value != "c-pm-21" &&
|
||||
code.value != "c-pm-22"
|
||||
code.value != "c-pm-22" &&
|
||||
code.value != "c-pm-23"
|
||||
) {
|
||||
await postfileTailer();
|
||||
}
|
||||
|
|
@ -309,7 +311,8 @@ const saveDetail = () => {
|
|||
code.value != "c-pm-19" &&
|
||||
code.value != "c-pm-20" &&
|
||||
code.value != "c-pm-21" &&
|
||||
code.value != "c-pm-22"
|
||||
code.value != "c-pm-22" &&
|
||||
code.value != "c-pm-23"
|
||||
) {
|
||||
// ดึงรายงานในส่วนของแนบท้ายมาใหม่
|
||||
await fetchReportAttachment("pdf", orderId.value);
|
||||
|
|
@ -408,6 +411,7 @@ const validateFormUpload = () => {
|
|||
code.value != "c-pm-20" &&
|
||||
code.value != "c-pm-21" &&
|
||||
code.value != "c-pm-22" &&
|
||||
code.value != "c-pm-23" &&
|
||||
fileOrder.value !== null &&
|
||||
fileTailer.value !== null
|
||||
) {
|
||||
|
|
@ -508,7 +512,8 @@ const viewFileUpload = async (url: string) => {
|
|||
code != 'c-pm-19' &&
|
||||
code != 'c-pm-20' &&
|
||||
code != 'c-pm-21' &&
|
||||
code != 'c-pm-22'
|
||||
code != 'c-pm-22' &&
|
||||
code != 'c-pm-23'
|
||||
"
|
||||
@click="setTab('second')"
|
||||
:class="getClass(tab == 'second')"
|
||||
|
|
@ -688,7 +693,8 @@ const viewFileUpload = async (url: string) => {
|
|||
code != 'c-pm-19' &&
|
||||
code != 'c-pm-20' &&
|
||||
code != 'c-pm-21' &&
|
||||
code != 'c-pm-22'
|
||||
code != 'c-pm-22' &&
|
||||
code != 'c-pm-23'
|
||||
"
|
||||
>
|
||||
<label class="text-file">เอกสารแนบท้าย</label>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue