Merge branch 'develop' into devTee
This commit is contained in:
commit
21fb81243c
9 changed files with 75 additions and 82 deletions
|
|
@ -1,10 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" href="/favicon.ico">
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>ระบบทรัพยากรบุคคล</title>
|
<title>ระบบบริหารทรัพยากรบุคคล</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ const thaiOptions: Intl.DateTimeFormatOptions = {
|
||||||
สวัสดี, {{ fullname }}
|
สวัสดี, {{ fullname }}
|
||||||
</div>
|
</div>
|
||||||
<div style="color: #ffffff" class="text-18px text-weight-medium col-12">
|
<div style="color: #ffffff" class="text-18px text-weight-medium col-12">
|
||||||
ระบบทรัพยากรบุคคล
|
ระบบบริหารทรัพยากรบุคคลของกรุงเทพมหานคร
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-9">
|
<div class="col-xs-12 col-sm-12 col-md-9">
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ import type {
|
||||||
FromCancelDetail,
|
FromCancelDetail,
|
||||||
} from "@/modules/05_leave/interface/response/leave";
|
} from "@/modules/05_leave/interface/response/leave";
|
||||||
|
|
||||||
|
import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
|
|
||||||
/** import componest*/
|
/** import componest*/
|
||||||
import FormLeave from "@/modules/05_leave/components/formDetail/01_SickForm.vue";
|
import FormLeave from "@/modules/05_leave/components/formDetail/01_SickForm.vue";
|
||||||
import FormChildbirth from "@/modules/05_leave/components/formDetail/04_HelpWifeBirthForm.vue";
|
import FormChildbirth from "@/modules/05_leave/components/formDetail/04_HelpWifeBirthForm.vue";
|
||||||
|
|
@ -433,34 +435,15 @@ watch(
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<q-dialog v-model="props.modal" persistent>
|
<q-dialog v-model="props.modal" persistent>
|
||||||
<q-card q-card style="min-width: 70%" v-if="props.leaveStatus != 'DELETE'">
|
<q-card v-if="props.leaveStatus != 'DELETE'">
|
||||||
<q-card-section class="row items-center q-pa-sm">
|
<DialogHeader
|
||||||
<q-toolbar style="padding: 0px;">
|
:tittle="`${titleMain} ${titleName}`"
|
||||||
<q-toolbar-title class="text-bold" style="font-size: 15px;"> {{ titleMain }}{{ titleName }} </q-toolbar-title>
|
:close="props.onClickClose"
|
||||||
|
/>
|
||||||
<q-btn
|
|
||||||
icon="close"
|
|
||||||
unelevated
|
|
||||||
round
|
|
||||||
dense
|
|
||||||
@click="props.onClickClose"
|
|
||||||
style="color: #ff8080; background-color: #ffdede"
|
|
||||||
/>
|
|
||||||
</q-toolbar>
|
|
||||||
|
|
||||||
<!-- <div class="text-bold q-pl-sm">{{ titleMain }}{{ titleName }}</div>
|
|
||||||
<q-space />
|
|
||||||
<q-btn
|
|
||||||
icon="close"
|
|
||||||
unelevated
|
|
||||||
round
|
|
||||||
dense
|
|
||||||
@click="props.onClickClose"
|
|
||||||
style="color: #ff8080; background-color: #ffdede"
|
|
||||||
/> -->
|
|
||||||
</q-card-section>
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section class="q-pa-sm row q-gutter-y-md">
|
|
||||||
|
<q-card-section class="scroll" style="max-height: 70vh">
|
||||||
<div
|
<div
|
||||||
flat
|
flat
|
||||||
:class="
|
:class="
|
||||||
|
|
@ -560,10 +543,7 @@ watch(
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section
|
<q-card-section v-if="props.leaveStatus === 'CANCEL'" align="right">
|
||||||
class="row items-center q-pa-sm"
|
|
||||||
v-if="props.leaveStatus === 'CANCEL'"
|
|
||||||
>
|
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn
|
<q-btn
|
||||||
label="ยืนยัน"
|
label="ยืนยัน"
|
||||||
|
|
@ -576,21 +556,12 @@ watch(
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
||||||
<q-card q-card style="min-width: 70%" v-if="props.leaveStatus === 'DELETE'">
|
<q-card q-card v-if="props.leaveStatus === 'DELETE'">
|
||||||
<q-card-section class="row items-center q-pa-sm">
|
<DialogHeader
|
||||||
<div class="text-bold q-pl-sm">
|
:tittle="`${titleMainCancle} ${titleName}`"
|
||||||
{{ titleMainCancle }}{{ titleName }}
|
:close="props.onClickClose"
|
||||||
</div>
|
/>
|
||||||
<q-space />
|
|
||||||
<q-btn
|
|
||||||
icon="close"
|
|
||||||
unelevated
|
|
||||||
round
|
|
||||||
dense
|
|
||||||
@click="props.onClickClose"
|
|
||||||
style="color: #ff8080; background-color: #ffdede"
|
|
||||||
/>
|
|
||||||
</q-card-section>
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section class="q-p-md row q-gutter-y-md">
|
<q-card-section class="q-p-md row q-gutter-y-md">
|
||||||
<div flat class="col-12">
|
<div flat class="col-12">
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,10 @@ function onSubmit() {
|
||||||
governmentDate: governmentDate.value,
|
governmentDate: governmentDate.value,
|
||||||
governmentEndDate: governmentEndDate.value,
|
governmentEndDate: governmentEndDate.value,
|
||||||
isGraduated: isGraduated.value,
|
isGraduated: isGraduated.value,
|
||||||
graduatedDate: isGraduated.value == 'true' ? graduatedDate.value : null,
|
graduatedDate:
|
||||||
graduatedReason: isGraduated.value == 'false' ? graduatedReason.value : null,
|
isGraduated.value == "true" ? graduatedDate.value : null,
|
||||||
|
graduatedReason:
|
||||||
|
isGraduated.value == "false" ? graduatedReason.value : null,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
success($q, "บันทึกสำเร็จ");
|
success($q, "บันทึกสำเร็จ");
|
||||||
|
|
@ -110,7 +112,7 @@ watch(
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-6">
|
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||||
<q-input
|
<q-input
|
||||||
label="เลขที่หนังสือรายงานตัวกลับเข้าปฏิบัติราชการ"
|
label="เลขที่หนังสือรายงานตัวกลับเข้าปฏิบัติราชการ"
|
||||||
v-model="bookNumber"
|
v-model="bookNumber"
|
||||||
|
|
@ -125,7 +127,7 @@ watch(
|
||||||
class="inputgreen"
|
class="inputgreen"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="bookDate"
|
v-model="bookDate"
|
||||||
|
|
@ -163,7 +165,7 @@ watch(
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="governmentDate"
|
v-model="governmentDate"
|
||||||
|
|
@ -203,7 +205,7 @@ watch(
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="governmentEndDate"
|
v-model="governmentEndDate"
|
||||||
|
|
@ -305,8 +307,8 @@ watch(
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
class="inputgreen"
|
class="inputgreen"
|
||||||
:rules="[
|
:rules="[
|
||||||
(val:string) =>
|
(val:string) =>
|
||||||
!!val || `${'กรุณากรอก เนื่องจาก'}`,
|
!!val || `${'กรุณากรอก เนื่องจาก'}`,
|
||||||
]"
|
]"
|
||||||
|
|
|
||||||
|
|
@ -522,7 +522,7 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-space />
|
<q-space />
|
||||||
<div v-if="fileList == null" class="col-xs-5 col-3">
|
<div v-if="fileList == null" class="col-xs-8 col-sm-3">
|
||||||
<q-file
|
<q-file
|
||||||
for="inputFiles"
|
for="inputFiles"
|
||||||
class="col-12"
|
class="col-12"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useQuasar, type QTableColumn, type QTableProps } from "quasar";
|
import { useQuasar, type QTableColumn, type QTableProps } from "quasar";
|
||||||
import { ref, reactive,onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
|
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
|
||||||
|
|
||||||
//history dialog
|
//history dialog
|
||||||
|
|
@ -11,7 +11,7 @@ import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
|
|
||||||
const store = useRegistryInFormationStore();
|
const store = useRegistryInFormationStore();
|
||||||
const rowsHistory = ref<any[]>([])
|
const rowsHistory = ref<any[]>([]);
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
|
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
|
||||||
|
|
@ -222,7 +222,6 @@ const visibleColumnsHistory = ref<string[]>([
|
||||||
"createdAt",
|
"createdAt",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
function onHistory() {
|
function onHistory() {
|
||||||
modalHistory.value = true;
|
modalHistory.value = true;
|
||||||
}
|
}
|
||||||
|
|
@ -258,7 +257,10 @@ function getData() {
|
||||||
|
|
||||||
/** get history */
|
/** get history */
|
||||||
function getHistory() {
|
function getHistory() {
|
||||||
const url = store.typeProfile == 'OFFICER' ? config.API.dataUserInformatioHistory(''):config.API.dataUserInformatioHistory('-employee')
|
const url =
|
||||||
|
store.typeProfile == "OFFICER"
|
||||||
|
? config.API.dataUserInformatioHistory("")
|
||||||
|
: config.API.dataUserInformatioHistory("-employee");
|
||||||
showLoader();
|
showLoader();
|
||||||
http
|
http
|
||||||
.get(url)
|
.get(url)
|
||||||
|
|
|
||||||
|
|
@ -65,10 +65,10 @@ watch(
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<q-dialog v-model="modal" persistent>
|
<q-dialog v-model="modal" persistent>
|
||||||
<q-card style="min-width: 70vw">
|
<q-card>
|
||||||
<DialogHeader :tittle="title" :close="close" />
|
<DialogHeader :tittle="title" :close="close" />
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-card-section>
|
<q-card-section style="max-height: 80vh" class="scroll">
|
||||||
<div class="row justify-end q-col-gutter-sm q-mb-sm">
|
<div class="row justify-end q-col-gutter-sm q-mb-sm">
|
||||||
<div class="col-12 col-sm-3">
|
<div class="col-12 col-sm-3">
|
||||||
<q-input
|
<q-input
|
||||||
|
|
@ -209,7 +209,9 @@ watch(
|
||||||
class="fix_top"
|
class="fix_top"
|
||||||
>
|
>
|
||||||
<q-item-label class="text-dark text-weight-medium">
|
<q-item-label class="text-dark text-weight-medium">
|
||||||
{{ props.row.status ? statusLeave(props.row.status) : "-" }}</q-item-label
|
{{
|
||||||
|
props.row.status ? statusLeave(props.row.status) : "-"
|
||||||
|
}}</q-item-label
|
||||||
>
|
>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section v-else class="fix_top">
|
<q-item-section v-else class="fix_top">
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import { useQuasar } from "quasar";
|
||||||
const store = useRegistryInFormationStore();
|
const store = useRegistryInFormationStore();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { messageError,dialogConfirm } = mixin;
|
const { messageError, dialogConfirm } = mixin;
|
||||||
const profileImg = ref<string>("");
|
const profileImg = ref<string>("");
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const tab = ref<string>("information");
|
const tab = ref<string>("information");
|
||||||
|
|
@ -100,7 +100,7 @@ function onClickDownloadKp7(type: string) {
|
||||||
* logout keycloak
|
* logout keycloak
|
||||||
* confirm ก่อนออกจากระบบ
|
* confirm ก่อนออกจากระบบ
|
||||||
*/
|
*/
|
||||||
const doLogout = () => {
|
const doLogout = () => {
|
||||||
dialogConfirm(
|
dialogConfirm(
|
||||||
$q,
|
$q,
|
||||||
() => {
|
() => {
|
||||||
|
|
@ -332,6 +332,12 @@ onMounted(async () => {
|
||||||
<q-avatar text-color="info" icon="mdi-chevron-right" />
|
<q-avatar text-color="info" icon="mdi-chevron-right" />
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
<q-item clickable v-ripple disabled>
|
||||||
|
<q-item-section>เปลี่ยนรหัสผ่าน</q-item-section>
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-avatar text-color="info" icon="mdi-chevron-right" />
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import { useQuasar } from "quasar";
|
||||||
import keycloak from "@/plugins/keycloak";
|
import keycloak from "@/plugins/keycloak";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
|
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
|
@ -154,8 +153,8 @@ const thaiOptions: Intl.DateTimeFormatOptions = {
|
||||||
minute: "2-digit",
|
minute: "2-digit",
|
||||||
};
|
};
|
||||||
|
|
||||||
function onInfo(){
|
function onInfo() {
|
||||||
router.push(`/registry`)
|
router.push(`/registry`);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<!-- โครงเว็บ -->
|
<!-- โครงเว็บ -->
|
||||||
|
|
@ -178,9 +177,9 @@ function onInfo(){
|
||||||
style="color: #ffffff; letter-spacing: 1px; line-height: 10px"
|
style="color: #ffffff; letter-spacing: 1px; line-height: 10px"
|
||||||
class="text-body2 text-weight-bolder col-12"
|
class="text-body2 text-weight-bolder col-12"
|
||||||
>
|
>
|
||||||
ระบบ<span class="text-primary">ทรัพยากรบุคคล</span>
|
ระบบ<span class="text-primary">บริหารทรัพยากรบุคคล</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-caption text-white">กรุงเทพมหานคร</div>
|
<div class="text-caption text-white">ของกรุงเทพมหานคร</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="row items-center">
|
<div v-else class="row items-center">
|
||||||
|
|
@ -364,11 +363,17 @@ function onInfo(){
|
||||||
</template>
|
</template>
|
||||||
<q-list>
|
<q-list>
|
||||||
<q-item clickable v-close-popup @click="onInfo">
|
<q-item clickable v-close-popup @click="onInfo">
|
||||||
<q-item-section avatar style="min-width: 30px" >
|
<q-item-section avatar style="min-width: 30px">
|
||||||
<q-icon color="info" size="18px" name="mdi-clipboard-account-outline" />
|
<q-icon
|
||||||
|
color="blue-9"
|
||||||
|
size="18px"
|
||||||
|
name="mdi-clipboard-account-outline"
|
||||||
|
/>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section
|
<q-item-section
|
||||||
><q-item-label>ข้อมูลทะเบียนประวัติ</q-item-label></q-item-section
|
><q-item-label
|
||||||
|
>ข้อมูลทะเบียนประวัติ</q-item-label
|
||||||
|
></q-item-section
|
||||||
>
|
>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|
||||||
|
|
@ -402,9 +407,8 @@ function onInfo(){
|
||||||
style="height: 30px; max-width: 30px"
|
style="height: 30px; max-width: 30px"
|
||||||
/>
|
/>
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
<q-menu>
|
<!-- <q-menu>
|
||||||
<q-list dense style="min-width: 200px">
|
<q-list dense style="min-width: 200px">
|
||||||
|
|
||||||
<q-item clickable v-close-popup>
|
<q-item clickable v-close-popup>
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<div class="row items-center">
|
<div class="row items-center">
|
||||||
|
|
@ -412,7 +416,7 @@ function onInfo(){
|
||||||
<q-item clickable v-close-popup @click="onInfo">
|
<q-item clickable v-close-popup @click="onInfo">
|
||||||
<q-item-section avatar style="min-width: 30px">
|
<q-item-section avatar style="min-width: 30px">
|
||||||
<q-icon
|
<q-icon
|
||||||
color="info"
|
color="blue-9"
|
||||||
size="18px"
|
size="18px"
|
||||||
name="mdi-clipboard-account-outline"
|
name="mdi-clipboard-account-outline"
|
||||||
/>
|
/>
|
||||||
|
|
@ -455,7 +459,7 @@ function onInfo(){
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-menu>
|
</q-menu> -->
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
|
|
@ -490,7 +494,13 @@ function onInfo(){
|
||||||
icon="mdi-calendar-blank-outline"
|
icon="mdi-calendar-blank-outline"
|
||||||
@click="router.push(`/leave`)"
|
@click="router.push(`/leave`)"
|
||||||
/>
|
/>
|
||||||
<q-btn flat round color="white" icon="mdi-account-outline" />
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="mdi-account-outline"
|
||||||
|
@click="router.push(`/registry`)"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
</q-footer>
|
</q-footer>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue