แก้ไข ui สมัครสอบ

-เพิ่ม positionsTrue,positionsfalse
This commit is contained in:
AnandaTon 2023-10-03 10:49:46 +07:00
parent acc69e81b5
commit ae1bbf0b8a
2 changed files with 165 additions and 109 deletions

View file

@ -1,38 +1,40 @@
export interface Exam {
id:string;
title:string;
detail?:string;
date?:string;
announcement_startDate?:string;
announcement_endDate?:string;
announcementExam?:boolean;
register_startDate?:string;
register_endDate?:string;
payment_startDate?:string;
payment_endDate?:string;
examDate?:string;
categoryId?:string
category?:string
image?:string;
images?:{title:string,url:string}[];
files?:{title:string,url:string}[];
positions?:{id:string,title:string,path:string}[];
id: string;
title: string;
detail?: string;
date?: string;
announcement_startDate?: string;
announcement_endDate?: string;
announcementExam?: boolean;
register_startDate?: string;
register_endDate?: string;
payment_startDate?: string;
payment_endDate?: string;
examDate?: string;
categoryId?: string;
category?: string;
image?: string;
images?: { title: string; url: string }[];
files?: { title: string; url: string }[];
positions?: { id: string; title: string; path: string }[];
positionsTrue?: { id: string; title: string; path: string }[];
positionsFalse?: { id: string; title: string; path: string }[];
}
export interface CalendarEvent {
id:string;
title:string;
start:Date|string;
end?:Date|string;
url?:string;
backgroundColor?:string;
id: string;
title: string;
start: Date | string;
end?: Date | string;
url?: string;
backgroundColor?: string;
}
export interface CMSInfo {
logo_url: string;
title: string;
subtitle: string;
supervised: string;
address: string;
divisions: { title: string; url: string }[];
institutes: { title: string; url: string }[];
}
export interface CMSInfo{
logo_url:string;
title:string;
subtitle:string;
supervised:string;
address:string;
divisions:{title:string,url:string}[];
institutes:{title:string,url:string}[];
}

View file

