Merge branch 'develop' into devTee
# Conflicts: # src/api/02_organizational/api.organization.ts
This commit is contained in:
commit
d141f5f886
29 changed files with 180 additions and 341 deletions
7
.env
Normal file
7
.env
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
VITE_COMPETITIVE_EXAM_PANEL: "https://bma-dashboard.frappet.synology.me/goto/KO0GpSu4z?orgId=1"
|
||||
VITE_QUALIFY_DISABLE_EMAM_PANEL: "https://bma-dashboard.frappet.synology.me/goto/dQQzpIX4z?orgId=1"
|
||||
VITE_QUALIFY_EXAM_PANEL: "https://bma-dashboard.frappet.synology.me/goto/cj1ZtIX4z?orgId=1"
|
||||
VITE_S3CLUSTER_PUBLIC_URL: "https://s3cluster.frappet.com/bma-ehr-fpt/organization/strueture/"
|
||||
VITE_REALM_KEYCLOAK: "bma-ehr"
|
||||
VITE_CLIENTID_KEYCLOAK: "bma-ehr-vue3"
|
||||
VITE_URL_KEYCLOAK: "https://id.frappet.synology.me/"
|
||||
|
|
@ -94,4 +94,5 @@ export default {
|
|||
orgCheckAvatar: (id: string) => `${orgProfile}/avatar/profileId/${id}`,
|
||||
|
||||
changePosition: `${organization}/placement/change-position`,
|
||||
orgProfileReport: `${orgProfile}-employee/report`,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -484,8 +484,10 @@ function selectOrgLevele(val: string, status: boolean = true) {
|
|||
</div>
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-btn type="submit" :label="`บันทึก`" color="public" />
|
||||
<q-card-actions align="right">
|
||||
<q-btn type="submit" :label="`บันทึก`" color="public">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</form>
|
||||
</q-card>
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ const pagination = ref({
|
|||
});
|
||||
|
||||
const dataLabel = {
|
||||
citizenId: "เลขบัตรประจำตัวประชาชน",
|
||||
citizenId: "เลขประจำตัวประชาชน",
|
||||
name: "ชื่อ - สกุล",
|
||||
birthDate: "วัน/เดือน/ปีเกิด",
|
||||
age: "อายุ",
|
||||
|
|
|
|||
|
|
@ -353,7 +353,7 @@ onMounted(async () => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ fatherData.citizenId ? fatherData.citizenId : "-" }}
|
||||
|
|
@ -397,7 +397,7 @@ onMounted(async () => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ motherData.citizenId ? motherData.citizenId : "-" }}
|
||||
|
|
@ -441,7 +441,7 @@ onMounted(async () => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ spouseData.citizenId ? spouseData.citizenId : "-" }}
|
||||
|
|
@ -493,7 +493,7 @@ onMounted(async () => {
|
|||
<div class="col-12 q-pa-md q-col-gutter-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col-10">
|
||||
{{ children.childrenCitizenId }}
|
||||
|
|
@ -1156,7 +1156,7 @@ onMounted(async () => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ historyRows[index - 1].fatherCitizenId }}
|
||||
|
|
@ -1200,7 +1200,7 @@ onMounted(async () => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ historyRows[index - 1].motherCitizenId }}
|
||||
|
|
@ -1251,7 +1251,7 @@ onMounted(async () => {
|
|||
>
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ historyRows[index - 1].coupleCitizenId }}
|
||||
|
|
@ -1309,7 +1309,7 @@ onMounted(async () => {
|
|||
<div class="col-12 q-pa-md q-col-gutter-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col-10">
|
||||
{{ children.childrenCitizenId }}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
{
|
||||
name: "citizenId",
|
||||
align: "left",
|
||||
label: "เลขบัตรประจำตัวประชาชน",
|
||||
label: "เลขประจำตัวประชาชนตัวประชาชน",
|
||||
sortable: true,
|
||||
field: "citizenId",
|
||||
headerStyle: "font-size: 14px",
|
||||
|
|
@ -465,7 +465,7 @@ onMounted(() => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ fatherData.citizenId ? fatherData.citizenId : "-" }}
|
||||
|
|
@ -540,7 +540,7 @@ onMounted(() => {
|
|||
<q-card bordered class="bg-grey-1 q-gutter-md q-ma-none q-pb-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ motherData.citizenId ? motherData.citizenId : "-" }}
|
||||
|
|
@ -635,7 +635,7 @@ onMounted(() => {
|
|||
</div>
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col-10">
|
||||
{{ coupleData.citizenId ?? "-" }}
|
||||
|
|
@ -738,7 +738,7 @@ onMounted(() => {
|
|||
<div class="col-12 q-pa-md q-col-gutter-md">
|
||||
<div class="row items-center">
|
||||
<div class="col-2 text-grey-6 text-weight-medium">
|
||||
<div>เลขบัตรประจำตัวประชาชน</div>
|
||||
<div>เลขประจำตัวประชาชนตัวประชาชน</div>
|
||||
</div>
|
||||
<div class="col-10">
|
||||
{{ item.childrenCitizenId }}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { useCounterMixin } from "@/stores/mixin";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { UserData } from "@/modules/05_placement/interface/response/AppointMent";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/AppointMent/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
|
@ -158,9 +158,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่ง" :close="clickClose" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่ง'" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-between">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -307,14 +307,15 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="clickAddlist"
|
||||
color="public"
|
||||
:disable="checkSelected"
|
||||
/>
|
||||
><q-tooltip>ส่งไปออกคำสั่ง</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ import { useCounterMixin } from "@/stores/mixin";
|
|||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
import Dialogbody from "@/modules/05_placement/components/AppointEmployee/Dialogbody.vue";
|
||||
// import DialogOrgTree from "@/modules/05_placement/components/AppointEmployee/Modal.vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/AppointMent/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import type {
|
||||
listAppointType,
|
||||
resData,
|
||||
|
|
@ -772,7 +773,7 @@ function onSave(data: any) {
|
|||
</q-card>
|
||||
<q-dialog v-model="ModalEmployee" persistent>
|
||||
<q-card style="width: 70vw; max-width: 70vw">
|
||||
<DialogHeader title="กำหนดตำแหน่ง" :close="clickClose" />
|
||||
<DialogHeader :tittle="'กำหนดตำแหน่ง'" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pa-sm">
|
||||
<div class="row justify-end">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<script setup lang="ts">
|
||||
import { useQuasar, QForm } from "quasar";
|
||||
import { onMounted, reactive, ref, watch } from "vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -389,7 +390,7 @@ function findByPerson(element: any): any {
|
|||
<q-dialog v-model="props.modal" persistent>
|
||||
<q-card style="width: 900px; max-width: 80vw">
|
||||
<q-form ref="myFormPosition">
|
||||
<DialogHeader title="เลือกหน่วยงาน" :close="closeModal" />
|
||||
<DialogHeader :tittle="'เลือกหน่วยงาน'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pa-sm bg-grey-1">
|
||||
<div class="row col-12 q-col-gutter-sm">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { useQuasar, QForm } from "quasar";
|
||||
import { onMounted, reactive, ref, watch } from "vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -403,7 +403,7 @@ onMounted(async () => {
|
|||
<q-card style="width: 900px; max-width: 80vw">
|
||||
<q-form ref="myFormPosition">
|
||||
<DialogHeader
|
||||
title="เลือกหน่วยงานที่แต่งตั้ง - เลื่อน"
|
||||
:tittle="'เลือกหน่วยงานที่แต่งตั้ง - เลื่อน'"
|
||||
:close="closeModal"
|
||||
/>
|
||||
<q-separator />
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { useQuasar } from "quasar";
|
|||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import type { QTableProps } from "quasar";
|
||||
import type { UserDataNew } from "@/modules/05_placement/interface/response/AppointMent";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/AppointMent/DialogHeader.vue";
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -175,9 +175,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่ง" :close="clickClose" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่ง'" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-between">
|
||||
<div class="col-5">
|
||||
<!-- <q-toolbar style="padding: 0">
|
||||
|
|
@ -329,14 +329,16 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="sendToCommand"
|
||||
color="public"
|
||||
:disable="checkSelected"
|
||||
/>
|
||||
>
|
||||
<q-tooltip>ส่งไปออกคำสั่ง</q-tooltip>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<script setup lang="ts">
|
||||
import { useQuasar, QForm } from "quasar";
|
||||
import { onMounted, reactive, ref, watch } from "vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -403,7 +404,7 @@ onMounted(async () => {
|
|||
<q-card style="width: 900px; max-width: 80vw">
|
||||
<q-form ref="myFormPosition">
|
||||
<DialogHeader
|
||||
title="เลือกหน่วยงานที่แต่งตั้ง - เลื่อน"
|
||||
:tittle="'เลือกหน่วยงานที่แต่งตั้ง - เลื่อน'"
|
||||
:close="closeModal"
|
||||
/>
|
||||
<q-separator />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import { useCounterMixin } from "@/stores/mixin";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { UserDataNew } from "@/modules/05_placement/interface/response/AppointMent";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/AppointMent/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -130,9 +131,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่ง" :close="clickClose" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่ง'" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-between">
|
||||
<div class="col-5">
|
||||
<!-- <q-toolbar style="padding: 0">
|
||||
|
|
@ -284,14 +285,16 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="sendToCommand"
|
||||
color="public"
|
||||
:disable="checkSelected"
|
||||
/>
|
||||
>
|
||||
<q-tooltip>ส่งไปออกคำสั่ง</q-tooltip>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
import { ref, computed, watchEffect } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import type { QTableProps } from "quasar";
|
||||
import DialogHeader from "@/modules/05_placement/components/Receive/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -146,7 +146,7 @@ const addOther = async () => {
|
|||
let pId: string[] = [];
|
||||
let Type = props.type as string;
|
||||
selected.value.forEach((e: any) => {
|
||||
pId.push(e.profileId);
|
||||
pId.push(e.id);
|
||||
});
|
||||
let data = {
|
||||
id: pId,
|
||||
|
|
@ -193,9 +193,9 @@ function filterFnOptionsType(val: string, update: any) {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่งอื่นๆ" :close="props.clickClose" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่งอื่นๆ'" :close="props.clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-between">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -308,14 +308,16 @@ function filterFnOptionsType(val: string, update: any) {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="clickAddlist"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
/>
|
||||
>
|
||||
<q-tooltip>ส่งไปออกคำสั่ง</q-tooltip>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { useQuasar, QForm } from "quasar";
|
||||
import { onMounted, reactive, ref, watch } from "vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -419,7 +419,7 @@ function findByPerson(element: any): any {
|
|||
<q-dialog v-model="props.modal" persistent>
|
||||
<q-card style="width: 900px; max-width: 80vw">
|
||||
<q-form ref="myFormPosition">
|
||||
<DialogHeader title="เลือกหน่วยงานที่รับโอน" :close="closeModal" />
|
||||
<DialogHeader :tittle="'เลือกหน่วยงานที่รับโอน'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pa-sm bg-grey-1">
|
||||
<div class="row col-12 q-col-gutter-sm">
|
||||
|
|
|
|||
|
|
@ -440,7 +440,7 @@ watch(
|
|||
</q-card-section>
|
||||
<q-separator />
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-card-actions align="right">
|
||||
<q-btn label="บันทึก" color="secondary" @click="onClickSubmit"
|
||||
><q-tooltip>บันทึกข้อมูล</q-tooltip></q-btn
|
||||
>
|
||||
|
|
|
|||
|
|
@ -1486,8 +1486,8 @@ onMounted(async () => {
|
|||
</template> -->
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งรายชื่อ"
|
||||
@click="savelist"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { ref, watch } from "vue";
|
|||
import { useQuasar } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import type { QTableProps } from "quasar";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
|
@ -79,7 +79,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
]);
|
||||
|
||||
/** get ข้อมูลการศึกษา */
|
||||
async function fetchData(){
|
||||
async function fetchData() {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.getDatapersonal(props.personalId))
|
||||
|
|
@ -100,13 +100,13 @@ async function fetchData(){
|
|||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* convert text
|
||||
* @param val type
|
||||
*/
|
||||
function formBmaofficer(val: string){
|
||||
function formBmaofficer(val: string) {
|
||||
switch (val) {
|
||||
case "OFFICER":
|
||||
return "ขรก.กทม. สามัญ";
|
||||
|
|
@ -117,16 +117,16 @@ function formBmaofficer(val: string){
|
|||
default:
|
||||
return "";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/** ปิด POPUP ข้อมูล */
|
||||
async function close(){
|
||||
async function close() {
|
||||
props.close();
|
||||
selection.value = [];
|
||||
rows.value = [];
|
||||
};
|
||||
}
|
||||
|
||||
/** เมื่อ props.Modal จะเรียกข้อมูลการศึกษา */
|
||||
/** เมื่อ props.Modal จะเรียกข้อมูลการศึกษา */
|
||||
watch(props, () => {
|
||||
if (props.Modal === true) {
|
||||
fetchData();
|
||||
|
|
@ -139,7 +139,7 @@ watch(props, () => {
|
|||
<q-form ref="myForm">
|
||||
<div class="row">
|
||||
<DialogHeader
|
||||
:title="`รายละเอียดของ ${personalForm.fullName}`"
|
||||
:tittle="`รายละเอียดของ ${personalForm.fullName}`"
|
||||
@click="close"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -187,7 +187,6 @@ watch(props, () => {
|
|||
{{ personalForm.gender }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
|
|
@ -222,7 +221,7 @@ watch(props, () => {
|
|||
</q-table>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="contanier-box-mini">
|
||||
<q-card bordered class="card-panding">
|
||||
<div class="row items-center q-pa-xs header-text">การสอบ</div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import { useQuasar } from "quasar";
|
|||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import type { QTableProps } from "quasar";
|
||||
import type { ResponseRow } from "@/modules/05_placement/interface/response/Receive";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
// import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
|
|
@ -176,9 +177,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่งรับโอน" :close="clickClose" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่งรับโอน'" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-end">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -311,14 +312,15 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="saveOrder"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
/>
|
||||
><q-tooltip>ส่งไปออกคำสั่ง</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { useTransferDataStore } from "@/modules/05_placement/store";
|
|||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
import DialogOrgTree from "@/modules/05_placement/components/Relocation/RelocationModal.vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import type { relocationType } from "@/modules/05_placement/interface/response/Relocation";
|
||||
|
||||
|
|
@ -581,9 +581,9 @@ const pagination = ref({
|
|||
|
||||
<q-dialog v-model="modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่งย้าย" :close="closeModal" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่งย้าย'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-end">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -709,14 +709,16 @@ const pagination = ref({
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="saveOrder"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
/>
|
||||
>
|
||||
<q-tooltpi>ส่งไปออกคำสั่ง</q-tooltpi>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ import { useTransferDataStore } from "@/modules/05_placement/store";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { officerType } from "@/modules/05_placement/interface/response/officer";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
|
|
@ -194,9 +195,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่งส่งตัวกลับ" :close="closeModal" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่งส่งตัวกลับ'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-end">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -288,14 +289,16 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="saveOrder"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
/>
|
||||
>
|
||||
<q-tooltip>ส่งไปออกคำสั่ง</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { useTransferDataStore } from "@/modules/05_placement/store";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { ResponseData } from "@/modules/05_placement/interface/response/Transfer";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
|
|
@ -182,9 +182,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่ง" :close="closeModal" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่ง'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-end">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -276,14 +276,15 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
@click="saveOrder"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
/>
|
||||
><q-tooltip>ส่งไปออกคำสั่ง</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import config from "@/app.config";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { officerType } from "@/modules/05_placement/interface/response/officer";
|
||||
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
|
||||
|
|
@ -227,9 +227,9 @@ watchEffect(() => {
|
|||
<template>
|
||||
<q-dialog v-model="props.Modal">
|
||||
<q-card style="width: 1200px; max-width: 80vw">
|
||||
<DialogHeader title="ส่งไปออกคำสั่งช่วยราชการ" :close="closeModal" />
|
||||
<DialogHeader :tittle="'ส่งไปออกคำสั่งช่วยราชการ'" :close="closeModal" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pt-none">
|
||||
<q-card-section>
|
||||
<div class="row justify-end">
|
||||
<div class="col-5">
|
||||
<q-toolbar style="padding: 0">
|
||||
|
|
@ -323,14 +323,15 @@ watchEffect(() => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-card-section>
|
||||
|
||||
<q-card-actions align="right" class="bg-white text-teal">
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
label="ส่งไปออกคำสั่ง"
|
||||
:disable="checkSelected"
|
||||
color="public"
|
||||
@click="saveOrder"
|
||||
/>
|
||||
><q-tooltip>ส่งไปออกคำสั่ง</q-tooltip></q-btn
|
||||
>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ import config from "@/app.config";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { ResponseItems } from "@/modules/06_retirement/interface/response/exitInterview";
|
||||
import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
|
||||
import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
|
||||
/** use */
|
||||
const $q = useQuasar(); //ใช้ noti quasar
|
||||
|
|
@ -477,7 +478,7 @@ const openModalCalendar = (rows: any) => {
|
|||
<q-card style="width: 800px">
|
||||
<q-form ref="myForm">
|
||||
<DialogHeader
|
||||
title="กําหนดวันนัดหมายเพื่อทําการสัมภาษณ์การลาออก"
|
||||
:tittle="'กําหนดวันนัดหมายเพื่อทําการสัมภาษณ์การลาออก'"
|
||||
:close="closeModal"
|
||||
/>
|
||||
<q-separator />
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import config from "@/app.config";
|
|||
import type { QTableProps } from "quasar";
|
||||
import type { DataEmployee } from "@/modules/08_registryEmployee/interface/response/Employee";
|
||||
|
||||
/** importComponents*/
|
||||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
/** inportStore*/
|
||||
|
|
@ -180,7 +181,7 @@ function onClickSendOrder() {
|
|||
id: pId,
|
||||
};
|
||||
http
|
||||
.post(config.API.organizationEmployeeSendOrder, data)
|
||||
.post(config.API.orgProfileReport, data)
|
||||
.then(() => {
|
||||
success($q, "บันทึกสำเร็จ");
|
||||
closeDialog();
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@ onMounted(() => {
|
|||
v-close-popup
|
||||
v-if="
|
||||
props.row.draftOrgEmployeeStatus === null ||
|
||||
props.row.draftOrgEmployeeStatus === 'REPORT'
|
||||
props.row.draftOrgEmployeeStatus === 'PENDING'
|
||||
"
|
||||
@click.pervent="onClickSelectPos(props.row)"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
div
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, watch } from "vue";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -812,9 +813,9 @@ const getClass = (val: boolean) => {
|
|||
};
|
||||
</script>
|
||||
<template>
|
||||
<q-form greedy @submit.prevent @validation-success="onSubmit" class="q-pa-md">
|
||||
<div class="q-pa-md">
|
||||
<div style="max-height: 68vh; overflow-y: scroll">
|
||||
<q-card>
|
||||
<q-form greedy @submit.prevent @validation-success="onSubmit">
|
||||
<q-card-section style="max-height: 50vh">
|
||||
<!-- Main -->
|
||||
<div class="row col-12 q-col-gutter-x-lg q-col-gutter-y-md">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
|
|
@ -834,8 +835,8 @@ const getClass = (val: boolean) => {
|
|||
input-debounce="0"
|
||||
@update:model-value="selectCMP(typeOrder)"
|
||||
@filter="(inputValue:any,
|
||||
doneFn:Function) => filterSelector(inputValue, doneFn,'typeOrderOption'
|
||||
) "
|
||||
doneFn:Function) => filterSelector(inputValue, doneFn,'typeOrderOption'
|
||||
) "
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6">
|
||||
|
|
@ -2215,26 +2216,25 @@ const getClass = (val: boolean) => {
|
|||
typeOrder.commandCode === 'C-PM-32')
|
||||
"
|
||||
>
|
||||
<div class="row col-12">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<selector
|
||||
:class="getClass(true)"
|
||||
outlined
|
||||
dense
|
||||
v-model="complaintId"
|
||||
:rules="[(val: string) => !!val || `${'กรุณาเลือกเรื่องร้องเรียน'}`]"
|
||||
emit-value
|
||||
hide-bottom-space
|
||||
:label="`${'เรื่องร้องเรียน'}`"
|
||||
map-options
|
||||
option-label="name"
|
||||
:options="DataStore.complaintOption"
|
||||
option-value="id"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<selector
|
||||
:class="getClass(true)"
|
||||
outlined
|
||||
dense
|
||||
v-model="complaintId"
|
||||
:rules="[(val: string) => !!val || `${'กรุณาเลือกเรื่องร้องเรียน'}`]"
|
||||
emit-value
|
||||
hide-bottom-space
|
||||
:label="`${'เรื่องร้องเรียน'}`"
|
||||
map-options
|
||||
option-label="name"
|
||||
:options="DataStore.complaintOption"
|
||||
option-value="id"
|
||||
use-input
|
||||
input-debounce="0"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6"></div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<q-input
|
||||
|
|
@ -2281,22 +2281,15 @@ const getClass = (val: boolean) => {
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-separator />
|
||||
<div class="flex justify-end q-gutter-sm q-mt-md">
|
||||
<q-btn
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
id="onSubmit"
|
||||
type="submit"
|
||||
color="public"
|
||||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</q-form>
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn label="บันทึก" id="onSubmit" type="submit" color="public">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-form>
|
||||
</q-card>
|
||||
|
||||
<q-dialog v-model="dialogVisible">
|
||||
<q-card style="width: 900px; max-width: 80vw">
|
||||
|
|
|
|||
|
|
@ -458,8 +458,8 @@ const pagination = ref({
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="q-py-md q-pl-md" style="max-height: 68vh; overflow-y: scroll">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<div class="col-12 row q-pb-sm items-center">
|
||||
<q-btn flat round color="primary" @click="refresh" icon="mdi-plus">
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
|
|
@ -599,11 +599,11 @@ const pagination = ref({
|
|||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
</div>
|
||||
</q-card-section>
|
||||
|
||||
<q-separator />
|
||||
<div class="flex justify-end q-pa-sm q-gutter-sm">
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
dense
|
||||
outline
|
||||
color="primary"
|
||||
icon="chevron_left"
|
||||
|
|
@ -612,18 +612,11 @@ const pagination = ref({
|
|||
label="กรอกรายละเอียด"
|
||||
>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
dense
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
@click="save"
|
||||
class="q-px-md"
|
||||
>
|
||||
<q-btn label="บันทึก" color="public" @click="save" class="q-px-md">
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
<!--********************************** เงินเดือน ********************************** -->
|
||||
<q-dialog v-model="modal" persistent>
|
||||
<q-card style="width: 50vw; max-width: 50vw">
|
||||
|
|
@ -691,8 +684,6 @@ const pagination = ref({
|
|||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
dense
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
@click="saveModal"
|
||||
|
|
@ -761,8 +752,6 @@ const pagination = ref({
|
|||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
dense
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
@click="saveModalAdd"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
import { ref, onMounted } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import DialogHeader from "@/modules/04_registry/components/DialogHeader.vue";
|
||||
|
||||
import type { QInput, QForm } from "quasar";
|
||||
import type { treeTab } from "@/modules/05_placement/interface/index/Main";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -42,52 +42,13 @@ const filterRef = ref<QInput>();
|
|||
const filter = ref<string>("");
|
||||
|
||||
const modal = ref<boolean>(false);
|
||||
const search = ref<string>("");
|
||||
|
||||
const expanded = ref<string[]>([]);
|
||||
const selected = ref<string>("");
|
||||
const nodesTree = ref<treeTab[]>([]);
|
||||
|
||||
const selectedModal = ref<ResponseOrganiz[]>([]);
|
||||
|
||||
const filterModal = ref<string>("");
|
||||
const visibleColumnsModal = ref<String[]>(["no", "idCard", "name", "position"]);
|
||||
const columnsModal = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
label: "ลำดับ",
|
||||
field: "no",
|
||||
sortable: false,
|
||||
},
|
||||
{
|
||||
name: "idCard",
|
||||
align: "left",
|
||||
label: "เลขประจำตัวประชาชน",
|
||||
field: "idCard",
|
||||
sortable: true,
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
{
|
||||
name: "name",
|
||||
align: "left",
|
||||
label: "ชื่อ-นามสกุล",
|
||||
field: "name",
|
||||
sortable: true,
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
{
|
||||
name: "position",
|
||||
align: "left",
|
||||
label: "ตำแหน่ง",
|
||||
field: "position",
|
||||
sortable: true,
|
||||
sort: (a: string, b: string) =>
|
||||
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
|
||||
},
|
||||
]);
|
||||
|
||||
const rowsModal = ref<ResponseOrganiz[]>([]);
|
||||
|
||||
const optionSelect = ref<DataOption[]>([
|
||||
|
|
@ -245,7 +206,6 @@ const getData = async (id: string) => {
|
|||
};
|
||||
// เลือกรายชื่อจากหน่วยงาน
|
||||
const saveData = async () => {
|
||||
|
||||
const id = route.params.orderid
|
||||
? route.params.orderid.toString()
|
||||
: localStorage.getItem("orderId")
|
||||
|
|
@ -377,8 +337,8 @@ const updateData = (row: DataCopyOrder) => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="q-py-md q-pl-md" style="max-height: 68vh; overflow-y: scroll">
|
||||
<q-card>
|
||||
<q-card-section>
|
||||
<div class="col-12 row q-py-sm items-center">
|
||||
<q-btn flat round color="primary" @click="clickAdd" icon="mdi-plus">
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
|
|
@ -506,11 +466,11 @@ const updateData = (row: DataCopyOrder) => {
|
|||
</template>
|
||||
</d-table>
|
||||
</q-form>
|
||||
</div>
|
||||
</q-card-section>
|
||||
|
||||
<q-separator />
|
||||
<div class="flex justify-end q-pa-sm q-gutter-sm">
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
dense
|
||||
outline
|
||||
color="primary"
|
||||
icon="chevron_left"
|
||||
|
|
@ -520,8 +480,6 @@ const updateData = (row: DataCopyOrder) => {
|
|||
>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
dense
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
@click="saveDataCopyOrder"
|
||||
|
|
@ -529,140 +487,8 @@ const updateData = (row: DataCopyOrder) => {
|
|||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <q-dialog v-model="modal" persistent full-width>
|
||||
<q-card>
|
||||
<DialogHeader tittle="เลือกรายชื่อตามหน่วยงาน" :close="clickClose" />
|
||||
<q-separator />
|
||||
<q-card-section class="q-pa-sm bg-grey-1">
|
||||
<div class="row col-12 q-col-gutter-sm">
|
||||
<div class="col-xs-12 col-sm-5 row">
|
||||
<q-card flat bordered class="fit q-pa-sm">
|
||||
<q-scroll-area visible style="height: 70vh">
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
v-model="search"
|
||||
placeholder="ค้นหา"
|
||||
class="q-mb-sm"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-icon name="mdi-magnify" />
|
||||
</template>
|
||||
</q-input>
|
||||
<q-tree
|
||||
:nodes="nodesTree"
|
||||
dense
|
||||
node-key="id"
|
||||
v-model:selected="selected"
|
||||
v-model:expanded="expanded"
|
||||
no-selection-unset
|
||||
selected-color="primary"
|
||||
@update:selected="onSelected"
|
||||
default-expand-all
|
||||
/>
|
||||
</q-scroll-area>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-7">
|
||||
<div class="col-12 row q-py-sm items-center">
|
||||
<q-space />
|
||||
<div class="items-center" style="display: flex">
|
||||
<q-input
|
||||
standout
|
||||
dense
|
||||
v-model="filterModal"
|
||||
ref="filterRef"
|
||||
outlined
|
||||
debounce="300"
|
||||
placeholder="ค้นหา"
|
||||
style="max-width: 200px"
|
||||
class="q-ml-sm"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<q-icon v-if="filterModal == ''" name="search" />
|
||||
<q-icon
|
||||
v-if="filterModal !== ''"
|
||||
name="clear"
|
||||
class="cursor-pointer"
|
||||
@click="resetFilter"
|
||||
/>
|
||||
</template>
|
||||
</q-input>
|
||||
|
||||
<q-select
|
||||
v-model="visibleColumnsModal"
|
||||
:display-value="$q.lang.table.columns"
|
||||
multiple
|
||||
outlined
|
||||
dense
|
||||
:options="columnsModal"
|
||||
options-dense
|
||||
option-value="name"
|
||||
map-options
|
||||
emit-value
|
||||
style="min-width: 150px"
|
||||
class="gt-xs q-ml-sm"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<d-table
|
||||
:rows="rowsModal"
|
||||
:columns="columnsModal"
|
||||
:visible-columns="visibleColumnsModal"
|
||||
:filter="filterModal"
|
||||
row-key="profileId"
|
||||
selection="multiple"
|
||||
v-model:selected="selectedModal"
|
||||
>
|
||||
<template v-slot:header-selection="scope">
|
||||
<q-checkbox
|
||||
keep-color
|
||||
color="primary"
|
||||
dense
|
||||
v-model="scope.selected"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template v-slot:body-selection="scope">
|
||||
<q-checkbox
|
||||
keep-color
|
||||
color="primary"
|
||||
dense
|
||||
v-model="scope.selected"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template v-slot:body-cell="props">
|
||||
<q-td :props="props">
|
||||
<div v-if="props.col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
{{ props.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
</template>
|
||||
</d-table>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-actions align="right">
|
||||
<q-btn
|
||||
dense
|
||||
unelevated
|
||||
label="บันทึก"
|
||||
color="public"
|
||||
@click="saveData"
|
||||
class="q-px-md"
|
||||
/>
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</q-dialog> -->
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
|
||||
<DialogOrgSelectOneStep
|
||||
v-model:modal="modal"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue