排行榜上线
This commit is contained in:
parent
e177d0db15
commit
808efb9bb4
1
app.js
1
app.js
@ -1,4 +1,5 @@
|
|||||||
//app.js
|
//app.js
|
||||||
|
// common.wxml(1) admission-box.wxml(2) projectDetails.wxml(2) indexSidebar.js(2) projectLibrary.js(2)
|
||||||
var miucms = require('./utils/miucms.js');
|
var miucms = require('./utils/miucms.js');
|
||||||
// var script = require('./utils/script');
|
// var script = require('./utils/script');
|
||||||
// console.log(script());
|
// console.log(script());
|
||||||
|
@ -39,13 +39,7 @@ Component({
|
|||||||
majMajorList: [], // 专业的 专业列表
|
majMajorList: [], // 专业的 专业列表
|
||||||
majYearList: [], // 专业的 年份列表
|
majYearList: [], // 专业的 年份列表
|
||||||
|
|
||||||
rankingKey: {
|
rankingKey: common.rankingKey,
|
||||||
"Shanghai Ranking": "软科",
|
|
||||||
"Times Higher Education": "泰晤士",
|
|
||||||
"times": "泰晤士",
|
|
||||||
"USNEWS": "U.S. News",
|
|
||||||
"US News": "U.S. News",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,8 +50,9 @@ Component({
|
|||||||
initCom() {
|
initCom() {
|
||||||
const option = this.data.comOption || {}
|
const option = this.data.comOption || {}
|
||||||
let comJgList = Object.keys(option) || []
|
let comJgList = Object.keys(option) || []
|
||||||
const jg = comJgList[0]
|
const com = this.data.com
|
||||||
let comYearList = Object.keys(option[jg]).sort((a, b) => b - a)
|
const jg = com.jg || comJgList[0]
|
||||||
|
const comYearList = Object.keys(option[jg]).sort((a, b) => b - a)
|
||||||
this.setData({
|
this.setData({
|
||||||
comJgList,
|
comJgList,
|
||||||
comYearList,
|
comYearList,
|
||||||
|
@ -118,6 +118,7 @@
|
|||||||
border: 1rpx solid rgba(204, 208, 3, 1);
|
border: 1rpx solid rgba(204, 208, 3, 1);
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #9A9D02;
|
color: #9A9D02;
|
||||||
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,6 +104,7 @@
|
|||||||
border: 1rpx solid #ccd003;
|
border: 1rpx solid #ccd003;
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #9A9D02;
|
color: #9A9D02;
|
||||||
|
background-color: #FFFFFF;
|
||||||
}
|
}
|
||||||
.screen-mask .screen-box .footer {
|
.screen-mask .screen-box .footer {
|
||||||
margin-top: 45rpx;
|
margin-top: 45rpx;
|
||||||
|
@ -62,22 +62,18 @@ Page({
|
|||||||
letterFixed: false,
|
letterFixed: false,
|
||||||
isFirstPattern: true, // 是否是首屏模式
|
isFirstPattern: true, // 是否是首屏模式
|
||||||
|
|
||||||
rankingKey: {
|
rankingKey: common.rankingKey,
|
||||||
"Shanghai Ranking": "软科",
|
|
||||||
"Times Higher Education": "泰晤士",
|
|
||||||
"times": "泰晤士",
|
|
||||||
"USNEWS": "U.S. News",
|
|
||||||
"US News": "U.S. News",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
windowHeight: 0,
|
windowHeight: 0,
|
||||||
|
totalTopHeight: 0,
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
miucms.pageStart(app).then(() => {
|
miucms.pageStart(app).then(() => {
|
||||||
const screen_data = app.globalData.screen_data
|
const screen_data = app.globalData.screen_data
|
||||||
const user = app.globalData.user
|
const user = app.globalData.user
|
||||||
this.setData({
|
this.setData({
|
||||||
islogin: user.uid > 0 ? true : false,
|
islogin: user.uid > 0 ? true : false,
|
||||||
@ -86,6 +82,7 @@ Page({
|
|||||||
})
|
})
|
||||||
|
|
||||||
this.windowHeight = screen_data.windowHeight
|
this.windowHeight = screen_data.windowHeight
|
||||||
|
this.totalTopHeight = screen_data.totalTopHeight
|
||||||
|
|
||||||
common.xgBasicData(this, app).then(data => {
|
common.xgBasicData(this, app).then(data => {
|
||||||
this.setData({
|
this.setData({
|
||||||
@ -143,12 +140,20 @@ Page({
|
|||||||
initialCount[initial]['sum'] += Object.keys(item.systemObj).length || 0
|
initialCount[initial]['sum'] += Object.keys(item.systemObj).length || 0
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const result = {};
|
||||||
|
|
||||||
|
list.forEach(item => {
|
||||||
|
const firstLetter = item.subject[0].toUpperCase();
|
||||||
|
if (!result[firstLetter]) {
|
||||||
|
result[firstLetter] = [];
|
||||||
|
}
|
||||||
|
result[firstLetter].push(item);
|
||||||
|
});
|
||||||
|
|
||||||
this.setData({
|
this.setData({
|
||||||
majSum: data.count,
|
majSum: data.count,
|
||||||
majData: list,
|
majData: result,
|
||||||
letterList: initialCount,
|
letterList: initialCount,
|
||||||
}, () => {
|
|
||||||
this.calculateSectionTops()
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -279,6 +284,12 @@ Page({
|
|||||||
|
|
||||||
this.setData({
|
this.setData({
|
||||||
classify,
|
classify,
|
||||||
|
}, () => {
|
||||||
|
if (classify == "subject" && JSON.stringify(this.sideHeight) == "{}") {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.calculateSectionTops()
|
||||||
|
}, 500)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -346,6 +357,7 @@ Page({
|
|||||||
let headHeight = screen_data.totalTopHeight || 0
|
let headHeight = screen_data.totalTopHeight || 0
|
||||||
query.select(`.header`).boundingClientRect()
|
query.select(`.header`).boundingClientRect()
|
||||||
query.select(`.item-header-screen`).boundingClientRect()
|
query.select(`.item-header-screen`).boundingClientRect()
|
||||||
|
query.select(`.item-header-all`).boundingClientRect()
|
||||||
query.select(`.screen`).boundingClientRect()
|
query.select(`.screen`).boundingClientRect()
|
||||||
|
|
||||||
query.exec(res => {
|
query.exec(res => {
|
||||||
@ -354,26 +366,27 @@ Page({
|
|||||||
res.forEach(element => {
|
res.forEach(element => {
|
||||||
headHeight += element.height
|
headHeight += element.height
|
||||||
})
|
})
|
||||||
headHeight += util.rpxTopx(165)
|
headHeight += util.rpxTopx(405)
|
||||||
let sideHeight = {}
|
let sideHeight = {}
|
||||||
const letterList = this.data.letterList
|
const query2 = wx.createSelectorQuery()
|
||||||
let h = util.pxToRpx(headHeight)
|
query2.selectAll(`.node-item`).boundingClientRect(rect => {
|
||||||
for (const key in letterList) {
|
if (!rect) return
|
||||||
const element = letterList[key]
|
let h = headHeight
|
||||||
let height = 108 * element.initial + 106 * element.sum
|
rect.forEach(element => {
|
||||||
sideHeight[key] = util.rpxTopx(h)
|
sideHeight[element.id] = h
|
||||||
h += height
|
h += element.height
|
||||||
}
|
})
|
||||||
this.sideHeight = sideHeight
|
this.sideHeight = sideHeight
|
||||||
|
}).exec();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 点击字母跳转
|
// 点击字母跳转
|
||||||
jumpToIndex(e) {
|
jumpToIndex(e) {
|
||||||
const key = e.currentTarget.dataset.key
|
const key = e.currentTarget.dataset.key
|
||||||
const sideHeight = this.sideHeight
|
|
||||||
wx.pageScrollTo({
|
wx.pageScrollTo({
|
||||||
scrollTop: sideHeight[key],
|
offsetTop: -this.totalTopHeight,
|
||||||
|
selector: `.major .list .item${ key }`,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -387,7 +400,7 @@ Page({
|
|||||||
// 对键数组进行倒序排列
|
// 对键数组进行倒序排列
|
||||||
let closestValue = keys.reduce((acc, key) => {
|
let closestValue = keys.reduce((acc, key) => {
|
||||||
const diff = sideHeight[key] - scrollTop;
|
const diff = sideHeight[key] - scrollTop;
|
||||||
if (diff <= 5) return key
|
if (diff <= this.totalTopHeight + 20) return key
|
||||||
return acc;
|
return acc;
|
||||||
}, null);
|
}, null);
|
||||||
|
|
||||||
@ -413,44 +426,32 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
onReady() {
|
onReady() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow() {
|
onShow() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面隐藏
|
* 生命周期函数--监听页面隐藏
|
||||||
*/
|
*/
|
||||||
onHide() {
|
onHide() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面卸载
|
* 生命周期函数--监听页面卸载
|
||||||
*/
|
*/
|
||||||
onUnload() {
|
onUnload() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
*/
|
*/
|
||||||
onPullDownRefresh() {
|
onPullDownRefresh() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面上拉触底事件的处理函数
|
* 页面上拉触底事件的处理函数
|
||||||
*/
|
*/
|
||||||
onReachBottom() {
|
onReachBottom() {},
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户点击右上角分享
|
* 用户点击右上角分享
|
||||||
|
@ -121,7 +121,6 @@ view {
|
|||||||
border-radius: 0 0 15rpx 15rpx;
|
border-radius: 0 0 15rpx 15rpx;
|
||||||
|
|
||||||
.classify {
|
.classify {
|
||||||
padding-top: 21rpx;
|
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #555555;
|
color: #555555;
|
||||||
height: 109.5rpx;
|
height: 109.5rpx;
|
||||||
@ -135,10 +134,19 @@ view {
|
|||||||
.classify-item {
|
.classify-item {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
padding-top: 21rpx;
|
||||||
|
|
||||||
|
.extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.pitch {
|
.pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -28rpx;
|
top: -7rpx;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 375rpx;
|
width: 375rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
@ -299,6 +307,10 @@ view {
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.node-item {
|
||||||
|
padding-bottom: 76rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
&:not(:last-of-type) {
|
&:not(:last-of-type) {
|
||||||
margin-bottom: 76rpx;
|
margin-bottom: 76rpx;
|
||||||
@ -459,131 +471,5 @@ view {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen-mask {
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
background-color: rgba(0, 0, 0, 0.705882352941177);
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-end;
|
|
||||||
z-index: 100;
|
|
||||||
|
|
||||||
.screen-box {
|
|
||||||
width: 100vw;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
padding-top: 43.5rpx;
|
|
||||||
border-radius: 45rpx 45rpx 0 0;
|
|
||||||
|
|
||||||
.head {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 30rpx;
|
|
||||||
color: #000000;
|
|
||||||
margin-bottom: 45rpx;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
margin: 0 22.5rpx 30rpx;
|
|
||||||
background-color: rgba(251, 251, 251, 1);
|
|
||||||
border: 1rpx solid rgba(242, 242, 242, 1);
|
|
||||||
border-radius: 15rpx;
|
|
||||||
padding: 16.5rpx 18rpx 30rpx 18rpx;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 27rpx;
|
|
||||||
color: #000000;
|
|
||||||
margin-bottom: 45rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.major-box {
|
|
||||||
height: 72rpx;
|
|
||||||
line-height: 72rpx;
|
|
||||||
background-color: rgba(255, 255, 255, 1);
|
|
||||||
border: 1rpx solid rgba(204, 208, 3, 1);
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
padding-left: 30rpx;
|
|
||||||
padding-right: 22.5rpx;
|
|
||||||
|
|
||||||
.text {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #9A9D02;
|
|
||||||
|
|
||||||
&.text-no {
|
|
||||||
color: #AAAAAA;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
width: 10.5rpx;
|
|
||||||
height: 18rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.list {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
.item {
|
|
||||||
min-width: 150rpx;
|
|
||||||
height: 72rpx;
|
|
||||||
line-height: 72rpx;
|
|
||||||
background-color: rgba(246, 246, 246, 1);
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #555555;
|
|
||||||
margin-right: 15rpx;
|
|
||||||
padding: 0 15rpx;
|
|
||||||
margin-bottom: 10rpx;
|
|
||||||
|
|
||||||
&.pitch {
|
|
||||||
border: 1rpx solid rgba(204, 208, 3, 1);
|
|
||||||
font-weight: 650;
|
|
||||||
color: #9A9D02;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
|
||||||
margin-top: 45rpx;
|
|
||||||
height: 201rpx;
|
|
||||||
border-top: 1rpx solid #ebebeb;
|
|
||||||
justify-content: space-between;
|
|
||||||
font-size: 30rpx;
|
|
||||||
padding: 45rpx 30rpx 0 30rpx;
|
|
||||||
|
|
||||||
.cancel {
|
|
||||||
width: 225rpx;
|
|
||||||
height: 96rpx;
|
|
||||||
background-color: rgba(207, 247, 255, 0);
|
|
||||||
border: 1rpx solid rgba(215, 215, 215, 1);
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
color: #555555;
|
|
||||||
}
|
|
||||||
|
|
||||||
.confirm {
|
|
||||||
width: 435rpx;
|
|
||||||
height: 96rpx;
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
color: #026277;
|
|
||||||
background-color: rgba(207, 247, 255, 1);
|
|
||||||
border: 1rpx solid rgba(186, 222, 230, 1);
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -31,7 +31,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="item-header flexacenter">
|
<view class="item-header item-header-all flexacenter">
|
||||||
<view class="greenDot"></view>
|
<view class="greenDot"></view>
|
||||||
全部榜单
|
全部榜单
|
||||||
</view>
|
</view>
|
||||||
@ -48,7 +48,10 @@
|
|||||||
综合排名
|
综合排名
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>综合排名</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
综合排名
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="subject">
|
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="subject">
|
||||||
<view class="pitch right" wx:if="{{ classify == 'subject' }}">
|
<view class="pitch right" wx:if="{{ classify == 'subject' }}">
|
||||||
@ -60,7 +63,10 @@
|
|||||||
专业排名
|
专业排名
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>专业排名</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
专业排名
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -82,23 +88,25 @@
|
|||||||
<view wx:else class="major">
|
<view wx:else class="major">
|
||||||
<view class="total">共{{ majSum }}个专业排名榜单</view>
|
<view class="total">共{{ majSum }}个专业排名榜单</view>
|
||||||
<view class="letter">
|
<view class="letter">
|
||||||
<view class="item {{ letterKey == index ? 'pitch' : '' }}" wx:for="{{ letterList }}" bind:tap="jumpToIndex" wx:key="index" data-key="{{ index }}">{{ index }}</view>
|
<view class="item {{ letterKey == index ? 'pitch' : '' }}" wx:for="{{ letterList }}" wx:key="index" bind:tap="jumpToIndex" data-key="{{ index }}">{{ index }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view wx:if="{{ majPitch.major }}" class="mask" bind:tap="closeYear"></view>
|
<view wx:if="{{ majPitch.major }}" class="mask" bind:tap="closeYear"></view>
|
||||||
<view class="item {{ item.initial ? 'item-initial' : '' }}" wx:for="{{ majData }}" wx:key="index" data-letter="{{ item.initial }}">
|
<view class="node-item" id="{{ indexx }}" wx:for="{{ majData }}" wx:for-index="indexx" wx:for-item="itemm">
|
||||||
<view class="title">{{ item.subject }}</view>
|
<view class="item {{ item.initial ? 'item' + item.initial : '' }}" wx:for="{{ itemm }}" wx:key="index" data-letter="{{ item.initial }}">
|
||||||
<view class="organ">
|
<view class="title">{{ item.subject }}</view>
|
||||||
<view class="organ-item flexacenter" wx:for="{{ item.systemObj }}" wx:for-item="ite" wx:for-index="ii" wx:key="ii">
|
<view class="organ">
|
||||||
<view class="spot"></view>
|
<view class="organ-item flexacenter" wx:for="{{ item.systemObj }}" wx:for-item="ite" wx:for-index="ii" wx:key="ii">
|
||||||
<view class="name">{{ rankingskeyVlaue[ii].name || '' }}</view>
|
<view class="spot"></view>
|
||||||
<view class="select-box {{ ( majPitch.major == item.subject && majPitch.organ == ii ) ? 'show' : ''}}">
|
<view class="name">{{ rankingKey[ii] || ii || '' }}</view>
|
||||||
<view catch:tap="openYear" data-major="{{ item.subject }}" data-organ="{{ ii }}" data-value="{{ ite.show }}" class="select flexacenter">
|
<view class="select-box {{ ( majPitch.major == item.subject && majPitch.organ == ii ) ? 'show' : ''}}">
|
||||||
<view class="text">请选择年份</view>
|
<view catch:tap="openYear" data-major="{{ item.subject }}" data-organ="{{ ii }}" data-value="{{ ite.show }}" class="select flexacenter">
|
||||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-black.svg" mode="widthFix"></image>
|
<view class="text">请选择年份</view>
|
||||||
</view>
|
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-black.svg" mode="widthFix"></image>
|
||||||
<view class="year">
|
</view>
|
||||||
<view class="year-item" wx:for="{{ ite }}" wx:for-item="it" wx:for-index="i" wx:key="i" catch:tap="selectMaj" data-major="{{ item.subject }}" data-organ="{{ ii }}" data-year="{{ it.year }}">{{ it.year }}年</view>
|
<view class="year">
|
||||||
|
<view class="year-item" wx:for="{{ ite }}" wx:for-item="it" wx:for-index="i" wx:key="i" catch:tap="selectMaj" data-major="{{ item.subject }}" data-organ="{{ ii }}" data-year="{{ it.year }}">{{ it.year }}年</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -101,7 +101,6 @@ view {
|
|||||||
border-radius: 0 0 15rpx 15rpx;
|
border-radius: 0 0 15rpx 15rpx;
|
||||||
}
|
}
|
||||||
.container .all .classify {
|
.container .all .classify {
|
||||||
padding-top: 21rpx;
|
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #555555;
|
color: #555555;
|
||||||
height: 109.5rpx;
|
height: 109.5rpx;
|
||||||
@ -115,10 +114,18 @@ view {
|
|||||||
.container .all .classify .classify-item {
|
.container .all .classify .classify-item {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
padding-top: 21rpx;
|
||||||
|
}
|
||||||
|
.container .all .classify .classify-item .extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
.container .all .classify .classify-item .pitch {
|
.container .all .classify .classify-item .pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -28rpx;
|
top: -7rpx;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 375rpx;
|
width: 375rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
@ -240,6 +247,9 @@ view {
|
|||||||
left: 0;
|
left: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
.container .all .major .list .node-item {
|
||||||
|
padding-bottom: 76rpx;
|
||||||
|
}
|
||||||
.container .all .major .list .item:not(:last-of-type) {
|
.container .all .major .list .item:not(:last-of-type) {
|
||||||
margin-bottom: 76rpx;
|
margin-bottom: 76rpx;
|
||||||
}
|
}
|
||||||
@ -370,111 +380,3 @@ view {
|
|||||||
line-height: 39rpx;
|
line-height: 39rpx;
|
||||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||||
}
|
}
|
||||||
.container .screen-mask {
|
|
||||||
background-color: rgba(0, 0, 0, 0.70588235);
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-end;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box {
|
|
||||||
width: 100vw;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
padding-top: 43.5rpx;
|
|
||||||
border-radius: 45rpx 45rpx 0 0;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .head {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 30rpx;
|
|
||||||
color: #000000;
|
|
||||||
margin-bottom: 45rpx;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box {
|
|
||||||
margin: 0 22.5rpx 30rpx;
|
|
||||||
background-color: #fbfbfb;
|
|
||||||
border: 1rpx solid #f2f2f2;
|
|
||||||
border-radius: 15rpx;
|
|
||||||
padding: 16.5rpx 18rpx 30rpx 18rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .title {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 27rpx;
|
|
||||||
color: #000000;
|
|
||||||
margin-bottom: 45rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .major-box {
|
|
||||||
height: 72rpx;
|
|
||||||
line-height: 72rpx;
|
|
||||||
background-color: #ffffff;
|
|
||||||
border: 1rpx solid #ccd003;
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
padding-left: 30rpx;
|
|
||||||
padding-right: 22.5rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .major-box .text {
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #9A9D02;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .major-box .text.text-no {
|
|
||||||
color: #AAAAAA;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .major-box .icon {
|
|
||||||
width: 10.5rpx;
|
|
||||||
height: 18rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .list {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .list .item {
|
|
||||||
min-width: 150rpx;
|
|
||||||
height: 72rpx;
|
|
||||||
line-height: 72rpx;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #555555;
|
|
||||||
margin-right: 15rpx;
|
|
||||||
padding: 0 15rpx;
|
|
||||||
margin-bottom: 10rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .box .list .item.pitch {
|
|
||||||
border: 1rpx solid #ccd003;
|
|
||||||
font-weight: 650;
|
|
||||||
color: #9A9D02;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .footer {
|
|
||||||
margin-top: 45rpx;
|
|
||||||
height: 201rpx;
|
|
||||||
border-top: 1rpx solid #ebebeb;
|
|
||||||
justify-content: space-between;
|
|
||||||
font-size: 30rpx;
|
|
||||||
padding: 45rpx 30rpx 0 30rpx;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .footer .cancel {
|
|
||||||
width: 225rpx;
|
|
||||||
height: 96rpx;
|
|
||||||
background-color: rgba(207, 247, 255, 0);
|
|
||||||
border: 1rpx solid #d7d7d7;
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
color: #555555;
|
|
||||||
}
|
|
||||||
.container .screen-mask .screen-box .footer .confirm {
|
|
||||||
width: 435rpx;
|
|
||||||
height: 96rpx;
|
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
|
||||||
font-weight: 650;
|
|
||||||
color: #026277;
|
|
||||||
background-color: #cff7ff;
|
|
||||||
border: 1rpx solid #badee6;
|
|
||||||
border-radius: 112.5rpx;
|
|
||||||
}
|
|
||||||
|
@ -48,6 +48,7 @@ Page({
|
|||||||
projectList: [],
|
projectList: [],
|
||||||
projectPitch: {},
|
projectPitch: {},
|
||||||
projectValue: {},
|
projectValue: {},
|
||||||
|
rankingKey: common.rankingKey,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">专业排名</view>
|
<view class="title">专业排名</view>
|
||||||
<view class="ranking-title flexcenter" bind:tap="openSelectRank" data-type="rank">
|
<view class="ranking-title flexcenter" bind:tap="openSelectRank" data-type="rank">
|
||||||
{{ projectPitch.system }}世界专业排名({{ projectPitch.year }})
|
{{ rankingKey[projectPitch.system] || projectPitch.system }}世界专业排名({{ projectPitch.year }})
|
||||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
<image class="icon" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="block flexflex">
|
<view class="block flexflex">
|
||||||
@ -47,7 +47,7 @@
|
|||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">学校排名</view>
|
<view class="title">学校排名</view>
|
||||||
<view class="ranking-title flexcenter" bind:tap="openSelectRank" data-type="schoolrank">
|
<view class="ranking-title flexcenter" bind:tap="openSelectRank" data-type="schoolrank">
|
||||||
{{ schoolPitch.system }}世界综合排名({{ schoolPitch .year }})
|
{{ rankingKey[schoolPitch.system] || schoolPitch.system }}世界综合排名({{ schoolPitch .year }})
|
||||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
<image class="icon" src="https://app.gter.net/image/miniApp/offer/triangle-red.svg" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="block flexflex">
|
<view class="block flexflex">
|
||||||
@ -324,7 +324,7 @@
|
|||||||
<view class="item flexacenter {{ (selectType == 'rank' && item.system == projectPitch.system && item.year == projectPitch.year) || (selectType == 'schoolrank' && item.system == schoolPitch.system && item.year == schoolPitch.year) ? 'pitch' : '' }}" wx:for="{{ selectType == 'rank' ? projectList : schoolList }}" catch:tap="handleSelectType" data-index="{{ index }}">
|
<view class="item flexacenter {{ (selectType == 'rank' && item.system == projectPitch.system && item.year == projectPitch.year) || (selectType == 'schoolrank' && item.system == schoolPitch.system && item.year == schoolPitch.year) ? 'pitch' : '' }}" wx:for="{{ selectType == 'rank' ? projectList : schoolList }}" catch:tap="handleSelectType" data-index="{{ index }}">
|
||||||
<view class="dot"></view>
|
<view class="dot"></view>
|
||||||
<view class="content flex1 flexacenter">
|
<view class="content flex1 flexacenter">
|
||||||
<view class="text flex1">{{ item.system }}世界专业排名({{ item.year }}年)</view>
|
<view class="text flex1">{{ rankingKey[item.system] || item.system }}世界{{ selectType == 'rank' ? '专业' : '综合' }}排名({{ item.year }}年)</view>
|
||||||
<image class="img" src="https://app.gter.net/image/miniApp/offer/tick-red.svg" mode="widthFix"></image>
|
<image class="img" src="https://app.gter.net/image/miniApp/offer/tick-red.svg" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -103,6 +103,7 @@ Page({
|
|||||||
answerquestions: [],
|
answerquestions: [],
|
||||||
|
|
||||||
quickAnswerState: false,
|
quickAnswerState: false,
|
||||||
|
rankingKey: common.rankingKey,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -104,7 +104,8 @@
|
|||||||
<view class="item flex1" wx:for="{{ info.rankings }}" wx:key="index" bind:tap="goProjectList" data-index="{{ index }}">
|
<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="quantity">{{ item.rank }}</view>
|
||||||
<view class="ranking-name">
|
<view class="ranking-name">
|
||||||
{{ rankingsObj[item.system].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 == '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>
|
<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>
|
||||||
<image wx:if="{{ item.system == 'U.S. News' }}" class="ranking-icon" src="https://app.gter.net/image/miniApp/offer/triangle-US-News.svg" mode="widthFix"></image>
|
<image wx:if="{{ item.system == 'U.S. News' }}" class="ranking-icon" src="https://app.gter.net/image/miniApp/offer/triangle-US-News.svg" mode="widthFix"></image>
|
||||||
@ -166,7 +167,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 == '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>
|
<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>
|
||||||
<view class="name">{{ rankingsObj[item.system].name }}</view>
|
<view class="name"> {{ rankingKey[item.system] || item.system }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="box flex1">
|
<view class="box flex1">
|
||||||
<view class="itemm flexacenter">
|
<view class="itemm flexacenter">
|
||||||
|
@ -36,6 +36,7 @@ Page({
|
|||||||
swiperHeightList: {}, // 轮播图高度
|
swiperHeightList: {}, // 轮播图高度
|
||||||
swiperCurrent: 0, // 轮播图下标
|
swiperCurrent: 0, // 轮播图下标
|
||||||
rankingList: [],
|
rankingList: [],
|
||||||
|
rankingKey: common.rankingKey,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -805,7 +806,6 @@ Page({
|
|||||||
element['mechanism'] = this.rankingsObj[element.mechanism]?.name || element.mechanism
|
element['mechanism'] = this.rankingsObj[element.mechanism]?.name || element.mechanism
|
||||||
})
|
})
|
||||||
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)]
|
||||||
console.log("arr", arr);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
rankingList: arr
|
rankingList: arr
|
||||||
})
|
})
|
||||||
|
@ -126,6 +126,14 @@ view {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
.extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.pitch {
|
.pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -28rpx;
|
top: -28rpx;
|
||||||
|
@ -44,14 +44,20 @@
|
|||||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/classify-left-icon.svg"></image>
|
<image class="icon" src="https://app.gter.net/image/miniApp/offer/classify-left-icon.svg"></image>
|
||||||
<view class="text">按学校查看</view>
|
<view class="text">按学校查看</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>按学校查看</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
按学校查看
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="subject">
|
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="subject">
|
||||||
<view class="pitch right" wx:if="{{ classify == 'subject' }}">
|
<view class="pitch right" wx:if="{{ classify == 'subject' }}">
|
||||||
<image class="icon" src="https://app.gter.net/image/miniApp/offer/classify-right-icon.svg"></image>
|
<image class="icon" src="https://app.gter.net/image/miniApp/offer/classify-right-icon.svg"></image>
|
||||||
<view class="text">按学科查看</view>
|
<view class="text">按学科查看</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>按学科查看</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
按学科查看
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="school-list list" wx:if="{{ classify == 'school' }}">
|
<view class="school-list list" wx:if="{{ classify == 'school' }}">
|
||||||
@ -171,12 +177,12 @@
|
|||||||
<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">
|
||||||
<view class="name">{{ 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 class="year">({{ item.year }}年)</view>
|
<view class="year">({{ item.year }}年)</view>
|
||||||
</view>
|
</view>
|
||||||
<view wx:else class="content2 one-line-display flexacenter">{{ item.mechanism }}世界综合排名({{ item.year }}年)</view>
|
<view wx:else class="content2 one-line-display flexacenter">{{ rankingKey[item.mechanism] || item.mechanism }}世界综合排名({{ item.year }}年)</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
|
@ -110,6 +110,13 @@ view {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
.select .classify .classify-item .extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
.select .classify .classify-item .pitch {
|
.select .classify .classify-item .pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -28rpx;
|
top: -28rpx;
|
||||||
|
@ -38,13 +38,8 @@ Page({
|
|||||||
majTotal: 0,
|
majTotal: 0,
|
||||||
majDefault: {},
|
majDefault: {},
|
||||||
|
|
||||||
rankingKey: {
|
rankingKey: common.rankingKey,
|
||||||
"Shanghai Ranking": "软科",
|
|
||||||
"Times Higher Education": "泰晤士",
|
|
||||||
"times": "泰晤士",
|
|
||||||
"USNEWS": "U.S. News",
|
|
||||||
"US News": "U.S. News",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -75,7 +70,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) || '',
|
||||||
|
@ -110,7 +110,7 @@ view {
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
|
|
||||||
.major-pitch-text {
|
.major-pitch-text {
|
||||||
max-width: 80vw;
|
max-width: 75vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
|
@ -96,7 +96,7 @@ view {
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
.chunk .pitch-on.major-pitch .major-pitch-text {
|
.chunk .pitch-on.major-pitch .major-pitch-text {
|
||||||
max-width: 80vw;
|
max-width: 75vw;
|
||||||
}
|
}
|
||||||
.chunk .pitch-on.major-pitch::after {
|
.chunk .pitch-on.major-pitch::after {
|
||||||
content: "";
|
content: "";
|
||||||
|
@ -44,6 +44,14 @@ view {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
.extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.pitch {
|
.pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -26rpx;
|
top: -26rpx;
|
||||||
|
@ -17,7 +17,10 @@
|
|||||||
项目对比
|
项目对比
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>项目对比</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
项目对比
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="manage">
|
<view class="classify-item flexflex flex1" bind:tap="cutClassify" data-type="manage">
|
||||||
<view class="pitch right" wx:if="{{ classify == 'manage' }}">
|
<view class="pitch right" wx:if="{{ classify == 'manage' }}">
|
||||||
@ -27,7 +30,10 @@
|
|||||||
项目管理
|
项目管理
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<block wx:else>项目管理</block>
|
<block wx:else>
|
||||||
|
<view class="extension"></view>
|
||||||
|
项目管理
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -38,6 +38,13 @@ view {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
.classify .classify-item .extension {
|
||||||
|
position: absolute;
|
||||||
|
top: -25rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
.classify .classify-item .pitch {
|
.classify .classify-item .pitch {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -26rpx;
|
top: -26rpx;
|
||||||
|
@ -57,6 +57,7 @@ Page({
|
|||||||
|
|
||||||
isInitFinish: false,
|
isInitFinish: false,
|
||||||
user: {},
|
user: {},
|
||||||
|
rankingKey: common.rankingKey,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<view class="item" wx:for="{{ info.ranks }}" wx:key="index" bind:tap="goProjectList" data-index="{{ index }}">
|
<view class="item" wx:for="{{ info.ranks }}" wx:key="index" bind:tap="goProjectList" data-index="{{ index }}">
|
||||||
<view class="quantity">{{ item.ranktext }}</view>
|
<view class="quantity">{{ item.ranktext }}</view>
|
||||||
<view class="ranking-name">
|
<view class="ranking-name">
|
||||||
{{ item.mechanism }}
|
{{ rankingKey[item.mechanism] || item.mechanism }}
|
||||||
<image wx:if="{{ item.mechanism == 'QS' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-QS.svg"></image>
|
<image wx:if="{{ item.mechanism == 'QS' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-QS.svg"></image>
|
||||||
<image wx:if="{{ item.mechanism == '泰晤士' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-TIMES.svg"></image>
|
<image wx:if="{{ item.mechanism == '泰晤士' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-TIMES.svg"></image>
|
||||||
<image wx:if="{{ item.mechanism == 'USNEWS' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-US-News.svg"></image>
|
<image wx:if="{{ item.mechanism == 'USNEWS' }}" class="ranking-icon" mode="widthFix" src="https://app.gter.net/image/miniApp/offer/triangle-US-News.svg"></image>
|
||||||
|
@ -2,12 +2,19 @@
|
|||||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||||
"projectname": "%E5%B0%8F%E7%A8%8B%E5%BA%8F%20-%20%E9%A1%B9%E7%9B%AE%E5%BA%93",
|
"projectname": "%E5%B0%8F%E7%A8%8B%E5%BA%8F%20-%20%E9%A1%B9%E7%9B%AE%E5%BA%93",
|
||||||
"setting": {
|
"setting": {
|
||||||
"compileHotReLoad": true,
|
"compileHotReLoad": false,
|
||||||
"urlCheck": true
|
"urlCheck": true
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"miniprogram": {
|
"miniprogram": {
|
||||||
"list": [
|
"list": [
|
||||||
|
{
|
||||||
|
"name": "pages/projectDetails/projectDetails",
|
||||||
|
"pathName": "pages/projectDetails/projectDetails",
|
||||||
|
"query": "uniqid=XCu0SzLXGK1O",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "pages/projectList/projectList",
|
"name": "pages/projectList/projectList",
|
||||||
"pathName": "pages/projectList/projectList",
|
"pathName": "pages/projectList/projectList",
|
||||||
|
@ -127,6 +127,14 @@ const scoresList = scores => {
|
|||||||
.filter(item => item !== null)
|
.filter(item => item !== null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const rankingKey = {
|
||||||
|
"Shanghai Ranking": "软科",
|
||||||
|
"Times Higher Education": "泰晤士",
|
||||||
|
"times": "泰晤士",
|
||||||
|
"USNEWS": "U.S. News",
|
||||||
|
"US News": "U.S. News",
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getOfferAdDetails,
|
getOfferAdDetails,
|
||||||
goPage,
|
goPage,
|
||||||
@ -135,4 +143,5 @@ module.exports = {
|
|||||||
formatNumberWithSpaces,
|
formatNumberWithSpaces,
|
||||||
decodeKey,
|
decodeKey,
|
||||||
scoresList,
|
scoresList,
|
||||||
|
rankingKey,
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user