permission => บรรจุ แต่งตั้ง ย้าย โอน,สรรหา
This commit is contained in:
parent
c8fef97125
commit
d3b2733ad5
24 changed files with 206 additions and 99 deletions
|
|
@ -30,7 +30,7 @@
|
|||
use-chips
|
||||
multiple
|
||||
class="col-xs-12 col-sm-4"
|
||||
v-if="statusPayment"
|
||||
v-if="statusPayment && checkPermission($route)?.attrIsUpdate"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" color="blue" />
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
round
|
||||
flat
|
||||
color="blue"
|
||||
v-if="statusPayment"
|
||||
v-if="statusPayment && checkPermission($route)?.attrIsUpdate"
|
||||
@click="uploadFile"
|
||||
>
|
||||
<q-tooltip v-if="setSeat == false">อัปโหลดที่นั่งสอบ</q-tooltip>
|
||||
|
|
@ -71,6 +71,7 @@
|
|||
</div>
|
||||
<div>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
size="md"
|
||||
icon="mdi-playlist-check"
|
||||
round
|
||||
|
|
@ -125,7 +126,7 @@
|
|||
round
|
||||
flat
|
||||
color="indigo"
|
||||
v-if="statusPayment && setSeat == true"
|
||||
v-if="statusPayment && setSeat == true && checkPermission($route)?.attrIsUpdate"
|
||||
@click="candidateToPlacement"
|
||||
>
|
||||
<q-tooltip>บรรจุผู้ผ่านการคัดเลือก</q-tooltip>
|
||||
|
|
@ -209,7 +210,7 @@
|
|||
</template>
|
||||
<template v-slot:header="props">
|
||||
<q-tr :props="props">
|
||||
<q-th auto-width>
|
||||
<q-th auto-width v-if="checkPermission($route)?.attrIsUpdate">
|
||||
<q-checkbox v-model="props.selected" />
|
||||
</q-th>
|
||||
<q-th auto-width v-if="boss == true" />
|
||||
|
|
@ -232,6 +233,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, useAttrs, watch, watchEffect } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -34,6 +35,7 @@
|
|||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsDelete"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -61,7 +63,9 @@
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="clickDetail(props.row.id)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet && clickDetail(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
@ -80,7 +84,9 @@
|
|||
round
|
||||
color="green"
|
||||
@click.stop.prevent="clickEdit(props.row.id)"
|
||||
v-if="col.value == null"
|
||||
v-if="
|
||||
col.value == null && checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<!-- นำเข้าไฟล์ผลคะแนนสอบ -->
|
||||
|
|
@ -89,6 +95,7 @@
|
|||
<div v-else>
|
||||
{{ col.value }}
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -101,6 +108,7 @@
|
|||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsGet"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -109,7 +117,9 @@
|
|||
@click.stop.prevent="clickPassExam(props.row.id)"
|
||||
icon="mdi-clipboard-arrow-down"
|
||||
>
|
||||
<q-tooltip>ดาวน์โหลดรายชื่อผู้สอบคัดเลือกคนพิการได้</q-tooltip>
|
||||
<q-tooltip
|
||||
>ดาวน์โหลดรายชื่อผู้สอบคัดเลือกคนพิการได้</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -121,7 +131,10 @@
|
|||
color="green"
|
||||
round
|
||||
@click.stop.prevent="clickUpload(props.row.id)"
|
||||
v-if="col.value == null || col.value == '0'"
|
||||
v-if="
|
||||
(col.value == null || col.value == '0') &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<q-tooltip>นำเข้าไฟล์ผู้สมัครสอบ</q-tooltip>
|
||||
|
|
@ -130,6 +143,7 @@
|
|||
{{ col.value }}
|
||||
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -142,6 +156,7 @@
|
|||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsGet"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -158,7 +173,6 @@
|
|||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</Table>
|
||||
|
|
@ -359,6 +373,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import type { QTableProps } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { onMounted, ref } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useQuasar } from "quasar";
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="viewDetail(props.row)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet && viewDetail(props.row)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
@ -49,6 +51,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import type { QTableProps } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { onMounted, ref } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsDelete"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
|
|
@ -38,7 +39,11 @@
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="clickEdit(props.row)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
? clickEdit(props.row)
|
||||
: undefined
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'" class="table_ellipsis2">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
@ -69,7 +74,6 @@
|
|||
{{ col.value }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</Table>
|
||||
|
|
@ -77,6 +81,7 @@
|
|||
</q-card>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import type { QTableProps } from "quasar";
|
||||
import { onMounted, ref } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
|
|
@ -221,11 +226,11 @@ const fetchData = async () => {
|
|||
.get(config.API.periodExamType("all"))
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
console.log("🚀 ~ .then ~ data:", data)
|
||||
console.log("🚀 ~ .then ~ data:", data);
|
||||
let result: ResponsePeriodExam[] = [];
|
||||
if (data.length > 0) {
|
||||
data.map((r: RequestPeriodExam) => {
|
||||
const positionData: ResponsePosition[] = [];
|
||||
const positionData: any[] = [];
|
||||
r.positionExam.map((r: RequestPosition) => {
|
||||
positionData.push({
|
||||
id: r.id,
|
||||
|
|
@ -237,7 +242,7 @@ const fetchData = async () => {
|
|||
id: r.typeId,
|
||||
name: r.typeName,
|
||||
},
|
||||
highDegree: r.highDegree,
|
||||
highDegree: Boolean(r.highDegree),
|
||||
});
|
||||
});
|
||||
const bankData: ResponsePayment[] = [];
|
||||
|
|
|
|||
|
|
@ -97,14 +97,17 @@
|
|||
>
|
||||
<template #columns="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-td auto-width v-if="checkPermission($route)?.attrIsUpdate">
|
||||
<q-checkbox v-model="props.selected" />
|
||||
</q-td>
|
||||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="viewDetail(props.row.id, props.row.status)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsUpdate &&
|
||||
viewDetail(props.row.id, props.row.status)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'" class="table_ellipsis">
|
||||
{{ (page - 1) * pageSize + props.rowIndex + 1 }}
|
||||
|
|
@ -217,6 +220,7 @@
|
|||
</template>
|
||||
<script setup lang="ts">
|
||||
import type { QTableProps } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { onMounted, ref, watch } from "vue";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ function helpPost() {
|
|||
await http
|
||||
.post(config.API.placemenHelpGov, formData)
|
||||
.then(async () => {
|
||||
await router.push("/help-government");
|
||||
await router.push("/placement/help-government");
|
||||
await success($q, "ดำเนินการสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -333,7 +333,7 @@ function repatriationPost() {
|
|||
await http
|
||||
.post(config.API.placemenRepatriation, formData)
|
||||
.then(async () => {
|
||||
await router.push("/repatriate");
|
||||
await router.push("/placement/repatriate");
|
||||
await success($q, "ดำเนินการสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -356,7 +356,7 @@ function appointPost() {
|
|||
await http
|
||||
.post(config.API.placemenAppointment, formData)
|
||||
.then(async () => {
|
||||
await router.push("/appoint-promote");
|
||||
await router.push("/placement/appoint-promote");
|
||||
await success($q, "ดำเนินการสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -386,7 +386,7 @@ function outPost() {
|
|||
await http
|
||||
.post(config.API.retirementOut, formData)
|
||||
.then(async () => {
|
||||
await router.push("/dismiss-order");
|
||||
await router.push("/retirement/dismiss-order");
|
||||
await success($q, "ดำเนินการสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -409,7 +409,7 @@ function otherPost() {
|
|||
await http
|
||||
.post(config.API.placemenOther, formData)
|
||||
.then(async () => {
|
||||
await router.push("/other");
|
||||
await router.push("/placement/other");
|
||||
await success($q, "ดำเนินการสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
|
|
@ -461,8 +461,8 @@ function clickSaveDeceased() {
|
|||
await http
|
||||
.post(config.API.listDeceased(), formData)
|
||||
.then(async () => {
|
||||
await router.push("/retirement/deceased");
|
||||
await success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
await router.push("/deceased");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -190,7 +191,7 @@ onMounted(async () => {
|
|||
แก้ไขข้อมูลเพื่อลงบัญชีแนบท้าย
|
||||
</div>
|
||||
<q-space />
|
||||
<div v-if="status !== 'DONE' && status !== 'REPORT'">
|
||||
<div v-if="status !== 'DONE' && status !== 'REPORT' && checkPermission($route)?.attrIsUpdate">
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import type { QTableProps } from "quasar";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
|
|
@ -541,6 +542,7 @@ function onSave(data: any) {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
@click="popup()"
|
||||
size="14px"
|
||||
flat
|
||||
|
|
@ -609,7 +611,13 @@ function onSave(data: any) {
|
|||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-td
|
||||
auto-width
|
||||
v-if="
|
||||
checkPermission($route)?.attrIsUpdate ||
|
||||
checkPermission($route)?.attrIsDelete
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
|
|
@ -627,25 +635,8 @@ function onSave(data: any) {
|
|||
transition-hide="jump-up"
|
||||
>
|
||||
<q-list dense style="min-width: 200px">
|
||||
<!-- <q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalEmployee(props.row.personalId)"
|
||||
>
|
||||
<q-item-section
|
||||
style="min-width: 0px"
|
||||
avatar
|
||||
class="q-py-sm"
|
||||
>
|
||||
<q-icon
|
||||
color="primary"
|
||||
size="xs"
|
||||
name="mdi-bookmark-outline"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>กำหนดตำแหน่ง</q-item-section>
|
||||
</q-item> -->
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row, 'SLIP')"
|
||||
|
|
@ -666,6 +657,7 @@ function onSave(data: any) {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row, 'MOVE')"
|
||||
|
|
@ -686,6 +678,7 @@ function onSave(data: any) {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsDelete"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="clickDelete(props.row.id)"
|
||||
|
|
@ -708,7 +701,9 @@ function onSave(data: any) {
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="nextPage(props.row.id)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet && nextPage(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
@ -764,7 +759,6 @@ function onSave(data: any) {
|
|||
{{ col.value ? col.value : "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref, reactive } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -172,7 +173,13 @@ onMounted(async () => {
|
|||
แก้ไขข้อมูลเพื่อลงบัญชีแนบท้าย
|
||||
</div>
|
||||
<q-space />
|
||||
<div v-if="status !== 'DONE' && status !== 'REPORT'">
|
||||
<div
|
||||
v-if="
|
||||
status !== 'DONE' &&
|
||||
status !== 'REPORT' &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import type { QTableProps } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -334,6 +335,7 @@ onMounted(() => {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
@click="sendToCommand()"
|
||||
size="14px"
|
||||
flat
|
||||
|
|
@ -402,7 +404,13 @@ onMounted(() => {
|
|||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-td
|
||||
auto-width
|
||||
v-if="
|
||||
checkPermission($route)?.attrIsUpdate ||
|
||||
checkPermission($route)?.attrIsDelete
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
|
|
@ -421,6 +429,7 @@ onMounted(() => {
|
|||
>
|
||||
<q-list dense style="min-width: 250px">
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row, 'APPOINT')"
|
||||
|
|
@ -441,6 +450,7 @@ onMounted(() => {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row, 'SLIP')"
|
||||
|
|
@ -461,6 +471,7 @@ onMounted(() => {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row, 'MOVE')"
|
||||
|
|
@ -481,6 +492,7 @@ onMounted(() => {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsDelete"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="clickDelete(props.row.id)"
|
||||
|
|
@ -503,7 +515,9 @@ onMounted(() => {
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="nextPage(props.row.id)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet && nextPage(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
@ -559,7 +573,6 @@ onMounted(() => {
|
|||
{{ col.value ? col.value : "-" }}
|
||||
</div>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</d-table>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref, reactive } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { usePlacementDataStore } from "@/modules/05_placement/store";
|
||||
|
|
@ -298,10 +299,10 @@ async function expiredAccountFilter() {
|
|||
await DataStore.DataMain(updatedRows);
|
||||
}
|
||||
|
||||
function paginationLabel(start: number, end: number, total: number){
|
||||
function paginationLabel(start: number, end: number, total: number) {
|
||||
if (paging.value == true) return " " + start + "-" + end + " ใน " + total;
|
||||
else return start + "-" + end + " ใน " + total;
|
||||
};
|
||||
}
|
||||
|
||||
/** filter ใน dropdown ครั้งที่ */
|
||||
|
||||
|
|
@ -542,7 +543,10 @@ onMounted(async () => {
|
|||
<q-tr
|
||||
:props="props"
|
||||
class="cursor-pointer"
|
||||
@click="redirectToPage(props.row.id)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet &&
|
||||
redirectToPage(props.row.id)
|
||||
"
|
||||
>
|
||||
<q-td key="id" :props="props">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
|
@ -168,7 +169,13 @@ onMounted(async () => {
|
|||
แก้ไขข้อมูลเพื่อลงบัญชีแนบท้าย
|
||||
</div>
|
||||
<q-space />
|
||||
<div v-if="status !== 'DONE' && status !== 'REPORT'">
|
||||
<div
|
||||
v-if="
|
||||
status !== 'DONE' &&
|
||||
status !== 'REPORT' &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
|
||||
|
|
@ -201,14 +202,15 @@ const clickDelete = (id: string) => {
|
|||
showLoader();
|
||||
await http
|
||||
.delete(config.API.otherByid(id))
|
||||
.then(() => {
|
||||
success($q, "ลบข้อมูลสำเร็จ");
|
||||
.then(async () => {
|
||||
await fecthlistOthet();
|
||||
await success($q, "ลบข้อมูลสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
fecthlistOthet();
|
||||
hideLoader();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
@ -239,6 +241,7 @@ onMounted(() => {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
@click="popup()"
|
||||
size="14px"
|
||||
flat
|
||||
|
|
@ -305,15 +308,12 @@ onMounted(() => {
|
|||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-td auto-width v-if="checkPermission($route)?.attrIsDelete">
|
||||
<q-btn
|
||||
:color="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
? 'grey'
|
||||
: 'red-7'
|
||||
"
|
||||
:disable="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
color=" red-7"
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
props.row.status !== 'DONE'
|
||||
"
|
||||
flat
|
||||
round
|
||||
|
|
@ -327,7 +327,9 @@ onMounted(() => {
|
|||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.id"
|
||||
@click.stop.prevent="nextPage(props.row.id)"
|
||||
@click.stop.prevent="
|
||||
checkPermission($route)?.attrIsGet && nextPage(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted, watch, reactive, computed } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar, QForm } from "quasar";
|
||||
import type { QTableProps } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -788,7 +789,10 @@ onMounted(async () => {
|
|||
<q-tr :props="props">
|
||||
<q-td auto-width>
|
||||
<q-btn
|
||||
v-if="props.row.statusId !== 'CONTAIN'"
|
||||
v-if="
|
||||
props.row.statusId !== 'CONTAIN' &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
icon="mdi-dots-vertical"
|
||||
size="12px"
|
||||
color="grey-7"
|
||||
|
|
@ -1163,7 +1167,6 @@ onMounted(async () => {
|
|||
</div>
|
||||
</template>
|
||||
</q-td>
|
||||
|
||||
</q-tr>
|
||||
</template>
|
||||
</Table>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, useAttrs } from "vue";
|
||||
import { QTooltip, useQuasar } from "quasar";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
|
||||
const $q = useQuasar();
|
||||
const attrs = ref<any>(useAttrs());
|
||||
|
|
@ -172,7 +173,7 @@ function updateModaladdlist() {
|
|||
color="primary"
|
||||
icon="mdi-account-arrow-right"
|
||||
@click="updateModaladdlist"
|
||||
v-if="displayAdd"
|
||||
v-if="displayAdd && checkPermission($route)?.attrIsUpdate"
|
||||
>
|
||||
<q-tooltip>ส่งรายชื่อไปยังหน่วยงาน</q-tooltip>
|
||||
</q-btn>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -503,7 +504,10 @@ onMounted(async () => {
|
|||
label="แก้ไข"
|
||||
style="width: 80px"
|
||||
@click="edit = !edit"
|
||||
v-if="!(status == 'REPORT' || status == 'DONE')"
|
||||
v-if="
|
||||
!(status == 'REPORT' || status == 'DONE') &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
<div class="q-gutter-sm" v-else>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useTransferDataStore } from "@/modules/05_placement/store";
|
||||
|
|
@ -364,10 +365,18 @@ onMounted(() => {
|
|||
<div class="row q-pa-md">
|
||||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn flat round color="primary" @click="add" icon="mdi-plus">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsCreate"
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
@click="add"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
|
|
@ -433,7 +442,13 @@ onMounted(() => {
|
|||
</template>
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-td
|
||||
auto-width
|
||||
v-if="
|
||||
checkPermission($route)?.attrIsUpdate ||
|
||||
checkPermission($route)?.attrIsDelete
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
|
|
@ -452,6 +467,7 @@ onMounted(() => {
|
|||
>
|
||||
<q-list dense style="min-width: 100px">
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openModalTree(props.row.id, props.row)"
|
||||
|
|
@ -477,6 +493,7 @@ onMounted(() => {
|
|||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openUpload(props.row.id)"
|
||||
|
|
@ -504,6 +521,7 @@ onMounted(() => {
|
|||
<q-item-section>อัปโหลดเอกสาร</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
v-if="checkPermission($route)?.attrIsDelete"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="openDelete(props.row.id)"
|
||||
|
|
@ -539,7 +557,9 @@ onMounted(() => {
|
|||
v-for="col in props.cols"
|
||||
:key="col.name"
|
||||
:props="props"
|
||||
@click="nextPage(props.row.id)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet && nextPage(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name == 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -226,6 +227,7 @@ onMounted(async () => {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
flat
|
||||
round
|
||||
size="14px"
|
||||
|
|
@ -294,20 +296,18 @@ onMounted(async () => {
|
|||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-btn
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
props.row.status !== 'DONE' &&
|
||||
checkPermission($route)?.attrIsDelete
|
||||
"
|
||||
icon="delete"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
:color="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
? 'grey'
|
||||
: 'red-7'
|
||||
"
|
||||
color="red-7"
|
||||
@click="clickDelete(props.row.fullname, props.row.id)"
|
||||
:disable="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
"
|
||||
>
|
||||
<q-tooltip>ลบข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
|
|
@ -315,7 +315,10 @@ onMounted(async () => {
|
|||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.id"
|
||||
@click.stop.prevent="openDetail(props.row.id)"
|
||||
@click.stop.prevent="
|
||||
checkPermission($route)?.attrIsGet &&
|
||||
openDetail(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -173,7 +174,10 @@ onMounted(() => {
|
|||
label="แก้ไข"
|
||||
style="width: 80px"
|
||||
@click="edit = !edit"
|
||||
v-if="!(status == 'REPORT' || status == 'DONE')"
|
||||
v-if="
|
||||
!(status == 'REPORT' || status == 'DONE') &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
<div class="q-gutter-sm" v-else>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import type { QTableProps } from "quasar";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
|
|
@ -184,6 +185,7 @@ onMounted(async () => {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
@click="openModalOrder"
|
||||
size="14px"
|
||||
flat
|
||||
|
|
@ -254,7 +256,10 @@ onMounted(async () => {
|
|||
v-for="col in props.cols"
|
||||
:key="col.id"
|
||||
class="cursor-pointer"
|
||||
@click="router.push(`/placement/transfer/${props.row.id}`)"
|
||||
@click="
|
||||
checkPermission($route)?.attrIsGet &&
|
||||
router.push(`/placement/transfer/${props.row.id}`)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { onMounted, ref } from "vue";
|
|||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
|
||||
// import CurrencyInput from "@/components/CurruncyInput.vue";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -523,7 +524,9 @@ onMounted(async () => {
|
|||
style="width: 80px"
|
||||
@click="edit = !edit"
|
||||
v-if="
|
||||
!(responseData.status == 'REPORT' || responseData.status == 'DONE')
|
||||
!(
|
||||
responseData.status == 'REPORT' || responseData.status == 'DONE'
|
||||
) && checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import http from "@/plugins/http";
|
||||
|
|
@ -166,7 +167,10 @@ onMounted(() => {
|
|||
label="แก้ไข"
|
||||
style="width: 80px"
|
||||
@click="edit = !edit"
|
||||
v-if="!(status == 'REPORT' || status == 'DONE')"
|
||||
v-if="
|
||||
!(status == 'REPORT' || status == 'DONE') &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
<div class="q-gutter-sm" v-else>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { checkPermission } from "@/utils/permissions";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
|
@ -223,9 +224,9 @@ const clickDelete = async (id: string) => {
|
|||
showLoader();
|
||||
http
|
||||
.delete(config.API.officerMainDelete(id))
|
||||
.then(() => {
|
||||
getData();
|
||||
success($q, "ลบข้อมูลสำเร็จ");
|
||||
.then(async () => {
|
||||
await getData();
|
||||
await success($q, "ลบข้อมูลสำเร็จ");
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -248,6 +249,7 @@ onMounted(async () => {
|
|||
<div class="col-12">
|
||||
<div class="row col-12">
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
@click="openModalOrder"
|
||||
size="14px"
|
||||
flat
|
||||
|
|
@ -316,20 +318,18 @@ onMounted(async () => {
|
|||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td auto-width>
|
||||
<q-btn
|
||||
v-if="
|
||||
props.row.status !== 'REPORT' &&
|
||||
props.row.status !== 'DONE' &&
|
||||
checkPermission($route)?.attrIsDelete
|
||||
"
|
||||
icon="delete"
|
||||
size="14px"
|
||||
flat
|
||||
round
|
||||
dense
|
||||
:color="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
? 'grey'
|
||||
: 'red-7'
|
||||
"
|
||||
color="red-7"
|
||||
@click="clickDelete(props.row.id)"
|
||||
:disable="
|
||||
props.row.status == 'REPORT' || props.row.status == 'DONE'
|
||||
"
|
||||
>
|
||||
<q-tooltip>ลบข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
|
|
@ -337,7 +337,10 @@ onMounted(async () => {
|
|||
<q-td
|
||||
v-for="col in props.cols"
|
||||
:key="col.id"
|
||||
@click.stop.prevent="openDetail(props.row.id)"
|
||||
@click.stop.prevent="
|
||||
checkPermission($route)?.attrIsGet &&
|
||||
openDetail(props.row.id)
|
||||
"
|
||||
>
|
||||
<div v-if="col.name === 'no'">
|
||||
{{ props.rowIndex + 1 }}
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ onMounted(async () => {
|
|||
<template v-slot:body="props">
|
||||
<q-tr :props="props" class="cursor-pointer">
|
||||
<q-td>
|
||||
<q-icon
|
||||
<!-- <q-icon
|
||||
v-if="props.row.period_isActive == true"
|
||||
name="mdi-close"
|
||||
color="grey-5"
|
||||
|
|
@ -306,7 +306,7 @@ onMounted(async () => {
|
|||
color="positive"
|
||||
class="text-h5"
|
||||
@click="clickEdit(props.row)"
|
||||
/>
|
||||
/> -->
|
||||
<q-btn
|
||||
dense
|
||||
size="12px"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue