Update for supported new date field

This commit is contained in:
schooltechx 2023-04-12 16:41:55 +07:00
parent 1b1c37510b
commit f8254e92c9
13 changed files with 135 additions and 178 deletions

View file

@ -3,8 +3,8 @@ export interface Exam {
title:string;
detail?:string;
date?:string;
announcement_startDate:string;
announcement_endDate:string;
announcement_startDate?:string;
announcement_endDate?:string;
announcementExam?:boolean;
register_startDate?:string;
register_endDate?:string;

View file

@ -1,17 +1,23 @@
[
{
"id":"20",
"start":"2023-04-24",
"id":"20","title":"ประกาศรายชื่อผู้ผ่านภาค ข. และมีสิทธิสอบภาค ค. ในการคัดเลือกคนพิการ ครั้งที่ 1/2565",
"detail":"<p><b>ประกาศรายชื่อผู้ผ่านภาค</b> ข. และมีสิทธิสอบภาค ค. ในการคัดเลือกคนพิการ ครั้งที่ 1/2565</p> <p> <img src='https://webportal.bangkok.go.th/public/user_files_editor/305/%E0%B8%9B%E0%B8%8F%E0%B8%B4%E0%B8%97%E0%B8%B4%E0%B8%99%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%84.%E0%B8%84%E0%B8%99%E0%B8%9E%E0%B8%B4%E0%B8%81%E0%B8%B2%E0%B8%A3.jpg'> </p>",
"title":"ประกาศรายชื่อผู้ผ่านภาค ข. และมีสิทธิสอบภาค ค. ในการคัดเลือกคนพิการ ครั้งที่ 1/2565",
"category":"สำนักงาน ก.ก.","category_id":"1",
"announcement_startDate": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": false,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-11",
"payment_endDate": "2023-04-20",
"exam_date": "2023-04-28",
"images":[
{
"title":"topic",
"url":"/images/c1.jpg"
}
],
"regi":[
"positions":[
{
"title":"เจ้าพนักงานเภสัชกรรมปฏิบัติงาน",
"url":"/"
@ -69,11 +75,17 @@
]
},
{
"id":"19",
"start":"2023-04-20T09:00:00",
"detail":"ใครลืมส่งเอกสาร !! สำหรับการคัดเลือกคนพิการฯ ครั้งที่ 1/2565 ส่งเอกสารเพิ่มได้",
"title":"ใครลืมส่งเอกสาร !! สำหรับการคัดเลือกคนพิการฯ ครั้งที่ 1/2565 ส่งเอกสารเพิ่มได้",
"id":"19","title":"ใครลืมส่งเอกสาร !! สำหรับการคัดเลือกคนพิการฯ ครั้งที่ 1/2565 ส่งเอกสารเพิ่มได้",
"detail":"ใครลืมส่งเอกสาร !! สำหรับการคัดเลือกคนพิการฯ ครั้งที่ 1/2565 ส่งเอกสารเพิ่มได้",
"category":"สำนักงาน ก.ก.","category_id":"1",
"announcement_startDate": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": false,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-11",
"payment_endDate": "2023-04-20",
"exam_date": "2023-04-28",
"images":[
{
"title":"topic",
@ -82,11 +94,17 @@
]
},
{
"id":"18",
"start":"2023-03-28T09:00:00",
"id":"18","title":"แผนที่การเดินทางมาสนามสอบคนพิการฯ ครั้งที่ 1/2565",
"detail":"แผนที่การเดินทางมาสนามสอบคนพิการฯ ครั้งที่ 1/2565",
"title":"แผนที่การเดินทางมาสนามสอบคนพิการฯ ครั้งที่ 1/2565",
"category":"ประกาศทั่วไป","category_id":"2",
"announcement_startDate": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": false,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-11",
"payment_endDate": "2023-04-20",
"exam_date": "2023-04-28",
"images":[
{
"title":"topic",
@ -95,11 +113,17 @@
]
},
{
"id":"17",
"start":"2023-03-28T09:00:00",
"id":"17","category":"สำนักงาน ก.ก.","category_id":"1",
"detail":"การสอบแข่งขันเพื่อรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 2/2566",
"title":"การสอบแข่งขันเพื่อรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 2/2566",
"category":"สำนักงาน ก.ก.","category_id":"1",
"announcement_startDate": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": true,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-11",
"payment_endDate": "2023-04-20",
"exam_date": "2023-04-28",
"images":[
{
"title":"topic",
@ -109,10 +133,17 @@
},
{
"id":"16",
"start":"2023-03-10T09:00:00",
"detail":"การสอบแข่งขันเพื่อรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1/2565",
"title":"การสอบแข่งขันเพื่อรรจุและแต่งตั้งบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1/2565",
"category":"สำนักงาน ก.ก.","category_id":"1",
"announcement_startDate": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": true,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-11",
"payment_endDate": "2023-04-20",
"exam_date": "2023-04-28",
"images":[
{
"title":"topic",

View file

@ -1,44 +0,0 @@
{
"id":"21",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-04-24",
"title":"ด่วน !! ประกาศวัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"detail":"<p>สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร ประกาศกำหนดวัน เวลา สถานที่คัดเลือก และระเบียบ เกี่ยวกับการคัดเลือกบุคลากรกรุงเทพมหานครหรือผู้ปฏิบัติงานอื่นในกรุงเทพมหานครเพื่อบรรจุและแต่งตั้ง เป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1 / 2565</p><p> <center> <br> <img src='https://webportal.bangkok.go.th/public/user_files_editor/305/bkkgovjob202303_12.jpg'></center></p>",
"images":[
{
"title":"ภาพ1",
"url":"https://bma-qualifying.frappet.synology.me/images/c1.jpg"
},
{
"title":"ภาพ2",
"url":"https://bma-qualifying.frappet.synology.me/images/c2.jpg"
}
],
"files":[
{
"title":"รายละเอียดประกาศฯ คลิกที่นี่ !!",
"url":"https://webportal.bangkok.go.th/public/user_files_editor/305/%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%81%E0%B8%B2%E0%B8%A8%E0%B8%A7%E0%B8%B1%E0%B8%99%20%E0%B9%80%E0%B8%A7%E0%B8%A5%E0%B8%B2%20%E0%B8%AA%E0%B8%96%E0%B8%B2%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%84%E0%B8%B1%E0%B8%94%E0%B9%80%E0%B8%A5%E0%B8%B7%E0%B8%AD%E0%B8%81%E0%B8%A5%E0%B8%B9%E0%B8%81%E0%B8%88%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%AF.pdf"
},
{
"title":"ค้นหาสถานที่คัดเลือก คลิกที่นี่ !!",
"url":"https://bangkokgov.thaijobjob.com/bkkgovjob/searchApp.php?z=333"
},
{
"title":"แผนที่ตั้งของสนามสอบ คลิกที่นี่ !!",
"url":"https://file.thaijobjob.com/prakad/bkkgovjob202303/bkkgovjob202303_9"
},
{
"title":"แผนผังสนามสอบ คลิกที่นี่ !!",
"url":"https://file.thaijobjob.com/prakad/bkkgovjob202303/bkkgovjob202303_14"
},
{
"title":"แผนผังสนามสอบ คลิกที่นี่ !!",
"url":"https://file.thaijobjob.com/prakad/bkkgovjob202303/bkkgovjob202303_14"
},
{
"title":"การแต่งกาย",
"url":"https://webportal.bangkok.go.th/public/user_files_editor/305/bkkgovjob202303_12.jpg"
}
]
}

View file

@ -1,40 +0,0 @@
[
{
"id":"21",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-04-24",
"title":"ด่วน !! ประกาศวัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"image":"https://bma-qualifying.frappet.synology.me//images/sel1.png"
},
{
"id":"20",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-04-03",
"title":"วัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"image":"https://bma-qualifying.frappet.synology.me/images/sel2.png"
},
{
"id":"19",
"category":"สำนักการแพทย์","category_id":"3",
"start":"2003-12-20",
"end":"2003-12-20",
"exam_date":"2003-12-20T09:00:00",
"announcement_date":"2003-12-20T09:00:00",
"title":"ประกาศรับสมัครคัดเลือกบุคลากรกทม. !!",
"image":"https://bma-qualifying.frappet.synology.me/images/sel3.png"
},
{
"id":"18",
"category":"สำนักอนามัย","category_id":"2",
"start":"2023-11-05T09:00:00",
"title":"สอบครั้งที่ 1/2565",
"image":"https://bma-qualifying.frappet.synology.me/images/sel1.png"
},
{
"id":"17",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-11-01",
"title":"รับสมัครสอบตำแหน่งลูกจ้างและผู้ปฎิบัติงาน 1/2565",
"image":"https://bma-qualifying.frappet.synology.me//images/sel2.png"
}
]

View file

@ -1,19 +1,16 @@
[
{
"id":"21",
"id":"21","title":"การคัดเลือกลูกจ้างกทม 3/2566 ",
"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":"<p><center><img src='https://webportal.bangkok.go.th/public/user_files_editor/305/bkkgovjob202303_12.jpg'></center></p><br/><center><h2>สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร ประกาศกำหนดวัน เวลา สถานที่คัดเลือก และระเบียบ เกี่ยวกับการคัดเลือกบุคลากรกรุงเทพมหานครหรือผู้ปฏิบัติงานอื่นในกรุงเทพมหานครเพื่อบรรจุและแต่งตั้ง เป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1 / 2565</h2></center>",
"detail":"<p><center><img src='https://webportal.bangkok.go.th/public/user_files_editor/305/bkkgovjob202303_12.jpg'></center></p><br/><center><h2>ด่วน !! สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร ประกาศกำหนดวัน เวลา สถานที่คัดเลือก และระเบียบ เกี่ยวกับการคัดเลือกบุคลากรกรุงเทพมหานครหรือผู้ปฏิบัติงานอื่นในกรุงเทพมหานครเพื่อบรรจุและแต่งตั้ง เป็นข้าราชการกรุงเทพมหานครสามัญ ครั้งที่ 1 / 2565</h2></center>",
"announcement_date": "2023-04-01",
"announcement_endDate": "2023-05-15",
"announcementExam": true,
"register_startDate": "2023-04-01",
"register_endDate": "2023-04-10",
"payment_startDate": "2023-04-5",
"payment_endDate": "2023-04-10",
"examDate": "2023-04-28",
"positions":[
{"id":"2","title":"ผู้คุมงานทำความสะอาด","path":"2/21"}
],
@ -53,11 +50,37 @@
},
{
"id":"20",
"id":"20","title":"บุคลากรทางการแพทย์กทม. !!",
"category":"สำนักการแพทย์","category_id":"3",
"announcement_date": "2023-03-01",
"announcement_endDate": "2023-04-01",
"announcementExam": true,
"register_startDate": "2023-03-01",
"register_endDate": "2023-03-07",
"payment_startDate": "2023-03-09",
"payment_endDate": "2023-03-17",
"examDate":"2023-04-03T09:00:00",
"detail":"ประกาศรับสมัครคัดเลือกบุคลากรทางการแพทย์กทม. !!",
"images":[
{
"title":"topic",
"url":"/images/sel3.png"
}
]
},
{
"id":"19",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-04-03",
"title":"วัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"title":"การคัดเลือกลูกจ้างกทม 2/2566 ",
"detail":"ด่วน !! ประกาศวัน เวลา สถานที่ และระเบียบการคัดเลือกลูกจ้างกทม.",
"announcement_date": "2023-03-20",
"announcement_endDate": "2023-04-28",
"announcementExam": true,
"register_startDate": "2023-03-07",
"register_endDate": "2023-03-14",
"payment_startDate": "2023-03-09",
"payment_endDate": "2023-03-20",
"examDate": "2023-04-13:09:00",
"images":[
{
"title":"topic",
@ -65,29 +88,14 @@
}
]
},
{
"id":"19",
"category":"สำนักการแพทย์","category_id":"3",
"start":"2023-04-01",
"end":"2023-04-02",
"exam_date":"2023-04-12T09:00:00",
"announcement_date":"2023-04-08",
"title":"ประกาศรับสมัครคัดเลือกบุคลากรทางการแพทย์กทม. !!",
"detail":"ประกาศรับสมัครคัดเลือกบุคลากรทางการแพทย์กทม. !!",
"images":[
{
"title":"topic",
"url":"/images/sel3.png"
}
]
},
{
"id":"18",
"category":"สำนักอนามัย","category_id":"2",
"start":"2023-11-05T09:00:00",
"title":"สอบครั้งที่ 1/2565",
"detail":"สอบเป็นลูกจ้างและผู้ปฎิบัติงานในกรุงเทพมหานคร เป็นข้าราชการกรุงเทพมหานคร",
"announcement_date": "2023-04-19",
"announcement_endDate": "2023-04-30",
"announcementExam": false,
"title":"เชิญเยี่ยมชมศูนย์สุขภาพเปิดใหม่",
"detail":"เชิญเยี่ยมชมศูนย์สุขภาพเปิดใหม่",
"images":[
{
"title":"topic",
@ -96,11 +104,14 @@
]
},
{
"id":"17",
"category":"สำนักงาน ก.ก.","category_id":"1",
"start":"2023-11-01",
"title":"รับสมัครสอบตำแหน่งลูกจ้างและผู้ปฎิบัติงาน 1/2565",
"id":"17","title":"ตำแหน่งลูกจ้างและผู้ปฎิบัติงาน ",
"detail":"รับสมัครสอบตำแหน่ง ลูกจ้างและผู้ปฎิบัติงานในกรุงเทพมหานคร เป็นข้าราชการกรุงเทพมหานคร",
"category":"สำนักผังเมือง","category_id":"4",
"announcement_date": "2023-04-14",
"announcement_endDate": "2023-05-20",
"announcementExam": true,
"register_startDate": "2023-04-15",
"register_endDate": "2023-03-20",
"images":[
{
"title":"topic",

View file

@ -6,7 +6,7 @@
* @param nameColor dictionary like object for name and color
*/
export function getBgColorDict(name:string,nameColor:{ [index: string]:string}){
const eventBg = ["#beffbf","#c6ebfe","#ffbebe","rgba(64,251,75,.2)"]
const eventBg = ["#E6B0AA","#D2B4DE","#AED6F1","#A2D9CE","#FAD7A0 ","#D5DBDB",]
if(!nameColor[name]){
const len = Object.keys(nameColor).length
nameColor[name]=len>eventBg.length?eventBg[0]:eventBg[len]

View file

@ -34,7 +34,7 @@ export const load: PageServerLoad = async ({fetch}) => {
}
const exams:Exam[] = await res.json()
exams.forEach((e)=>{
e.date = e.start? dayjs(e.start).format("DD MMM BBBB"):""
e.date = dayjs(e.announcement_startDate).format("DD MMM BBBB")
e.image = e.image?e.image:"/images/exam_place_holder.png"
})
//This page layout require 3 item, patch with empty

View file

@ -5,7 +5,7 @@ import type { RequestEvent,RequestHandler } from './$types'
export const GET: RequestHandler = async ({url}: RequestEvent) => {
const limit= Number(url.searchParams.get("limit"))
// eslint-disable-next-line @typescript-eslint/no-unused-vars
let ex:Exam[] = exams.map(({files,images,detail,...minimal})=>{
let ex:Exam[] = exams.map(({files,images,positions,detail,...minimal})=>{
if(images && images[0]){
const image = images[0].url
return {...minimal,image}

View file

@ -5,7 +5,7 @@ import type { RequestEvent,RequestHandler } from './$types'
export const GET: RequestHandler = async ({url}: RequestEvent) => {
const limit= Number(url.searchParams.get("limit"))
// eslint-disable-next-line @typescript-eslint/no-unused-vars
let ex:Exam[] = exams.map(({files,images,detail,...minimal})=>{
let ex:Exam[] = exams.map(({files,images,positions,detail,...minimal})=>{
if(images && images[0]){
const image = images[0].url
return {...minimal,image}

View file

@ -8,27 +8,32 @@ export const load: PageServerLoad = async ({fetch}) => {
const res = await fetch(env.API_COMPETITIVE_URL+"/competitive")
if(!res.ok)
throw error(res.status, 'ไม่สามารถอ่านข้อมูลการสอบได้');
const exams:Exam[] = await res.json()
const events:CalendarEvent[]=[]
const catColor = {};
const events:CalendarEvent[]=[]
exams.forEach((ex)=>{
const {id,title,start,end,category} = ex
if(!category)
return
const backgroundColor = getBgColorDict(category,catColor)
const url = "/competitive/"+id
if(start){
ex.date = dayjs(start).format("DD MMM BBBB")
events.push({id,title,start,end,url,backgroundColor})
const {id,title,category,announcement_startDate} = ex
const backgroundColor = category? getBgColorDict(category,catColor):"n/a"
const url = "/qualifying/"+id
ex.date = dayjs(announcement_startDate).format("DD MMM BBBB")
if(!ex.announcementExam)
return //ignore other date for normal post
if(ex.register_startDate){
const start = ex.register_startDate
const end = ex.register_endDate
events.push({id,"title":"สมัคร:"+title,start,end,url,backgroundColor})
}
if(ex.exam_date){
events.push({id,"title":"วันสอบแข่งขัน","start":ex.exam_date,url,backgroundColor})
if(ex.payment_startDate){
const start = ex.payment_startDate
const end = ex.payment_endDate
events.push({id,"title":"ชำระเงิน:"+title,start,end,url,backgroundColor})
}
if(ex.announcement_date){
events.push({id,"title":"ผลสอบแข่งขัน","start":ex.announcement_date,url,backgroundColor})
if(ex.examDate){
const start = ex.examDate
events.push({id,"title":"วันสอบ:"+title,start,url,backgroundColor})
}
})
return {exams,events}
}

View file

@ -13,7 +13,7 @@ export const load: PageServerLoad = async ({params,fetch}) => {
throw error(500,{message:`พบข้อผิดพลาดเกี่ยวกับข้อมูลสอบคัดเลือก ${id}`})
}
const post:Exam = await res.json()
post.date= post.start? dayjs(post.start).format("DD MMM BBBB"):""
post.date= dayjs(post.announcement_startDate).format("DD MMM BBBB")
return post
}

View file

@ -13,32 +13,26 @@ export const load: PageServerLoad = async ({fetch}) => {
const events:CalendarEvent[]=[]
exams.forEach((ex)=>{
const {id,category,start} = ex
const {id,title,category,announcement_startDate} = ex
const backgroundColor = category? getBgColorDict(category,catColor):"n/a"
const url = "/qualifying/"+id
if(start){
ex.date = dayjs(start).format("DD MMM BBBB")
}
ex.date = dayjs(announcement_startDate).format("DD MMM BBBB")
if(!ex.announcementExam)
return
if(ex.exam_date){
const start = ex.exam_date
events.push({id,"title":"วันสอบคัดเลือก",start,url,backgroundColor})
}
if(ex.announcement_date){
const start = ex.announcement_date
const end = ex.announcement_endDate
events.push({id,"title":"ผลสอบคัดเลือก",start,end,url,backgroundColor})
}
return //ignore other date for normal post
if(ex.register_startDate){
const start = ex.register_startDate
const end = ex.register_endDate
events.push({id,"title":"ผลสอบคัดเลือก",start,end,url,backgroundColor})
events.push({id,"title":"สมัคร:"+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})
events.push({id,"title":"ชำระเงิน:"+title,start,end,url,backgroundColor})
}
if(ex.examDate){
const start = ex.examDate
events.push({id,"title":"วันสอบ:"+title,start,url,backgroundColor})
}
})
return {exams,events}

View file

@ -13,7 +13,7 @@ export const load: PageServerLoad = async ({params,fetch}) => {
throw error(500,{message:`พบข้อผิดพลาดเกี่ยวกับข้อมูลสอบคัดเลือก ${id}`})
}
const post:Exam = await res.json()
post.date= post.start? dayjs(post.start).format("DD MMM BBBB"):""
post.date=dayjs(post.announcement_startDate).format("DD MMM BBBB")
return post
}