no message
This commit is contained in:
parent
569e5505ce
commit
10ebdd0ec7
49
component/document-box/document-box.js
Normal file
49
component/document-box/document-box.js
Normal file
@ -0,0 +1,49 @@
|
||||
// template/document-box/document-box.js
|
||||
Component({
|
||||
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
className: String,
|
||||
documents: {
|
||||
type: Array,
|
||||
observer(res) {
|
||||
if (res && res.length > 0) this.init()
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
swiperCurrent: 0, // 轮播图下标
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
init() {
|
||||
const query = wx.createSelectorQuery();
|
||||
query.selectAll(`.main >>> .file-list`).boundingClientRect(rect => {
|
||||
if (!rect) return
|
||||
let page = {}
|
||||
rect.forEach(element => page[element.dataset.index] = element.height)
|
||||
this.setData({
|
||||
page
|
||||
})
|
||||
}).exec();
|
||||
},
|
||||
|
||||
// 新 轮播图 自动滑动事件,修改下标
|
||||
bindchangeSwiper(e) {
|
||||
let current = e.detail.current
|
||||
|
||||
this.setData({
|
||||
swiperCurrent: current
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
4
component/document-box/document-box.json
Normal file
4
component/document-box/document-box.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
117
component/document-box/document-box.less
Normal file
117
component/document-box/document-box.less
Normal file
@ -0,0 +1,117 @@
|
||||
/* template/document-box/document-box.wxss */
|
||||
.flexflex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.flexcenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flexjcenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.flexacenter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flex1 {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.block {
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
}
|
||||
|
||||
.file {
|
||||
padding-bottom: 34.5rpx;
|
||||
|
||||
.file-swiper {
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
.file-list {
|
||||
padding: 36rpx 10rpx 25.5rpx 49.5rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.file-item {
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 39rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
position: relative;
|
||||
margin-bottom: 15rpx;
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -27rpx;
|
||||
transform: translateY(-50%);
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
}
|
||||
|
||||
font-family: 'PingFangSC-Semibold',
|
||||
'PingFang SC Semibold',
|
||||
'PingFang SC',
|
||||
sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
|
||||
.tag {
|
||||
width: 69rpx;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
background-color: rgba(111, 193, 109, 1);
|
||||
border-radius: 30rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
margin-left: 15rpx;
|
||||
|
||||
&.selectable {
|
||||
border: 1rpx solid rgba(215, 215, 215, 1);
|
||||
background-color: #fff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hint {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pilot {
|
||||
margin-top: 24rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.item {
|
||||
width: 15rpx;
|
||||
height: 6rpx;
|
||||
background-color: rgba(215, 215, 215, 1);
|
||||
border-radius: 30rpx;
|
||||
|
||||
&.pitch {
|
||||
background-color: rgba(250, 107, 17, 1);
|
||||
}
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
22
component/document-box/document-box.wxml
Normal file
22
component/document-box/document-box.wxml
Normal file
@ -0,0 +1,22 @@
|
||||
<!--template/document-box/document-box.wxml-->
|
||||
<view class="block file">
|
||||
<swiper class="file-swiper" style="height: {{ page[swiperCurrent] }}px;" current="{{ swiperCurrent || 0 }}" bindanimationfinish="bindchangeSwiper" circular="{{ true }}">
|
||||
<swiper-item wx:for="{{ documents }}" wx:key="index">
|
||||
<view class="file-list" data-index="{{ index }}">
|
||||
<view class="file-item" wx:for="{{ item }}" wx:key="index">
|
||||
<view class="name flexacenter">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/dot-green.svg" mode="widthFix"></image>
|
||||
{{ item.document_zh }}
|
||||
<view wx:if="{{ item.is_required }}" class="tag flexcenter">必须</view>
|
||||
<view wx:else class="tag selectable flexcenter">可选</view>
|
||||
</view>
|
||||
<view class="hint">{{ item.description_zh }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
|
||||
<view class="pilot">
|
||||
<view class="item {{ swiperCurrent == index ? 'pitch' : '' }}" wx:for="{{ documents }}" wx:key="index"></view>
|
||||
</view>
|
||||
</view>
|
93
component/document-box/document-box.wxss
Normal file
93
component/document-box/document-box.wxss
Normal file
@ -0,0 +1,93 @@
|
||||
/* template/document-box/document-box.wxss */
|
||||
.flexflex {
|
||||
display: flex;
|
||||
}
|
||||
.flexcenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.flexjcenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.flexacenter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.flex1 {
|
||||
flex: 1;
|
||||
}
|
||||
.block {
|
||||
background-color: #ffffff;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
}
|
||||
.file {
|
||||
padding-bottom: 34.5rpx;
|
||||
}
|
||||
.file .file-swiper {
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.file .file-list {
|
||||
padding: 36rpx 10rpx 25.5rpx 49.5rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.file .file-list .file-item:not(:last-of-type) {
|
||||
margin-bottom: 39rpx;
|
||||
}
|
||||
.file .file-list .file-item .name {
|
||||
position: relative;
|
||||
margin-bottom: 15rpx;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.file .file-list .file-item .name .icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: -27rpx;
|
||||
transform: translateY(-50%);
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
}
|
||||
.file .file-list .file-item .name .tag {
|
||||
width: 69rpx;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
background-color: #6fc16d;
|
||||
border-radius: 30rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
.file .file-list .file-item .name .tag.selectable {
|
||||
border: 1rpx solid #d7d7d7;
|
||||
background-color: #fff;
|
||||
color: #000000;
|
||||
}
|
||||
.file .file-list .file-item .hint {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
}
|
||||
.file .pilot {
|
||||
margin-top: 24rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.file .pilot .item {
|
||||
width: 15rpx;
|
||||
height: 6rpx;
|
||||
background-color: #d7d7d7;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
.file .pilot .item.pitch {
|
||||
background-color: #fa6b11;
|
||||
}
|
||||
.file .pilot .item:not(:last-of-type) {
|
||||
margin-right: 6rpx;
|
||||
}
|
@ -47,7 +47,7 @@ Page({
|
||||
info: {},
|
||||
|
||||
side: {
|
||||
pivotal: "关键信息",
|
||||
// pivotal: "关键信息",
|
||||
basic: "基本信息",
|
||||
apply: "申请信息",
|
||||
attend: "就读信息",
|
||||
@ -56,10 +56,11 @@ Page({
|
||||
consult: "录取参考",
|
||||
issue: "常见问题",
|
||||
links: "相关链接",
|
||||
recommend: "推荐项目",
|
||||
},
|
||||
|
||||
|
||||
sideKey: "pivotal", // 侧边栏选中 key
|
||||
sideKey: "basic", // 侧边栏选中 key
|
||||
|
||||
course: {}, // 课程
|
||||
|
||||
@ -104,7 +105,30 @@ Page({
|
||||
|
||||
quickAnswerState: false,
|
||||
rankingKey: common.rankingKey,
|
||||
detailsInfo: {},
|
||||
accreditation: {},
|
||||
isAccreditation: false,
|
||||
|
||||
admissions: [],
|
||||
admissionsObj: {},
|
||||
admissionsIndex: 0,
|
||||
|
||||
demandState: 0, // 要求展示状态 0 显示全部 1 显示箭头和部分 2 显示箭头和全部
|
||||
|
||||
recommendPage: 1, // 推荐页数
|
||||
recommendList: [],
|
||||
|
||||
scholarships: [], // 奖学金
|
||||
documents: [], // 文件
|
||||
|
||||
discipline: {}, // 学科领域
|
||||
|
||||
admission_requirements: [], // 语言能力要求
|
||||
admission_requirementsObj: {},
|
||||
|
||||
applyListState: false, // 申请信息选择列表状态
|
||||
|
||||
newest: "",
|
||||
},
|
||||
|
||||
/**
|
||||
@ -141,7 +165,7 @@ Page({
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
util.wxpost("/api/project.detail", {
|
||||
util.wxpost("https://api.gter.net/v1/program/details", {
|
||||
uniqid: this.data.uniqid,
|
||||
query: {
|
||||
...this.options
|
||||
@ -150,6 +174,13 @@ Page({
|
||||
const data = res.data
|
||||
let admissionofficerin = data.admissionofficerin || []
|
||||
|
||||
console.log("data", data);
|
||||
// data.info.tags = {}
|
||||
// data.info.rankings = []
|
||||
// data.scholarships = []
|
||||
// data.info.distinctive = ""
|
||||
// data.detailsInfo.faq = []
|
||||
|
||||
if (admissionofficerin.length > 0) {
|
||||
admissionofficerin.forEach(element => {
|
||||
const date = new Date(element.date);
|
||||
@ -166,98 +197,51 @@ Page({
|
||||
|
||||
let answerquestions = data.answerquestions || []
|
||||
common.decodeKey(data.info).then(res => {
|
||||
// console.log("res", res);
|
||||
data.info = res
|
||||
|
||||
let course = {
|
||||
required: [],
|
||||
requiredCount: 0,
|
||||
elective: [],
|
||||
electiveCount: 0,
|
||||
}
|
||||
|
||||
const info = data.info || {}
|
||||
|
||||
const fields = ['tuition_fee'];
|
||||
fields.forEach(field => {
|
||||
const textKey = `${field}_text`;
|
||||
info[textKey] = common.formatNumberWithSpaces(info[field] || '');
|
||||
});
|
||||
|
||||
const curriculum = info.curriculum || []
|
||||
|
||||
if (info.language_of_instruction) {
|
||||
let strOutput = info.language_of_instruction.join(',');
|
||||
info['language_of_instruction_text'] = strOutput
|
||||
}
|
||||
|
||||
curriculum.forEach(element => {
|
||||
if (element.credit == 'N/A') element.credit = 0
|
||||
element.type === '必修课' ? (course.required.push(element), course.requiredCount += element.credit) : (course.elective.push(element), course.electiveCount += element.credit);
|
||||
})
|
||||
|
||||
let contras = data.contras
|
||||
if (Array.isArray(contras)) contras = {}
|
||||
const remark = contras.remarks || ''
|
||||
// const remark = contras.remarks || ''
|
||||
// 算出最后申请时间
|
||||
info['application_end'] = this.calculateApplicaDeadline(info.nonlocal_application_end || {})
|
||||
// 算出面试轮时间
|
||||
info['interviewRounds'] = this.calculateInterviewRound(info.nonlocal_application_end || {})
|
||||
// info['application_end'] = this.calculateApplicaDeadline(info.nonlocal_application_end || {})
|
||||
|
||||
if (typeof info.mode_of_study == "string") info.mode_of_study = JSON.parse(info.mode_of_study)
|
||||
|
||||
let side = this.data.side
|
||||
// 判断是否常见问题 ,没有则删除左侧
|
||||
if (!info.faq || info.faq.length == 0) delete side.issue
|
||||
|
||||
// 判断 毕业就业 没有则删除左侧
|
||||
if (!info.award_zh && !info.graduation_requirements && !info.domains && !info.employers && !info.positions) delete side.graduate
|
||||
|
||||
// 判断奖学金文案
|
||||
if (info.scholarship) info['scholarshipText'] = this.JudgmentScholarshipText(info.scholarship)
|
||||
// if (info.scholarship) info['scholarshipText'] = this.JudgmentScholarshipText(info.scholarship)
|
||||
|
||||
if (info.leaflet_url) {
|
||||
const leaflet_url = decodeURIComponent(info.leaflet_url)
|
||||
const urlWithoutParams = leaflet_url.split('?')[0];
|
||||
const urlParts = urlWithoutParams.split('/');
|
||||
const fileName = urlParts[urlParts.length - 1];
|
||||
info['leaflet_name'] = fileName
|
||||
}
|
||||
// if (info.leaflet_url) {
|
||||
// const leaflet_url = decodeURIComponent(info.leaflet_url)
|
||||
// const urlWithoutParams = leaflet_url.split('?')[0];
|
||||
// const urlParts = urlWithoutParams.split('/');
|
||||
// const fileName = urlParts[urlParts.length - 1];
|
||||
// info['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 = info.semester || {}
|
||||
// if (month > semester.month && year + 1 <= semester.year) info['semesterState'] = true
|
||||
if ((year < semester.year) || (year === semester.year && month < semester.month)) info['semesterState'] = true
|
||||
|
||||
let scores = info.language_proficiency_scores || []
|
||||
info["scoresList"] = common.scoresList(scores)
|
||||
|
||||
// info["scoresList"] = scoresList
|
||||
|
||||
this.getOfferData(info.id)
|
||||
|
||||
// 判断相关链接
|
||||
if (!info.leaflet_url && !info.program_url && !info.catalog_url) delete side.links
|
||||
|
||||
if (info.rankings.length == 0 && !info.intro && !info.accreditation) delete side.basic
|
||||
if (answerquestions.length == 0) delete side.answers
|
||||
// const date = new Date()
|
||||
// const month = date.getMonth() + 1
|
||||
// const year = date.getFullYear()
|
||||
// const semester = info.semester || {}
|
||||
// if ((year < semester.year) || (year === semester.year && month < semester.month)) info['semesterState'] = true
|
||||
|
||||
this.setData({
|
||||
info,
|
||||
course,
|
||||
// course,
|
||||
contras,
|
||||
remark,
|
||||
// remark,
|
||||
side,
|
||||
isadmission,
|
||||
sideKey: "pivotal", // pivotal
|
||||
sideKey: "basic", // basic
|
||||
isInitFinish: true,
|
||||
admissionofficerin,
|
||||
answerquestions,
|
||||
answerintroduction: data.answerintroduction,
|
||||
}, () => {
|
||||
setTimeout(() => {
|
||||
@ -266,12 +250,218 @@ Page({
|
||||
}, 500)
|
||||
})
|
||||
|
||||
this.getOfferData()
|
||||
}).catch(err => common.toast("出错了,请联系管理员。"))
|
||||
|
||||
common.decodeKey(data.detailsInfo).then(data => {
|
||||
const direction = ['career_fields', 'typical_employers', 'career_positions'];
|
||||
direction.forEach(field => {
|
||||
let text = ""
|
||||
if (data[field]) {
|
||||
data[field].forEach(element => {
|
||||
text += element + '\n'
|
||||
})
|
||||
data[field] = text
|
||||
}
|
||||
});
|
||||
|
||||
if (data.language_of_instruction) {
|
||||
let strOutput = data.language_of_instruction.join(',');
|
||||
data['language_of_instruction_text'] = strOutput
|
||||
}
|
||||
|
||||
let course = {
|
||||
required: [],
|
||||
requiredCount: 0,
|
||||
elective: [],
|
||||
electiveCount: 0,
|
||||
}
|
||||
const curriculum = data.curriculum || []
|
||||
curriculum.forEach(element => {
|
||||
if (element.course_credits == 'N/A') element.course_credits = 0
|
||||
element.type === 'Compulsory' ? (course.required.push(element), course.requiredCount += element.course_credits) : (course.elective.push(element), course.electiveCount += element.course_credits);
|
||||
})
|
||||
let side = this.data.side
|
||||
|
||||
// 判断是否常见问题 ,没有则删除左侧
|
||||
if (!data.faq || data.faq.length == 0) delete side.issue
|
||||
|
||||
|
||||
if (answerquestions.length == 0) delete side.answers
|
||||
|
||||
this.setData({
|
||||
course,
|
||||
answerquestions,
|
||||
detailsInfo: data,
|
||||
side,
|
||||
})
|
||||
})
|
||||
|
||||
this.handleAccreditationData(data.accreditations || [])
|
||||
this.handleDocumentsData(data.documents || [])
|
||||
|
||||
const admissions = data.admissions
|
||||
this.setData({
|
||||
admissions,
|
||||
scholarships: data.scholarships || [],
|
||||
discipline: data.discipline,
|
||||
admission_requirements: data.admission_requirements || [],
|
||||
newest: data.newest || '',
|
||||
})
|
||||
|
||||
const admissionsId = admissions[0].id
|
||||
this.handleAmissionsData(admissionsId)
|
||||
this.handleRequirementData(admissionsId)
|
||||
|
||||
this.getRecommendData()
|
||||
}).finally(() => {
|
||||
wx.hideLoading()
|
||||
})
|
||||
},
|
||||
|
||||
// 处理 能力要求信息
|
||||
handleRequirementData(id) {
|
||||
const admission_requirements = this.data.admission_requirements || []
|
||||
|
||||
this.setData({
|
||||
admission_requirements,
|
||||
})
|
||||
|
||||
this.getRequirementsObj(id)
|
||||
},
|
||||
|
||||
// 拿到 能力要求 选中信息
|
||||
getRequirementsObj(id) {
|
||||
const target = this.data.admission_requirements.find(item => item.admission_id === id) || {};
|
||||
|
||||
const obj = {
|
||||
"ENGLISH": "英语能力要求",
|
||||
"CHINESE": "汉语能力要求",
|
||||
"test": "能力测试",
|
||||
"native": "母语",
|
||||
"education": "教育",
|
||||
"qualification": "专业资格",
|
||||
"recommended": "推荐",
|
||||
"required": "必须",
|
||||
"optional": "可选",
|
||||
};
|
||||
|
||||
let language = target.language_requirements || []
|
||||
|
||||
language.forEach(element => {
|
||||
element['name'] = obj[element['language']];
|
||||
element.proof_methods.forEach(ele => {
|
||||
ele['name'] = obj[ele['type']];
|
||||
(ele.tests || []).forEach(e => {
|
||||
let text = ""
|
||||
if (e.min_score == 'Pass') text = `等级 ${e.min_score}`
|
||||
else if (e.min_score && /^[A-Za-z]+$/.test(e.min_score)) text = `等级 ${e.min_score} 以上`
|
||||
else if (e.min_score) text = `总分 ${e.min_score} 分以上`
|
||||
e['text'] = text
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
const standardized = target.standardized_tests_requirements || []
|
||||
let arr = []
|
||||
standardized.forEach(element => {
|
||||
element['level'] = obj[element.requirement_level]
|
||||
arr.push(element)
|
||||
})
|
||||
|
||||
if (arr.length != 0) {
|
||||
language.push({
|
||||
name: "其他标化考试要求",
|
||||
iselse: true,
|
||||
proof_methods: arr,
|
||||
})
|
||||
}
|
||||
|
||||
target.language_requirements = language
|
||||
this.setData({
|
||||
admission_requirementsObj: target,
|
||||
}, () => {
|
||||
const rpx800 = util.rpxTopx(800)
|
||||
const query = wx.createSelectorQuery();
|
||||
query.select('.side-item .demand.block').boundingClientRect(rect => {
|
||||
if (!rect) return
|
||||
this.setData({
|
||||
demandState: rect.height >= rpx800 ? 1 : 0
|
||||
})
|
||||
}).exec()
|
||||
})
|
||||
},
|
||||
|
||||
// 处理 申请信息 季
|
||||
handleAmissionsData(id) {
|
||||
let admissions = this.data.admissions || []
|
||||
const fields = ['tuition_fee', 'tuition_fee_per_credit', 'application_fee', 'admission_deposit'];
|
||||
admissions.forEach(element => {
|
||||
fields.forEach(field => {
|
||||
const textKey = `${field}_text`;
|
||||
element[textKey] = common.formatNumberWithSpaces(element[field] ? element[field] + '' : '');
|
||||
});
|
||||
|
||||
element['season'] = this.getIntakeSeason(element.intake_month, element.intake_year)
|
||||
element['interviewRounds'] = this.calculateInterviewRound(element.application_end || {})
|
||||
console.log("element", element);
|
||||
|
||||
})
|
||||
this.setData({
|
||||
admissions,
|
||||
})
|
||||
this.getAdmissionsObj(id)
|
||||
},
|
||||
|
||||
// 拿到 招生 选中信息
|
||||
getAdmissionsObj(id) {
|
||||
const admissionsObj = this.data.admissions.find(item => item.id === id);
|
||||
// console.log("admissionsObj", admissionsObj);
|
||||
this.setData({
|
||||
admissionsObj,
|
||||
})
|
||||
},
|
||||
|
||||
// 处理 文件数据
|
||||
handleDocumentsData(documents) {
|
||||
const documentsArr = [];
|
||||
for (let i = 0; i < documents.length; i += 4) {
|
||||
documentsArr.push(documents.slice(i, i + 4));
|
||||
}
|
||||
this.setData({
|
||||
documents: documentsArr,
|
||||
})
|
||||
},
|
||||
|
||||
// 处理认证数据
|
||||
handleAccreditationData(accreditation) {
|
||||
let accArr = {
|
||||
AC: {
|
||||
title: "认证机构",
|
||||
list: []
|
||||
},
|
||||
RE: {
|
||||
title: "验证机构",
|
||||
list: []
|
||||
},
|
||||
VA: {
|
||||
title: "认可机构",
|
||||
list: []
|
||||
},
|
||||
}
|
||||
|
||||
accreditation.forEach(element => {
|
||||
if (element.accreditation_type == "ACCREDITATION") accArr.AC.list.push(element)
|
||||
if (element.accreditation_type == "RECOGNITION") accArr.RE.list.push(element)
|
||||
if (element.accreditation_type == "VALIDATION") accArr.VA.list.push(element)
|
||||
})
|
||||
|
||||
this.setData({
|
||||
accreditation: accArr,
|
||||
isAccreditation: accreditation.length != 0 ? true : false,
|
||||
})
|
||||
},
|
||||
|
||||
countdownInterval: null,
|
||||
startCountdown(duration) {
|
||||
clearTimeout(this.countdownInterval);
|
||||
@ -395,7 +585,7 @@ Page({
|
||||
return acc;
|
||||
}, null);
|
||||
|
||||
const sideKey = closestValue || 'pivotal'
|
||||
const sideKey = closestValue || 'basic'
|
||||
if (sideKey != this.data.sideKey) {
|
||||
this.setData({
|
||||
sideKey,
|
||||
@ -488,7 +678,7 @@ Page({
|
||||
const sideKey = e.currentTarget.dataset.key
|
||||
const sideHeight = this.sideHeight
|
||||
let value = sideHeight[sideKey] - this.data.totalTopHeight || 0
|
||||
if (this.data.offerPage && ["issue", "links"].includes(sideKey)) value = 10000000
|
||||
// if (this.data.offerPage && ["issue", "links"].includes(sideKey)) value = 10000000
|
||||
wx.pageScrollTo({
|
||||
scrollTop: value,
|
||||
})
|
||||
@ -507,7 +697,7 @@ Page({
|
||||
const contras = this.data.contras
|
||||
const info = this.data.info
|
||||
|
||||
util.wxpost("/api/project.contrast/add", {
|
||||
util.wxpost("https://api.gter.net/v1/program/addContrast", {
|
||||
projectid: info.id,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
@ -533,7 +723,6 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
// 获取招生官
|
||||
getAdmissionList() {
|
||||
util.wxget('/miniprogramApi/offer/home').then(res => {
|
||||
@ -575,9 +764,9 @@ Page({
|
||||
return now <= date
|
||||
},
|
||||
|
||||
getOfferData(projectid) {
|
||||
getOfferData() {
|
||||
if (this.data.offerPage == 0) return
|
||||
util.wxget(`/api/project.other/offerList?limit=2000&projectid=${ projectid || this.data.info.id }&page=${ this.data.offerPage }`).then(res => {
|
||||
util.wxget(`https://api.gter.net/v1/program/offerList?limit=5&projectid=${ this.data.info.id }&page=${ this.data.offerPage }`).then(res => {
|
||||
const data = res.data
|
||||
const list = data.list || []
|
||||
let side = this.data.side
|
||||
@ -602,42 +791,25 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
openPreview() {
|
||||
wx.previewMedia({
|
||||
sources: [{
|
||||
url: '//framework.x-php.com/project//img/9dfc-c89f50deb0f906dd751540895bf0e303.jpg'
|
||||
}],
|
||||
showmenu: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
onReady() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
onShow() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
onHide() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
onUnload() {},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
@ -651,7 +823,7 @@ Page({
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
if (this.data.offerPage != 0) this.getOfferData()
|
||||
// if (this.data.offerPage != 0) this.getOfferData()
|
||||
},
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
@ -695,4 +867,82 @@ Page({
|
||||
url: `/pages/projectList/projectList?type=subject&year=${ item.year }&system=${item.system}&subject=${item.subject}`,
|
||||
})
|
||||
},
|
||||
|
||||
// 切换要求展示
|
||||
cutDemandState() {
|
||||
this.setData({
|
||||
demandState: this.data.demandState == 1 ? 2 : 1
|
||||
})
|
||||
},
|
||||
|
||||
// 获取 格式 2025Fall
|
||||
getIntakeSeason(intake_month, intake_year) {
|
||||
let season = "Fall";
|
||||
if (intake_month >= 8 && intake_month <= 12) season = "Fall";
|
||||
else if (intake_month >= 1 && intake_month <= 5) season = "Spring";
|
||||
else if (intake_month >= 6 && intake_month <= 7) season = "Summer";
|
||||
const shortYear = String(intake_year).slice(-2);
|
||||
return `${shortYear}${season}`;
|
||||
},
|
||||
|
||||
cutApplyIndex(e) {
|
||||
const id = e.currentTarget.dataset.id
|
||||
this.handleAmissionsData(id)
|
||||
this.handleAmissionsData(id)
|
||||
this.cutApplyState()
|
||||
},
|
||||
|
||||
cutApplyState() {
|
||||
this.setData({
|
||||
applyListState: !this.data.applyListState,
|
||||
})
|
||||
},
|
||||
|
||||
// 获取推荐数据
|
||||
getRecommendData() {
|
||||
if (this.data.recommendPage == 0) return
|
||||
util.wxpost("https://api.gter.net/v1/program/recommendProgram", {
|
||||
uniqid: this.data.uniqid,
|
||||
page: this.data.recommendPage,
|
||||
limit: 10,
|
||||
}).then(res => {
|
||||
const data = res.data
|
||||
|
||||
const date = new Date()
|
||||
const month = date.getMonth() + 1
|
||||
const year = date.getFullYear()
|
||||
|
||||
let list = data.data || []
|
||||
list = (list).map(element => ({
|
||||
...element,
|
||||
semesterState: (year < element.semester.year) || (year === element.semester.year && month < element.semester.month),
|
||||
tuition_fee_text: common.formatNumberWithSpaces(element.tuition_fee ? element.tuition_fee + '' : '')
|
||||
}));
|
||||
|
||||
let side = this.data.side
|
||||
if (list.length == 0) delete side.recommend
|
||||
|
||||
this.setData({
|
||||
recommendList: this.data.recommendList.concat(list),
|
||||
side,
|
||||
recommendPage: this.data.recommendPage + 1
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 点击 推荐项目 的详情
|
||||
goDetails(e) {
|
||||
const index = e.currentTarget.dataset.index
|
||||
const list = this.data.recommendList
|
||||
const target = list[index]
|
||||
common.goPage(`/pages/projectDetails/projectDetails?uniqid=${ target.uniqid }`)
|
||||
},
|
||||
|
||||
goVs(e) {
|
||||
const index = e.currentTarget.dataset.index
|
||||
const info = this.data.info
|
||||
const list = this.data.recommendList
|
||||
const target = list[index]
|
||||
common.goPage(`/pages/projectComparison/projectComparison?ids=${[info.id, target.id]}`)
|
||||
}
|
||||
})
|
@ -4,6 +4,7 @@
|
||||
"project-show-text": "/component/projectShowText/projectShowText",
|
||||
"go-login": "/component/goLogin/goLogin",
|
||||
"perfect-information": "/component/perfectInformation/perfectInformation",
|
||||
"index-sidebar": "/component/indexSidebar/indexSidebar"
|
||||
"index-sidebar": "/component/indexSidebar/indexSidebar",
|
||||
"document-box": "/component/document-box/document-box"
|
||||
}
|
||||
}
|
@ -44,9 +44,13 @@ navigator {
|
||||
|
||||
.school {
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
color: #7F7F7F;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.black {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 36rpx;
|
||||
height: 31.5rpx;
|
||||
@ -57,6 +61,12 @@ navigator {
|
||||
color: #d7d7d7;
|
||||
margin: 0 18rpx;
|
||||
}
|
||||
|
||||
.arrows {
|
||||
width: 18rpx;
|
||||
height: 18rpx;
|
||||
margin-left: 18rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -189,6 +199,25 @@ navigator {
|
||||
.side-item {
|
||||
padding-right: 15rpx;
|
||||
padding-bottom: 40rpx;
|
||||
padding-top: 70rpx;
|
||||
|
||||
.side-head {
|
||||
height: 36rpx;
|
||||
background-color: rgba(242, 242, 242, 1);
|
||||
border-radius: 6rpx;
|
||||
font-size: 21rpx;
|
||||
color: #7F7F7F;
|
||||
margin-left: 36rpx;
|
||||
margin-bottom: 60rpx;
|
||||
|
||||
&.side-head-no-bottom {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-of-type {
|
||||
padding-top: 37.5rpx;
|
||||
}
|
||||
|
||||
&:not(:first-of-type) {
|
||||
padding-top: 70rpx;
|
||||
@ -413,9 +442,10 @@ navigator {
|
||||
|
||||
.label {
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 15rpx;
|
||||
padding-bottom: 15rpx;
|
||||
margin-left: 36rpx;
|
||||
padding-top: 30rpx;
|
||||
border-bottom: 1rpx dotted #d9d9d9;
|
||||
|
||||
.item {
|
||||
height: 36rpx;
|
||||
@ -440,6 +470,96 @@ navigator {
|
||||
}
|
||||
}
|
||||
|
||||
.discipline {
|
||||
// width: 564rpx;
|
||||
// height: 210rpx;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1px solid rgba(235, 235, 235, 1);
|
||||
border-radius: 18rpx;
|
||||
margin-left: 36rpx;
|
||||
padding: 36rpx 21rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.discipline-title {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
line-height: 51rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.discipline-btn {
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 259.5rpx;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
padding-left: 22.5rpx;
|
||||
padding-right: 10rpx;
|
||||
|
||||
.icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.sum {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 21rpx;
|
||||
color: #000000;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.accreditation {
|
||||
padding: 36rpx 19.5rpx 0;
|
||||
|
||||
.accreditation-item {
|
||||
margin-bottom: 36rpx;
|
||||
|
||||
.title {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-bottom: 18rpx;
|
||||
|
||||
.icon {
|
||||
width: 16.5rpx;
|
||||
height: 13.5rpx;
|
||||
margin-right: 18rpx;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 9rpx;
|
||||
padding: 24rpx 15rpx;
|
||||
|
||||
.item {
|
||||
.dot {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 21rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.key-ranking {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -503,6 +623,13 @@ navigator {
|
||||
align-items: center;
|
||||
position: relative;
|
||||
min-height: 160rpx;
|
||||
margin-bottom: 16rpx;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
flex-direction: column;
|
||||
padding-right: 15rpx;
|
||||
}
|
||||
|
||||
.unit {
|
||||
padding: 0 10.5rpx;
|
||||
@ -530,7 +657,245 @@ navigator {
|
||||
.text {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
margin-right: 20rpx;
|
||||
// margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.tuition-details {
|
||||
width: 300rpx;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 9rpx;
|
||||
padding: 24rpx 15rpx;
|
||||
|
||||
.tuition-item {
|
||||
justify-content: space-between;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 16.5rpx;
|
||||
}
|
||||
|
||||
.key {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
}
|
||||
|
||||
.value {
|
||||
font-family: 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tuition-remark {
|
||||
// height: 315rpx;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
line-height: 39rpx;
|
||||
padding: 33rpx 31.5rpx;
|
||||
word-break: break-all;
|
||||
|
||||
.head {
|
||||
.icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10.5rpx;
|
||||
}
|
||||
|
||||
font-family: 'Arial-Black',
|
||||
'Arial Black',
|
||||
sans-serif;
|
||||
font-weight: 900;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.scholarships {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
padding-top: 25.5rpx;
|
||||
padding-bottom: 48rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.name-en {
|
||||
text-align: center;
|
||||
font-weight: 650;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
line-height: 51rpx;
|
||||
position: relative;
|
||||
width: fit-content;
|
||||
margin: 0 40rpx 13.5rpx;
|
||||
|
||||
&::after {
|
||||
left: -27rpx;
|
||||
}
|
||||
|
||||
&::before {
|
||||
right: -27rpx;
|
||||
}
|
||||
|
||||
&::after,
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 9rpx;
|
||||
height: 9rpx;
|
||||
background-color: rgba(249, 93, 93, 1);
|
||||
border-radius: 30rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
.name-zh {
|
||||
text-align: center;
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
margin-bottom: 28.5rpx;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
line-height: 54rpx;
|
||||
margin: 0 27rpx 39rpx;
|
||||
align-self: self-start;
|
||||
position: relative;
|
||||
background-image: url(https://app.gter.net/image/miniApp/offer/dotted-line.png);
|
||||
background-size: 100% 54rpx;
|
||||
background-repeat: repeat-y;
|
||||
background-position: 0 0;
|
||||
white-space: pre-wrap;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
background-image: url(https://app.gter.net/image/miniApp/offer/dotted-line.png);
|
||||
background-size: 100% 54rpx;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
}
|
||||
|
||||
.radius {
|
||||
margin: 0 27rpx;
|
||||
align-self: self-start;
|
||||
|
||||
.key {
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
background-color: rgba(4, 176, 213, 1);
|
||||
border-radius: 12rpx;
|
||||
padding: 0 10.5rpx;
|
||||
width: fit-content;
|
||||
margin-right: 18rpx;
|
||||
}
|
||||
|
||||
.value {
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.apply-btn {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: fit-content;
|
||||
margin: 20rpx auto 62rpx;
|
||||
|
||||
.btn {
|
||||
width: 348rpx;
|
||||
height: 45rpx;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
margin: 0 auto;
|
||||
z-index: 1;
|
||||
|
||||
.text {
|
||||
text-align: center;
|
||||
line-height: 45rpx;
|
||||
background-color: rgba(249, 93, 93, 1);
|
||||
border-radius: 10.5rpx 0 0 10.5rpx;
|
||||
|
||||
}
|
||||
|
||||
.btn-right {
|
||||
background-color: rgba(51, 51, 51, 1);
|
||||
border-radius: 0 10.5rpx 10.5rpx 0;
|
||||
height: 100%;
|
||||
width: 45rpx;
|
||||
|
||||
.arrows {
|
||||
width: 15rpx;
|
||||
height: 7.5rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.apply-mask {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.apply-list {
|
||||
position: absolute;
|
||||
left: -15rpx;
|
||||
top: -15rpx;
|
||||
width: 378rpx;
|
||||
background-color: rgba(242, 242, 242, 1);
|
||||
border-radius: 22.5rpx;
|
||||
box-shadow: 0 0 7.5rpx rgba(0, 0, 0, 0.172549019607843);
|
||||
z-index: -1;
|
||||
padding: 80rpx 15rpx 15rpx;
|
||||
|
||||
.apply-item {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
// margin-bottom: 27rpx;
|
||||
line-height: 60rpx;
|
||||
|
||||
.dot {
|
||||
width: 9rpx;
|
||||
height: 9rpx;
|
||||
border-radius: 50%;
|
||||
border: 1rpx solid #797979;
|
||||
margin-right: 27rpx;
|
||||
}
|
||||
|
||||
&.pitch {
|
||||
font-weight: 650;
|
||||
color: #000000;
|
||||
|
||||
.dot {
|
||||
border-color: #333;
|
||||
background-color: #333;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -634,21 +999,38 @@ navigator {
|
||||
}
|
||||
|
||||
.demand {
|
||||
padding: 25.5rpx 22.5rpx;
|
||||
padding: 25.5rpx 22.5rpx 75rpx;
|
||||
|
||||
// height: 800rpx;
|
||||
// overflow: hidden;
|
||||
|
||||
position: relative;
|
||||
transition: all .3s;
|
||||
|
||||
&.arrowShow {
|
||||
height: 800rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&.demandShow {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 27rpx;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
line-height: 51rpx;
|
||||
margin-bottom: 30rpx;
|
||||
line-height: 42rpx;
|
||||
padding-bottom: 30rpx;
|
||||
word-break: break-word;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
.title {
|
||||
border-top: 1rpx dotted #d7d7d7;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
padding-top: 34rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
@ -658,51 +1040,150 @@ navigator {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.list {
|
||||
.item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 9rpx;
|
||||
padding: 19.5rpx 15rpx 19.5rpx 42rpx;
|
||||
position: relative;
|
||||
.ability-item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 9rpx;
|
||||
padding: 30rpx 15rpx;
|
||||
margin-bottom: 36rpx;
|
||||
|
||||
.triangle {
|
||||
position: absolute;
|
||||
width: 16.5rpx;
|
||||
height: 9rpx;
|
||||
transform: rotate(-90deg);
|
||||
top: 33rpx;
|
||||
left: 15rpx;
|
||||
.head {
|
||||
margin-bottom: 22.5rpx;
|
||||
|
||||
.index {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
background-color: rgba(249, 93, 93, 1);
|
||||
border-radius: 30rpx;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
margin-right: 16.5rpx;
|
||||
}
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 15rpx;
|
||||
.ability-text {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
font-size: 24rpx;
|
||||
|
||||
.name {
|
||||
color: #7F7F7F;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.value {
|
||||
.tag {
|
||||
width: 69rpx;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
border: 1rpx solid rgba(215, 215, 215, 1);
|
||||
border-radius: 30rpx;
|
||||
|
||||
&.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: rgba(251, 251, 251, 1);
|
||||
border-radius: 9rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 39rpx;
|
||||
color: #333333;
|
||||
padding: 25.5rpx 18rpx;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.remarks {
|
||||
margin-top: 30rpx;
|
||||
padding-top: 30rpx;
|
||||
border-top: 1rpx dotted #d7d7d7;
|
||||
}
|
||||
|
||||
.list {
|
||||
.item {
|
||||
border-radius: 9rpx;
|
||||
padding: 19.5rpx 15rpx 19.5rpx 42rpx;
|
||||
position: relative;
|
||||
|
||||
// height: 86px;
|
||||
background-color: rgba(251, 251, 251, 1);
|
||||
border-radius: 9rpx;
|
||||
|
||||
.triangle {
|
||||
position: absolute;
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
top: 30rpx;
|
||||
left: 15rpx;
|
||||
}
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
font-size: 24rpx;
|
||||
|
||||
.name {
|
||||
color: #7F7F7F;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.value {
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.demand-content {}
|
||||
|
||||
.demand-bottom {
|
||||
height: 75rpx;
|
||||
background-color: rgba(255, 255, 255, 0.980392156862745);
|
||||
border-radius: 0 0 18rpx 18rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
|
||||
&.demandShow {
|
||||
.bottom-icon {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-icon {
|
||||
width: 33rpx;
|
||||
height: 33rpx;
|
||||
transform: rotate(90deg);
|
||||
transition: all .3s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.ranking {
|
||||
margin-left: 36rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 9rpx;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
margin-bottom: 15rpx;
|
||||
|
||||
|
||||
.rank {
|
||||
width: 150rpx;
|
||||
@ -791,6 +1272,30 @@ navigator {
|
||||
}
|
||||
}
|
||||
|
||||
.ps {
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 9rpx;
|
||||
font-size: 21rpx;
|
||||
padding: 13.5rpx;
|
||||
|
||||
.title {
|
||||
font-family: 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
color: #000000;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
color: #555555;
|
||||
display: inline;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.pattern {
|
||||
padding: 30rpx 0;
|
||||
|
||||
@ -812,7 +1317,7 @@ navigator {
|
||||
border-radius: 33rpx;
|
||||
|
||||
&.pitch {
|
||||
background-color: rgba(4, 176, 213, 1);
|
||||
background-color: rgba(111, 193, 109, 1);
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
@ -1015,6 +1520,7 @@ navigator {
|
||||
color: #555555;
|
||||
line-height: 51rpx;
|
||||
padding: 22.5rpx 0;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.index {
|
||||
@ -1146,7 +1652,7 @@ navigator {
|
||||
}
|
||||
|
||||
.english {
|
||||
font-family: 'ArialMT', 'Arial', sans-serif;
|
||||
// font-family: 'ArialMT', 'Arial', sans-serif;
|
||||
color: #AAAAAA;
|
||||
font-size: 21rpx;
|
||||
padding: 0 12.75rpx;
|
||||
@ -1239,13 +1745,16 @@ navigator {
|
||||
margin-left: 36rpx;
|
||||
|
||||
.consult-item {
|
||||
margin-bottom: 30rpx;
|
||||
width: 567rpx;
|
||||
// width: 567rpx;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 18rpx;
|
||||
padding: 33rpx 18rpx 30rpx 31.5rpx;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.school {
|
||||
.img {
|
||||
width: 48rpx;
|
||||
@ -1293,6 +1802,7 @@ navigator {
|
||||
}
|
||||
|
||||
.info-xiaobox {
|
||||
width: 519rpx;
|
||||
height: 69rpx;
|
||||
background-color: rgba(251, 251, 251, 1);
|
||||
border-radius: 15rpx;
|
||||
@ -1323,6 +1833,164 @@ navigator {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.consult-more {
|
||||
font-size: 21rpx;
|
||||
color: #555555;
|
||||
line-height: 39rpx;
|
||||
padding-top: 45rpx;
|
||||
padding-bottom: 5rpx;
|
||||
|
||||
.icon {
|
||||
width: 27rpx;
|
||||
height: 27rpx;
|
||||
margin-left: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.recommend-list {
|
||||
margin-left: 36rpx;
|
||||
|
||||
.item {
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 18rpx;
|
||||
padding: 36rpx 18rpx 95rpx;
|
||||
position: relative;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.school {
|
||||
.icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 33rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.english {
|
||||
font-size: 21rpx;
|
||||
color: #7F7F7F;
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
|
||||
.introduce {
|
||||
font-size: 25.5rpx;
|
||||
color: #555555;
|
||||
margin-top: 15rpx;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.line {
|
||||
color: #D7D7D7;
|
||||
margin: 0 12rpx;
|
||||
}
|
||||
|
||||
.quantity {
|
||||
font-family: 'Arial', 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
color: #000000;
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.word {
|
||||
font-size: 24rpx;
|
||||
color: #7F7F7F;
|
||||
padding: 10.5rpx 15rpx;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 7.5rpx;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.tag {
|
||||
flex-wrap: wrap;
|
||||
margin-top: 25rpx;
|
||||
|
||||
.tag-item {
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
font-size: 22.5rpx;
|
||||
color: #858585;
|
||||
padding: 0 10.5rpx;
|
||||
border: 1rpx solid #aaaaaa;
|
||||
border-radius: 6px;
|
||||
width: fit-content;
|
||||
margin-right: 15rpx;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
&.admissions {
|
||||
background-color: rgba(115, 209, 229, 1);
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&.gray {
|
||||
border: none;
|
||||
color: #fff;
|
||||
background-color: rgba(51, 51, 51, 1);
|
||||
|
||||
&.semester {
|
||||
background-color: #f95d5d;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
height: 75rpx;
|
||||
background-color: rgba(237, 240, 244, 1);
|
||||
border-top: 1rpx solid rgba(235, 235, 235, 1);
|
||||
border-radius: 0 0 18rpx 18rpx;
|
||||
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
|
||||
.btn-item {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 24rpx;
|
||||
position: relative;
|
||||
|
||||
&:not(:last-of-type)::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 1rpx;
|
||||
width: 1rpx;
|
||||
height: 31.5rpx;
|
||||
transform: translateY(-50%);
|
||||
background-color: #aaaaaa;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-right: 9rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-base {
|
||||
|
@ -7,20 +7,28 @@
|
||||
<header-Nav wx:else class="header-nav" bgcolor="{{ !sideFixed ? '#fff' : '#fbfbfb' }}">项目详情</header-Nav>
|
||||
|
||||
<view class="head-box {{ isadmission ? 'isadmission' : '' }}" style="padding-top: {{ totalTopHeight + 15 }}px">
|
||||
<view class="name">{{ info.name_zh }}</view>
|
||||
<view class="english">{{ info.name_en }}</view>
|
||||
<view class="name">{{ info.program_zh }}</view>
|
||||
<view class="english">{{ info.program_en }}</view>
|
||||
<view class="school flexacenter">
|
||||
<view class="flexacenter" bind:tap="goPage" data-url="/pages/projectSchoolHomepage/projectSchoolHomepage?id={{ info.sid }}">
|
||||
<view class="black flexacenter" bind:tap="goPage" data-url="/pages/projectSchoolHomepage/projectSchoolHomepage?id={{ info.sid }}">
|
||||
<image class="icon" src="{{ info.schoollogo }}" mode="heightFix"></image>
|
||||
{{ info.schoolname || '' }}
|
||||
<image class="arrows" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg"></image>
|
||||
</view>
|
||||
<block wx:if="{{ info.au0 }}">
|
||||
<view class="line">|</view>
|
||||
{{ info.au0 }}
|
||||
<block wx:if="{{ info.academic_unit[0] }}">
|
||||
<view class="flexacenter black">
|
||||
<view class="line">|</view>
|
||||
{{ info.academic_unit[0]['academic_unit_zh'] }}
|
||||
<image class="arrows" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{ info.au1 }}">
|
||||
<block wx:if="{{ info.academic_unit[1] }}">
|
||||
<view class="line">|</view>
|
||||
{{ info.au1 }}
|
||||
{{ info.academic_unit[1]['academic_unit_zh'] }}
|
||||
</block>
|
||||
<block wx:if="{{ info.academic_unit[2] }}">
|
||||
<view class="line">|</view>
|
||||
{{ info.academic_unit[2]['academic_unit_zh'] }}
|
||||
</block>
|
||||
</view>
|
||||
<view bind:tap="goPage" data-url="/pages/webview/webview?url={{ admissionofficerin[0]['url'] }}" class="answer flexacenter" wx:if="{{ answerType == 1 }}">
|
||||
@ -38,7 +46,6 @@
|
||||
</view>
|
||||
|
||||
<view bind:tap="goPage" data-url="/pages/webview/webview?url={{ admissionofficerin[0]['url'] }}" class="about-start flexacenter" wx:if="{{ answerType == 2 }}">
|
||||
<!-- <image class="bj" src="https://app.gter.net/image/miniApp/offer/about-start-bj.svg" mode="heightFix"></image> -->
|
||||
<view class="left flexacenter flex1">
|
||||
<view class="left-text flexacenter">
|
||||
<view class="icon">宣讲会</view>
|
||||
@ -68,7 +75,7 @@
|
||||
<view class="main flexflex" style="min-height: calc(100vh - {{ headHeight - rpx30 }}px)">
|
||||
<view class="side-box">
|
||||
<view class="side {{ sideFixed ? 'sideFixed' : '' }}" style="top: {{ sideFixed ? totalTopHeight : 0 }}px;">
|
||||
<view class="side-fill {{ sideKey == 'pivotal' ? 'side-fill-white' : '' }}"></view>
|
||||
<view class="side-fill {{ sideKey == 'basic' ? 'side-fill-white' : '' }}"></view>
|
||||
<view class="item flexcenter {{ index == sideKey ? 'pitch' : '' }}" wx:for="{{ side }}" bind:tap="handSide" data-key="{{ index }}" wx:key="index">
|
||||
<view class="text">{{ item }}
|
||||
<view wx:if="{{ sideNum[index] }}" class="red-amount {{ sideNum[index] < 10 ? 'red-round' : '' }}">{{ sideNum[index] }}</view>
|
||||
@ -77,13 +84,11 @@
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 100%" class="details-box flex1">
|
||||
<!-- 招生官 -->
|
||||
<view class="side-item" data-type="pivotal">
|
||||
<!-- <view class="side-item" data-type="pivotal">
|
||||
<block wx:if="{{ urls.length != 0 && answerType == 0 }}">
|
||||
<image class="quick-answer" src="https://app.gter.net/image/miniApp/offer/quick-answer.png" mode="widthFix" bind:tap="cutQuickAnswer"></image>
|
||||
<view class="borderTop"></view>
|
||||
</block>
|
||||
|
||||
<view class="semester-box flexacenter ">
|
||||
<view class="text gray {{ info.semesterState ? 'semester' : '' }}">{{ info.semester.text || '' }}</view>
|
||||
{{ info.semesterState ? "本项目招生信息已更新为" + (info.semester.text || '') : "学校尚未更新招生信息,请参考" + (info.semester.text || '') + "内容" }}
|
||||
@ -104,7 +109,6 @@
|
||||
<view class="item flex1" wx:for="{{ info.rankings }}" wx:key="index" bind:tap="goProjectList" data-index="{{ index }}">
|
||||
<view class="quantity">{{ item.rank }}</view>
|
||||
<view class="ranking-name">
|
||||
<!-- {{ rankingsObj[item.system].name }} -->
|
||||
{{ rankingKey[item.system] || item.system }}
|
||||
<image wx:if="{{ item.system == 'QS' }}" class="ranking-icon" src="https://app.gter.net/image/miniApp/offer/triangle-QS.svg" mode="widthFix"></image>
|
||||
<image wx:if="{{ item.system == 'Times Higher Education' }}" class="ranking-icon" src="https://app.gter.net/image/miniApp/offer/triangle-TIMES.svg" mode="widthFix"></image>
|
||||
@ -115,14 +119,11 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 总学费 -->
|
||||
<view class="tuition block flexcenter">
|
||||
<view class="unit">{{ info.tuition_currency || 'HK$' }}</view>
|
||||
<view class="text">总学费</view>
|
||||
<view class="number">{{ info.tuition_fee_text || '待确认' }}</view>
|
||||
</view>
|
||||
|
||||
<!-- 语言和奖金 -->
|
||||
<view class="language-bonuses flexflex" wx:if="{{ info.scholarshipText || info.language_of_instruction_text }}">
|
||||
<view class="item flex1 block">
|
||||
<view class="name">{{ info.language_of_instruction_text || '-' }}</view>
|
||||
@ -152,9 +153,34 @@
|
||||
<view class="demand block" wx:if="{{ info.scoresList.length != 0 }}">
|
||||
<template is="demand" data="{{ list: info.scoresList }}"></template>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view wx:if="{{ side.basic }}" class="side-item" data-type="basic">
|
||||
<view class="side-head flexcenter side-head-no-bottom">基本信息</view>
|
||||
<view class="" style="margin-bottom: 30rpx;">
|
||||
<view class="semester-box flexacenter ">
|
||||
<view class="text gray semester">{{ newest || '' }}</view>
|
||||
本项目招生信息已更新为{{ newest || '' }}
|
||||
</view>
|
||||
<view class="distinctive flexflex" wx:if="{{ info.distinctive }}">
|
||||
<image class="img" src="https://app.gter.net/image/miniApp/offer/double-quotation-marks.png" mode="widthFix"></image>
|
||||
<view class="flex1">{{ info.distinctive }}</view>
|
||||
</view>
|
||||
|
||||
<view class="label flexflex" wx:if="{{ info.tags.length != 0 }}">
|
||||
<view class="item" wx:for="{{ info.tags }}" wx:key="index">{{ item }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<template is="item-header" data="{{ text: '学科领域' }}"></template>
|
||||
<view class="discipline">
|
||||
<view class="discipline-title">{{ discipline.name }}</view>
|
||||
<navigator hover-class="none" url="/pages/projectSubjectList/projectSubjectList?id={{ discipline.id }}" class="discipline-btn flexacenter">
|
||||
<view class="text flex1">该学科领域的其他项目</view>
|
||||
<view class="sum">{{ discipline.count }}</view>
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-circle-green.svg" mode="widthFix"></image>
|
||||
</navigator>
|
||||
</view>
|
||||
<block wx:if="{{ info.rankings && info.rankings.length != 0 }}">
|
||||
<template is="item-header" data="{{ text: '专业排名', type: 'rankings' }}"></template>
|
||||
<view class="ranking">
|
||||
@ -167,7 +193,7 @@
|
||||
<image wx:if="{{ item.system == 'Times Higher Education' }}" class="triangle" src="https://app.gter.net/image/miniApp/offer/triangle-ti.svg" mode="widthFix"></image>
|
||||
<image wx:if="{{ item.system == 'U.S. News' }}" class="triangle" src="https://app.gter.net/image/miniApp/offer/triangle-us.svg" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="name"> {{ rankingKey[item.system] || item.system }}</view>
|
||||
<view class="name">{{ rankingKey[item.system] || item.system }}</view>
|
||||
</view>
|
||||
<view class="box flex1">
|
||||
<view class="itemm flexacenter">
|
||||
@ -181,34 +207,70 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:if="{{ info.intro }}">
|
||||
<template is="item-header" data="{{ text: '项目简介' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="intro_zh" text="{{ info.intro || ' - ' }}"></project-show-text>
|
||||
<view class="ps">
|
||||
<view class="title">P.S.</view>
|
||||
<view class="text">某些学科属跨学科专业(如建筑师兼顾工学和艺术学),系统自动从排名分类里找到最接近的进行展示。</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:if="{{ info.accreditation }}">
|
||||
<template is="item-header" data="{{ text: '专业资格认证' }}"></template>
|
||||
<block wx:if="{{ detailsInfo.introduction }}">
|
||||
<template is="item-header" data="{{ text: '项目简介' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="accreditation" text="{{ info.accreditation || '无' }}"></project-show-text>
|
||||
<project-show-text className="intro_zh" text="{{ detailsInfo.introduction || ' - ' }}"></project-show-text>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{ isAccreditation }}">
|
||||
<template is="item-header" data="{{ text: '专业资格认证' }}"></template>
|
||||
<view class="block accreditation">
|
||||
<block wx:for="{{ accreditation }}" wx:key="index">
|
||||
<view class="accreditation-item" wx:if="{{ item.list.length != 0 }}">
|
||||
<view class="title flexacenter">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
||||
{{ item.title }}
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="item flexacenter" wx:for="{{ item.list }}" wx:key="index">
|
||||
<image class="dot" src="https://app.gter.net/image/miniApp/offer/dot-green.svg" mode="widthFix"></image>
|
||||
<view class="flex1">{{ item.body_full_zh }}({{ item.body_abbr }})</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<view class="side-item" data-type="apply">
|
||||
<view class="side-head flexcenter">申请信息</view>
|
||||
|
||||
<view class="apply-btn flexacenter">
|
||||
<view class="btn flexacenter" bind:tap="cutApplyState">
|
||||
<view class="text flex1">- {{ admissionsObj.season }}申请信息 -</view>
|
||||
<view class="btn-right flexcenter">
|
||||
<image class="arrows" src="https://app.gter.net/image/miniApp/offer/triangle-white.svg" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{ applyListState }}">
|
||||
<view class="apply-mask" bind:tap="cutApplyState"></view>
|
||||
<view class="apply-list">
|
||||
<view class="apply-item flexacenter {{ item.id == admissionsObj.id ? 'pitch' : ''}}" wx:for="{{ admissions }}" bind:tap="cutApplyIndex" data-id="{{ item.id }}">
|
||||
<view class="dot"></view>
|
||||
<view class="text">{{ item.season }}申请信息</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<template is="item-header" data="{{ text: '申请日程' }}"></template>
|
||||
<view class="application-schedule block">
|
||||
<view class="list" wx:for="{{ info.interviewRounds }}" wx:key="index">
|
||||
<view class="index flexacenter" wx:if="{{ info.interviewRounds.length != 1 }}">
|
||||
<view class="list" wx:for="{{ admissionsObj.interviewRounds }}" wx:key="index">
|
||||
<view class="index flexacenter" wx:if="{{ admissionsObj.interviewRounds.length != 1 }}">
|
||||
<view class="sum flexcenter">{{ index + 1 }}</view>
|
||||
{{ item.text }}
|
||||
</view>
|
||||
<view class="time flexflex">
|
||||
<view class="item flex1">
|
||||
<view class="name">{{ info.application_start || '-' }}</view>
|
||||
<view class="name">{{ admissionsObj.application_start || '-' }}</view>
|
||||
<view class="value">开始申请日期</view>
|
||||
</view>
|
||||
<view class="item flex1">
|
||||
@ -217,63 +279,97 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="else" wx:if="{{ info.interview_date || info.result_date }}">
|
||||
<view class="item flexacenter" wx:if="{{ info.interview_date }}">
|
||||
<view class="else" wx:if="{{ admissionsObj.result_time }}">
|
||||
<!-- <view class="item flexacenter" wx:if="{{ info.interview_date }}">
|
||||
<view class="name">面试时间:</view>
|
||||
<view class="value flex1">{{ info.interview_date }}</view>
|
||||
</view>
|
||||
<view class="item flexacenter" wx:if="{{ info.result_date }}">
|
||||
</view> -->
|
||||
<view class="item flexacenter" wx:if="{{ admissionsObj.result_time }}">
|
||||
<view class="name">结果通知时间:</view>
|
||||
<view class="value flex1">{{ info.result_date }}</view>
|
||||
<view class="value flex1">{{ admissionsObj.result_time }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<template is="item-header" data="{{ text: '最低入学要求' }}"></template>
|
||||
<view class="demand block">
|
||||
<view class="text">{{ info.entrance_requirements || '-' }}</view>
|
||||
<template is="demand" wx:if="{{ info.scoresList.length != 0 }}" data="{{ list: info.scoresList }}"></template>
|
||||
<view class="demand block {{ demandState != 0 ? 'arrowShow' : '' }} {{ demandState == 2 ? 'demandShow' : '' }}">
|
||||
<view class="text">{{ admission_requirementsObj.basic_requirements }}</view>
|
||||
<view class="demand-content">
|
||||
<template is="demand" wx:for="{{ admission_requirementsObj.language_requirements }}" wx:key="index" data="{{ item }}"></template>
|
||||
</view>
|
||||
<view class="demand-bottom flexcenter {{ demandState == 2 ? 'demandShow' : '' }}" bind:tap="cutDemandState" wx:if="{{ demandState != 0 }}">
|
||||
<image class="bottom-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{ info.documents_required }}">
|
||||
<block wx:if="{{ documents.length != 0 }}">
|
||||
<template is="item-header" data="{{ text: '必须文件' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="documents_required" text="{{ info.documents_required || '无' }}">
|
||||
</project-show-text>
|
||||
</view>
|
||||
<document-box documents="{{ documents }}"></document-box>
|
||||
</block>
|
||||
|
||||
<template is="item-header" data="{{ text: '费用' }}"></template>
|
||||
<view class="tuition block flexcenter">
|
||||
<view class="unit">{{ info.tuition_currency || 'HK$' }}</view>
|
||||
<view class="text">总学费</view>
|
||||
<view class="number">{{ info.tuition_fee_text || '待确认' }}</view>
|
||||
<view class="left flexcenter flex1">
|
||||
<view class="unit">{{ admissionsObj.tuition_currency || 'HK$' }}</view>
|
||||
<view class="text">总学费</view>
|
||||
<view class="number">{{ admissionsObj.tuition_fee_text || '待确认' }}</view>
|
||||
</view>
|
||||
<view class="tuition-details" wx:if="{{ admissionsObj.tuition_fee_per_credit_text || admissionsObj.application_fee_text || admissionsObj.admission_deposit_text }}">
|
||||
<view class="tuition-item flexacenter" wx:if="{{ admissionsObj.tuition_fee_per_credit_text }}">
|
||||
<view class="key">每学分学费</view>
|
||||
<view class="value">{{ admissionsObj.tuition_fee_per_credit_text }}</view>
|
||||
</view>
|
||||
<view class="tuition-item flexacenter" wx:if="{{ admissionsObj.application_fee_text }}">
|
||||
<view class="key">申请费</view>
|
||||
<view class="value">{{ admissionsObj.application_fee_text }}</view>
|
||||
</view>
|
||||
<view class="tuition-item flexacenter" wx:if="{{ admissionsObj.admission_deposit_text }}">
|
||||
<view class="key">入学保证金</view>
|
||||
<view class="value">{{ admissionsObj.admission_deposit_text }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tuition-remark" wx:if="{{ admissionsObj.fee_remarks }}">
|
||||
<view class="head flexacenter">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/p.s.-icon.png" mode="widthFix"></image>
|
||||
P.S.
|
||||
</view>
|
||||
{{ admissionsObj.fee_remarks }}
|
||||
</view>
|
||||
|
||||
<block wx:if="{{ info.scholarships }}">
|
||||
<block wx:if="{{ scholarships.length }}">
|
||||
<template is="item-header" data="{{ text: '奖学金' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="scholarships" text="{{ info.scholarships || '-' }}"></project-show-text>
|
||||
<view class="block scholarships" wx:for="{{ scholarships }}" wx:key="index">
|
||||
<view class="name-en">{{ item.scholarship_name }}</view>
|
||||
<view class="name-zh">奖学金名称</view>
|
||||
<view class="text">{{ item.description }}</view>
|
||||
<view class="radius flexacenter">
|
||||
<view class="key">适用范围</view>
|
||||
<view class="value">{{ item.is_local_eligible ? '本地生适用' : '' }}{{ item.is_nonlocal_eligible ? '非本地生适用' : '' }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:if="{{ info.selection_criteria }}">
|
||||
<!-- 取消 -->
|
||||
<!-- <block wx:if="{{ info.selection_criteria }}">
|
||||
<template is="item-header" data="{{ text: '录取选择标准' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="selection_criteria" text="{{ info.selection_criteria || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
</block>
|
||||
</block> -->
|
||||
|
||||
<block wx:if="{{ info.recent_admission }}">
|
||||
<!-- 取消 -->
|
||||
<!-- <block wx:if="{{ info.recent_admission }}">
|
||||
<template is="item-header" data="{{ text: '近期录取信息' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="recent_admission" text="{{ info.recent_admission || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
</block>
|
||||
</block> -->
|
||||
</view>
|
||||
|
||||
<view class="side-item" data-type="attend">
|
||||
<view class="side-head flexcenter">就读信息</view>
|
||||
|
||||
<template is="item-header" data="{{ text: '学习模式' }}"></template>
|
||||
<view class="pattern block">
|
||||
<view class="tab flexacenter">
|
||||
@ -283,52 +379,52 @@
|
||||
|
||||
<view wx:if="{{ studyMode == 'ft' }}" class="introduce flexflex">
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.language_of_instruction_text || '-' }}</view>
|
||||
<view class="value">{{ detailsInfo.language_of_instruction_text || '-' }}</view>
|
||||
<view class="name">教学语言</view>
|
||||
</view>
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.ft_normal_period || '-' }}</view>
|
||||
<view class="value">{{ detailsInfo.full_time_normal_year ? (detailsInfo.full_time_normal_year + '年') : '-' }}</view>
|
||||
<view class="name">正常学习时长</view>
|
||||
</view>
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.ft_maximum_period || '待确认' }}</view>
|
||||
<view class="value">{{ detailsInfo.full_time_maximum_year ? (detailsInfo.full_time_maximum_year + '年') : '待确认' }}</view>
|
||||
<view class="name">最长学习时长</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:else class="introduce flexflex">
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.language_of_instruction_text || '-' }}</view>
|
||||
<view class="value">{{ detailsInfo.language_of_instruction_text || '-' }}</view>
|
||||
<view class="name">教学语言</view>
|
||||
</view>
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.pt_normal_period || '-' }}</view>
|
||||
<view class="value">{{ detailsInfo.part_time_normal_year ? (detailsInfo.part_time_normal_year + '年') : '-' }}</view>
|
||||
<view class="name">正常学习时长</view>
|
||||
</view>
|
||||
<view class="item flex1">
|
||||
<view class="value">{{ info.pt_maximum_period || '待确认' }}</view>
|
||||
<view class="value">{{ detailsInfo.part_time_maximum_year ? (detailsInfo.part_time_maximum_year + '年') : '待确认' }}</view>
|
||||
<view class="name">最长学习时长</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{ info.time_of_class }}">
|
||||
<block wx:if="{{ detailsInfo.class_schedule }}">
|
||||
<template is="item-header" data="{{ text: '上课时间' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="time_of_class" text="{{ info.time_of_class || '- 暂无 -' }}"></project-show-text>
|
||||
<project-show-text className="time_of_class" text="{{ detailsInfo.class_schedule || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<template wx:if="{{ course.required.length != 0 || course.required.length != 0 }}" is="item-header" data="{{ text: '课程设置' }}"></template>
|
||||
|
||||
<template wx:if="{{ course.required.length != 0 }}" is="table" data="{{ data: course.required, title: '必修课程', count: course.requiredCount }}"></template>
|
||||
<template wx:if="{{ course.required.length != 0 }}" is="table" data="{{ data: course.required, title: '必修科目', count: course.requiredCount }}"></template>
|
||||
|
||||
<template wx:if="{{ course.elective.length != 0 }}" is="table" data="{{ data: course.elective, title: '选修课程' }}"></template>
|
||||
<template wx:if="{{ course.elective.length != 0 }}" is="table" data="{{ data: course.elective, title: '选修科目' }}"></template>
|
||||
|
||||
<view class="link block" wx:if="{{ info.catalog_url }}">
|
||||
<view class="link block" wx:if="{{ admissionsObj.catalog_url }}">
|
||||
<view class="title">申请页项目详情</view>
|
||||
<view class="text">{{ info.catalog_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ info.catalog_url }}">
|
||||
<view class="text">{{ admissionsObj.catalog_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.catalog_url }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/copy-icon.png" mode="widthFix"></image>
|
||||
复制链接
|
||||
</view>
|
||||
@ -336,6 +432,8 @@
|
||||
</view>
|
||||
|
||||
<view class="side-item" data-type="graduate">
|
||||
<view class="side-head flexcenter">毕业&就业</view>
|
||||
|
||||
<block wx:if="{{ info.award_zh }}">
|
||||
<template is="item-header" data="{{ text: '学位' }}"></template>
|
||||
<view class="degree block">
|
||||
@ -349,24 +447,24 @@
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block wx:if="{{ info.graduation_requirements }}">
|
||||
<block wx:if="{{ detailsInfo.graduation_requirements }}">
|
||||
<template is="item-header" data="{{ text: '毕业要求' }}"></template>
|
||||
<view class="block">
|
||||
<project-show-text className="graduation_requirements" text="{{ info.graduation_requirements || '- 暂无 -' }}"></project-show-text>
|
||||
<project-show-text className="graduation_requirements" text="{{ detailsInfo.graduation_requirements || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<template wx:if="{{ info.domains || info.employers || info.positions }}" is="item-header" data="{{ text: '历届毕业生就业方向' }}"></template>
|
||||
<view class="block" wx:if="{{ info.domains }}">
|
||||
<project-show-text titleName="就业领域" className="domains" text="{{ info.domains || '- 暂无 -' }}"></project-show-text>
|
||||
<template wx:if="{{ detailsInfo.career_fields.length != 0 || detailsInfo.typical_employers.length != 0 || detailsInfo.career_positions.length != 0 }}" is="item-header" data="{{ text: '历届毕业生就业方向' }}"></template>
|
||||
<view class="block" wx:if="{{ detailsInfo.career_fields.length != 0 }}">
|
||||
<project-show-text titleName="就业领域" className="domains" text="{{ detailsInfo.career_fields || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
|
||||
<view class="block" wx:if="{{ info.employers }}">
|
||||
<project-show-text titleName="主要雇主名单" className="employers" text="{{ info.employers || '- 暂无 -' }}"></project-show-text>
|
||||
<view class="block" wx:if="{{ detailsInfo.typical_employers.length != 0 }}">
|
||||
<project-show-text titleName="主要雇主名单" className="employers" text="{{ detailsInfo.typical_employers || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
|
||||
<view class="block" wx:if="{{ info.positions }}">
|
||||
<project-show-text titleName="职业岗位" className="positions" text="{{ info.positions || '- 暂无 -' }}"></project-show-text>
|
||||
<view class="block" wx:if="{{ detailsInfo.career_positions.length != 0 }}">
|
||||
<project-show-text titleName="职业岗位" className="positions" text="{{ detailsInfo.career_positions || '- 暂无 -' }}"></project-show-text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -387,29 +485,26 @@
|
||||
<image class="avatar" src="https://app.gter.net/image/miniApp/offer/avatar-default.svg"></image>
|
||||
寄托网友
|
||||
</view>
|
||||
<!-- <view class="message">{{ item.q }}</view> -->
|
||||
<rich-text class="message" nodes="{{ item.q }}"></rich-text>
|
||||
<!-- <image class="message-img" mode="widthFix" bind:tap="openPreview" src="//framework.x-php.com/project//img/9dfc-c89f50deb0f906dd751540895bf0e303.jpg"></image> -->
|
||||
</view>
|
||||
<view class="dialogue-right">
|
||||
<view class="info flexacenter">
|
||||
招生官
|
||||
<!-- <image class="avatar" src="https://app.gter.net/image/miniApp/offer/avatar-admission.png"></image> -->
|
||||
<image class="avatar" src="{{ info.schoollogo }}"></image>
|
||||
</view>
|
||||
<rich-text class="message" nodes="{{ item.a }}"></rich-text>
|
||||
<!-- <view class="message">{{ item.a }}</view> -->
|
||||
<!-- <image class="message-img" mode="widthFix" bind:tap="openPreview" src="//framework.x-php.com/project//img/9dfc-c89f50deb0f906dd751540895bf0e303.jpg"></image> -->
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view wx:if="{{ offerList.length != 0 }}" class="side-item" data-type="consult"> -->
|
||||
<view wx:if="{{ offerList.length != 0 }}" class="side-item" data-type="consult">
|
||||
<view class="side-head flexcenter">录取参考</view>
|
||||
<template is="item-header" data="{{ text: '寄托录取参考', type: 'consult' }}"></template>
|
||||
<view class="consult-list">
|
||||
<navigator class="consult-item" wx:for="{{ offerList }}" wx:key="index" target="miniProgram" app-id="wxa9296b07391c2bc7" path="/pages/victoryDetails/victoryDetails?id={{ item.id || item.uniqid }}" hover-class="none">
|
||||
<navigator class="consult-item" wx:for="{{ offerList }}" wx:key="index" url="/pages/victoryDetails/victoryDetails?id={{ item.id || item.uniqid }}" hover-class="none">
|
||||
<view class="school flexacenter">
|
||||
<image class="img" src="{{ item.schoolimage }}" mode="widthFix"></image>
|
||||
<view class="flex1">{{ item.schoolname }}</view>
|
||||
@ -449,7 +544,7 @@
|
||||
</view>
|
||||
<view wx:if="{{ isShowEmoji }}" class="numerical-box" style="display: flex;margin-left: 15rpx;">
|
||||
<view class="emoji-item" wx:for="{{ items }}" wx:key="index">
|
||||
<rich-text class="emoji-item-icon" nodes="{{ '&#x' + item + ';' }}" />
|
||||
<rich-text class="emoji-item-icon" nodes="&#x{{ item }};" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数值 -->
|
||||
@ -474,12 +569,18 @@
|
||||
</view>
|
||||
</navigator>
|
||||
</view>
|
||||
<view class="consult-more flexcenter" wx:if="{{ offerPage != 0 }}" bind:tap="getOfferData">
|
||||
加载更多
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle.png" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="side-item" data-type="issue" wx:if="{{ offerPage == 0 && (info.faq && info.faq.length != 0) }}">
|
||||
<view class="issue-bj" wx:for="{{ info.faq }}" wx:key="index">
|
||||
<view class="side-item" data-type="issue" wx:if="{{ detailsInfo.faq && detailsInfo.faq.length != 0 }}">
|
||||
<view class="side-head flexcenter">常见问题</view>
|
||||
|
||||
<view class="issue-bj" wx:for="{{ detailsInfo.faq }}" wx:key="index">
|
||||
<view class="issue block">
|
||||
<view class="index flexcenter">{{ item.num }}</view>
|
||||
<view class="index flexcenter">{{ index + 1 }}</view>
|
||||
<image class="index-bj" src="https://app.gter.net/image/miniApp/offer/index-bj.svg"></image>
|
||||
<view class="title">{{ item.question }}</view>
|
||||
<view class="text">{{ item.answer }}</view>
|
||||
@ -487,33 +588,88 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view wx:if="{{ offerPage == 0 && (info.leaflet_url || info.program_url || info.catalog_url) }}" class="side-item" data-type="links">
|
||||
<view class="pdf block" wx:if="{{ info.leaflet_url }}">
|
||||
<view wx:if="{{admissionsObj.leaflet_url || info.website_en || admissionsObj.application_url || admissionsObj.catalog_url }}" class="side-item" data-type="links">
|
||||
<view class="side-head flexcenter">相关链接</view>
|
||||
|
||||
<view class="pdf block" wx:if="{{ admissionsObj.leaflet_url }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/pdf-icon.svg" mode="widthFix"></image>
|
||||
<view class="title">官方宣传册</view>
|
||||
<view class="name">{{ info.leaflet_name || '-' }}</view>
|
||||
<view class="btn flexcenter" bind:tap="openFile" data-url="{{ info.leaflet_url }}">打开文件</view>
|
||||
<view class="title">项目宣传册</view>
|
||||
<view class="name">{{ admissionsObj.leaflet_name || '-' }}</view>
|
||||
<view class="btn flexcenter" bind:tap="openFile" data-url="{{ admissionsObj.leaflet_url }}">打开文件</view>
|
||||
</view>
|
||||
|
||||
<view class="link block" wx:if="{{ info.program_url }}">
|
||||
<view class="link block" wx:if="{{ info.website_en }}">
|
||||
<view class="title">研究生院申请页项目详情</view>
|
||||
<view class="text">{{ info.website_en }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ info.website_en }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/copy-icon.png" mode="widthFix"></image>
|
||||
复制链接
|
||||
</view>
|
||||
</view>
|
||||
<view class="link block" wx:if="{{ admissionsObj.application_url }}">
|
||||
<view class="title">学院网站项目详情</view>
|
||||
<view class="text">{{ info.program_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ info.program_url }}">
|
||||
<view class="text">{{ admissionsObj.application_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.application_url }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/copy-icon.png" mode="widthFix"></image>
|
||||
复制链接
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="link block" wx:if="{{ info.catalog_url }}">
|
||||
<view class="link block" wx:if="{{ admissionsObj.catalog_url }}">
|
||||
<view class="title">项目目录项目详情</view>
|
||||
<view class="text">{{ info.catalog_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ info.catalog_url }}">
|
||||
<view class="text">{{ admissionsObj.catalog_url }}</view>
|
||||
<view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.catalog_url }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/copy-icon.png" mode="widthFix"></image>
|
||||
复制链接
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<text class="upglide flexcenter">- End -</text>
|
||||
|
||||
<!-- 推荐项目 -->
|
||||
<view class="side-item" data-type="recommend">
|
||||
<view class="side-head flexcenter">推荐项目</view>
|
||||
<template is="item-header" data="{{ text: '推荐项目' }}"></template>
|
||||
<view class="recommend-list">
|
||||
<view class="item" wx:for="{{ recommendList }}" wx:key="index" bind:tap="goPage" data-url="/pages/projectDetails/projectDetails?uniqid={{ item.uniqid }}">
|
||||
<view class="school flexacenter">
|
||||
<image class="icon" src="{{ item.schoollogo }}" mode="heightFix"></image>
|
||||
{{ item.schoolname }}
|
||||
</view>
|
||||
<view class="name flex1">{{ item.name_zh }}</view>
|
||||
<view class="english">{{ item.name_en }}</view>
|
||||
<view class="introduce flexacenter">
|
||||
<view class="flexacenter" wx:if="{{ item.rank }}">
|
||||
专业排名 <vie class="quantity">{{ item.rank }}</vie>
|
||||
</view>
|
||||
<view class="flexacenter" wx:if="{{ item.tuition_fee }}">
|
||||
<view class="line" wx:if="{{ item.rank }}">|</view> 学费HK$ <vie class="quantity">{{ item.tuition_fee_text }}</vie>
|
||||
</view>
|
||||
</view>
|
||||
<view class="word" wx:if="{{ item.distinctive }}">{{ item.distinctive }}</view>
|
||||
<view class="tag flexflex">
|
||||
<view class="tag-item admissions" wx:if="{{ item.admissionsproject }}">招生官项目</view>
|
||||
<view class="tag-item gray {{ item.semesterState ? 'semester' : '' }}">{{ item.semester.text }}</view>
|
||||
<view class="tag-item" wx:for="{{ item.tags }}" wx:key="index">{{ item }}</view>
|
||||
</view>
|
||||
<view class="btn flexacenter">
|
||||
<view class="btn-item flexcenter flex1" catch:tap="goDetails" data-index="{{ index }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/check-icon.png" mode="widthFix"></image>
|
||||
查看该项目
|
||||
</view>
|
||||
<view class="btn-item flexcenter flex1" catch:tap="goVs" data-index="{{ index }}">
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/vs-circle-black.png" mode="widthFix"></image>
|
||||
与该项目对比
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="consult-more flexcenter" wx:if="{{ recommendPage != 0 }}" bind:tap="getRecommendData">
|
||||
加载更多
|
||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle.png" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<text class="upglide flexcenter" wx:if="{{ recommendPage == 0 }}">- End -</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -609,10 +765,10 @@
|
||||
榜单
|
||||
<image class="icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png"></image>
|
||||
</view>
|
||||
<navigator target="miniProgram" app-id="wxa9296b07391c2bc7" wx:if="{{ type == 'consult' }}" class="list-btn flexacenter" path="/pages/victoryList/victoryList">
|
||||
<view wx:if="{{ type == 'consult' }}" class="list-btn flexacenter" bind:tap="goPage" data-url="/pages/victoryList/victoryList">
|
||||
Offer榜
|
||||
<image class="icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png"></image>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -639,20 +795,32 @@
|
||||
<view class="text">{{ item.course_name_zh }}</view>
|
||||
<view class="english">{{ item.course_name_en }}</view>
|
||||
</view>
|
||||
<view class="item credit flexcenter">{{ item.credit || '-' }}</view>
|
||||
<view class="item credit flexcenter">{{ item.course_credits || '-' }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<template name="demand">
|
||||
<view class="title">英语能力要求</view>
|
||||
<view class="hint">满足以下其中一项即可</view>
|
||||
<view class="list">
|
||||
<view class="item" wx:for="{{ list }}" wx:key="index">
|
||||
<image class="triangle" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
||||
<view class="name">{{ item.name }}</view>
|
||||
<view class="value">{{ item.text }}</view>
|
||||
<view class="title">{{ item.name || '' }}</view>
|
||||
<view class="hint" wx:if="{{ !item.iselse }}">满足以下其中一项即可</view>
|
||||
<view class="ability-item" wx:for="{{ item.proof_methods }}" wx:key="index">
|
||||
<view class="head flexacenter">
|
||||
<view class="index flexcenter">{{ index + 1 }}</view>
|
||||
<view class="ability-text">{{ item.name || item.test_name }}</view>
|
||||
<view wx:if="{{ item.requirement_level }}" class="tag flexcenter {{ item.requirement_level }}">{{ item.level }}</view>
|
||||
</view>
|
||||
<view wx:if="{{ item.description_zh }}" class="description">
|
||||
{{ item.description_zh }}
|
||||
<view class="remarks" wx:if="{{ item.remarks_zh && item.description_zh != item.remarks_zh }}">{{ item.remarks_zh }}</view>
|
||||
</view>
|
||||
<view wx:else class="list">
|
||||
<view class="item" wx:for="{{ item.tests }}" wx:key="index">
|
||||
<image class="triangle" src="https://app.gter.net/image/miniApp/offer/dot-green.svg" mode="widthFix"></image>
|
||||
<view class="name">{{ item.test_name }}</view>
|
||||
<view class="value">{{ item.text }}</view>
|
||||
<view class="remarks" wx:if="{{ item.remarks_zh }}">{{ item.remarks_zh }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
@ -38,9 +38,12 @@ navigator {
|
||||
}
|
||||
.head-box .school {
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
color: #7F7F7F;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.head-box .school .black {
|
||||
color: #000000;
|
||||
}
|
||||
.head-box .school .icon {
|
||||
width: 36rpx;
|
||||
height: 31.5rpx;
|
||||
@ -50,6 +53,11 @@ navigator {
|
||||
color: #d7d7d7;
|
||||
margin: 0 18rpx;
|
||||
}
|
||||
.head-box .school .arrows {
|
||||
width: 18rpx;
|
||||
height: 18rpx;
|
||||
margin-left: 18rpx;
|
||||
}
|
||||
.main {
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 45rpx;
|
||||
@ -156,6 +164,22 @@ navigator {
|
||||
.details-box .side-item {
|
||||
padding-right: 15rpx;
|
||||
padding-bottom: 40rpx;
|
||||
padding-top: 70rpx;
|
||||
}
|
||||
.details-box .side-item .side-head {
|
||||
height: 36rpx;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 6rpx;
|
||||
font-size: 21rpx;
|
||||
color: #7F7F7F;
|
||||
margin-left: 36rpx;
|
||||
margin-bottom: 60rpx;
|
||||
}
|
||||
.details-box .side-item .side-head.side-head-no-bottom {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.details-box .side-item:first-of-type {
|
||||
padding-top: 37.5rpx;
|
||||
}
|
||||
.details-box .side-item:not(:first-of-type) {
|
||||
padding-top: 70rpx;
|
||||
@ -336,9 +360,10 @@ navigator {
|
||||
}
|
||||
.details-box .label {
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 15rpx;
|
||||
padding-bottom: 15rpx;
|
||||
margin-left: 36rpx;
|
||||
padding-top: 30rpx;
|
||||
border-bottom: 1rpx dotted #d9d9d9;
|
||||
}
|
||||
.details-box .label .item {
|
||||
height: 36rpx;
|
||||
@ -359,6 +384,81 @@ navigator {
|
||||
.details-box .label .item.gray.semester {
|
||||
background-color: #ccce04;
|
||||
}
|
||||
.details-box .discipline {
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 18rpx;
|
||||
margin-left: 36rpx;
|
||||
padding: 36rpx 21rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.details-box .discipline .discipline-title {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
line-height: 51rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.details-box .discipline .discipline-btn {
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 259.5rpx;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
padding-left: 22.5rpx;
|
||||
padding-right: 10rpx;
|
||||
}
|
||||
.details-box .discipline .discipline-btn .icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
.details-box .discipline .discipline-btn .sum {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 21rpx;
|
||||
color: #000000;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.details-box .accreditation {
|
||||
padding: 36rpx 19.5rpx 0;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item {
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .title {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .title .icon {
|
||||
width: 16.5rpx;
|
||||
height: 13.5rpx;
|
||||
margin-right: 18rpx;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .list {
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 9rpx;
|
||||
padding: 24rpx 15rpx;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .list .item {
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .list .item .dot {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.details-box .accreditation .accreditation-item .list .item:not(:last-of-type) {
|
||||
margin-bottom: 21rpx;
|
||||
}
|
||||
.details-box .key-ranking {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -414,6 +514,12 @@ navigator {
|
||||
align-items: center;
|
||||
position: relative;
|
||||
min-height: 160rpx;
|
||||
margin-bottom: 16rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.details-box .tuition .left {
|
||||
flex-direction: column;
|
||||
padding-right: 15rpx;
|
||||
}
|
||||
.details-box .tuition .unit {
|
||||
padding: 0 10.5rpx;
|
||||
@ -439,7 +545,208 @@ navigator {
|
||||
.details-box .tuition .text {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
.details-box .tuition .tuition-details {
|
||||
width: 300rpx;
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 9rpx;
|
||||
padding: 24rpx 15rpx;
|
||||
}
|
||||
.details-box .tuition .tuition-details .tuition-item {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.details-box .tuition .tuition-details .tuition-item:not(:last-of-type) {
|
||||
margin-bottom: 16.5rpx;
|
||||
}
|
||||
.details-box .tuition .tuition-details .tuition-item .key {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
}
|
||||
.details-box .tuition .tuition-details .tuition-item .value {
|
||||
font-family: 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.details-box .tuition-remark {
|
||||
background-color: #ffffff;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
line-height: 39rpx;
|
||||
padding: 33rpx 31.5rpx;
|
||||
word-break: break-all;
|
||||
}
|
||||
.details-box .tuition-remark .head {
|
||||
font-family: 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.details-box .tuition-remark .head .icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10.5rpx;
|
||||
}
|
||||
.details-box .scholarships {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
padding-top: 25.5rpx;
|
||||
padding-bottom: 48rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.details-box .scholarships .name-en {
|
||||
text-align: center;
|
||||
font-weight: 650;
|
||||
font-size: 30rpx;
|
||||
color: #000000;
|
||||
line-height: 51rpx;
|
||||
position: relative;
|
||||
width: fit-content;
|
||||
margin: 0 40rpx 13.5rpx;
|
||||
}
|
||||
.details-box .scholarships .name-en::after {
|
||||
left: -27rpx;
|
||||
}
|
||||
.details-box .scholarships .name-en::before {
|
||||
right: -27rpx;
|
||||
}
|
||||
.details-box .scholarships .name-en::after,
|
||||
.details-box .scholarships .name-en::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 9rpx;
|
||||
height: 9rpx;
|
||||
background-color: #f95d5d;
|
||||
border-radius: 30rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.details-box .scholarships .name-zh {
|
||||
text-align: center;
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
margin-bottom: 28.5rpx;
|
||||
}
|
||||
.details-box .scholarships .text {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
line-height: 54rpx;
|
||||
margin: 0 27rpx 39rpx;
|
||||
align-self: self-start;
|
||||
position: relative;
|
||||
background-image: url(https://app.gter.net/image/miniApp/offer/dotted-line.png);
|
||||
background-size: 100% 54rpx;
|
||||
background-repeat: repeat-y;
|
||||
background-position: 0 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.details-box .scholarships .text::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
background-image: url(https://app.gter.net/image/miniApp/offer/dotted-line.png);
|
||||
background-size: 100% 54rpx;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
.details-box .scholarships .radius {
|
||||
margin: 0 27rpx;
|
||||
align-self: self-start;
|
||||
}
|
||||
.details-box .scholarships .radius .key {
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
background-color: #04b0d5;
|
||||
border-radius: 12rpx;
|
||||
padding: 0 10.5rpx;
|
||||
width: fit-content;
|
||||
margin-right: 18rpx;
|
||||
}
|
||||
.details-box .scholarships .radius .value {
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.details-box .apply-btn {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: fit-content;
|
||||
margin: 20rpx auto 62rpx;
|
||||
}
|
||||
.details-box .apply-btn .btn {
|
||||
width: 348rpx;
|
||||
height: 45rpx;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
margin: 0 auto;
|
||||
z-index: 1;
|
||||
}
|
||||
.details-box .apply-btn .btn .text {
|
||||
text-align: center;
|
||||
line-height: 45rpx;
|
||||
background-color: #f95d5d;
|
||||
border-radius: 10.5rpx 0 0 10.5rpx;
|
||||
}
|
||||
.details-box .apply-btn .btn .btn-right {
|
||||
background-color: #333333;
|
||||
border-radius: 0 10.5rpx 10.5rpx 0;
|
||||
height: 100%;
|
||||
width: 45rpx;
|
||||
}
|
||||
.details-box .apply-btn .btn .btn-right .arrows {
|
||||
width: 15rpx;
|
||||
height: 7.5rpx;
|
||||
}
|
||||
.details-box .apply-btn .apply-mask {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
.details-box .apply-btn .apply-list {
|
||||
position: absolute;
|
||||
left: -15rpx;
|
||||
top: -15rpx;
|
||||
width: 378rpx;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 22.5rpx;
|
||||
box-shadow: 0 0 7.5rpx rgba(0, 0, 0, 0.17254902);
|
||||
z-index: -1;
|
||||
padding: 80rpx 15rpx 15rpx;
|
||||
}
|
||||
.details-box .apply-btn .apply-list .apply-item {
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
.details-box .apply-btn .apply-list .apply-item .dot {
|
||||
width: 9rpx;
|
||||
height: 9rpx;
|
||||
border-radius: 50%;
|
||||
border: 1rpx solid #797979;
|
||||
margin-right: 27rpx;
|
||||
}
|
||||
.details-box .apply-btn .apply-list .apply-item.pitch {
|
||||
font-weight: 650;
|
||||
color: #000000;
|
||||
}
|
||||
.details-box .apply-btn .apply-list .apply-item.pitch .dot {
|
||||
border-color: #333;
|
||||
background-color: #333;
|
||||
}
|
||||
.details-box .language-bonuses {
|
||||
justify-content: space-between;
|
||||
@ -520,20 +827,31 @@ navigator {
|
||||
color: #333333;
|
||||
}
|
||||
.details-box .demand {
|
||||
padding: 25.5rpx 22.5rpx;
|
||||
padding: 25.5rpx 22.5rpx 75rpx;
|
||||
position: relative;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.details-box .demand.arrowShow {
|
||||
height: 800rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.details-box .demand.demandShow {
|
||||
height: auto;
|
||||
}
|
||||
.details-box .demand .text {
|
||||
font-size: 27rpx;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
line-height: 51rpx;
|
||||
margin-bottom: 30rpx;
|
||||
line-height: 42rpx;
|
||||
padding-bottom: 30rpx;
|
||||
word-break: break-word;
|
||||
white-space: pre-line;
|
||||
}
|
||||
.details-box .demand .title {
|
||||
border-top: 1rpx dotted #d7d7d7;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
padding-top: 34rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.details-box .demand .hint {
|
||||
@ -541,40 +859,115 @@ navigator {
|
||||
font-size: 24rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.details-box .demand .list .item {
|
||||
.details-box .demand .ability-item {
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 9rpx;
|
||||
padding: 30rpx 15rpx;
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .head {
|
||||
margin-bottom: 22.5rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .head .index {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
background-color: #f95d5d;
|
||||
border-radius: 30rpx;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
margin-right: 16.5rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .head .ability-text {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
color: #000000;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .head .tag {
|
||||
width: 69rpx;
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
text-align: center;
|
||||
font-size: 21rpx;
|
||||
color: #333333;
|
||||
border: 1rpx solid #d7d7d7;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .head .tag.recommended {
|
||||
color: #fff;
|
||||
background-color: #04b0d5;
|
||||
border-color: #04b0d5;
|
||||
}
|
||||
.details-box .demand .ability-item .head .tag.required {
|
||||
color: #fff;
|
||||
background-color: #6fc16d;
|
||||
border-color: #6fc16d;
|
||||
}
|
||||
.details-box .demand .ability-item .description {
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 9rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 39rpx;
|
||||
color: #333333;
|
||||
padding: 25.5rpx 18rpx;
|
||||
}
|
||||
.details-box .demand .ability-item .remarks {
|
||||
margin-top: 30rpx;
|
||||
padding-top: 30rpx;
|
||||
border-top: 1rpx dotted #d7d7d7;
|
||||
}
|
||||
.details-box .demand .ability-item .list .item {
|
||||
padding: 19.5rpx 15rpx 19.5rpx 42rpx;
|
||||
position: relative;
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 9rpx;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.details-box .demand .list .item .triangle {
|
||||
.details-box .demand .ability-item .list .item .triangle {
|
||||
position: absolute;
|
||||
width: 16.5rpx;
|
||||
height: 9rpx;
|
||||
transform: rotate(-90deg);
|
||||
top: 33rpx;
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
top: 30rpx;
|
||||
left: 15rpx;
|
||||
}
|
||||
.details-box .demand .list .item:not(:last-of-type) {
|
||||
.details-box .demand .ability-item .list .item:not(:last-of-type) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.details-box .demand .list .item .name {
|
||||
.details-box .demand .ability-item .list .item .name {
|
||||
color: #7F7F7F;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
.details-box .demand .list .item .value {
|
||||
.details-box .demand .ability-item .list .item .value {
|
||||
color: #333333;
|
||||
}
|
||||
.details-box .demand .demand-bottom {
|
||||
height: 75rpx;
|
||||
background-color: rgba(255, 255, 255, 0.98039216);
|
||||
border-radius: 0 0 18rpx 18rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.details-box .demand .demand-bottom.demandShow .bottom-icon {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
.details-box .demand .demand-bottom .bottom-icon {
|
||||
width: 33rpx;
|
||||
height: 33rpx;
|
||||
transform: rotate(90deg);
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.details-box .ranking {
|
||||
margin-left: 36rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.details-box .ranking .item {
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 9rpx;
|
||||
}
|
||||
.details-box .ranking .item:not(:last-of-type) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.details-box .ranking .item .rank {
|
||||
@ -648,6 +1041,27 @@ navigator {
|
||||
.details-box .ranking .item .box .itemm .value {
|
||||
color: #333333;
|
||||
}
|
||||
.details-box .ps {
|
||||
margin-bottom: 30rpx;
|
||||
margin-left: 36rpx;
|
||||
background-color: #ffffff;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 9rpx;
|
||||
font-size: 21rpx;
|
||||
padding: 13.5rpx;
|
||||
}
|
||||
.details-box .ps .title {
|
||||
font-family: 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
color: #000000;
|
||||
display: inline-flex;
|
||||
}
|
||||
.details-box .ps .text {
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
color: #555555;
|
||||
display: inline;
|
||||
word-break: break-all;
|
||||
}
|
||||
.details-box .pattern {
|
||||
padding: 30rpx 0;
|
||||
}
|
||||
@ -668,7 +1082,7 @@ navigator {
|
||||
border-radius: 33rpx;
|
||||
}
|
||||
.details-box .pattern .tab .item.pitch {
|
||||
background-color: #04b0d5;
|
||||
background-color: #6fc16d;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.details-box .pattern .introduce {
|
||||
@ -840,6 +1254,7 @@ navigator {
|
||||
color: #555555;
|
||||
line-height: 51rpx;
|
||||
padding: 22.5rpx 0;
|
||||
word-break: break-word;
|
||||
}
|
||||
.details-box .issue-bj .issue .index {
|
||||
width: 54rpx;
|
||||
@ -952,7 +1367,6 @@ navigator {
|
||||
padding: 0 12.75rpx;
|
||||
}
|
||||
.details-box .course .table-body .list .item.name .english {
|
||||
font-family: 'ArialMT', 'Arial', sans-serif;
|
||||
color: #AAAAAA;
|
||||
font-size: 21rpx;
|
||||
padding: 0 12.75rpx;
|
||||
@ -1027,13 +1441,14 @@ navigator {
|
||||
margin-left: 36rpx;
|
||||
}
|
||||
.details-box .consult-list .consult-item {
|
||||
margin-bottom: 30rpx;
|
||||
width: 567rpx;
|
||||
background-color: #ffffff;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 18rpx;
|
||||
padding: 33rpx 18rpx 30rpx 31.5rpx;
|
||||
}
|
||||
.details-box .consult-list .consult-item:not(:last-of-type) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.details-box .consult-list .consult-item .school {
|
||||
font-weight: 650;
|
||||
font-style: normal;
|
||||
@ -1072,6 +1487,7 @@ navigator {
|
||||
font-family: 'ArialMT', 'Arial', sans-serif;
|
||||
}
|
||||
.details-box .consult-list .consult-item .info-xiaobox {
|
||||
width: 519rpx;
|
||||
height: 69rpx;
|
||||
background-color: #fbfbfb;
|
||||
border-radius: 15rpx;
|
||||
@ -1096,6 +1512,140 @@ navigator {
|
||||
border-radius: 50%;
|
||||
margin-right: 18rpx;
|
||||
}
|
||||
.details-box .consult-more {
|
||||
font-size: 21rpx;
|
||||
color: #555555;
|
||||
line-height: 39rpx;
|
||||
padding-top: 45rpx;
|
||||
padding-bottom: 5rpx;
|
||||
}
|
||||
.details-box .consult-more .icon {
|
||||
width: 27rpx;
|
||||
height: 27rpx;
|
||||
margin-left: 6rpx;
|
||||
}
|
||||
.details-box .recommend-list {
|
||||
margin-left: 36rpx;
|
||||
}
|
||||
.details-box .recommend-list .item {
|
||||
background-color: #ffffff;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 18rpx;
|
||||
padding: 36rpx 18rpx 95rpx;
|
||||
position: relative;
|
||||
}
|
||||
.details-box .recommend-list .item:not(:last-of-type) {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .school {
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .school .icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .name {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 33rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.details-box .recommend-list .item .english {
|
||||
font-size: 21rpx;
|
||||
color: #7F7F7F;
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .introduce {
|
||||
font-size: 25.5rpx;
|
||||
color: #555555;
|
||||
margin-top: 15rpx;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.details-box .recommend-list .item .introduce .line {
|
||||
color: #D7D7D7;
|
||||
margin: 0 12rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .introduce .quantity {
|
||||
font-family: 'Arial', 'Arial-Black', 'Arial Black', sans-serif;
|
||||
font-weight: 900;
|
||||
color: #000000;
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .word {
|
||||
font-size: 24rpx;
|
||||
color: #7F7F7F;
|
||||
padding: 10.5rpx 15rpx;
|
||||
background-color: #f6f6f6;
|
||||
border-radius: 7.5rpx;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .tag {
|
||||
flex-wrap: wrap;
|
||||
margin-top: 25rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .tag .tag-item {
|
||||
height: 36rpx;
|
||||
line-height: 36rpx;
|
||||
font-size: 22.5rpx;
|
||||
color: #858585;
|
||||
padding: 0 10.5rpx;
|
||||
border: 1rpx solid #aaaaaa;
|
||||
border-radius: 6px;
|
||||
width: fit-content;
|
||||
margin-right: 15rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.details-box .recommend-list .item .tag .tag-item.admissions {
|
||||
background-color: #73d1e5;
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
.details-box .recommend-list .item .tag .tag-item.gray {
|
||||
border: none;
|
||||
color: #fff;
|
||||
background-color: #333333;
|
||||
}
|
||||
.details-box .recommend-list .item .tag .tag-item.gray.semester {
|
||||
background-color: #f95d5d;
|
||||
}
|
||||
.details-box .recommend-list .item .btn {
|
||||
height: 75rpx;
|
||||
background-color: #edf0f4;
|
||||
border-top: 1rpx solid #ebebeb;
|
||||
border-radius: 0 0 18rpx 18rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.details-box .recommend-list .item .btn .btn-item {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
font-size: 24rpx;
|
||||
position: relative;
|
||||
}
|
||||
.details-box .recommend-list .item .btn .btn-item:not(:last-of-type)::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 1rpx;
|
||||
width: 1rpx;
|
||||
height: 31.5rpx;
|
||||
transform: translateY(-50%);
|
||||
background-color: #aaaaaa;
|
||||
}
|
||||
.details-box .recommend-list .item .btn .btn-item .icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-right: 9rpx;
|
||||
}
|
||||
.bottom-base {
|
||||
width: 100vw;
|
||||
position: fixed;
|
||||
|
Loading…
x
Reference in New Issue
Block a user