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 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