修改新项目库bug

This commit is contained in:
DESKTOP-RQ919RC\Pc 2025-03-31 10:32:24 +08:00
parent 7545415f94
commit f856d1a2e2
18 changed files with 140 additions and 107 deletions

View File

@ -27,7 +27,7 @@
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border: 1rpx solid rgba(235, 235, 235, 1); border: 1rpx solid rgba(235, 235, 235, 1);
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
} }

View File

@ -22,7 +22,7 @@
background-color: #ffffff; background-color: #ffffff;
border: 1rpx solid #ebebeb; border: 1rpx solid #ebebeb;
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
} }
.file { .file {

View File

@ -6,6 +6,7 @@ Component({
* 组件的属性列表 * 组件的属性列表
*/ */
properties: { properties: {
disciplineid: String,
showTab: String, // 需要显示的 列表按钮 offerlist summarylist mjlist showTab: String, // 需要显示的 列表按钮 offerlist summarylist mjlist
notShowIndex: Boolean, notShowIndex: Boolean,
isIndexPage: Boolean, isIndexPage: Boolean,
@ -119,6 +120,8 @@ Component({
votelist: "投票列表", votelist: "投票列表",
questionslist: "问答列表", questionslist: "问答列表",
treelist: "笔记列表", treelist: "笔记列表",
project: "项目列表",
ranking: "全部榜单",
}, },
rentPopState: false, rentPopState: false,
@ -338,7 +341,9 @@ Component({
if (key == 'votelist') url = '/pages/voteList/voteList' if (key == 'votelist') url = '/pages/voteList/voteList'
if (key == 'questionslist') url = '/pages/questionsList/questionsList' if (key == 'questionslist') url = '/pages/questionsList/questionsList'
if (key == 'treelist') url = '/pages/treeList/treeList' if (key == 'treelist') url = '/pages/treeList/treeList'
wx.redirectTo({ if (key == 'project') url = '/pages/projectSubjectList/projectSubjectList?id=' + this.data.disciplineid
if (key == 'ranking') url = '/pages/projectAllList/projectAllList'
wx.navigateTo({
url, url,
}) })
}, },

View File

@ -36,6 +36,8 @@
padding: 0 22.5rpx; padding: 0 22.5rpx;
overflow: hidden; overflow: hidden;
width: 567rpx; width: 567rpx;
display: block;
box-sizing: border-box;
&.hide { &.hide {
position: absolute; position: absolute;

View File

@ -1,7 +1,7 @@
<!--template/projectShowText/projectShowText.wxml--> <!--template/projectShowText/projectShowText.wxml-->
<view class="box"> <view class="box">
<view class style="position: relative;height: 0;width: 0;overflow: hidden;"> <view class style="position: relative;height: 0;width: 0;overflow: hidden;">
<view class="hide text {{ className }}">{{ text }}</view> <text class="hide text {{ className }}">{{ text }}</text>
</view> </view>
<view class="head" wx:if="{{ titleName }}"> <view class="head" wx:if="{{ titleName }}">
@ -12,7 +12,7 @@
<block wx:if="{{ isswiper }}"> <block wx:if="{{ isswiper }}">
<swiper bindchange="bindchange" style="height: {{ page[0] }}px;"> <swiper bindchange="bindchange" style="height: {{ page[0] }}px;">
<swiper-item wx:for="{{ page }}" wx:key="index"> <swiper-item wx:for="{{ page }}" wx:key="index">
<view class="text" style="margin-top: -{{ index * height }}px;">{{ text }}</view> <text class="text" user-select="{{ true }}" style="margin-top: -{{ index * height }}px;">{{ text }}</text>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -21,5 +21,5 @@
</view> </view>
</block> </block>
<view wx:else class="text" style="text-align: center;">{{ text }}</view> <text wx:else class="text" user-select="{{ true }}" style="text-align: center;">{{ text }}</text>
</view> </view>

View File

@ -32,6 +32,8 @@
padding: 0 22.5rpx; padding: 0 22.5rpx;
overflow: hidden; overflow: hidden;
width: 567rpx; width: 567rpx;
display: block;
box-sizing: border-box;
} }
.box .text.hide { .box .text.hide {
position: absolute; position: absolute;

View File

@ -157,7 +157,7 @@ Page({
let documents_required = "" let documents_required = ""
element.documents.forEach(ele => { element.documents.forEach(ele => {
documents_required += '- ' + ele.details + '\n' documents_required += `- ${ele.document_zh}${ele.description_zh} \n`;
}) })
element['documents_required'] = documents_required element['documents_required'] = documents_required

View File

@ -942,5 +942,9 @@ Page({
const list = this.data.recommendList const list = this.data.recommendList
const target = list[index] const target = list[index]
common.goPage(`/pages/projectComparison/projectComparison?ids=${[info.id, target.id]}`) common.goPage(`/pages/projectComparison/projectComparison?ids=${[info.id, target.id]}`)
} },
goDepartment() {
const info = this.data.info
common.goPage(`/pages/projectSchoolHomepage/projectSchoolHomepage?id=${info.sid}&department=${info.department}`)
},
}) })

View File

@ -4,6 +4,7 @@ scroll-view,
navigator { navigator {
box-sizing: border-box; box-sizing: border-box;
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif; font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
word-break: break-word;
} }
.header-nav { .header-nav {
@ -266,7 +267,7 @@ navigator {
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border: 1rpx solid rgba(235, 235, 235, 1); border: 1rpx solid rgba(235, 235, 235, 1);
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
} }
@ -473,12 +474,12 @@ navigator {
.discipline { .discipline {
// width: 564rpx; // width: 564rpx;
// height: 210rpx; // height: 210rpx;
background-color: rgba(255, 255, 255, 1); // background-color: rgba(255, 255, 255, 1);
border: 1px solid rgba(235, 235, 235, 1); // border: 1px solid rgba(235, 235, 235, 1);
border-radius: 18rpx; // border-radius: 18rpx;
margin-left: 36rpx; // margin-left: 36rpx;
padding: 36rpx 21rpx; padding: 36rpx 21rpx;
margin-bottom: 30rpx; // margin-bottom: 60rpx;
.discipline-title { .discipline-title {
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
@ -657,8 +658,8 @@ navigator {
.text { .text {
font-size: 24rpx; font-size: 24rpx;
color: #555555; color: #555555;
margin-top: 5rpx;
// margin-right: 20rpx; // margin-right: 20rpx;
margin-top: 5rpx;
} }
.tuition-details { .tuition-details {
@ -696,7 +697,7 @@ navigator {
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border: 1rpx solid rgba(235, 235, 235, 1); border: 1rpx solid rgba(235, 235, 235, 1);
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
font-size: 24rpx; font-size: 24rpx;
color: #555555; color: #555555;
@ -739,25 +740,25 @@ navigator {
width: fit-content; width: fit-content;
margin: 0 40rpx 13.5rpx; margin: 0 40rpx 13.5rpx;
&::after { // &::after {
left: -27rpx; // left: -27rpx;
} // }
&::before { // &::before {
right: -27rpx; // right: -27rpx;
} // }
&::after, // &::after,
&::before { // &::before {
content: ""; // content: "";
position: absolute; // position: absolute;
width: 9rpx; // width: 9rpx;
height: 9rpx; // height: 9rpx;
background-color: rgba(249, 93, 93, 1); // background-color: rgba(249, 93, 93, 1);
border-radius: 30rpx; // border-radius: 30rpx;
top: 50%; // top: 50%;
transform: translateY(-50%); // transform: translateY(-50%);
} // }
} }
.name-zh { .name-zh {
@ -1021,13 +1022,20 @@ navigator {
font-size: 24rpx; font-size: 24rpx;
color: #000000; color: #000000;
line-height: 42rpx; line-height: 42rpx;
padding-bottom: 30rpx;
word-break: break-word; word-break: break-word;
white-space: pre-line; white-space: pre-line;
display: block;
}
.line {
width: 100%;
border-bottom: 1rpx dotted #d7d7d7;
margin-top: 30rpx;
height: 1rpx;
} }
.title { .title {
border-top: 1rpx dotted #d7d7d7; // border-top: 1rpx dotted #d7d7d7;
font-weight: 650; font-weight: 650;
font-size: 27rpx; font-size: 27rpx;
color: #000000; color: #000000;
@ -1138,11 +1146,11 @@ navigator {
.name { .name {
color: #7F7F7F; color: #7F7F7F;
margin-bottom: 12rpx;
} }
.value { .value {
color: #333333; color: #333333;
margin-top: 12rpx;
} }
} }
} }
@ -1274,7 +1282,7 @@ navigator {
} }
.ps { .ps {
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border: 1rpx solid rgba(235, 235, 235, 1); border: 1rpx solid rgba(235, 235, 235, 1);
@ -1551,6 +1559,7 @@ navigator {
.course { .course {
position: relative; position: relative;
margin-bottom: 30rpx;
.icon { .icon {
width: 24rpx; width: 24rpx;
@ -2565,7 +2574,7 @@ navigator {
left: 0; left: 0;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
z-index: 1; z-index: 2;
animation: slideUp 0.3s forwards; animation: slideUp 0.3s forwards;
@keyframes slideUp { @keyframes slideUp {
@ -2598,3 +2607,7 @@ navigator {
} }
} }
} }
.magb30{
margin-bottom: 30rpx !important;
}

View File

@ -1,10 +1,7 @@
<!--pages/projectDetails/projectDetails.wxml--> <!--pages/projectDetails/projectDetails.wxml-->
<header-Nav wx:if="{{ isadmission }}" class="header-nav" bgcolor="{{ !sideFixed ? 'transparent' : '#fbfbfb' }}" user="{{ user }}"> <header-Nav wx:if="{{ isadmission }}" newHeadOperate="{{ true }}" showTab="project" class="header-nav" bgcolor="{{ !sideFixed ? 'transparent' : '#fbfbfb' }}" user="{{ user }}" disciplineid="{{ info.disciplineid }}"></header-Nav>
<view class="flexacenter" style="height: 100%;"> <header-Nav wx:else newHeadOperate="{{ true }}" showTab="project" class="header-nav" bgcolor="#fff" user="{{ user }}" disciplineid="{{ info.disciplineid }}"></header-Nav>
<image class="icon" src="https://app.gter.net/image/miniApp/offer/admission-text-icon.png" mode="widthFix"></image>
</view>
</header-Nav>
<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="head-box {{ isadmission ? 'isadmission' : '' }}" style="padding-top: {{ totalTopHeight + 15 }}px">
<view class="name">{{ info.program_zh }}</view> <view class="name">{{ info.program_zh }}</view>
@ -16,7 +13,7 @@
<image class="arrows" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg"></image> <image class="arrows" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg"></image>
</view> </view>
<block wx:if="{{ info.academic_unit[0] }}"> <block wx:if="{{ info.academic_unit[0] }}">
<view class="flexacenter black"> <view class="flexacenter black" bind:tap="goDepartment">
<view class="line">|</view> <view class="line">|</view>
{{ info.academic_unit[0]['academic_unit_zh'] }} {{ 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> <image class="arrows" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg"></image>
@ -161,7 +158,7 @@
<image class="quick-answer" src="https://app.gter.net/image/miniApp/offer/quick-answer.png" mode="widthFix" bind:tap="cutQuickAnswer"></image> <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> <view class="borderTop"></view>
</block> </block>
<view class="" style="margin-bottom: 30rpx;"> <view class="" style="margin-bottom: 60rpx;">
<view class="semester-box flexacenter "> <view class="semester-box flexacenter ">
<view class="text gray semester">{{ newest || '' }}</view> <view class="text gray semester">{{ newest || '' }}</view>
本项目招生信息已更新为{{ newest || '' }} 本项目招生信息已更新为{{ newest || '' }}
@ -177,7 +174,7 @@
</view> </view>
<template is="item-header" data="{{ text: '学科领域' }}"></template> <template is="item-header" data="{{ text: '学科领域' }}"></template>
<view class="discipline"> <view class="discipline block">
<view class="discipline-title">{{ discipline.name }}</view> <view class="discipline-title">{{ discipline.name }}</view>
<navigator hover-class="none" url="/pages/projectSubjectList/projectSubjectList?id={{ discipline.id }}" class="discipline-btn flexacenter"> <navigator hover-class="none" url="/pages/projectSubjectList/projectSubjectList?id={{ discipline.id }}" class="discipline-btn flexacenter">
<view class="text flex1">该学科领域的其他项目</view> <view class="text flex1">该学科领域的其他项目</view>
@ -297,7 +294,7 @@
<template is="item-header" data="{{ text: '最低入学要求' }}"></template> <template is="item-header" data="{{ text: '最低入学要求' }}"></template>
<view class="demand block {{ demandState != 0 ? 'arrowShow' : '' }} {{ demandState == 2 ? 'demandShow' : '' }}"> <view class="demand block {{ demandState != 0 ? 'arrowShow' : '' }} {{ demandState == 2 ? 'demandShow' : '' }}">
<view class="text">{{ admission_requirementsObj.basic_requirements }}</view> <text class="text" user-select="{{ true }}">{{ admission_requirementsObj.basic_requirements }}</text>
<view class="demand-content" wx:if="{{ admission_requirementsObj.language_requirements.length != 0 }}"> <view class="demand-content" wx:if="{{ admission_requirementsObj.language_requirements.length != 0 }}">
<template is="demand" wx:for="{{ admission_requirementsObj.language_requirements }}" wx:key="index" data="{{ item }}"></template> <template is="demand" wx:for="{{ admission_requirementsObj.language_requirements }}" wx:key="index" data="{{ item }}"></template>
</view> </view>
@ -312,7 +309,7 @@
</block> </block>
<template is="item-header" data="{{ text: '费用' }}"></template> <template is="item-header" data="{{ text: '费用' }}"></template>
<view class="tuition block flexcenter"> <view class="tuition block flexcenter" style="margin-bottom: {{ admissionsObj.fee_remarks ? 16 : 60 }}rpx">
<view class="left flexcenter flex1"> <view class="left flexcenter flex1">
<view class="unit">{{ admissionsObj.tuition_currency || 'HK$' }}</view> <view class="unit">{{ admissionsObj.tuition_currency || 'HK$' }}</view>
<view class="number">{{ admissionsObj.tuition_fee_text || '待确认' }}</view> <view class="number">{{ admissionsObj.tuition_fee_text || '待确认' }}</view>
@ -343,13 +340,13 @@
<block wx:if="{{ scholarships.length }}"> <block wx:if="{{ scholarships.length }}">
<template is="item-header" data="{{ text: '奖学金' }}"></template> <template is="item-header" data="{{ text: '奖学金' }}"></template>
<view class="block scholarships" wx:for="{{ scholarships }}" wx:key="index"> <view class="block scholarships magb30" wx:for="{{ scholarships }}" wx:key="index">
<view class="name-en">{{ item.scholarship_name }}</view> <view class="name-en">{{ item.scholarship_name }}</view>
<view class="name-zh">奖学金名称</view> <view class="name-zh">奖学金名称</view>
<view class="text">{{ item.description }}</view> <view class="text">{{ item.description }}</view>
<view class="radius flexacenter"> <view class="radius flexacenter">
<view class="key">适用范围</view> <view class="key">适用范围</view>
<view class="value">{{ item.is_local_eligible ? '本地生适用' : '' }}{{ item.is_nonlocal_eligible ? '非本地生适用' : '' }}</view> <view class="value">{{ item.is_local_eligible ? '本地生适用' : '' }}{{ item.is_local_eligible && item.is_nonlocal_eligible ? '、' : ''}}{{ item.is_nonlocal_eligible ? '非本地生适用' : '' }}</view>
</view> </view>
</view> </view>
</block> </block>
@ -459,15 +456,15 @@
</block> </block>
<template wx:if="{{ detailsInfo.career_fields.length != 0 || detailsInfo.typical_employers.length != 0 || detailsInfo.career_positions.length != 0 }}" is="item-header" data="{{ text: '历届毕业生就业方向' }}"></template> <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 }}"> <view class="block magb30" wx:if="{{ detailsInfo.career_fields.length != 0 }}">
<project-show-text titleName="就业领域" className="domains" text="{{ detailsInfo.career_fields || '- 暂无 -' }}"></project-show-text> <project-show-text titleName="就业领域" className="domains" text="{{ detailsInfo.career_fields || '- 暂无 -' }}"></project-show-text>
</view> </view>
<view class="block" wx:if="{{ detailsInfo.typical_employers.length != 0 }}"> <view class="block magb30" wx:if="{{ detailsInfo.typical_employers.length != 0 }}">
<project-show-text titleName="主要雇主名单" className="employers" text="{{ detailsInfo.typical_employers || '- 暂无 -' }}"></project-show-text> <project-show-text titleName="主要雇主名单" className="employers" text="{{ detailsInfo.typical_employers || '- 暂无 -' }}"></project-show-text>
</view> </view>
<view class="block" wx:if="{{ detailsInfo.career_positions.length != 0 }}"> <view class="block magb30" wx:if="{{ detailsInfo.career_positions.length != 0 }}">
<project-show-text titleName="职业岗位" className="positions" text="{{ detailsInfo.career_positions || '- 暂无 -' }}"></project-show-text> <project-show-text titleName="职业岗位" className="positions" text="{{ detailsInfo.career_positions || '- 暂无 -' }}"></project-show-text>
</view> </view>
</view> </view>
@ -589,16 +586,15 @@
</view> </view>
<view wx:if="{{admissionsObj.leaflet_url || info.website_en || admissionsObj.application_url || admissionsObj.catalog_url }}" class="side-item" data-type="links"> <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="side-head flexcenter">相关链接</view>
<view class="pdf block magb30" wx:if="{{ admissionsObj.leaflet_url }}">
<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> <image class="icon" src="https://app.gter.net/image/miniApp/offer/pdf-icon.svg" mode="widthFix"></image>
<view class="title">项目宣传册</view> <view class="title">项目宣传册</view>
<view class="name">{{ admissionsObj.leaflet_name || '-' }}</view> <view class="name">{{ admissionsObj.leaflet_name || '-' }}</view>
<view class="btn flexcenter" bind:tap="openFile" data-url="{{ admissionsObj.leaflet_url }}">打开文件</view> <view class="btn flexcenter" bind:tap="openFile" data-url="{{ admissionsObj.leaflet_url }}">打开文件</view>
</view> </view>
<view class="link block" wx:if="{{ info.website_en }}"> <view class="link block magb30" wx:if="{{ info.website_en }}">
<view class="title">研究生院申请页项目详情</view> <view class="title">研究生院申请页项目详情</view>
<view class="text">{{ info.website_en }}</view> <view class="text">{{ info.website_en }}</view>
<view class="btn flexcenter" bind:tap="copy" data-text="{{ info.website_en }}"> <view class="btn flexcenter" bind:tap="copy" data-text="{{ info.website_en }}">
@ -606,7 +602,7 @@
复制链接 复制链接
</view> </view>
</view> </view>
<view class="link block" wx:if="{{ admissionsObj.application_url }}"> <view class="link block magb30" wx:if="{{ admissionsObj.application_url }}" >
<view class="title">学院网站项目详情</view> <view class="title">学院网站项目详情</view>
<view class="text">{{ admissionsObj.application_url }}</view> <view class="text">{{ admissionsObj.application_url }}</view>
<view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.application_url }}"> <view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.application_url }}">
@ -615,7 +611,7 @@
</view> </view>
</view> </view>
<view class="link block" wx:if="{{ admissionsObj.catalog_url }}"> <view class="link block magb30" wx:if="{{ admissionsObj.catalog_url }}" >
<view class="title">项目目录项目详情</view> <view class="title">项目目录项目详情</view>
<view class="text">{{ admissionsObj.catalog_url }}</view> <view class="text">{{ admissionsObj.catalog_url }}</view>
<view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.catalog_url }}"> <view class="btn flexcenter" bind:tap="copy" data-text="{{ admissionsObj.catalog_url }}">
@ -822,7 +818,7 @@
<view class="item" wx:for="{{ item.tests }}" wx:key="index"> <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> <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="name">{{ item.test_name }}</view>
<view class="value">{{ item.text }}</view> <view class="value" wx:if="{{ item.text }}">{{ item.text }}</view>
<view class="remarks" wx:if="{{ item.remarks_zh }}">{{ item.remarks_zh }}</view> <view class="remarks" wx:if="{{ item.remarks_zh }}">{{ item.remarks_zh }}</view>
</view> </view>
</view> </view>

View File

@ -4,6 +4,7 @@ scroll-view,
navigator { navigator {
box-sizing: border-box; box-sizing: border-box;
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif; font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
word-break: break-word;
} }
.header-nav { .header-nav {
position: fixed; position: fixed;
@ -218,7 +219,7 @@ navigator {
background-color: #ffffff; background-color: #ffffff;
border: 1rpx solid #ebebeb; border: 1rpx solid #ebebeb;
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
} }
.details-box .answer { .details-box .answer {
@ -385,12 +386,7 @@ navigator {
background-color: #ccce04; background-color: #ccce04;
} }
.details-box .discipline { .details-box .discipline {
background-color: #ffffff;
border: 1px solid #ebebeb;
border-radius: 18rpx;
margin-left: 36rpx;
padding: 36rpx 21rpx; padding: 36rpx 21rpx;
margin-bottom: 30rpx;
} }
.details-box .discipline .discipline-title { .details-box .discipline .discipline-title {
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif; font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
@ -574,7 +570,7 @@ navigator {
background-color: #ffffff; background-color: #ffffff;
border: 1rpx solid #ebebeb; border: 1rpx solid #ebebeb;
border-radius: 18rpx; border-radius: 18rpx;
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
font-size: 24rpx; font-size: 24rpx;
color: #555555; color: #555555;
@ -612,23 +608,6 @@ navigator {
width: fit-content; width: fit-content;
margin: 0 40rpx 13.5rpx; 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 { .details-box .scholarships .name-zh {
text-align: center; text-align: center;
font-size: 22.5rpx; font-size: 22.5rpx;
@ -843,12 +822,17 @@ navigator {
font-size: 24rpx; font-size: 24rpx;
color: #000000; color: #000000;
line-height: 42rpx; line-height: 42rpx;
padding-bottom: 30rpx;
word-break: break-word; word-break: break-word;
white-space: pre-line; white-space: pre-line;
display: block;
}
.details-box .demand .line {
width: 100%;
border-bottom: 1rpx dotted #d7d7d7;
margin-top: 30rpx;
height: 1rpx;
} }
.details-box .demand .title { .details-box .demand .title {
border-top: 1rpx dotted #d7d7d7;
font-weight: 650; font-weight: 650;
font-size: 27rpx; font-size: 27rpx;
color: #000000; color: #000000;
@ -940,10 +924,10 @@ navigator {
} }
.details-box .demand .ability-item .list .item .name { .details-box .demand .ability-item .list .item .name {
color: #7F7F7F; color: #7F7F7F;
margin-bottom: 12rpx;
} }
.details-box .demand .ability-item .list .item .value { .details-box .demand .ability-item .list .item .value {
color: #333333; color: #333333;
margin-top: 12rpx;
} }
.details-box .demand .demand-bottom { .details-box .demand .demand-bottom {
height: 75rpx; height: 75rpx;
@ -1043,7 +1027,7 @@ navigator {
color: #333333; color: #333333;
} }
.details-box .ps { .details-box .ps {
margin-bottom: 30rpx; margin-bottom: 60rpx;
margin-left: 36rpx; margin-left: 36rpx;
background-color: #ffffff; background-color: #ffffff;
border: 1rpx solid #ebebeb; border: 1rpx solid #ebebeb;
@ -1280,6 +1264,7 @@ navigator {
} }
.details-box .course { .details-box .course {
position: relative; position: relative;
margin-bottom: 30rpx;
} }
.details-box .course .icon { .details-box .course .icon {
width: 24rpx; width: 24rpx;
@ -2124,7 +2109,7 @@ navigator {
left: 0; left: 0;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
z-index: 1; z-index: 2;
animation: slideUp 0.3s forwards; animation: slideUp 0.3s forwards;
} }
@keyframes slideUp { @keyframes slideUp {
@ -2151,3 +2136,6 @@ navigator {
transform: translateX(-50%); transform: translateX(-50%);
bottom: 260rpx; bottom: 260rpx;
} }
.magb30 {
margin-bottom: 30rpx !important;
}

View File

@ -802,6 +802,7 @@ Page({
data.forEach(element => { data.forEach(element => {
element['mechanism'] = this.rankingsObj[element.mechanism]?.name || element.mechanism element['mechanism'] = this.rankingsObj[element.mechanism]?.name || element.mechanism
}) })
data[0].subject = "Anthropology Anthropology Anthropology Anthropology Anthropology"
let arr = [data.slice(0, 5), data.slice(5, 10), data.slice(10, 15)] let arr = [data.slice(0, 5), data.slice(5, 10), data.slice(10, 15)]
this.setData({ this.setData({
rankingList: arr rankingList: arr

View File

@ -923,10 +923,11 @@ view {
width: 18rpx; width: 18rpx;
height: 18rpx; height: 18rpx;
margin: 0 9rpx; margin: 0 9rpx;
flex-shrink: 0;
} }
.text { .text {
max-width: 240rpx; // max-width: 260rpx;
line-height: 72rpx; line-height: 72rpx;
height: 72rpx; height: 72rpx;
// display: contents; // display: contents;

View File

@ -177,7 +177,7 @@
<view class="list"> <view class="list">
<view class="item flexacenter" wx:for="{{ item }}" wx:for-index="i" wx:key="i" bind:tap="handRanking" data-index="{{ index }}" data-i="{{ i }}"> <view class="item flexacenter" wx:for="{{ item }}" wx:for-index="i" wx:key="i" bind:tap="handRanking" data-index="{{ index }}" data-i="{{ i }}">
<view class="spot"></view> <view class="spot"></view>
<view wx:if="{{ item.type == 'major' }}" class="content1 flexacenter flex1"> <view wx:if="{{ item.type == 'major' }}" class="content1 flexacenter flex1 one-line-display">
<view class="name">{{ rankingKey[item.mechanism] || item.mechanism }}</view> <view class="name">{{ rankingKey[item.mechanism] || item.mechanism }}</view>
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-circle-green.svg" mode="widthFix"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-circle-green.svg" mode="widthFix"></image>
<view class="text one-line-display">{{ item.subject }}</view> <view class="text one-line-display">{{ item.subject }}</view>

View File

@ -756,9 +756,9 @@ view {
width: 18rpx; width: 18rpx;
height: 18rpx; height: 18rpx;
margin: 0 9rpx; margin: 0 9rpx;
flex-shrink: 0;
} }
.ranking .swiper .swiper-item .list .item .content1 .text { .ranking .swiper .swiper-item .list .item .content1 .text {
max-width: 240rpx;
line-height: 72rpx; line-height: 72rpx;
height: 72rpx; height: 72rpx;
} }

View File

@ -25,7 +25,6 @@ Page({
comList: [], comList: [],
comPage: 1, comPage: 1,
comTotal: 0, comTotal: 0,
comDefault: {},
majOption: {}, majOption: {},
maj: { maj: {
jg: "", jg: "",
@ -36,7 +35,6 @@ Page({
majList: [], majList: [],
majPage: 1, majPage: 1,
majTotal: 0, majTotal: 0,
majDefault: {},
rankingKey: common.rankingKey, rankingKey: common.rankingKey,
@ -70,7 +68,7 @@ Page({
} }
if (['subject', 'school'].includes(options.type)) { if (['subject', 'school'].includes(options.type)) {
const isSubject = options.type === 'subject'; const isSubject = options.type === 'subject';
const targetKey = isSubject ? 'majDefault' : 'comDefault'; const targetKey = isSubject ? 'maj' : 'com';
const source = this.data[targetKey] || (isSubject ? {} : this.data.com); const source = this.data[targetKey] || (isSubject ? {} : this.data.com);
let updates = { let updates = {
jg: this.decodeKey(isSubject ? options.system : options.mechanism) || '', jg: this.decodeKey(isSubject ? options.system : options.mechanism) || '',
@ -101,13 +99,12 @@ Page({
compAllList: [], compAllList: [],
// 获取 综合排名 数据 // 获取 综合排名 数据
getSynthesizeData() { getSynthesizeData() {
let comDefault = this.data.comDefault
let com = this.data.com let com = this.data.com
wx.showLoading({ wx.showLoading({
title: '加载中...', title: '加载中...',
}) })
util.wxget("https://api.gter.net/v1/program/comprehensiverankings", { util.wxget("https://api.gter.net/v1/program/comprehensiverankings", {
token: com['token'] || comDefault['token'], token: com['token'],
ishongkong: this.data.comOnly || 0, ishongkong: this.data.comOnly || 0,
limit: 2000, limit: 2000,
}).then(res => { }).then(res => {
@ -151,10 +148,9 @@ Page({
wx.showLoading({ wx.showLoading({
title: '加载中...', title: '加载中...',
}) })
let majDefault = this.data.majDefault
let maj = this.data.maj let maj = this.data.maj
util.wxget("https://api.gter.net/v1/program/disciplinerankings", { util.wxget("https://api.gter.net/v1/program/disciplinerankings", {
token: maj['token'] || majDefault['token'], token: maj['token'],
ishongkong: this.data.majOnly || 0, ishongkong: this.data.majOnly || 0,
}).then(res => { }).then(res => {
if (res.code != 200) return if (res.code != 200) return
@ -197,7 +193,7 @@ Page({
const data = res.data const data = res.data
const comprehensive = data.comprehensive const comprehensive = data.comprehensive
let com = this.data.comDefault let com = this.data.com
let organizationSet = [...this.objectOne(comprehensive)] let organizationSet = [...this.objectOne(comprehensive)]
if (!com['jg']) com['jg'] = organizationSet[0] if (!com['jg']) com['jg'] = organizationSet[0]
@ -207,7 +203,7 @@ Page({
com['token'] = comprehensive[com.jg]?.[com.year] || "" com['token'] = comprehensive[com.jg]?.[com.year] || ""
const discipline = data.discipline const discipline = data.discipline
let maj = this.data.majDefault let maj = this.data.maj
const [dOrganizationKey, dOrganizationValue] = Object.entries(discipline)[0] const [dOrganizationKey, dOrganizationValue] = Object.entries(discipline)[0]
if (!maj['jg']) maj['jg'] = dOrganizationKey if (!maj['jg']) maj['jg'] = dOrganizationKey
if (!maj['major']) maj['major'] = Object.entries(dOrganizationValue)[0][0] if (!maj['major']) maj['major'] = Object.entries(dOrganizationValue)[0][0]
@ -219,9 +215,9 @@ Page({
this.setData({ this.setData({
comOption: comprehensive, comOption: comprehensive,
comDefault: com, com,
majOption: discipline, majOption: discipline,
majDefault: maj, maj,
isInitFinish: true, isInitFinish: true,
}) })
@ -393,8 +389,6 @@ Page({
this.setData({ this.setData({
[classify == "school" ? 'com' : 'maj']: detail, [classify == "school" ? 'com' : 'maj']: detail,
screenState: false, screenState: false,
comDefault:{},
majDefault:{},
}) })
if (classify == "school") this.getSynthesizeData() if (classify == "school") this.getSynthesizeData()

View File

@ -1,6 +1,6 @@
<!--pages/projectList/projectList.wxml--> <!--pages/projectList/projectList.wxml-->
<view class="container"> <view class="container">
<header-nav class="header-nav" bgcolor="{{ isFirstPattern ? 'transparent' : '#f5f5f5' }}" user="{{ user }}">榜单</header-nav> <header-nav class="header-nav" bgcolor="{{ isFirstPattern ? 'transparent' : '#f5f5f5' }}" user="{{ user }}" newHeadOperate="{{ true }}" showTab="ranking" ></header-nav>
<view class="header-box"></view> <view class="header-box"></view>
<view class="classify flexflex"> <view class="classify flexflex">
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="school"> <view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="school">

View File

@ -67,7 +67,9 @@ Page({
rpx15: 15, rpx15: 15,
windowWidth: 375, windowWidth: 375,
options: {}, options: {},
department: "",
onLoad(options) { onLoad(options) {
this.department = options.department || ''
this.rpx525 = util.rpxTopx(525) this.rpx525 = util.rpxTopx(525)
this.options = options this.options = options
// this.data.id = options.id // this.data.id = options.id
@ -170,11 +172,36 @@ Page({
count: data.count, count: data.count,
}) })
this.screenData() this.screenData()
if (this.department) this.defaultSelectCollege()
else this.screenData()
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
}) })
}, },
// 默认选中学院
defaultSelectCollege() {
this.setData({
screen: {
name: decodeURI(this.department || ''),
key: "school",
pitch: "school",
}
})
this.screenData()
this.department = ""
setTimeout(() => {
wx.pageScrollTo({
offsetTop: -200,
selector: ".all-projects",
})
}, 500)
},
convertRankToRankText(rank) { convertRankToRankText(rank) {
if (!rank) return 0 if (!rank) return 0
if (rank.indexOf('-')) { if (rank.indexOf('-')) {