no message
This commit is contained in:
parent
524509b053
commit
f29f6813fe
226
css/details.css
226
css/details.css
@ -407,6 +407,67 @@
|
||||
.content .details-box .side-item:not(:last-of-type) {
|
||||
border-bottom: 1px solid #ebebeb;
|
||||
}
|
||||
.content .details-box .side-head {
|
||||
background-color: #04b0d5;
|
||||
color: #7f7f7f;
|
||||
font-size: 13px;
|
||||
height: 24px;
|
||||
background-color: #ebebeb;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 43px;
|
||||
width: 690px;
|
||||
margin-left: -26px;
|
||||
}
|
||||
.content .details-box .file {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.content .details-box .file .file-list {
|
||||
padding-top: 20px;
|
||||
padding-left: 38px;
|
||||
padding-right: 20px;
|
||||
padding-bottom: 31px;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item:not(:last-of-type) {
|
||||
margin-bottom: 27px;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item .name {
|
||||
font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item .name .icon {
|
||||
position: absolute;
|
||||
top: 21px;
|
||||
left: 12px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item .name .tag {
|
||||
width: 46px;
|
||||
height: 24px;
|
||||
background-color: #6fc16d;
|
||||
border-radius: 20px;
|
||||
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
font-weight: 400;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item .name .tag.selectable {
|
||||
color: #333333;
|
||||
border: 1px solid #d7d7d7;
|
||||
background-color: #fff;
|
||||
}
|
||||
.content .details-box .file .file-list .file-item .hint {
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
}
|
||||
.content .details-box .file .indicate {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
.content .details-box .block {
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #ebebeb;
|
||||
@ -672,19 +733,19 @@
|
||||
top: -10000%;
|
||||
width: calc(100% - 32px);
|
||||
}
|
||||
.content .details-box .text-box .indicate {
|
||||
.content .details-box .indicate {
|
||||
line-height: 12px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
.content .details-box .text-box .indicate .icon {
|
||||
.content .details-box .indicate .icon {
|
||||
width: 7px;
|
||||
height: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.content .details-box .text-box .indicate .icon.btn-right {
|
||||
.content .details-box .indicate .icon.btn-right {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.content .details-box .text-box .indicate .text {
|
||||
.content .details-box .indicate .text {
|
||||
color: #555555;
|
||||
font-size: 13px;
|
||||
margin: 0 12px;
|
||||
@ -812,6 +873,83 @@
|
||||
.content .details-box .demand .list .item .value {
|
||||
color: #000000;
|
||||
}
|
||||
.content .details-box .demand.demand-new {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.content .details-box .demand .ability-item {
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 6px;
|
||||
padding: 23px 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .head {
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 17px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .head .index {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #f95d5d;
|
||||
border-radius: 20px;
|
||||
color: #ffffff;
|
||||
margin-right: 11px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .head .tag {
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
padding: 0 6px;
|
||||
font-size: 14px;
|
||||
color: #333333;
|
||||
border: 1px solid #d7d7d7;
|
||||
border-radius: 30px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .head .tag.recommended {
|
||||
color: #fff;
|
||||
background-color: #04b0d5;
|
||||
border-color: #04b0d5;
|
||||
}
|
||||
.content .details-box .demand .ability-item .head .tag.required {
|
||||
color: #fff;
|
||||
background-color: #6fc16d;
|
||||
border-color: #6fc16d;
|
||||
}
|
||||
.content .details-box .demand .ability-item .description {
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 6px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
padding: 12px 15px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .list .item {
|
||||
padding-left: 32px;
|
||||
padding-right: 10px;
|
||||
background-color: #fbfbfb;
|
||||
}
|
||||
.content .details-box .demand .ability-item .list .item .triangle {
|
||||
top: 21px;
|
||||
left: 12px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
.content .details-box .demand .ability-item .list .item .remarks {
|
||||
margin-top: 12px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px dotted #d7d7d7;
|
||||
}
|
||||
.content .details-box .demand .demand-bottom {
|
||||
height: 48px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.content .details-box .demand .demand-bottom .bottom-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.content .details-box .tuition {
|
||||
height: 140px;
|
||||
padding-right: 10px;
|
||||
@ -886,6 +1024,26 @@
|
||||
line-height: 34px;
|
||||
text-align: center;
|
||||
}
|
||||
.content .details-box .tuition-remark {
|
||||
padding: 26px 21px 21px;
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
line-height: 22px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.content .details-box .tuition-remark .head {
|
||||
font-family: "Arial-Black", "Arial Black", sans-serif;
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.content .details-box .tuition-remark .head .icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.content .details-box .pattern {
|
||||
padding: 18px 16px 33px;
|
||||
}
|
||||
@ -941,6 +1099,66 @@
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
}
|
||||
.content .details-box .scholarships-list {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.content .details-box .scholarships {
|
||||
padding: 19px 19px 26px;
|
||||
}
|
||||
.content .details-box .scholarships:not(:last-of-type) {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.content .details-box .scholarships .name-en {
|
||||
font-weight: 650;
|
||||
font-size: 20px;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
line-height: 34px;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
.content .details-box .scholarships .name-zh {
|
||||
font-size: 14px;
|
||||
color: #aaaaaa;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.content .details-box .scholarships .text {
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
line-height: 36px;
|
||||
position: relative;
|
||||
background-image: url(/img/dotted-line.png);
|
||||
background-size: 100% 36px;
|
||||
background-repeat: repeat-y;
|
||||
background-position: 0 0;
|
||||
margin-bottom: 26px;
|
||||
}
|
||||
.content .details-box .scholarships .text::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-image: url(/img/dotted-line.png);
|
||||
background-size: 100% 36px;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
.content .details-box .scholarships .radius .key {
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
background-color: #7b8cd3;
|
||||
border-radius: 8px;
|
||||
padding: 0 7px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.content .details-box .scholarships .radius .value {
|
||||
font-size: 14px;
|
||||
color: #000000;
|
||||
}
|
||||
.content .details-box .course {
|
||||
position: relative;
|
||||
padding-top: 19px;
|
||||
|
284
css/details.less
284
css/details.less
@ -465,6 +465,76 @@
|
||||
}
|
||||
}
|
||||
|
||||
.side-head {
|
||||
background-color: #04b0d5;
|
||||
color: #7f7f7f;
|
||||
font-size: 13px;
|
||||
height: 24px;
|
||||
background-color: rgba(235, 235, 235, 1);
|
||||
border-radius: 4px;
|
||||
margin-bottom: 43px;
|
||||
width: 690px;
|
||||
margin-left: -26px;
|
||||
}
|
||||
|
||||
.file {
|
||||
margin-bottom: 40px;
|
||||
.file-list {
|
||||
padding-top: 20px;
|
||||
padding-left: 38px;
|
||||
padding-right: 20px;
|
||||
padding-bottom: 31px;
|
||||
.file-item {
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 27px;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 12px;
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 21px;
|
||||
left: 12px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
.tag {
|
||||
width: 46px;
|
||||
height: 24px;
|
||||
background-color: rgba(111, 193, 109, 1);
|
||||
border-radius: 20px;
|
||||
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
font-weight: 400;
|
||||
margin-left: 10px;
|
||||
|
||||
&.selectable {
|
||||
color: #333333;
|
||||
border: 1px solid rgba(215, 215, 215, 1);
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hint {
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
}
|
||||
}
|
||||
}
|
||||
.indicate {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.block {
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1px solid rgba(235, 235, 235, 1);
|
||||
@ -763,29 +833,29 @@
|
||||
width: calc(100% - 32px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.indicate {
|
||||
line-height: 12px;
|
||||
margin-top: 24px;
|
||||
.indicate {
|
||||
line-height: 12px;
|
||||
margin-top: 24px;
|
||||
|
||||
.icon {
|
||||
width: 7px;
|
||||
height: 12px;
|
||||
cursor: pointer;
|
||||
.icon {
|
||||
width: 7px;
|
||||
height: 12px;
|
||||
cursor: pointer;
|
||||
|
||||
&.btn-right {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
.text {
|
||||
color: #555555;
|
||||
font-size: 13px;
|
||||
margin: 0 12px;
|
||||
// padding: 24px 0 0;
|
||||
line-height: normal;
|
||||
width: fit-content;
|
||||
&.btn-right {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
.text {
|
||||
color: #555555;
|
||||
font-size: 13px;
|
||||
margin: 0 12px;
|
||||
// padding: 24px 0 0;
|
||||
line-height: normal;
|
||||
width: fit-content;
|
||||
}
|
||||
}
|
||||
|
||||
.application-schedule {
|
||||
@ -928,6 +998,94 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.demand-new {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.ability-item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 6px;
|
||||
padding: 23px 20px;
|
||||
margin-bottom: 20px;
|
||||
.head {
|
||||
.index {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: rgba(249, 93, 93, 1);
|
||||
border-radius: 20px;
|
||||
color: #ffffff;
|
||||
margin-right: 11px;
|
||||
}
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 17px;
|
||||
|
||||
.tag {
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
padding: 0 6px;
|
||||
font-size: 14px;
|
||||
color: #333333;
|
||||
border: 1px solid #d7d7d7;
|
||||
border-radius: 30px;
|
||||
margin-left: 10px;
|
||||
|
||||
&.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.description {
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 6px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
padding: 12px 15px;
|
||||
}
|
||||
|
||||
.list {
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
padding-right: 10px;
|
||||
background-color: rgba(251, 251, 251, 1);
|
||||
.triangle {
|
||||
top: 21px;
|
||||
left: 12px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
.remarks {
|
||||
margin-top: 12px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px dotted #d7d7d7;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.demand-bottom {
|
||||
height: 48px;
|
||||
cursor: pointer;
|
||||
|
||||
.bottom-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tuition {
|
||||
@ -1017,6 +1175,28 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tuition-remark {
|
||||
padding: 26px 21px 21px;
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
line-height: 22px;
|
||||
margin-bottom: 40px;
|
||||
.head {
|
||||
font-family: "Arial-Black", "Arial Black", sans-serif;
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pattern {
|
||||
padding: 18px 16px 33px;
|
||||
.tab {
|
||||
@ -1082,6 +1262,74 @@
|
||||
}
|
||||
}
|
||||
|
||||
.scholarships-list {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.scholarships {
|
||||
padding: 19px 19px 26px;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.name-en {
|
||||
font-weight: 650;
|
||||
font-size: 20px;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
line-height: 34px;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
|
||||
.name-zh {
|
||||
font-size: 14px;
|
||||
color: #aaaaaa;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 14px;
|
||||
color: #555555;
|
||||
line-height: 36px;
|
||||
position: relative;
|
||||
background-image: url(/img/dotted-line.png);
|
||||
background-size: 100% 36px;
|
||||
background-repeat: repeat-y;
|
||||
background-position: 0 0;
|
||||
margin-bottom: 26px;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-image: url(/img/dotted-line.png);
|
||||
background-size: 100% 36px;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
}
|
||||
|
||||
.radius {
|
||||
.key {
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
background-color: rgba(123, 140, 211, 1);
|
||||
border-radius: 8px;
|
||||
padding: 0 7px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.value {
|
||||
font-size: 14px;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.course {
|
||||
position: relative;
|
||||
padding-top: 19px;
|
||||
|
@ -81,6 +81,81 @@
|
||||
</div>
|
||||
<div class="details-box flex1" ref="detailsRef">
|
||||
<div class="side-item" type="basic">
|
||||
<div class="side-head flexcenter side-head-no-bottom">基本信息</div>
|
||||
<div class="item-header flexacenter">奖学金</div>
|
||||
<div class="scholarships-list">
|
||||
<div class="block scholarships" v-for="(item, index) in scholarships" :key="index">
|
||||
<div class="name-en">{{ item.scholarship_name }}</div>
|
||||
<div class="name-zh">奖学金名称</div>
|
||||
<div class="text">{{ item.description }}</div>
|
||||
<div class="radius flexacenter">
|
||||
<div class="key">适用范围</div>
|
||||
<div class="value">{{ item.is_local_eligible ? '' : '非' }}本地生适用、非本地生适用</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="tuition-remark block" v-if="admissionsObj.fee_remarks">
|
||||
<div class="head flexacenter">
|
||||
<img class="icon" src="https://app.gter.net/image/miniApp/offer/p.s.-icon.png" />
|
||||
P.S.
|
||||
</div>
|
||||
{{ '2025年秋季入学的工商管理博士(中文授课)课程学费为180万港币,分两期支付,包括教学费、教学材料和部分餐饮费用。另需自理签证、住宿和交通费用。最长修业年限为六年,延期需支付额外学费。' }}
|
||||
</div> -->
|
||||
|
||||
<div class="item-header flexacenter">必须文件</div>
|
||||
<div class="block file">
|
||||
<div class="file-list" v-for="(item,index) in documents" :key="index">
|
||||
<div class="file-item" v-for="(item,index) in item" :key="index">
|
||||
<div class="name flexacenter">
|
||||
<img class="icon" src="https://app.gter.net/image/miniApp/offer/dot-green.svg" />
|
||||
{{ item.document_zh }}
|
||||
<div v-if="item.is_required" class="tag flexcenter">必须</div>
|
||||
<div v-else class="tag selectable flexcenter">可选</div>
|
||||
</div>
|
||||
<div class="hint">{{ item.description_zh }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="indicate flexcenter">
|
||||
<img class="icon" @click="cutHotListPage('left')" />
|
||||
<div class="text">1/2</div>
|
||||
<img class="icon btn-right" @click="cutHotListPage('right')" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-header flexacenter">最低入学要求</div>
|
||||
<div class="demand block demand-new">
|
||||
<div class="text">{{ admission_requirementsObj.basic_requirements || 'jjjjjjjjjjjjjjjjjjjjjjjjjj' }}</div>
|
||||
<div class="demand-content">
|
||||
<template v-for="item in admission_requirementsObj.language_requirements">
|
||||
<div class="title">{{ item.name || '' }}</div>
|
||||
<div class="hint" v-if="!item.iselse">满足以下其中一项即可</div>
|
||||
<div class="ability-item" v-for="(item, index) in item.proof_methods" :key="index">
|
||||
<div class="head flexacenter">
|
||||
<div class="index flexcenter">{{ index + 1 }}</div>
|
||||
<div class="ability-text">{{ item.name || item.test_name }}</div>
|
||||
<div v-if="item.requirement_level" class="tag flexcenter" :class="item.requirement_level">{{ item.level }}</div>
|
||||
</div>
|
||||
<div v-if="item.description_zh" class="description">
|
||||
{{ item.description_zh }}
|
||||
<div class="remarks" v-if="item.remarks_zh && item.description_zh != item.remarks_zh">{{ item.remarks_zh }}</div>
|
||||
</div>
|
||||
<div v-else class="list">
|
||||
<div class="item" v-for="(item,index) in item.tests" :key="index">
|
||||
<img class="triangle" src="https://app.gter.net/image/miniApp/offer/dot-green.svg" />
|
||||
<div class="name">{{ item.test_name }}</div>
|
||||
<div class="value">{{ item.text }}</div>
|
||||
<div class="remarks" v-if="item.remarks_zh">{{ item.remarks_zh }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class="demand-bottom flexcenter {{ demandState == 2 ? 'demandShow' : '' }}" bind:tap="cutDemandState" wx:if="{{ demandState != 0 }}">
|
||||
<img class="bottom-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-header flexacenter">招生官答网友问</div>
|
||||
<div class="answer block">
|
||||
<div class="hint flexacenter">
|
||||
@ -264,7 +339,7 @@
|
||||
|
||||
<div class="item-header flexacenter">最低入学要求</div>
|
||||
<div class="demand block">
|
||||
<div class="text">{{ info.entrance_requirements || '-' }}</div>
|
||||
<div class="text">{{ info.entrance_requirements || 'jjjjjjjjjjjjjjjjjjjjjjjjjj' }}</div>
|
||||
<template v-if="info.english_proficiency">
|
||||
<div class="title">英语能力要求</div>
|
||||
<div class="hint">满足以下其中一项即可</div>
|
||||
@ -671,7 +746,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const { createApp, ref, onMounted, nextTick, onUnmounted, computed, defineProps } = Vue
|
||||
const { createApp, ref, onMounted, nextTick, onUnmounted, computed, defineProps } = Vue;
|
||||
const subject = createApp({
|
||||
setup() {
|
||||
let side = ref({
|
||||
@ -682,249 +757,249 @@
|
||||
graduate: "毕业&就业",
|
||||
issue: "常见问题",
|
||||
links: "相关链接",
|
||||
})
|
||||
});
|
||||
|
||||
const stateObj = ref({
|
||||
0: "待定",
|
||||
1: "主申",
|
||||
2: "冲刺",
|
||||
3: "保底",
|
||||
})
|
||||
});
|
||||
|
||||
let rankingsObj = ref({})
|
||||
let disciplineObj = ref({})
|
||||
const uniqid = "IwdCOvZ08KUhkXtjXQ5vhAPHczKneFd45T-d55pDZx8TvBsGm2D9tbuIj9YdJhDq2Zy09bXaoc4-lAhiMmE1"
|
||||
let rankingsObj = ref({});
|
||||
let disciplineObj = ref({});
|
||||
const uniqid = "IwdCOvZ08KUhkXtjXQ5vhAPHczKneFd45T-d55pDZx8TvBsGm2D9tbuIj9YdJhDq2Zy09bXaoc4-lAhiMmE1";
|
||||
|
||||
onMounted(() => {
|
||||
window.addEventListener("scroll", handleScroll)
|
||||
getBaseData().then(data => {
|
||||
rankingsObj.value = data.rankings
|
||||
disciplineObj.value = data.discipline
|
||||
getData()
|
||||
})
|
||||
})
|
||||
window.addEventListener("scroll", handleScroll);
|
||||
getBaseData().then((data) => {
|
||||
rankingsObj.value = data.rankings;
|
||||
disciplineObj.value = data.discipline;
|
||||
getData();
|
||||
});
|
||||
});
|
||||
|
||||
const handleScroll = () => {
|
||||
const keyElements = detailsRef.value.querySelectorAll(".side-item")
|
||||
const keyElements = detailsRef.value.querySelectorAll(".side-item");
|
||||
for (const keyElement of keyElements) {
|
||||
const rect = keyElement.getBoundingClientRect()
|
||||
const rect = keyElement.getBoundingClientRect();
|
||||
// console.log(rect)
|
||||
if (rect.top + rect.height > 0) {
|
||||
// console.log("keyElement", keyElement.getAttribute("type"))
|
||||
sideKey.value = keyElement.getAttribute("type")
|
||||
break
|
||||
sideKey.value = keyElement.getAttribute("type");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let info = ref({})
|
||||
let remark = ref("")
|
||||
let sideKey = ref("pivotal")
|
||||
let contras = ref({})
|
||||
let course = ref({})
|
||||
let info = ref({});
|
||||
let remark = ref("");
|
||||
let sideKey = ref("pivotal");
|
||||
let contras = ref({});
|
||||
let course = ref({});
|
||||
|
||||
const getData = () => {
|
||||
$ajaxget("/api/detail", {
|
||||
uniqid,
|
||||
}).then(res => {
|
||||
const data = res.data
|
||||
decodeKey(data.info).then(res => {
|
||||
data.info = res
|
||||
}).then((res) => {
|
||||
const data = res.data;
|
||||
decodeKey(data.info).then((res) => {
|
||||
data.info = res;
|
||||
|
||||
let courseObj = {
|
||||
required: [],
|
||||
requiredCount: 0,
|
||||
elective: [],
|
||||
electiveCount: 0,
|
||||
}
|
||||
};
|
||||
|
||||
const infoObj = data.info || {}
|
||||
const infoObj = data.info || {};
|
||||
|
||||
const fields = ["tuition_fee", "tuition_fee_per_credit", "application_fee", "admission_deposit"]
|
||||
fields.forEach(field => {
|
||||
const textKey = `${field}_text`
|
||||
infoObj[textKey] = formatNumberWithSpaces(info[field] || "")
|
||||
})
|
||||
const fields = ["tuition_fee", "tuition_fee_per_credit", "application_fee", "admission_deposit"];
|
||||
fields.forEach((field) => {
|
||||
const textKey = `${field}_text`;
|
||||
infoObj[textKey] = formatNumberWithSpaces(info[field] || "");
|
||||
});
|
||||
|
||||
const curriculum = infoObj.curriculum || []
|
||||
const curriculum = infoObj.curriculum || [];
|
||||
|
||||
if (infoObj.language_of_instruction) {
|
||||
let strOutput = infoObj.language_of_instruction.join(",")
|
||||
infoObj["language_of_instruction_text"] = strOutput
|
||||
let strOutput = infoObj.language_of_instruction.join(",");
|
||||
infoObj["language_of_instruction_text"] = strOutput;
|
||||
}
|
||||
|
||||
curriculum.forEach(element => {
|
||||
if (element.credit == "N/A") element.credit = 0
|
||||
element.type === "必修课" ? (courseObj.required.push(element), (courseObj.requiredCount += element.credit)) : (courseObj.elective.push(element), (courseObj.electiveCount += element.credit))
|
||||
})
|
||||
curriculum.forEach((element) => {
|
||||
if (element.credit == "N/A") element.credit = 0;
|
||||
element.type === "必修课" ? (courseObj.required.push(element), (courseObj.requiredCount += element.credit)) : (courseObj.elective.push(element), (courseObj.electiveCount += element.credit));
|
||||
});
|
||||
|
||||
let contrasObj = data.contras
|
||||
if (Array.isArray(contrasObj)) contrasObj = {}
|
||||
remark.value = contrasObj.remarks || ""
|
||||
let contrasObj = data.contras;
|
||||
if (Array.isArray(contrasObj)) contrasObj = {};
|
||||
remark.value = contrasObj.remarks || "";
|
||||
// 算出最后申请时间
|
||||
infoObj["application_end"] = calculateApplicaDeadline(infoObj.nonlocal_application_end || {})
|
||||
infoObj["application_end"] = calculateApplicaDeadline(infoObj.nonlocal_application_end || {});
|
||||
// 算出面试轮时间
|
||||
infoObj["interviewRounds"] = calculateInterviewRound(infoObj.nonlocal_application_end || {})
|
||||
infoObj["interviewRounds"] = calculateInterviewRound(infoObj.nonlocal_application_end || {});
|
||||
|
||||
if (typeof infoObj.mode_of_study == "string") infoObj.mode_of_study = JSON.parse(info.mode_of_study)
|
||||
if (typeof infoObj.mode_of_study == "string") infoObj.mode_of_study = JSON.parse(info.mode_of_study);
|
||||
|
||||
let sideObj = side.value
|
||||
let sideObj = side.value;
|
||||
// 判断是否常见问题 ,没有则删除左侧
|
||||
if (!infoObj.faq || infoObj.faq.length == 0) delete sideObj.issue
|
||||
if (!infoObj.faq || infoObj.faq.length == 0) delete sideObj.issue;
|
||||
|
||||
// 判断 毕业就业 没有则删除左侧
|
||||
if (!info.award_zh && !infoObj.graduation_requirements && !infoObj.domains && !infoObj.employers && !infoObj.positions) delete sideObj.graduate
|
||||
if (!info.award_zh && !infoObj.graduation_requirements && !infoObj.domains && !infoObj.employers && !infoObj.positions) delete sideObj.graduate;
|
||||
|
||||
// 判断奖学金文案
|
||||
if (infoObj.scholarship) infoObj["scholarshipText"] = JudgmentScholarshipText(infoObj.scholarship)
|
||||
if (infoObj.scholarship) infoObj["scholarshipText"] = JudgmentScholarshipText(infoObj.scholarship);
|
||||
|
||||
if (infoObj.leaflet_url) {
|
||||
const leaflet_url = decodeURIComponent(infoObj.leaflet_url)
|
||||
const urlWithoutParams = leaflet_url.split("?")[0]
|
||||
const urlParts = urlWithoutParams.split("/")
|
||||
const fileName = urlParts[urlParts.length - 1]
|
||||
infoObj["leaflet_name"] = fileName
|
||||
const leaflet_url = decodeURIComponent(infoObj.leaflet_url);
|
||||
const urlWithoutParams = leaflet_url.split("?")[0];
|
||||
const urlParts = urlWithoutParams.split("/");
|
||||
const fileName = urlParts[urlParts.length - 1];
|
||||
infoObj["leaflet_name"] = fileName;
|
||||
}
|
||||
|
||||
// const isadmission = info.admissionsproject || 0
|
||||
// if (isadmission == 1) this.getAdmissionList()
|
||||
|
||||
const date = new Date()
|
||||
const month = date.getMonth() + 1
|
||||
const year = date.getFullYear()
|
||||
const semester = infoObj.semester || {}
|
||||
if (month > semester.month && year + 1 <= semester.year) infoObj["semesterState"] = true
|
||||
const date = new Date();
|
||||
const month = date.getMonth() + 1;
|
||||
const year = date.getFullYear();
|
||||
const semester = infoObj.semester || {};
|
||||
if (month > semester.month && year + 1 <= semester.year) infoObj["semesterState"] = true;
|
||||
|
||||
console.log("infoObj", infoObj)
|
||||
info.value = infoObj
|
||||
side.value = sideObj
|
||||
sideKey.value = "basic"
|
||||
course.value = courseObj
|
||||
contras.value = contrasObj
|
||||
})
|
||||
})
|
||||
}
|
||||
console.log("infoObj", infoObj);
|
||||
info.value = infoObj;
|
||||
side.value = sideObj;
|
||||
sideKey.value = "basic";
|
||||
course.value = courseObj;
|
||||
contras.value = contrasObj;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// 判断奖学金文案
|
||||
const JudgmentScholarshipText = obj => {
|
||||
let text = ""
|
||||
if (obj.local && obj.nonlocal) text = "均有"
|
||||
else if (!obj.local && !obj.nonlocal) text = "均无"
|
||||
else if (obj.local && !obj.nonlocal) text = "非本地学生无"
|
||||
else if (!obj.local && obj.nonlocal) text = "非本地学生有"
|
||||
return text
|
||||
}
|
||||
const JudgmentScholarshipText = (obj) => {
|
||||
let text = "";
|
||||
if (obj.local && obj.nonlocal) text = "均有";
|
||||
else if (!obj.local && !obj.nonlocal) text = "均无";
|
||||
else if (obj.local && !obj.nonlocal) text = "非本地学生无";
|
||||
else if (!obj.local && obj.nonlocal) text = "非本地学生有";
|
||||
return text;
|
||||
};
|
||||
|
||||
// 计算出外地申请截止时间
|
||||
const calculateApplicaDeadline = obj => {
|
||||
const calculateApplicaDeadline = (obj) => {
|
||||
// 初始化变量来存储最大时间点的属性和日期
|
||||
let maxDate = null
|
||||
let maxDate = null;
|
||||
// 遍历对象的属性
|
||||
for (const item in obj) {
|
||||
// 如果当前日期是最大日期或是第一个日期,则更新最大日期和属性
|
||||
if (maxDate === null || obj[item] > maxDate) maxDate = obj[item]
|
||||
if (maxDate === null || obj[item] > maxDate) maxDate = obj[item];
|
||||
}
|
||||
return maxDate
|
||||
}
|
||||
return maxDate;
|
||||
};
|
||||
|
||||
// 计算出面试轮的数组
|
||||
const calculateInterviewRound = obj => {
|
||||
let rounds = []
|
||||
const chineseNumbers = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
|
||||
const calculateInterviewRound = (obj) => {
|
||||
let rounds = [];
|
||||
const chineseNumbers = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
|
||||
|
||||
const formatTime = (time, index) => {
|
||||
return {
|
||||
text: `第${chineseNumbers[index]}轮`,
|
||||
time,
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Object.keys(obj).forEach((key, index) => {
|
||||
rounds.push(formatTime(obj[key], index))
|
||||
})
|
||||
rounds.push(formatTime(obj[key], index));
|
||||
});
|
||||
|
||||
if (rounds.length == 0) rounds = [{}]
|
||||
return rounds || [{}]
|
||||
}
|
||||
if (rounds.length == 0) rounds = [{}];
|
||||
return rounds || [{}];
|
||||
};
|
||||
|
||||
let studyMode = ref("ft") // 'ft', // 学习模式显示状态 ft 全日制 pt 兼读制
|
||||
let studyMode = ref("ft"); // 'ft', // 学习模式显示状态 ft 全日制 pt 兼读制
|
||||
|
||||
const cutStudyMode = type => {
|
||||
studyMode.value = type
|
||||
}
|
||||
const cutStudyMode = (type) => {
|
||||
studyMode.value = type;
|
||||
};
|
||||
|
||||
const copy = url => {
|
||||
let copyInput = document.createElement("input")
|
||||
document.body.appendChild(copyInput)
|
||||
copyInput.setAttribute("value", url)
|
||||
copyInput.select()
|
||||
document.execCommand("Copy")
|
||||
copyInput.remove()
|
||||
}
|
||||
const copy = (url) => {
|
||||
let copyInput = document.createElement("input");
|
||||
document.body.appendChild(copyInput);
|
||||
copyInput.setAttribute("value", url);
|
||||
copyInput.select();
|
||||
document.execCommand("Copy");
|
||||
copyInput.remove();
|
||||
};
|
||||
|
||||
// 下载文件
|
||||
const download = url => {
|
||||
const download = (url) => {
|
||||
// 下载文件
|
||||
window.open(url)
|
||||
}
|
||||
window.open(url);
|
||||
};
|
||||
|
||||
const bindblur = () => {
|
||||
$ajax("/api/user/remarks", {
|
||||
token: contras.value.token,
|
||||
remarks: remark.value,
|
||||
}).then(res => {})
|
||||
}
|
||||
}).then((res) => {});
|
||||
};
|
||||
|
||||
// 点击加入对比单
|
||||
const addComparison = () => {
|
||||
$ajax("/api/contrast/add", {
|
||||
projectid: info.value.id,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
const data = res.data
|
||||
contras.value["status"] = 1
|
||||
contras.value["ismanage"] = 1
|
||||
contras.value["typeid"] = 0 // 默认是待定
|
||||
contras.value["token"] = data.token
|
||||
})
|
||||
}
|
||||
}).then((res) => {
|
||||
if (res.code != 200) return;
|
||||
const data = res.data;
|
||||
contras.value["status"] = 1;
|
||||
contras.value["ismanage"] = 1;
|
||||
contras.value["typeid"] = 0; // 默认是待定
|
||||
contras.value["token"] = data.token;
|
||||
});
|
||||
};
|
||||
|
||||
const detailsRef = ref(null)
|
||||
const detailsRef = ref(null);
|
||||
// 使 页面滚动到
|
||||
const cutSide = key => {
|
||||
const cutSide = (key) => {
|
||||
// sideKey.value = key
|
||||
const keyElement = detailsRef.value.querySelector(`.side-item[type=${key}]`)
|
||||
keyElement.scrollIntoView({ behavior: "smooth" })
|
||||
}
|
||||
const keyElement = detailsRef.value.querySelector(`.side-item[type=${key}]`);
|
||||
keyElement.scrollIntoView({ behavior: "smooth" });
|
||||
};
|
||||
|
||||
let stateState = ref(false)
|
||||
let stateState = ref(false);
|
||||
|
||||
const cutState = () => {
|
||||
stateState.value = !stateState.value
|
||||
}
|
||||
stateState.value = !stateState.value;
|
||||
};
|
||||
|
||||
// 修改 项目 状态
|
||||
const changeType = typeid => {
|
||||
const changeType = (typeid) => {
|
||||
$ajax("/api/user/changeType", {
|
||||
token: contras.value.token || "",
|
||||
typeid,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
contras.value["typeid"] = typeid
|
||||
cutState()
|
||||
})
|
||||
}
|
||||
}).then((res) => {
|
||||
if (res.code != 200) return;
|
||||
contras.value["typeid"] = typeid;
|
||||
cutState();
|
||||
});
|
||||
};
|
||||
|
||||
const deletee = () => {
|
||||
const contras = this.data.contras
|
||||
const contras = this.data.contras;
|
||||
$ajax("/api/user/delete", {
|
||||
token: contras.value.token,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
contras.value["ismanage"] = 0
|
||||
stateState.value = false
|
||||
})
|
||||
}
|
||||
}).then((res) => {
|
||||
if (res.code != 200) return;
|
||||
contras.value["ismanage"] = 0;
|
||||
stateState.value = false;
|
||||
});
|
||||
};
|
||||
|
||||
const offerList = ref([
|
||||
{
|
||||
@ -965,7 +1040,7 @@
|
||||
url: "https://offer.gter.net/details/HD4DmDCi0aCa",
|
||||
view: 242,
|
||||
},
|
||||
])
|
||||
]);
|
||||
|
||||
const urls = ref([
|
||||
[
|
||||
@ -1002,39 +1077,196 @@
|
||||
url: "https://bbs.gter.net/thread-2617401-1-1.html",
|
||||
},
|
||||
],
|
||||
])
|
||||
]);
|
||||
|
||||
const moldObj = ref({
|
||||
1: "直播",
|
||||
2: "回放",
|
||||
3: "答疑",
|
||||
})
|
||||
});
|
||||
|
||||
let admissionCurrent = ref(0)
|
||||
let admissionCurrent = ref(0);
|
||||
|
||||
const swiperRef = ref(null)
|
||||
const swiperRef = ref(null);
|
||||
|
||||
// 写一个 点击切换轮播图
|
||||
const cutSwiper = index => {
|
||||
admissionCurrent.value = index
|
||||
const dom = document.querySelector(".swiper-item" + index)
|
||||
const left = dom.offsetLeft
|
||||
const cutSwiper = (index) => {
|
||||
admissionCurrent.value = index;
|
||||
const dom = document.querySelector(".swiper-item" + index);
|
||||
const left = dom.offsetLeft;
|
||||
swiperRef.value.scrollTo({
|
||||
left,
|
||||
behavior: "smooth",
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
let previewShow = ref(false)
|
||||
let previewShow = ref(false);
|
||||
|
||||
const openPreview = () => (previewShow.value = true)
|
||||
const hidePreview = () => (previewShow.value = false)
|
||||
const openPreview = () => (previewShow.value = true);
|
||||
const hidePreview = () => (previewShow.value = false);
|
||||
|
||||
return { 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 admission_requirementsObj = ref({
|
||||
admission_id: 57,
|
||||
basic_requirements: "申请人必须持有香港任何一所大学或大学认可的海外院校颁发的学士学位;或持有大学认为等同于上述学历的其他资格;并且通过面试。",
|
||||
created_at: "2025-02-18 00:53:50.411368+00:00",
|
||||
id: 417,
|
||||
language_requirements: [
|
||||
{
|
||||
language: "ENGLISH",
|
||||
name: "英语能力要求",
|
||||
proof_methods: [
|
||||
{
|
||||
description: "Applicants whose entrance qualification is obtained from an institution where the medium of instruction is not English should also fulfill the following minimum English proficiency requirement.",
|
||||
description_zh: "入学资格由英语授课院校获得者可免除最低英语语言能力要求。",
|
||||
name: "教育",
|
||||
type: "education",
|
||||
},
|
||||
{
|
||||
name: "能力测试",
|
||||
tests: [
|
||||
{ grade: "", min_score: 79, remarks: "TOEFL scores are considered valid for two years. Applicants are required to provide their English test results obtained within the two years preceding the commencement of the University's application period. Applicants are required to arrange with the Educational Testing Service (ETS) to send their TOEFL results directly to the University. The TOEFL institution code for CityUHK is 3401.", remarks_zh: "托福成绩有效期为两年。申请者需提供在大学申请期开始前两年内获得的英语考试成绩。申请者需与教育考试服务中心(ETS)安排直接将托福成绩发送至大学。CityUHK的托福机构代码为3401。", sub_scores: [], test_name: "TOEFL iBT", text: "总分 79 分以上" },
|
||||
{
|
||||
grade: "",
|
||||
min_score: 6.5,
|
||||
remarks: "IELTS scores are considered valid for two years. Applicants are required to provide their English test results obtained within the two years preceding the commencement of the University's application period.",
|
||||
remarks_zh: "雅思成绩有效期为两年。申请者需提供在大学申请期开始前两年内获得的英语考试成绩。",
|
||||
sub_scores: [],
|
||||
test_name: "IELTS Academic",
|
||||
text: "总分 6.5 分以上",
|
||||
},
|
||||
{
|
||||
grade: "",
|
||||
min_score: 450,
|
||||
remarks: "CET-6 scores are considered valid for two years. Applicants are required to provide their English test results obtained within the two years preceding the commencement of the University's application period.",
|
||||
remarks_zh: "大学英语六级(CET-6)成绩有效期为两年。申请者需提供在大学申请期开始前两年内获得的英语考试成绩。",
|
||||
sub_scores: [],
|
||||
test_name: "CET-6",
|
||||
text: "总分 450 分以上",
|
||||
type: "test",
|
||||
},
|
||||
],
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
iselse: true,
|
||||
name: "其他标化考试要求",
|
||||
proof_methods: [
|
||||
{
|
||||
description: "Satisfactory GMAT/GRE score or satisfactory EA/GRK score",
|
||||
description_zh: "需要提供满意的GMAT/GRE成绩或满意的EA/GRK成绩",
|
||||
level: "必须",
|
||||
remarks: "For the part-time programme, applicants with more than seven years of postgraduate full-time work experience might be exempted from this requirement. Exemption, if any, will be considered on a case-by-case basis.",
|
||||
remarks_zh: "对于非全日制项目,具有七年以上研究生全职工作经验的申请人可以免除此要求。如有任何豁免,将视具体情况而定。",
|
||||
requirement_level: "required",
|
||||
subjects: [],
|
||||
test_name: "GMAT",
|
||||
total_score: 0,
|
||||
},
|
||||
{
|
||||
description: "Satisfactory GMAT/GRE score or satisfactory EA/GRK score",
|
||||
description_zh: "需要提供满意的GMAT/GRE成绩或满意的EA/GRK成绩",
|
||||
level: "必须",
|
||||
remarks: "For the part-time programme, applicants with more than seven years of postgraduate full-time work experience might be exempted from this requirement. Exemption, if any, will be considered on a case-by-case basis.",
|
||||
remarks_zh: "对于非全日制项目,具有七年以上研究生全职工作经验的申请人可以免除此要求。如有任何豁免,将视具体情况而定。",
|
||||
requirement_level: "required",
|
||||
subjects: [],
|
||||
test_name: "GRE",
|
||||
total_score: 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
program_id: 57,
|
||||
standardized_tests_requirements: [],
|
||||
updated_at: "2025-03-12 02:55:26.690192+00:00",
|
||||
});
|
||||
|
||||
const documents = ref([
|
||||
[
|
||||
{
|
||||
description_zh: "证明个人身份的官方文件,通常包含照片、姓名、出生日期等个人信息。国际申请通常需要有效护照。",
|
||||
details: "本地申请人需提供带有水印的香港身份证副本,非本地申请人需提供护照副本。",
|
||||
document_en: "Identity Document",
|
||||
document_id: 6,
|
||||
document_zh: "身份证明",
|
||||
is_required: 1,
|
||||
program_id: 344,
|
||||
},
|
||||
{
|
||||
description_zh: "详细总结学术和专业背景的文件,包括教育经历、研究经验、发表成果、工作经历、技能和成就。全面展示与申请相关的资质和经验。",
|
||||
details: "需包含发表物和学术奖励(如有)。",
|
||||
document_en: "Curriculum Vitae",
|
||||
document_id: 10,
|
||||
document_zh: "个人简历",
|
||||
is_required: 1,
|
||||
program_id: 344,
|
||||
},
|
||||
{
|
||||
description_zh: "由教育机构官方出具的学习记录文件,详细列出所修课程、获得的成绩和授予的学位。包含完整的学业表现记录,如平均绩点(GPA)、学分数和所获学术荣誉。申请时可能需要提供官方成绩单(由学校密封直接寄送)和非官方成绩单(用于初审)。",
|
||||
details: "需提供官方成绩单。",
|
||||
document_en: "Academic Transcript",
|
||||
document_id: 1,
|
||||
document_zh: "成绩单",
|
||||
is_required: 1,
|
||||
program_id: 344,
|
||||
},
|
||||
{
|
||||
description_zh: "证明完成学业的正式文件,表明已完成教育项目的所有课程和要求。",
|
||||
details: "如有,请提供毕业证书。",
|
||||
document_en: "Graduation Certificate",
|
||||
document_id: 4,
|
||||
document_zh: "毕业证书",
|
||||
is_required: 0,
|
||||
program_id: 344,
|
||||
},
|
||||
{
|
||||
description_zh: "证明英语语言能力的文件。通常包括标准化考试成绩(如雅思、托福、PTE、剑桥英语等)或项目认可的其他英语水平证明。文件需显示考试日期、总分以及各项分数(阅读、写作、听力、口语)。",
|
||||
details: "如果您没有在以英语授课的大学学习,则需要提供托福(非家庭版)或雅思成绩。",
|
||||
document_en: "Proof of English Proficiency",
|
||||
document_id: 5,
|
||||
document_zh: "英语能力证明",
|
||||
is_required: 1,
|
||||
program_id: 344,
|
||||
},
|
||||
],
|
||||
]);
|
||||
let scholarships = ref([
|
||||
{
|
||||
description: "香港浸会大学为理学硕士(创业与全球营销)课程设立了一系列奖学金和奖励计划,以表彰学生在硕士课程学习中的优异学术表现。GMAT 成绩达到 650 分或以上的学生,每人可获得 25,000 港元的奖学金;GMAT 成绩达到 700 分或以上的学生,每人可获得 50,000 港元的奖学金。在课程结束前成功创业的学生可获得 50,000 港元的奖学金。课程结束后,排名前三名的学生将因其卓越的学术成就获得 10,000 港元的奖学金。奖学金的发放视具体情况而定,最终须由课程小组审核和批准。",
|
||||
is_local_eligible: 1,
|
||||
is_nonlocal_eligible: 1,
|
||||
program_id: 714,
|
||||
scholarship_name: "Hong Kong Baptist University Scholarships/Tuition-waiver Award",
|
||||
},
|
||||
{
|
||||
description: "国际研究生奖学金(IPS)旨在奖励杰出的国际学生。奖学金获得者将获得全额学费减免以及 100,000 港元的生活津贴(约合 12,820 美元)。符合条件的申请人将根据其整体申请资料和面试表现自动获得奖学金的考虑。",
|
||||
is_local_eligible: 0,
|
||||
is_nonlocal_eligible: 1,
|
||||
program_id: 714,
|
||||
scholarship_name: "International Postgraduate Scholarship (IPS)",
|
||||
},
|
||||
{
|
||||
description: "香港浸会大学、香港浸会大学持续教育学院和北京师范大学-香港浸会大学联合国际学院的毕业生(持有副学士学位或以上学历),如果被该课程录取,将有资格获得 10,000 港元的终身学习奖。",
|
||||
is_local_eligible: 1,
|
||||
is_nonlocal_eligible: 0,
|
||||
program_id: 714,
|
||||
scholarship_name: "Lifelong Learning Award",
|
||||
},
|
||||
{
|
||||
description: "在课程结束时,学生将有机会向投资者推销他们的商业理念,并有可能获得风险投资基金来创办自己的公司。最多可向有潜力的创业项目提供 100 万港元的资金。",
|
||||
is_local_eligible: 1,
|
||||
is_nonlocal_eligible: 1,
|
||||
program_id: 714,
|
||||
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 };
|
||||
},
|
||||
})
|
||||
subject.component("text-module", textModule)
|
||||
subject.mount("#app")
|
||||
});
|
||||
subject.component("text-module", textModule);
|
||||
subject.mount("#app");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -11,7 +11,7 @@
|
||||
console.log(aaa);
|
||||
aaa.forEach((element) => {
|
||||
if (element.standardized_tests_requirements != "[]") {
|
||||
console.log(JSON.parse(element.standardized_tests_requirements), element.program_id);
|
||||
console.log(JSON.parse(element.standardized_tests_requirements), element);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
BIN
img/dotted-line.png
Normal file
BIN
img/dotted-line.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
Loading…
x
Reference in New Issue
Block a user