@ -1,114 +1,168 @@
<script lang="ts">
import type { PageData } from './$types'
export let data: PageData;
import { env } from '$env/dynamic/public'
const positions_base_url = env.PUBLIC_URL_REGISTER_QUALIFY_EXAM+"/exam/"
import dayjs from 'dayjs'
function formatDate(start:string,end:string|undefined=undefined){
if(!end)
return dayjs(start).format("DD MMM BBBB")
return dayjs(start).format("DD MMM BBBB")+" - "+dayjs(end).format("DD MMM BBBB")
import type { PageData } from './$types';
export let data: PageData;
import { env } from '$env/dynamic/public';
const positions_base_url = env.PUBLIC_URL_REGISTER_QUALIFY_EXAM + '/exam/';
import dayjs from 'dayjs';
import { each } from 'svelte/internal';
function formatDate(start: string, end: string | undefined = undefined) {
if (!end) return dayjs(start).format('DD MMM BBBB');
return dayjs(start).format('DD MMM BBBB') + ' - ' + dayjs(end).format('DD MMM BBBB');
}
</script>
<section>
<div class="p-one parallax-inner">
<h2>การคัดเลือก</h2>
</div>
<div class="p-one parallax-inner">
<h2>การคัดเลือก</h2>
</div>
</section>
<section class="pb-40 relative bg-blueGray-100">
<div class="container mx-auto justify-center flex flex-wrap ">
<div class=" bg-blueGray-100 -mt-6 px-5 top-0 bottom-auto absolute z-40 rounded-md" >
<div class="container mx-auto justify-center flex flex-wrap">
<div class=" bg-blueGray-100 -mt-6 px-5 top-0 bottom-auto absolute z-40 rounded-md">
<div class="text-sm breadcrumbs">
<ul>
<li class="text-pink-500 hover:text-pink-700 ">
<a href="/" >
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" /></svg>
</a>
</li>
<li>
<span class="breadTaxt">ประกาศเกี่ยวกับการคัดเลือกบุคลากรของกทม.</span>
</li>
<li class="text-pink-500 hover:text-pink-700">
<a href="/">
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-4 w-4"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
><path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
/></svg
>
</a>
</li>
<li>
<span class="breadTaxt">ประกาศเกี่ยวกับการคัดเลือกบุคลากรของกทม.</span>
</li>
</ul>
</div>
</div>
</div>
<div class="container mx-auto items-start flex flex-wrap px-4 pt-11 justify-center">
<div class="card bg-white shadow-xl w-full p-8 max-w-4xl ">
<div class="card bg-white shadow-xl w-full p-8 max-w-4xl">
<div class="text-2xl mb-3 font-medium">{data.title}</div>
<div class="text-sm">
<i class="fa-regular fa-calendar mr-4 text-blue-500"></i><span class="text-blue-500">วันประกาศ : {data.date}</span>
<i class="fa-regular fa-calendar mr-4 text-blue-500" /><span class="text-blue-500"
>วันประกาศ : {data.date}</span
>
</div>
{#if data.announcementExam}
<div class="text-md card-detail p-4 mt-5 space-y-2">
{#if data.register_startDate}
<div><span class="pr-1 font-semibold ">สมัคร :</span> {formatDate(data.register_startDate,data.register_endDate)}</div>
{/if}
{#if data.payment_startDate}
<div><span class="pr-1 font-semibold">ชำระเงิน :</span> {formatDate(data.payment_startDate,data.payment_endDate)} </div>
{/if}
{#if data.examDate }
<div><span class="pr-1 font-semibold">สอบ :</span> {formatDate(data.examDate)}</div>
{/if}
</div>
<div class="text-md card-detail p-4 mt-5 space-y-2">
{#if data.register_startDate}
<div>
<span class="pr-1 font-semibold">สมัคร :</span>
{formatDate(data.register_startDate, data.register_endDate)}
</div>
{/if}
{#if data.payment_startDate}
<div>
<span class="pr-1 font-semibold">ชำระเงิน :</span>
{formatDate(data.payment_startDate, data.payment_endDate)}
</div>
{/if}
<!-- {#if data.examDate}
<div><span class="pr-1 font-semibold">สอบ :</span> {formatDate(data.examDate)}</div>
{/if} -->
</div>
{/if}
<hr class="border-blueGray-200 my-7" />
<div class="">
{@html data.detail}
</div>
<div class="">
{@html data.detail}
</div>
{#if data.images}
{#each data.images as i}
<div><img src={i.url} alt={i.title}></div>
<div><img src={i.url} alt={i.title} /></div>
{/each}
{/if}
{#if data.announcementExam  && data.positions}
{#if data.announcementExam && data.positions}
<div class="w-12/12 text-lg font-medium pt-6">สมัครสอบ</div>
{#each data.positions as p}
<hr class="border-blueGray-200 my-2" />
<div class="text-lg py-1">
<div class="flex flex-wrap items-center">
<a class="btn btn-sm btn-outline btn-info cursor-pointe" href={positions_base_url+p.path} target="_blank">
<i class="fa-solid fa-pen-to-square text-sm pr-2"></i>
สมัครสอบ
</a>
<div class="pl-4">
<span>{p.title}</span>
</div>
</div>
<div class="grid grid-flow-col justify-stretch ...">
{#if data.positionsTrue}
{#each data.positionsTrue as p}
<div class="text-lg py-1">
<div class="w-12/12 text-lg font-medium pt-6">ปริญญาบัตรขึ้นไป</div>
<div class="flex flex-wrap items-center">
<a
class="btn btn-sm btn-outline btn-info cursor-pointe"
href={positions_base_url + p.path}
target="_blank"
>
<i class="fa-solid fa-pen-to-square text-sm pr-2" />
สมัครสอบ
</a>
<div class="pl-4">
<span>{p.title}</span>
</div>
</div>
</div>
{/each}
{/if}
{#if data.positionsFalse}
{#each data.positionsFalse as a}
<div class="text-lg py-1">
<div class="w-12/12 text-lg font-medium pt-6">ต่ำกว่าปริญญาบัตร</div>
<div class="flex flex-wrap items-center">
<a
class="btn btn-sm btn-outline btn-info cursor-pointe"
href={positions_base_url + a.path}
target="_blank"
>
<i class="fa-solid fa-pen-to-square text-sm pr-2" />
สมัครสอบ
</a>
<div class="pl-4">
<span>{a.title}</span>
</div>
</div>
</div>
{/each}
{/if}
</div>
{/each}
<div class="pb-7"></div>
<div class="pb-7" />
{/if}
{#if data.files}
<div class="{data.files.length == 0 ? 'display-none': 'w-12/12 text-lg font-medium'}">เอกสารประกอบ</div>
{#each data.files as file}
<hr class="border-blueGray-200 my-2" />
<div class="text-lg py-1">
<div class="flex flex-wrap items-center">
<a class="btn btn-sm btn-outline btn-primary cursor-pointe" href={file.url} target="_blank">
<i class="fa-solid fa-eye text-sm pr-2"></i>
อ่านเพิ่มเติม
</a>
<div class="pl-4">
<!-- <i class="fa-solid fa-bookmark mr-3 text-xs text-primary"></i> -->
<span>{file.title}</span>
</div>
</div>
<div class={data.files.length == 0 ? 'display-none' : 'w-12/12 text-lg font-medium'}>
เอกสารประกอบ
</div>
{#each data.files as file}
<hr class="border-blueGray-200 my-2" />
<div class="text-lg py-1">
<div class="flex flex-wrap items-center">
<a
class="btn btn-sm btn-outline btn-primary cursor-pointe"
href={file.url}
target="_blank"
>
<i class="fa-solid fa-eye text-sm pr-2" />
อ่านเพิ่มเติม
</a>
<div class="pl-4">
<!-- <i class="fa-solid fa-bookmark mr-3 text-xs text-primary"></i> -->
<span>{file.title}</span>
</div>
</div>
</div>
{/each}
{/if}
<hr class="border-blueGray-200 my-7" />
<div>
<a href="/qualifying" class="btn btn-outline text-gray-500">
<i class="fa-solid fa-arrow-left mr-4"></i>
<i class="fa-solid fa-arrow-left mr-4" />
ย้อนกลับ
</a>
</div>
</div>
</div>
</div>
</div>
</section>