diff --git a/css/details.css b/css/details.css index c3f5466..ef46d2e 100644 --- a/css/details.css +++ b/css/details.css @@ -468,6 +468,283 @@ .content .details-box .file .indicate { margin-bottom: 24px; } +.content .details-box .apply-btn { + position: relative; + z-index: 1; + width: fit-content; + margin: 20px auto 62px; +} +.content .details-box .apply-btn .btn { + width: 232px; + height: 30px; + font-size: 16px; + color: #ffffff; + margin: 0 auto; + z-index: 1; + cursor: pointer; +} +.content .details-box .apply-btn .btn .text { + text-align: center; + line-height: 30px; + background-color: #f95d5d; + border-radius: 7px 0 0 7px; +} +.content .details-box .apply-btn .btn .btn-right { + background-color: #333333; + border-radius: 0 7px 7px 0; + height: 100%; + width: 30px; +} +.content .details-box .apply-btn .btn .btn-right .arrows { + width: 10px; + height: 5px; +} +.content .details-box .apply-btn .apply-mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} +.content .details-box .apply-btn .apply-list { + position: absolute; + left: -15px; + top: -15px; + width: 262px; + background-color: #f2f2f2; + border-radius: 15px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.17254902); + z-index: -1; + padding: 60px 15px 15px; +} +.content .details-box .apply-btn .apply-list .apply-item { + font-size: 16px; + color: #555555; + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + line-height: 40px; + cursor: pointer; +} +.content .details-box .apply-btn .apply-list .apply-item .dot { + width: 6px; + height: 6px; + border-radius: 50%; + border: 1px solid #797979; + margin-right: 10px; +} +.content .details-box .apply-btn .apply-list .apply-item.pitch { + font-weight: 650; + color: #000000; +} +.content .details-box .apply-btn .apply-list .apply-item.pitch .dot { + border-color: #333; + background-color: #333; +} +.content .details-box .accreditation { + padding: 25px 20px; + margin-bottom: 40px; +} +.content .details-box .accreditation .accreditation-item:not(:last-of-type) { + margin-bottom: 27px; +} +.content .details-box .accreditation .accreditation-item .title { + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-size: 16px; + color: #000000; + margin-bottom: 14px; +} +.content .details-box .accreditation .accreditation-item .title .icon { + height: 6px; + width: 11px; + transform: rotate(-90deg); + margin-right: 12px; +} +.content .details-box .accreditation .accreditation-item .list { + background-color: #f6f6f6; + border-radius: 6px; + padding: 20px 10px; +} +.content .details-box .accreditation .accreditation-item .list .item { + font-family: "PingFangSC-Regular", "PingFang SC", sans-serif; + font-weight: 400; + font-size: 15px; +} +.content .details-box .accreditation .accreditation-item .list .item:not(:last-of-type) { + margin-bottom: 13px; +} +.content .details-box .accreditation .accreditation-item .list .item .dot { + width: 8px; + height: 8px; + margin-right: 10px; +} +.content .details-box .recommend-list { + display: grid; + grid-template-columns: 1fr 1fr; +} +.content .details-box .recommend-list .item { + border: 1px solid #ebebeb; + border-radius: 12px; + background-color: #fff; + width: 328px; + padding-top: 18px; + margin-bottom: 20px; +} +.content .details-box .recommend-list .item:nth-of-type(2n - 1) { + margin-right: 10px; +} +.content .details-box .recommend-list .item .school { + font-size: 14px; + color: #333333; + margin-bottom: 13px; + padding: 0 12px; +} +.content .details-box .recommend-list .item .school .icon { + width: 16px; + height: 18px; + margin-right: 8px; +} +.content .details-box .recommend-list .item .name { + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-size: 16px; + color: #000000; + margin-bottom: 16px; + padding: 0 12px; +} +.content .details-box .recommend-list .item .english { + font-size: 13px; + color: #7f7f7f; + margin-bottom: 12px; + padding: 0 12px; +} +.content .details-box .recommend-list .item .introduce { + font-size: 14px; + font-family: "PingFangSC-Regular", "PingFang SC", sans-serif; + font-weight: 400; + color: #555555; + margin-bottom: 15px; + padding: 0 12px; +} +.content .details-box .recommend-list .item .introduce .quantity { + font-family: "Arial-Black", "Arial Black", sans-serif; + font-weight: 900; + color: #000000; + margin-left: 5px; +} +.content .details-box .recommend-list .item .introduce .line { + margin: 0 12px; + color: #d7d7d7; +} +.content .details-box .recommend-list .item .tag { + padding: 0 12px; +} +.content .details-box .recommend-list .item .tag .tag-item { + height: 20px; + padding: 0 6px; + background-color: #f9f8f8; + box-sizing: border-box; + border: 1px solid #aaaaaa; + border-radius: 6px; + font-size: 12px; + color: #7f7f7f; +} +.content .details-box .recommend-list .item .tag .tag-item.recommended { + color: #fff; + background-color: #04b0d5; + border-color: #04b0d5; +} +.content .details-box .recommend-list .item .tag .tag-item.required { + color: #fff; + background-color: #6fc16d; + border-color: #6fc16d; +} +.content .details-box .recommend-list .item .btn { + height: 50px; + background-color: #edf0f4; + border-top: 1px solid #ebebeb; + border-radius: 0 0 12px 12px; + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-style: normal; + font-size: 14px; +} +.content .details-box .recommend-list .item .btn .btn-item { + position: relative; + cursor: pointer; +} +.content .details-box .recommend-list .item .btn .btn-item:not(:last-of-type)::after { + content: ""; + position: absolute; + top: 50%; + right: 1px; + width: 1px; + height: 21px; + transform: translateY(-50%); + background-color: #aaaaaa; +} +.content .details-box .recommend-list .item .btn .btn-item .icon { + width: 16px; + height: 16px; + margin-right: 6px; +} +.content .details-box .consult-more { + font-size: 14px; + color: #555555; + line-height: 26px; + cursor: pointer; +} +.content .details-box .consult-more .icon { + width: 18px; + height: 18px; + margin-left: 6px; +} +.content .details-box .discipline { + padding-top: 29px; + padding-bottom: 33px; + padding: 29px 28px 33px; + margin-bottom: 40px; +} +.content .details-box .discipline .discipline-title { + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-style: normal; + font-size: 18px; + color: #000000; + text-align: center; + line-height: 34px; + margin-bottom: 16px; +} +.content .details-box .discipline .discipline-btn { + height: 36px; + background-color: #f6f6f6; + border-radius: 9px; + cursor: pointer; +} +.content .details-box .discipline .discipline-btn .text { + font-weight: 400; + font-style: normal; + font-size: 14px; + color: #333333; + padding-left: 11px; +} +.content .details-box .discipline .discipline-btn .sum { + font-size: 14px; + color: #555555; + padding-right: 11px; +} +.content .details-box .discipline .discipline-btn .sum .quantity { + font-family: "Arial-Black", "Arial Black", sans-serif; + font-weight: 900; + color: #000000; + margin: 0 6px; +} +.content .details-box .discipline .discipline-btn .green-btn { + width: 36px; + height: 36px; + background-color: #6fc16d; + border-radius: 0 9px 9px 0; +} .content .details-box .block { background-color: #ffffff; border: 1px solid #ebebeb; diff --git a/css/details.less b/css/details.less index af9e1f6..cb9aaf1 100644 --- a/css/details.less +++ b/css/details.less @@ -535,6 +535,318 @@ } } + .apply-btn { + position: relative; + z-index: 1; + width: fit-content; + margin: 20px auto 62px; + + .btn { + width: 232px; + height: 30px; + font-size: 16px; + color: #ffffff; + margin: 0 auto; + z-index: 1; + cursor: pointer; + + .text { + text-align: center; + line-height: 30px; + background-color: rgba(249, 93, 93, 1); + border-radius: 7px 0 0 7px; + } + + .btn-right { + background-color: rgba(51, 51, 51, 1); + border-radius: 0 7px 7px 0; + height: 100%; + width: 30px; + + .arrows { + width: 10px; + height: 5px; + } + } + } + + .apply-mask { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + } + + .apply-list { + position: absolute; + left: -15px; + top: -15px; + width: 262px; + background-color: rgba(242, 242, 242, 1); + border-radius: 15px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.172549019607843); + z-index: -1; + padding: 60px 15px 15px; + + .apply-item { + font-size: 16px; + color: #555555; + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + line-height: 40px; + cursor: pointer; + .dot { + width: 6px; + height: 6px; + border-radius: 50%; + border: 1px solid #797979; + margin-right: 10px; + } + + &.pitch { + font-weight: 650; + color: #000000; + + .dot { + border-color: #333; + background-color: #333; + } + } + } + } + } + + .accreditation { + padding: 25px 20px; + margin-bottom: 40px; + .accreditation-item { + &:not(:last-of-type) { + margin-bottom: 27px; + } + .title { + .icon { + height: 6px; + width: 11px; + transform: rotate(-90deg); + margin-right: 12px; + } + + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-size: 16px; + color: #000000; + margin-bottom: 14px; + } + + .list { + background-color: rgba(246, 246, 246, 1); + border-radius: 6px; + padding: 20px 10px; + + .item { + font-family: "PingFangSC-Regular", "PingFang SC", sans-serif; + font-weight: 400; + font-size: 15px; + + &:not(:last-of-type) { + margin-bottom: 13px; + } + + .dot { + width: 8px; + height: 8px; + margin-right: 10px; + } + } + } + } + } + + .recommend-list { + display: grid; + grid-template-columns: 1fr 1fr; + + .item { + border: 1px solid rgba(235, 235, 235, 1); + border-radius: 12px; + background-color: #fff; + width: 328px; + padding-top: 18px; + margin-bottom: 20px; + + &:nth-of-type(2n - 1) { + margin-right: 10px; + } + .school { + font-size: 14px; + color: #333333; + margin-bottom: 13px; + padding: 0 12px; + + .icon { + width: 16px; + height: 18px; + margin-right: 8px; + } + } + .name { + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-size: 16px; + color: #000000; + margin-bottom: 16px; + padding: 0 12px; + } + + .english { + font-size: 13px; + color: #7f7f7f; + margin-bottom: 12px; + padding: 0 12px; + } + + .introduce { + font-size: 14px; + font-family: "PingFangSC-Regular", "PingFang SC", sans-serif; + font-weight: 400; + color: #555555; + margin-bottom: 15px; + padding: 0 12px; + + .quantity { + font-family: "Arial-Black", "Arial Black", sans-serif; + font-weight: 900; + color: #000000; + margin-left: 5px; + } + + .line { + margin: 0 12px; + color: #d7d7d7; + } + } + + .tag { + padding: 0 12px; + + .tag-item { + height: 20px; + padding: 0 6px; + background-color: rgba(249, 248, 248, 1); + box-sizing: border-box; + border: 1px solid rgba(170, 170, 170, 1); + border-radius: 6px; + font-size: 12px; + color: #7f7f7f; + + &.recommended { + color: #fff; + background-color: rgba(4, 176, 213, 1); + border-color: rgba(4, 176, 213, 1); + } + + &.required { + color: #fff; + background-color: rgba(111, 193, 109, 1); + border-color: rgba(111, 193, 109, 1); + } + } + } + .btn { + height: 50px; + background-color: rgba(237, 240, 244, 1); + border-top: 1px solid rgba(235, 235, 235, 1); + border-radius: 0 0 12px 12px; + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-style: normal; + font-size: 14px; + + .btn-item { + position: relative; + cursor: pointer; + &:not(:last-of-type)::after { + content: ""; + position: absolute; + top: 50%; + right: 1px; + width: 1px; + height: 21px; + transform: translateY(-50%); + background-color: #aaaaaa; + } + .icon { + width: 16px; + height: 16px; + margin-right: 6px; + } + } + } + } + } + + .consult-more { + font-size: 14px; + color: #555555; + line-height: 26px; + cursor: pointer; + .icon { + width: 18px; + height: 18px; + margin-left: 6px; + } + } + + .discipline { + padding-top: 29px; + padding-bottom: 33px; + padding: 29px 28px 33px; + margin-bottom: 40px; + .discipline-title { + font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif; + font-weight: 650; + font-style: normal; + font-size: 18px; + color: #000000; + text-align: center; + line-height: 34px; + margin-bottom: 16px; + } + .discipline-btn { + height: 36px; + background-color: rgba(246, 246, 246, 1); + border-radius: 9px; + cursor: pointer; + .text { + font-weight: 400; + font-style: normal; + font-size: 14px; + color: #333333; + padding-left: 11px; + } + .sum { + font-size: 14px; + color: #555555; + padding-right: 11px; + + .quantity { + font-family: "Arial-Black", "Arial Black", sans-serif; + font-weight: 900; + color: #000000; + margin: 0 6px; + } + } + + .green-btn { + width: 36px; + height: 36px; + background-color: rgba(111, 193, 109, 1); + border-radius: 0 9px 9px 0; + } + } + } + .block { background-color: rgba(255, 255, 255, 1); border: 1px solid rgba(235, 235, 235, 1); diff --git a/html/details.html b/html/details.html index 7651599..ebd5814 100644 --- a/html/details.html +++ b/html/details.html @@ -82,6 +82,105 @@
基本信息
+ +
学科领域
+ + +
推荐项目
+
+
+
+ + {{ item.schoolname }} +
+
{{ item.name_zh }}
+
{{ item.name_en }}
+
+
+ 专业排名 +
{{ item.rank }}
+
+
+
|
+ 学费HK$ +
{{ item.tuition_fee_text }}
+
+
+ +
+
招生官项目
+
{{ item.semester.text }}
+
{{ item }}
+
+
+
+ + 查看该项目 +
+
+ + 与该项目对比 +
+
+
+
+
+ 加载更多 + +
+ +
+
+
- {{ admissionsObj.season }}申请信息 -
+
+ +
+
+ + +
+
+
+
+
{{ item.season }}申请信息
+
+
+
+
+ + +
奖学金
@@ -1262,7 +1361,228 @@ scholarship_name: "Seed Funding Support for Start-Up Projects", }, ]); - return { scholarships, documents, admission_requirementsObj, previewShow, openPreview, hidePreview, swiperRef, cutSwiper, admissionCurrent, moldObj, urls, offerList, side, sideKey, info, disciplineObj, rankingsObj, cutStudyMode, studyMode, course, contras, copy, download, stateObj, bindblur, remark, addComparison, cutSide, detailsRef, stateState, cutState, changeType, deletee }; + + const accreditation = ref({ + AC: { + list: [ + { + accreditation_type: "ACCREDITATION", + body_abbr: "SWRB", + body_full_en: "Social Workers Registration Board", + body_full_zh: "社会工作者注册局", + discipline: "SOCIAL_WORK", + program_id: 57, + region: "Hong Kong", + website: "https://www.swrb.org.hk/en/", + }, + { + accreditation_type: "ACCREDITATION", + body_abbr: "SWRB", + body_full_en: "Social Workers Registration Board", + body_full_zh: "社会工作者注册局", + discipline: "SOCIAL_WORK", + program_id: 57, + region: "Hong Kong", + website: "https://www.swrb.org.hk/en/", + }, + ], + title: "认证机构", + }, + RE: { + list: [ + { + accreditation_type: "ACCREDITATION", + body_abbr: "SWRB", + body_full_en: "Social Workers Registration Board", + body_full_zh: "社会工作者注册局", + discipline: "SOCIAL_WORK", + program_id: 57, + region: "Hong Kong", + website: "https://www.swrb.org.hk/en/", + }, + ], + title: "验证机构", + }, + VA: { + list: [], + title: "认可机构", + }, + }); + let isAccreditation = ref(true); + + let applyListState = ref(false); + let admissions = ref([ + { + admission_deposit: null, + admission_deposit_text: "", + admission_type: "Rolling admission", + application_end: { "round 1": "TBC" }, + application_fee: 0, + application_fee_text: "", + application_fee_unit: "HKD", + application_start: "2024-09-16", + application_url: "https://www.cityu.edu.hk/pg/programme/p71", + id: 57, + intake_month: 9, + intake_year: 2025, + interviewRounds: [{ text: "第一轮", time: "TBC" }], + leaflet_url: null, + program_id: 57, + remarks: "学费未明确说明", + remarks_zh: null, + result_time: null, + season: "25Fall", + tuition_fee: 341000, + tuition_fee_per_credit: 6200, + tuition_fee_per_credit_text: "6,200", + tuition_fee_per_year: 0, + tuition_fee_text: "341,000", + tuition_fee_unit: "HKD", + }, + { + admission_deposit: null, + admission_deposit_text: "", + admission_type: "Rolling admission", + application_end: { "round 1": "TBC" }, + application_fee: 0, + application_fee_text: "", + application_fee_unit: "HKD", + application_start: "2024-09-16", + application_url: "https://www.cityu.edu.hk/pg/programme/p71", + id: 57, + intake_month: 9, + intake_year: 2025, + interviewRounds: [{ text: "第一轮", time: "TBC" }], + leaflet_url: null, + program_id: 57, + remarks: "学费未明确说明", + remarks_zh: null, + result_time: null, + season: "25Fall", + tuition_fee: 341000, + tuition_fee_per_credit: 6200, + tuition_fee_per_credit_text: "6,200", + tuition_fee_per_year: 0, + tuition_fee_text: "341,000", + tuition_fee_unit: "HKD", + }, + ]); + + let admissionsObj = ref({ + admission_deposit: null, + admission_deposit_text: "", + admission_type: "Rolling admission", + application_end: { "round 1": "TBC" }, + application_fee: 0, + application_fee_text: "", + application_fee_unit: "HKD", + application_start: "2024-09-16", + application_url: "https://www.cityu.edu.hk/pg/programme/p71", + id: 57, + intake_month: 9, + intake_year: 2025, + interviewRounds: [{ text: "第一轮", time: "TBC" }], + leaflet_url: null, + program_id: 57, + remarks: "学费未明确说明", + remarks_zh: null, + result_time: null, + season: "25Fall", + tuition_fee: 341000, + tuition_fee_per_credit: 6200, + tuition_fee_per_credit_text: "6,200", + tuition_fee_per_year: 0, + tuition_fee_text: "341,000", + tuition_fee_unit: "HKD", + }); + + let recommendList = ref([ + { + admissionsproject: 1, + contraststatus: { status: 1, ismanage: 1, projectid: 424 }, + department: null, + departmentid: 0, + disciplineid: 14, + distinctive: "培养具有理论和实践知识的社会科学从业人员", + id: 424, + intake: 2025, + intake_month: 9, + name_abbr: "MAASS", + name_alias: null, + name_en: "Master of Arts in Applied Social Sciences", + name_zh: "金融学硕士(投资管理)", + rank: "97", + schoolalias: "城大", + schoolid: 311, + schoollogo: "https://oss.x-php.com/school/J6BSwE-VfCFkCb1SBaR7ec6NYmTA4pRcOalNHJRfNzUxNg~~", + schoolname: "香港大学", + semester: { year: 2025, month: 9, text: "25Fall" }, + semesterState: true, + tags: { "5eGTPL4eaDu5": "论文课程", vz9i0ObieS9W: "学费低", WGnTH19uDH50: "项目课程" }, + tuition_fee: 186000, + uniqid: "be4mfKLvXe0u", + }, + { + admissionsproject: 1, + contraststatus: { status: 1, ismanage: 1, projectid: 424 }, + department: null, + departmentid: 0, + disciplineid: 14, + distinctive: "培养具有理论和实践知识的社会科学从业人员", + id: 424, + intake: 2025, + intake_month: 9, + name_abbr: "MAASS", + name_alias: null, + name_en: "Master of Arts in Applied Social Sciences", + name_zh: "文学硕士(应用社会科学)", + rank: "97", + schoolalias: "城大", + schoolid: 311, + schoollogo: "https://oss.x-php.com/school/J6BSwE-VfCFkCb1SBaR7ec6NYmTA4pRcOalNHJRfNzUxNg~~", + schoolname: "香港城市大学", + semester: { year: 2025, month: 9, text: "25Fall" }, + semesterState: true, + tags: { "5eGTPL4eaDu5": "论文课程", vz9i0ObieS9W: "学费低", WGnTH19uDH50: "项目课程" }, + tuition_fee: 186000, + uniqid: "be4mfKLvXe0u", + }, + { + admissionsproject: 1, + contraststatus: { status: 1, ismanage: 1, projectid: 424 }, + department: null, + departmentid: 0, + disciplineid: 14, + distinctive: "培养具有理论和实践知识的社会科学从业人员", + id: 424, + intake: 2025, + intake_month: 9, + name_abbr: "MAASS", + name_alias: null, + name_en: "Master of Arts in Applied Social Sciences", + name_zh: "文学硕士(应用社会科学)", + rank: "97", + schoolalias: "城大", + schoolid: 311, + schoollogo: "https://oss.x-php.com/school/J6BSwE-VfCFkCb1SBaR7ec6NYmTA4pRcOalNHJRfNzUxNg~~", + schoolname: "香港城市大学", + semester: { year: 2025, month: 9, text: "25Fall" }, + semesterState: true, + tags: { "5eGTPL4eaDu5": "论文课程", vz9i0ObieS9W: "学费低", WGnTH19uDH50: "项目课程" }, + tuition_fee: 186000, + uniqid: "be4mfKLvXe0u", + }, + ]); + + let discipline = ref({ + alias: "A04", + count: 162, + enname: "Computer Science and Information Technology", + id: 3, + name: "商学与管理学类", + }); + + return { discipline, recommendList, admissionsObj, admissions, applyListState, isAccreditation, accreditation, scholarships, documents, admission_requirementsObj, previewShow, openPreview, hidePreview, swiperRef, cutSwiper, admissionCurrent, moldObj, urls, offerList, side, sideKey, info, disciplineObj, rankingsObj, cutStudyMode, studyMode, course, contras, copy, download, stateObj, bindblur, remark, addComparison, cutSide, detailsRef, stateState, cutState, changeType, deletee }; }, }); subject.component("text-module", textModule); diff --git a/img/arrows-white.svg b/img/arrows-white.svg new file mode 100644 index 0000000..3c58b9d --- /dev/null +++ b/img/arrows-white.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file