Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2025-05-01 11:46:44 +07:00
commit 1a3dd4ed20
17 changed files with 186 additions and 196 deletions

View file

@ -799,6 +799,17 @@ onMounted(async () => {
<div class="q-pa-xs col-xs-12 col-sm-4 col-md-3">
<q-card flat bordered>
<q-card-actions class="bg-grey-3" align="right">
<q-btn
v-if="props.row.isUpload"
color="green"
flat
dense
round
icon="mdi-file-document-outline"
@click="onDownloadFile(props.row.id)"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
flat
round

View file

@ -596,6 +596,17 @@ onMounted(() => {
<div class="q-pa-xs col-xs-12 col-sm-4 col-md-3">
<q-card flat bordered>
<q-card-actions align="right" class="bg-grey-3">
<q-btn
v-if="props.row.isUpload == true"
color="green"
flat
dense
round
icon="mdi-file-document-outline"
@click="onDownloadFile(props.row.id)"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
color="deep-purple"
icon="mdi-history"

View file

@ -325,7 +325,6 @@ onMounted(() => {
</template>
</q-input>
<q-select
v-if="mode == 'table'"
v-model="visibleColumns"
multiple
outlined
@ -371,7 +370,6 @@ onMounted(() => {
</div>
<d-table
:card-container-class="mode === 'card' ? 'q-col-gutter-md' : ''"
:grid="mode === 'card'"
ref="table"
row-key="id"
@ -438,86 +436,60 @@ onMounted(() => {
</q-tr>
</template>
<template v-slot:item="props" v-else>
<div class="col-xs-12 col-sm-6 col-md-6">
<q-card flat bordered class="q-pa-none">
<div class="row bg-grey-3">
<q-space />
<div>
<q-btn
color="deep-purple"
icon="mdi-history"
flat
round
@click.stop.prevent="showHistoryDialog(props.row.id)"
>
<q-tooltip>ประวแกไขรกษาการในตำแหน</q-tooltip>
</q-btn>
<div class="q-pa-xs col-xs-12 col-sm-4 col-md-3">
<q-card flat bordered>
<q-card-actions align="right" class="bg-grey-3">
<q-btn
color="deep-purple"
icon="mdi-history"
flat
round
@click.stop.prevent="showHistoryDialog(props.row.id)"
>
<q-tooltip>ประวแกไขรกษาการในตำแหน</q-tooltip>
</q-btn>
<q-btn
v-if="
isLeave === false && checkPermission($route)?.attrIsUpdate
"
:color="props.row.commandId ? 'grey-5' : 'edit'"
:disable="props.row.commandId !== null"
icon="edit"
flat
round
@click.stop.prevent="openEditDialog(props.row)"
>
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
</div>
</div>
<q-btn
v-if="isLeave === false && checkPermission($route)?.attrIsUpdate"
:color="props.row.commandId ? 'grey-5' : 'edit'"
:disable="props.row.commandId !== null"
icon="edit"
flat
round
@click.stop.prevent="openEditDialog(props.row)"
>
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
</q-card-actions>
<q-separator />
<q-card-section class="q-pa-none">
<div class="row q-pa-sm">
<div class="col-3 text-grey-6 text-weight-medium">
นทเรมต
<q-list>
<div
:class="`row q-pa-sm`"
:style="`background-color: ${index % 2 !== 0 ? '#FAFAFA' : ''}`"
v-for="(col, index) in props.cols"
:key="col.name"
>
<div class="col text-grey-6">
<div>{{ col.label }}</div>
</div>
<div class="col-3">
{{ props.row.dateStart ? date2Thai(props.row.dateStart) : "-" }}
</div>
<div class="col-3 text-grey-6 text-weight-medium">
นทนส
</div>
<div class="col-3">
{{ props.row.dateEnd ? date2Thai(props.row.dateEnd) : "-" }}
<div class="col">
<div
v-if="col.name == 'refCommandNo' && props.row.commandId"
@click="col.value ? openViewCommand(props.row) : null"
:class="
col.value
? 'table_ellipsis text-blue cursor-pointer'
: 'table_ellipsis'
"
>
{{ col.value ? col.value : "-" }}
<q-tooltip v-if="col.value">ดูคำสั่ง</q-tooltip>
</div>
<div v-else>{{ col.value ? col.value : "-" }}</div>
</div>
</div>
<q-separator />
<div class="row q-pa-sm bg-grey-2">
<div class="col-3 text-grey-6 text-weight-medium">
{{ empType === "" ? "เลขที่ตำแหน่ง" : "ตำแหน่งเลขที่" }}
</div>
<div class="col-3">
{{ props.row.posNo ? props.row.posNo : "-" }}
</div>
<div class="col-3 text-grey-6 text-weight-medium">ตำแหน</div>
<div class="col-3">
{{ props.row.position ? props.row.position : "-" }}
</div>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-3 text-grey-6 text-weight-medium">
เลขทคำส
</div>
<div
v-if="props.row.commandId"
@click="openViewCommand(props.row)"
class="col-3 text-blue"
>
{{ props.row.refCommandNo }}
<q-tooltip v-if="props.row.commandId">ดูคำสั่ง</q-tooltip>
</div>
<div class="col-3" v-else>-</div>
<div class="col-3 text-grey-6 text-weight-medium">สถานะ</div>
<div class="col-3">
{{ props.row.status ? "ใช้งาน" : "-" }}
</div>
</div>
<q-separator />
</q-card-section>
</q-list>
</q-card>
</div>
</template>

View file

@ -469,7 +469,6 @@ onMounted(() => {
</template>
</q-input>
<q-select
v-if="mode == 'table'"
v-model="visibleColumns"
multiple
outlined
@ -515,7 +514,6 @@ onMounted(() => {
</div>
<d-table
:card-container-class="mode === 'card' ? 'q-col-gutter-md' : ''"
:grid="mode === 'card'"
ref="table"
row-key="id"
@ -616,102 +614,86 @@ onMounted(() => {
</q-tr>
</template>
<template v-slot:item="props" v-else>
<div class="col-xs-12 col-sm-6 col-md-6">
<q-card flat bordered class="q-pa-none">
<div class="row bg-grey-3">
<q-space />
<div>
<q-btn
color="deep-purple"
icon="mdi-history"
flat
round
@click.stop.prevent="showHistoryDialog(props.row.id)"
>
<q-tooltip>ประวแกไขรายการชวยราชการ</q-tooltip>
</q-btn>
<q-btn
v-if="!isLeave && checkPermission($route)?.attrIsUpdate"
:color="props.row.commandId ? 'grey-5' : 'edit'"
:disable="props.row.commandId !== null"
icon="edit"
flat
round
@click.stop.prevent="openEditDialog(props.row)"
>
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
flat
dense
round
:color="
!props.row.refId || props.row.status !== 'PENDING'
? 'grey-5'
: 'primary'
"
:disable="!props.row.refId || props.row.status !== 'PENDING'"
icon="mdi-account-arrow-left-outline"
@click.stop.prevent="onReturner(props.row.refId)"
>
<q-tooltip>งตวกล</q-tooltip>
</q-btn>
</div>
</div>
<q-separator />
<q-card-section class="q-pa-none">
<div class="row q-pa-sm">
<div class="col-3 text-grey-6 text-weight-medium">
หนวยงานทใหวยราชการ
</div>
<div class="col-9">
{{ props.row.agency ? props.row.agency : "-" }}
</div>
</div>
<div class="row q-pa-sm bg-grey-2">
<div class="col-3 text-grey-6 text-weight-medium">
นทเรมต
</div>
<div class="col-3">
{{ props.row.dateStart ? date2Thai(props.row.dateStart) : "-" }}
</div>
<div class="col-3 text-grey-6 text-weight-medium">
นทนส
</div>
<div class="col-3">
{{ props.row.dateEnd ? date2Thai(props.row.dateEnd) : "-" }}
</div>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-3 text-grey-6 text-weight-medium">
เลขทคำส
</div>
<div
v-if="props.row.commandId"
@click="openViewCommand(props.row)"
class="col-9 text-blue"
>
{{ props.row.commandNo }}
<q-tooltip v-if="props.row.commandId">ดูคำสั่ง</q-tooltip>
</div>
<div class="q-pa-xs col-xs-12 col-sm-4 col-md-3">
<q-card flat bordered>
<q-card-actions align="right" class="bg-grey-3">
<q-btn
flat
dense
round
color="green"
icon="mdi-file-document-outline"
v-if="props.row.isUpload"
@click="onDownloadFile(props.row.id)"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
color="deep-purple"
icon="mdi-history"
flat
round
@click.stop.prevent="showHistoryDialog(props.row.id)"
>
<q-tooltip>ประวแกไขรายการชวยราชการ</q-tooltip>
</q-btn>
<q-btn
v-if="!isLeave && checkPermission($route)?.attrIsUpdate"
:color="props.row.commandId ? 'grey-5' : 'edit'"
:disable="props.row.commandId !== null"
icon="edit"
flat
round
@click.stop.prevent="openEditDialog(props.row)"
>
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
flat
dense
round
:color="
!props.row.refId || props.row.status !== 'PENDING'
? 'grey-5'
: 'primary'
"
:disable="!props.row.refId || props.row.status !== 'PENDING'"
icon="mdi-account-arrow-left-outline"
@click.stop.prevent="onReturner(props.row.refId)"
>
<q-tooltip>งตวกล</q-tooltip>
</q-btn>
</q-card-actions>
<div class="col-9" v-else>
{{ props.row.commandNo ? props.row.commandNo : "-" }}
<q-separator />
<q-list>
<div
:class="`row q-pa-sm`"
:style="`background-color: ${index % 2 !== 0 ? '#FAFAFA' : ''}`"
v-for="(col, index) in props.cols"
:key="col.name"
>
<div class="col text-grey-6">
<div>{{ col.label }}</div>
</div>
<div class="col">
<div
v-if="col.name == 'commandNo' && props.row.commandId"
@click="col.value ? openViewCommand(props.row) : null"
:class="
col.value
? 'table_ellipsis text-blue cursor-pointer'
: 'table_ellipsis'
"
>
{{ col.value ? col.value : "-" }}
<q-tooltip v-if="col.value">ดูคำสั่ง</q-tooltip>
</div>
<div v-else>{{ col.value ? col.value : "-" }}</div>
</div>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-3 text-grey-6 text-weight-medium">
เอกสารอางอ
</div>
<div class="col-9">
{{ props.row.document ? props.row.document : "-" }}
</div>
</div>
<q-separator />
</q-card-section>
</q-list>
</q-card>
</div>
</template>

View file

@ -503,6 +503,7 @@ onMounted(async () => {
<q-td auto-width>
<q-btn
v-if="props.row.documentId !== null"
color="green"
flat
dense

View file

@ -552,6 +552,17 @@ onMounted(() => {
<div class="q-pa-xs col-xs-12 col-sm-4 col-md-3">
<q-card bordered>
<q-card-actions align="right" class="bg-grey-3">
<q-btn
v-if="props.row.isUpload == true"
color="green"
flat
dense
round
icon="mdi-file-document-outline"
@click="onDownloadFile(props.row.id)"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
dense
flat

View file

@ -369,7 +369,6 @@ onMounted(() => {
</template>
</q-input>
<q-select
v-if="modelView == 'table'"
v-model="visibleColumns"
multiple
outlined

View file

@ -1,4 +1,3 @@
divdivdivdiv
<script setup lang="ts">
import { computed, reactive, ref, watch } from "vue";
import { useQuasar } from "quasar";
@ -147,9 +146,13 @@ function onSubmit() {
formData.append("endDate", dateToISO(dateEnd.value));
}
formData.append("file", files.value);
newEmpPosId.forEach((id) => {
formData.append("empPosId", id);
});
if (newEmpPosId.length > 0) {
newEmpPosId.forEach((id) => {
formData.append("empPosId", id);
});
} else {
formData.append("empPosId", '');
}
const url =
actionType.value !== "edit"
? config.API.listRoundInsignia()

View file

@ -146,7 +146,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "employeeType",
align: "left",
label: "สถานภาพ",
label: "ประเภทตำแหน่ง",
sortable: true,
field: "employeeType",
headerStyle: "font-size: 14px",
@ -1012,7 +1012,7 @@ onMounted(async () => {
outlined
lazy-rules
hide-bottom-space
:label="`${'สถานภาพ'}`"
:label="`${'ประเภทตำแหน่ง'}`"
emit-value
use-input
map-options

View file

@ -71,7 +71,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "employeeType",
align: "left",
label: "สถานภาพ",
label: "ประเภทตำแหน่ง",
sortable: true,
field: "employeeType",
headerStyle: "font-size: 14px",
@ -400,7 +400,7 @@ watch(
outlined
lazy-rules
hide-bottom-space
:label="`${'สถานภาพ'}`"
:label="`${'ประเภทตำแหน่ง'}`"
emit-value
use-input
hide-selected

View file

@ -71,7 +71,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "employeeType",
align: "left",
label: "สถานภาพ",
label: "ประเภทตำแหน่ง",
sortable: true,
field: "employeeType",
headerStyle: "font-size: 14px",
@ -400,7 +400,7 @@ onMounted(async () => {
outlined
lazy-rules
hide-bottom-space
:label="`${'สถานภาพ'}`"
:label="`${'ประเภทตำแหน่ง'}`"
emit-value
use-input
map-options

View file

@ -184,9 +184,9 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
}
/**
* function
* function
* @param type
* @param employeeClasstype
* @param employeeClasstype
*/
async function searchDataTable(type: string, employeeClasstype: string) {
typeinsignia.value = type;

View file

@ -78,8 +78,8 @@ export const useAllocateDataStore = defineStore("insigniaallocate", () => {
}
/**
* function convert
* @param val
* function convert
* @param val
*/
function profileType(val: string) {
switch (val) {

View file

@ -105,7 +105,7 @@ export const useBrrowDataStore = defineStore("insigniaBrrow", () => {
/**
* function Table
* @param type
* @param employeeClass
* @param employeeClass
*/
function searchDatatable(type: string, employeeClass: string) {
if (type !== "" && employeeClass !== "all") {
@ -144,8 +144,8 @@ export const useBrrowDataStore = defineStore("insigniaBrrow", () => {
};
/**
* function convert
* @param val
* function convert
* @param val
*/
function profileType(val: string) {
const newVal = val.toLocaleLowerCase();

View file

@ -172,8 +172,8 @@ export const useResultDataStore = defineStore("insigniaResult", () => {
}
/**
* function convert
* @param val
* function convert
* @param val
*/
function profileType(val: string) {
const newVal = val.toLocaleLowerCase();

View file

@ -109,7 +109,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "employeeType",
align: "left",
label: "สถานภาพ",
label: "ประเภทตำแหน่ง",
field: "employeeType",
sortable: true,
sort: (a: string, b: string) =>
@ -811,7 +811,7 @@ onMounted(() => {
outlined
lazy-rules
hide-bottom-space
:label="`${'สถานภาพ'}`"
:label="`${'ประเภทตำแหน่ง'}`"
emit-value
map-options
use-input

View file

@ -85,7 +85,7 @@ const columns = ref<QTableProps["columns"]>([
{
name: "employeeType",
align: "left",
label: "สถานภาพ",
label: "ประเภทตำแหน่ง",
field: "employeeType",
sortable: true,
headerStyle: "font-size: 14px",
@ -616,7 +616,7 @@ onMounted(async () => {
outlined
lazy-rules
hide-bottom-space
:label="`${'สถานภาพ'}`"
:label="`${'ประเภทตำแหน่ง'}`"
emit-value
use-input
hide-selected