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