From 27b595206f18b733706c970f3ad417cbe459df9f Mon Sep 17 00:00:00 2001
From: schooltechx
Date: Wed, 12 Apr 2023 12:46:32 +0700
Subject: [PATCH] Add new exam event, Add support positions
---
cms/.env.example | 1 +
cms/src/lib/data/CMSDataType.ts | 10 +++++++-
cms/src/lib/data/qualify-exam.json | 12 +++++++++
cms/src/routes/qualifying/+page.server.ts | 28 ++++++++++++++-------
cms/src/routes/qualifying/[id]/+page.svelte | 12 +++++----
5 files changed, 48 insertions(+), 15 deletions(-)
diff --git a/cms/.env.example b/cms/.env.example
index 9f6d0ae..a7d9810 100644
--- a/cms/.env.example
+++ b/cms/.env.example
@@ -2,6 +2,7 @@
API_CMS_URL="/api"
API_QUALIFYING_URL="/api"
API_COMPETITIVE_URL="/api"
+PUBLIC_URL_REGISTER_QUALIFY_EXAM="https://bma-ehr-exam.frappet.synology.me"
# API_CMS_URL="https://bma-ehr-exam.frappet.synology.me/api/v1/cms"
# API_QUALIFYING_URL="https://bma-ehr-exam.frappet.synology.me/api/v1/cms"
diff --git a/cms/src/lib/data/CMSDataType.ts b/cms/src/lib/data/CMSDataType.ts
index b53e375..654861b 100644
--- a/cms/src/lib/data/CMSDataType.ts
+++ b/cms/src/lib/data/CMSDataType.ts
@@ -7,12 +7,20 @@ export interface Exam {
end?:string;
exam_date?:string;
announcement_date?:string;
+ announcement_endDate?:string;
+ announcementExam?:boolean;
+ register_startDate?:string;
+ register_endDate?:string;
+ payment_startDate?:string;
+ payment_endDate?:string;
category_id?:string
- category:string
+ category?:string
image?:string;
images?:{title:string,url:string}[];
files?:{title:string,url:string}[];
+ positions?:{id:string,title:string,path:string}[];
}
+
export interface CalendarEvent {
id:string;
title:string;
diff --git a/cms/src/lib/data/qualify-exam.json b/cms/src/lib/data/qualify-exam.json
index f7dd087..3d4a5e6 100644
--- a/cms/src/lib/data/qualify-exam.json
+++ b/cms/src/lib/data/qualify-exam.json
@@ -3,8 +3,20 @@
"id":"21",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-04-24",
+ "end": "2023-04-26",
+ "exam_date": "2023-04-05",
+ "announcement_date": "2023-03-05",
+ "announcement_endDate": "2023-05-05",
+ "announcementExam": false,
+ "register_startDate": "2023-04-05",
+ "register_endDate": "2023-04-05",
+ "payment_startDate": "2023-04-05",
+ "payment_endDate": "2023-04-05",
"title":"ด่วน !! ประกาศวัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"detail":"
สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร ประกาศกำหนดวัน เวลา สถานที่คัดเลือก และระเบียบ เกี่ยวกับการคัดเลือกบุคลากรกรุงเทพมหานครหรือผู้ปฏิบัติงานอื่นในกรุงเทพมหานครเพื่อบรรจุและแต่งตั้ง เป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1 / 2565
",
+ "positions":[
+ {"id":"2","title":"ผู้คุมงานทำความสะอาด","path":"2/21"}
+ ],
"images":[
{
"title":"topic",
diff --git a/cms/src/routes/qualifying/+page.server.ts b/cms/src/routes/qualifying/+page.server.ts
index 3f6ebf9..0626a83 100644
--- a/cms/src/routes/qualifying/+page.server.ts
+++ b/cms/src/routes/qualifying/+page.server.ts
@@ -13,23 +13,33 @@ export const load: PageServerLoad = async ({fetch}) => {
const events:CalendarEvent[]=[]
exams.forEach((ex)=>{
- const {id,title,start,end,category} = ex
- if(!category)
- return
- const backgroundColor = getBgColorDict(category,catColor)
-
+ const {id,category,start} = ex
+ const backgroundColor = category? getBgColorDict(category,catColor):"n/a"
const url = "/qualifying/"+id
if(start){
ex.date = dayjs(start).format("DD MMM BBBB")
- events.push({id,title,start,end,url,backgroundColor})
}
+ if(!ex.announcementExam)
+ return
if(ex.exam_date){
- events.push({id,"title":"วันสอบคัดเลือก","start":ex.exam_date,url,backgroundColor})
+ const start = ex.exam_date
+ events.push({id,"title":"วันสอบคัดเลือก",start,url,backgroundColor})
}
if(ex.announcement_date){
- events.push({id,"title":"ผลสอบคัดเลือก","start":ex.announcement_date,url,backgroundColor})
+ const start = ex.announcement_date
+ const end = ex.announcement_endDate
+ events.push({id,"title":"ผลสอบคัดเลือก",start,end,url,backgroundColor})
+ }
+ if(ex.register_startDate){
+ const start = ex.register_startDate
+ const end = ex.register_endDate
+ events.push({id,"title":"ผลสอบคัดเลือก",start,end,url,backgroundColor})
+ }
+ if(ex.payment_startDate){
+ const start = ex.payment_startDate
+ const end = ex.payment_endDate
+ events.push({id,"title":"ผลสอบคัดเลือก",start,end,url,backgroundColor})
}
-
})
return {exams,events}
}
diff --git a/cms/src/routes/qualifying/[id]/+page.svelte b/cms/src/routes/qualifying/[id]/+page.svelte
index b0ab303..b3377da 100644
--- a/cms/src/routes/qualifying/[id]/+page.svelte
+++ b/cms/src/routes/qualifying/[id]/+page.svelte
@@ -1,6 +1,8 @@
@@ -39,19 +41,19 @@
{/each}
{/if}
- {#if data.regi}
-
สมัครสอบ
- {#each data.regi as regi}
+ {#if data.positions}
+
สมัครสอบ
+ {#each data.positions as p}