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";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue