fix: คัดเลือกผู้พิการ
This commit is contained in:
parent
c51c28483a
commit
86b98eac0d
10 changed files with 271 additions and 102 deletions
|
|
@ -332,10 +332,10 @@ onMounted(async () => {
|
|||
ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง (ภาค ข)
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreAFull }}
|
||||
{{ scoreAFull ? scoreAFull:'-' }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreA }}
|
||||
{{ scoreA ? scoreA:'-' }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ async function clickEdit(id: string) {
|
|||
*/
|
||||
async function clickResult(id: string) {
|
||||
modalResult.value = true;
|
||||
textTittleResult.value = "นำเข้าไฟล์ผลการสอบแข่งขันฯ (บัญชีรายชื่อ)";
|
||||
textTittleResult.value = "นำเข้าไฟล์ผลการสอบ";
|
||||
selected_row_id.value = id;
|
||||
}
|
||||
|
||||
|
|
@ -706,7 +706,7 @@ onMounted(async () => {
|
|||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<q-tooltip
|
||||
>นำเข้าไฟล์ผลการสอบแข่งขันฯ (บัญชีรายชื่อ)</q-tooltip
|
||||
>นำเข้าไฟล์ผลการสอบ (บัญชีรายชื่อ)</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
<div v-else>
|
||||
|
|
@ -722,7 +722,7 @@ onMounted(async () => {
|
|||
icon="mdi-file-excel-outline"
|
||||
>
|
||||
<q-tooltip
|
||||
>นำเข้าไฟล์ผลการสอบแข่งขันฯ (บัญชีรายชื่อ)
|
||||
>นำเข้าไฟล์ผลการสอบ (บัญชีรายชื่อ)
|
||||
อีกครั้ง</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
|
|
@ -956,7 +956,7 @@ onMounted(async () => {
|
|||
<DialogHeadTemplate
|
||||
:title="textTittleResult"
|
||||
:close="clickCloseResult"
|
||||
title-type="ผลการสอบแข่งขันฯ (บัญชีรายชื่อ)"
|
||||
title-type="ผลการสอบ (บัญชีรายชื่อ)"
|
||||
/>
|
||||
<q-separator />
|
||||
<q-card-section>
|
||||
|
|
@ -965,7 +965,7 @@ onMounted(async () => {
|
|||
<q-file
|
||||
v-model="files_result"
|
||||
dense
|
||||
label="เลือกไฟล์ผลการสอบแข่งขันฯ (บัญชีรายชื่อ)"
|
||||
label="เลือกไฟล์การสอบ"
|
||||
outlined
|
||||
use-chips
|
||||
multiple
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ const visibleColumns = ref<String[]>([
|
|||
"examID",
|
||||
"profileID",
|
||||
"fullName",
|
||||
"hddPosition",
|
||||
"dateOfBirth",
|
||||
"gender",
|
||||
"position_name",
|
||||
|
|
@ -83,6 +84,15 @@ const columns = ref<QTableProps["columns"]>([
|
|||
headerStyle: "font-size: 14px; min-width: 250px",
|
||||
style: "font-size: 14px; ",
|
||||
},
|
||||
{
|
||||
name: "hddPosition",
|
||||
align: "left",
|
||||
label: "บัญชีสอบ",
|
||||
sortable: true,
|
||||
field: "hddPosition",
|
||||
headerStyle: "font-size: 14px; min-width: 250px",
|
||||
style: "font-size: 14px; ",
|
||||
},
|
||||
{
|
||||
name: "dateOfBirth",
|
||||
align: "left",
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ const scoreSumFull = ref<string>("");
|
|||
const scoreSum = ref<string>("");
|
||||
const examOrder = ref<string>("");
|
||||
const number = ref<string>("");
|
||||
const scoreDFull = ref<string>("");
|
||||
const scoreD = ref<string>("");
|
||||
const typeTest = ref<string>("");
|
||||
const score_expired = ref<string>("");
|
||||
const examID = ref<string>("62150001");
|
||||
const prefix = ref<string>("นาย");
|
||||
|
|
@ -64,6 +67,7 @@ async function fetchData() {
|
|||
number.value = data.number;
|
||||
examOrder.value = data.examOrder;
|
||||
score_expired.value = data.scoreExpire;
|
||||
typeTest.value = data.typeTest;
|
||||
if (data.scoreResult != null) {
|
||||
scoreAFull.value = data.scoreResult.scoreAFull;
|
||||
scoreA.value = data.scoreResult.scoreA;
|
||||
|
|
@ -74,6 +78,8 @@ async function fetchData() {
|
|||
scoreSumFull.value = data.scoreResult.scoreSumFull;
|
||||
scoreSum.value = data.scoreResult.scoreSum;
|
||||
examResultinscore.value = data.scoreResult.examResult;
|
||||
scoreDFull.value = data.scoreResult.scoreDFull;
|
||||
scoreD.value = data.scoreResult.scoreD;
|
||||
}
|
||||
} else {
|
||||
dialogMessageNotify($q, "แข่งขัน ไม่พบข้อมูล");
|
||||
|
|
@ -160,82 +166,82 @@ onMounted(async () => {
|
|||
เลขประจำตัวประชาชน
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="profile_id !== null">
|
||||
{{ profile_id }}
|
||||
{{ profile_id ? profile_id : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="prefix !== null">
|
||||
คำนำหน้าชื่อนาม
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="prefix !== null">
|
||||
{{ prefix }}
|
||||
{{ prefix ? prefix : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="fullname !== null">
|
||||
ชื่อ-นามสกุล
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="fullname !== null">
|
||||
{{ fullname }}
|
||||
{{ fullname ? fullname : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="birthdate !== null">
|
||||
วัน/เดือน/ปี เกิด
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="birthdate !== null">
|
||||
{{ birthdate }}
|
||||
{{ birthdate ? birthdate : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="gender !== null">เพศ</div>
|
||||
<div class="col-6 text-black" v-if="gender !== null">
|
||||
{{ gender }}
|
||||
{{ gender ? gender : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="position_name !== null">
|
||||
ตำแหน่งที่สมัคร
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="position_name !== null">
|
||||
{{ position_name }}
|
||||
{{ position_name ? position_name : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="university !== null">
|
||||
สถานศึกษา
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="university !== null">
|
||||
{{ university }}
|
||||
{{ university ? university : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="degree !== null">
|
||||
วุฒิการศึกษา
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="degree !== null">
|
||||
{{ degree }}
|
||||
{{ degree ? degree : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
สาขาวิชาเอก
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ major }}
|
||||
{{ major ? major : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
ครั้งที่ประกาศรับสมัคร
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ examOrder }}
|
||||
{{ examOrder ? examOrder : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="cert_issuedate !== null">
|
||||
ใบอนุญาตประกอบวิชาชีพ วัน เดือน ปีที่ได้รับ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="cert_issuedate !== null">
|
||||
{{ cert_issuedate }}
|
||||
{{ cert_issuedate ? cert_issuedate : "-" }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="examAttribute !== null">
|
||||
สถานะการคัดกรองคุณสมบัติ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="examAttribute !== null">
|
||||
{{ examAttribute }}
|
||||
{{ examAttribute ? examAttribute : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
|
|
@ -288,10 +294,23 @@ onMounted(async () => {
|
|||
<q-tooltip>ดาวน์โหลดผลคะแนน</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="row items-center q-gutter-y-sm col-12">
|
||||
<div class="col-xs-4 col-sm-5 text-weight-medium text-grey-7">
|
||||
<div class="row items-top q-gutter-y-sm col-12">
|
||||
<div class="col-xs-12 col-sm-12 text-weight-medium text-grey-7">
|
||||
ประเภท
|
||||
</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
ภาคความรู้ความสามารถทั่วไป (ภาค ก)
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ typeTest == "bangkok" ? "กทม." : "ก.พ." }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs"></div>
|
||||
<div class="col-12">
|
||||
<q-separator />
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-4 col-sm-5 text-weight-medium text-grey-7"
|
||||
></div>
|
||||
<div class="col-xs-3 col-sm-2 text-primary text-weight-bold">
|
||||
คะแนนเต็ม
|
||||
</div>
|
||||
|
|
@ -301,40 +320,46 @@ onMounted(async () => {
|
|||
<div
|
||||
class="col-xs-2 col-sm-2 text-primary text-weight-bold"
|
||||
></div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ก</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreAFull }}
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง (ภาค ข)
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreA }}
|
||||
{{ scoreAFull ? scoreAFull : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreA ? scoreA : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ข</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreBFull }}
|
||||
<div class="col-xs-12 col-sm-12 text-grey-7">
|
||||
ภาคความเหมาะสมกับตำแหน่ง (ภาค ค)
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
- ทดสอบสมรรถนะ และทดสอบจิตวิทยาฯ
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreB }}
|
||||
{{ scoreCFull ? scoreCFull : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreC ? scoreC : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ค</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">- สัมภาษณ์</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreCFull }}
|
||||
{{ scoreDFull ? scoreDFull : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreC }}
|
||||
{{ scoreD ? scoreD : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">รวมทั้งหมด</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSumFull }}
|
||||
{{ scoreSumFull ? scoreSumFull : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSum }}
|
||||
{{ scoreSum ? scoreSum : "-" }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
|
||||
|
|
@ -356,7 +381,7 @@ onMounted(async () => {
|
|||
วันหมดอายุบัญชีคัดเลือกคนพิการ
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-7 q-pr-xs">
|
||||
{{ score_expired }}
|
||||
{{ score_expired ? score_expired : "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -41,10 +41,12 @@ const year = ref<number>(new Date().getFullYear() + 543);
|
|||
const round = ref<number>(1);
|
||||
const files = ref<any>(null);
|
||||
const files_score = ref<any>(null);
|
||||
const files_result = ref<any>(null);
|
||||
const files_candidate = ref<any>(null);
|
||||
const modalAdd = ref<boolean>(false);
|
||||
const modalScore = ref<boolean>(false);
|
||||
const modalCandidate = ref<boolean>(false);
|
||||
const modalResult = ref<boolean>(false);
|
||||
const selected_row_id = ref<string>("");
|
||||
const rowsHistory = ref<ResponseHistoryObject[]>([]); //select data history
|
||||
const tittleHistory = ref<string>("ประวัติการนำเข้าข้อมูล"); //
|
||||
|
|
@ -56,6 +58,7 @@ const filterHistory = ref<string>(""); //search data table
|
|||
const textTittle = ref<string>("");
|
||||
const textTittleScore = ref<string>("");
|
||||
const textTittleCandidate = ref<string>("");
|
||||
const textTittleResult = ref<string>("");
|
||||
const initialPagination = ref<Pagination>({
|
||||
rowsPerPage: 0,
|
||||
sortBy: "year",
|
||||
|
|
@ -67,6 +70,7 @@ const visibleColumns = ref<String[]>([
|
|||
"year",
|
||||
"examCount",
|
||||
"scoreCount",
|
||||
"result",
|
||||
]);
|
||||
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
|
|
@ -112,7 +116,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
},
|
||||
{
|
||||
name: "examCount",
|
||||
label: "จำนวนผู้สอบทั้งหมด",
|
||||
label: "ข้อมูลผู้สมัครสอบ",
|
||||
align: "right",
|
||||
field: "examCount",
|
||||
sortable: true,
|
||||
|
|
@ -121,13 +125,22 @@ const columns = ref<QTableProps["columns"]>([
|
|||
},
|
||||
{
|
||||
name: "scoreCount",
|
||||
label: "จำนวนที่บันทึกผลสอบ",
|
||||
label: "บัญชีรวมคะแนน",
|
||||
align: "right",
|
||||
field: "scoreCount",
|
||||
sortable: true,
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
{
|
||||
name: "result",
|
||||
label: "ผลการสอบ",
|
||||
align: "right",
|
||||
field: "result",
|
||||
sortable: true,
|
||||
headerStyle: "font-size: 14px",
|
||||
style: "font-size: 14px",
|
||||
},
|
||||
]);
|
||||
|
||||
const columnsHistory = ref<QTableProps["columns"]>([
|
||||
|
|
@ -177,7 +190,7 @@ async function clickPassExam(id: string) {
|
|||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
data.reportName = `CandidateList`;
|
||||
await genReport(data, data.reportName, "pdf");
|
||||
await genReport(data, "รายชื่อผู้สอบแข่งขันได้", "pdf");
|
||||
})
|
||||
.catch(async (e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -195,7 +208,7 @@ async function clickCandidateList(id: string) {
|
|||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
data.reportName = `CandidateList`;
|
||||
await genReport(data, data.reportName, "pdf");
|
||||
await genReport(data, "รายชื่อผู้มีสิทธิ์สอบ", "pdf");
|
||||
})
|
||||
.catch(async (e) => {
|
||||
messageError($q, e);
|
||||
|
|
@ -256,14 +269,24 @@ function clickDetail(id: string) {
|
|||
/** นำเข้าไฟล์ผลคะแนนสอบ */
|
||||
async function clickEdit(id: string) {
|
||||
modalScore.value = true;
|
||||
textTittleScore.value = "นำเข้าผลการคัดเลือกคนพิการ";
|
||||
textTittleScore.value = "นำเข้าบัญชีรวมคะแนน";
|
||||
selected_row_id.value = id;
|
||||
}
|
||||
|
||||
/** นำเข้าไฟล์ผู้สมัครสอบ */
|
||||
async function clickUpload(id: string) {
|
||||
modalCandidate.value = true;
|
||||
textTittleCandidate.value = "นำเข้าผู้สมัครคัดเลือกคนพิการ";
|
||||
textTittleCandidate.value = "นำเข้าผู้สมัครสอบคัดเลือก";
|
||||
selected_row_id.value = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* นำเข้าไฟล์ลำดับ
|
||||
* @param id รอบสอบเเข่งขัน
|
||||
*/
|
||||
async function clickResult(id: string) {
|
||||
modalResult.value = true;
|
||||
textTittleResult.value = "นำเข้าไฟล์ผลการสอบ";
|
||||
selected_row_id.value = id;
|
||||
}
|
||||
|
||||
|
|
@ -345,6 +368,12 @@ async function clickCloseCandidate() {
|
|||
files_candidate.value = null;
|
||||
}
|
||||
|
||||
/** ปิด dialog เลือกไฟล์ผลการสอบ */
|
||||
async function clickCloseResult() {
|
||||
modalResult.value = false;
|
||||
files_result.value = null;
|
||||
}
|
||||
|
||||
/** บันทึก รอบการคัดเลือก */
|
||||
async function checkSaveCandidate() {
|
||||
const fd = new FormData();
|
||||
|
|
@ -387,6 +416,28 @@ async function checkSaveScore() {
|
|||
});
|
||||
}
|
||||
|
||||
/** บันทึกข้อมูล เลือกไฟล์ผลการสอบแข่งขันฯ */
|
||||
async function checkSaveResult() {
|
||||
const fd = new FormData();
|
||||
fd.append("attachment", files_result.value[0]);
|
||||
showLoader();
|
||||
await http
|
||||
.post(config.API.uploadResult(selected_row_id.value), fd)
|
||||
.then((res) => {
|
||||
success($q, "นำเข้าข้อมูลผลการสอบแข่งขันฯ (บัญชีรายชื่อ)");
|
||||
modalResult.value = false;
|
||||
files_result.value = null;
|
||||
selected_row_id.value = "";
|
||||
fetchData();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
|
||||
/** บันทึกข้อมูล */
|
||||
async function checkSave() {
|
||||
const fd = new FormData();
|
||||
|
|
@ -513,7 +564,9 @@ onMounted(async () => {
|
|||
name="mdi-history"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>แสดงประวัติการนำเข้าข้อมูล</q-item-section>
|
||||
<q-item-section
|
||||
>แสดงประวัติการนำเข้าข้อมูล</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
|
|
@ -526,54 +579,6 @@ onMounted(async () => {
|
|||
<div v-else-if="col.name == 'name'" class="table_ellipsis2">
|
||||
{{ col.value }}
|
||||
</div>
|
||||
<div v-else-if="col.name == 'scoreCount'" class="table_ellipsis2">
|
||||
<q-btn
|
||||
flat
|
||||
dense
|
||||
size="12px"
|
||||
round
|
||||
color="green"
|
||||
:disable="props.row.examCount == 0"
|
||||
@click.stop.prevent="clickEdit(props.row.id)"
|
||||
v-if="
|
||||
col.value == null && checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<!-- นำเข้าไฟล์ผลคะแนนสอบ -->
|
||||
<q-tooltip>นำเข้าไฟล์ผลคะแนนสอบ</q-tooltip>
|
||||
</q-btn>
|
||||
<div v-else>
|
||||
{{ col.value }}
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="green"
|
||||
@click.stop.prevent="clickEdit(props.row.id)"
|
||||
icon="mdi-file-excel-outline"
|
||||
>
|
||||
<q-tooltip>นำเข้าไฟล์ผลคะแนนสอบอีกครั้ง</q-tooltip>
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsGet"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="indigo"
|
||||
@click.stop.prevent="clickPassExam(props.row.id)"
|
||||
icon="mdi-clipboard-arrow-down"
|
||||
>
|
||||
<q-tooltip
|
||||
>ดาวน์โหลดรายชื่อผู้สอบคัดเลือกคนพิการได้</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="col.name == 'examCount'" class="table_ellipsis2">
|
||||
<q-btn
|
||||
flat
|
||||
|
|
@ -620,6 +625,91 @@ onMounted(async () => {
|
|||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="col.name == 'scoreCount'" class="table_ellipsis2">
|
||||
<q-btn
|
||||
flat
|
||||
dense
|
||||
size="12px"
|
||||
round
|
||||
color="green"
|
||||
:disable="props.row.examCount == 0"
|
||||
@click.stop.prevent="clickEdit(props.row.id)"
|
||||
v-if="
|
||||
col.value == null && checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<!-- นำเข้าไฟล์ผลคะแนนสอบ -->
|
||||
<q-tooltip>นำเข้าไฟล์ผลคะแนนสอบ</q-tooltip>
|
||||
</q-btn>
|
||||
<div v-else>
|
||||
{{ col.value }}
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="green"
|
||||
@click.stop.prevent="clickEdit(props.row.id)"
|
||||
icon="mdi-file-excel-outline"
|
||||
>
|
||||
<q-tooltip>นำเข้าไฟล์ผลคะแนนสอบอีกครั้ง</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else-if="col.name == 'result'" class="table_ellipsis2">
|
||||
<q-btn
|
||||
:disable="props.row.score == null"
|
||||
flat
|
||||
dense
|
||||
size="12px"
|
||||
color="green"
|
||||
round
|
||||
@click.stop.prevent="clickResult(props.row.id)"
|
||||
v-if="
|
||||
(props.row.score == null || props.row.score.resultCount == 0) &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
"
|
||||
>
|
||||
<q-icon name="mdi-file-excel-outline" size="20px" />
|
||||
<q-tooltip>นำเข้าไฟล์ผลการสอบ (บัญชีรายชื่อ)</q-tooltip>
|
||||
</q-btn>
|
||||
<div v-else>
|
||||
{{ props.row.score.resultCount }}
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsUpdate"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="green"
|
||||
@click.stop.prevent="clickResult(props.row.id)"
|
||||
icon="mdi-file-excel-outline"
|
||||
>
|
||||
<q-tooltip
|
||||
>นำเข้าไฟล์ผลการสอบ (บัญชีรายชื่อ) อีกครั้ง</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
|
||||
<q-btn
|
||||
v-if="checkPermission($route)?.attrIsGet"
|
||||
dense
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="indigo"
|
||||
@click.stop.prevent="clickPassExam(props.row.id)"
|
||||
icon="mdi-clipboard-arrow-down"
|
||||
>
|
||||
<q-tooltip
|
||||
>ดาวน์โหลดรายชื่อผู้สอบแข่งขันได้</q-tooltip
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
{{ col.value }}
|
||||
</div>
|
||||
|
|
@ -738,13 +828,57 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</q-dialog>
|
||||
|
||||
<q-dialog v-model="modalScore" persistent>
|
||||
<q-dialog v-model="modalCandidate" persistent>
|
||||
<q-card style="width: 600px">
|
||||
<q-form ref="myFormScore">
|
||||
<DialogHeadTemplate
|
||||
:title="textTittleCandidate"
|
||||
:close="clickCloseCandidate"
|
||||
title-type="ข้อมูลผู้สมัครสอบ"
|
||||
/>
|
||||
<q-separator />
|
||||
<q-card-section>
|
||||
<div class="col-12 row items-center q-col-gutter-sm">
|
||||
<div class="col-12">
|
||||
<q-file
|
||||
v-model="files_candidate"
|
||||
dense
|
||||
label="เลือกไฟล์ผู้สมัครสอบคัดเลือก"
|
||||
outlined
|
||||
use-chips
|
||||
multiple
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
<q-separator />
|
||||
<q-card-actions class="text-primary q-py-sm">
|
||||
<q-space />
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="public"
|
||||
@click="checkSaveCandidate"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึก</q-tooltip>
|
||||
</q-btn>
|
||||
</q-card-actions>
|
||||
</q-form>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
|
||||
<q-dialog v-model="modalScore" persistent>
|
||||
<q-card style="width: 600px">
|
||||
<q-form ref="myFormScore">
|
||||
<DialogHeadTemplate
|
||||
:title="textTittleScore"
|
||||
:close="clickCloseScore"
|
||||
title-type="สรรหา_สอบคัดเลือกคนพิการ_จำนวนที่บันทึกผลสอบ"
|
||||
title-type="บัญชีรวมคะแนน"
|
||||
/>
|
||||
<q-separator />
|
||||
<q-card-section>
|
||||
|
|
@ -753,7 +887,7 @@ onMounted(async () => {
|
|||
<q-file
|
||||
v-model="files_score"
|
||||
dense
|
||||
label="เลือกไฟล์ผลการคัดเลือกคนพิการ"
|
||||
label="เลือกไฟล์บัญชีรวมคะแนน"
|
||||
outlined
|
||||
use-chips
|
||||
multiple
|
||||
|
|
@ -782,22 +916,22 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</q-dialog>
|
||||
|
||||
<q-dialog v-model="modalCandidate" persistent>
|
||||
<q-dialog v-model="modalResult" persistent>
|
||||
<q-card style="width: 600px">
|
||||
<q-form ref="myFormScore">
|
||||
<DialogHeadTemplate
|
||||
:title="textTittleCandidate"
|
||||
:close="clickCloseCandidate"
|
||||
title-type="สรรหา_สอบคัดเลือกคนพิการ_จำนวนผู้สอบทั้งหมด"
|
||||
:title="textTittleResult"
|
||||
:close="clickCloseResult"
|
||||
title-type="ผลการสอบ (บัญชีรายชื่อ)"
|
||||
/>
|
||||
<q-separator />
|
||||
<q-card-section>
|
||||
<div class="col-12 row items-center q-col-gutter-sm">
|
||||
<div class="col-12">
|
||||
<q-file
|
||||
v-model="files_candidate"
|
||||
v-model="files_result"
|
||||
dense
|
||||
label="เลือกไฟล์ผู้สมัครคัดเลือกคนพิการ"
|
||||
label="เลือกไฟล์การสอบ"
|
||||
outlined
|
||||
use-chips
|
||||
multiple
|
||||
|
|
@ -816,7 +950,7 @@ onMounted(async () => {
|
|||
flat
|
||||
round
|
||||
color="public"
|
||||
@click="checkSaveCandidate"
|
||||
@click="checkSaveResult"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึก</q-tooltip>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue