no message
This commit is contained in:
parent
2ace436134
commit
7a4b0e3b0c
@ -823,6 +823,86 @@
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
padding: 19px 0;
|
padding: 19px 0;
|
||||||
}
|
}
|
||||||
|
.content .details-box .consult-list .consult-item {
|
||||||
|
width: calc(50% - 5px);
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid #ebebeb;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px 15px 20px 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .school {
|
||||||
|
font-weight: 650;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #000000;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .school .img {
|
||||||
|
height: 27px;
|
||||||
|
margin-right: 11px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-item {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #7f7f7f;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-item .info-major {
|
||||||
|
margin-right: 11px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-item .info-value {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-item .line-between {
|
||||||
|
margin: 0 9px;
|
||||||
|
background-color: #d7d7d7;
|
||||||
|
height: 14px;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-item .info-item-results {
|
||||||
|
padding: 0 5px;
|
||||||
|
height: 22px;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
border-radius: 37px;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #72db86;
|
||||||
|
font-family: "ArialMT", "Arial", sans-serif;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-xiaobox {
|
||||||
|
width: 296px;
|
||||||
|
height: 46px;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 0 11px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .info-xiaobox .info-content {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #7f7f7f;
|
||||||
|
line-height: 26px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .bottom {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .bottom .bottom-left {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .bottom .bottom-left .bottom-avatar {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .bottom .numerical-box .item-bottom-item {
|
||||||
|
margin-left: 16px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
.content .details-box .consult-list .consult-item .bottom .numerical-box .item-bottom-item .item-bottom-icon {
|
||||||
|
width: 14px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
.else {
|
.else {
|
||||||
width: 290px;
|
width: 290px;
|
||||||
background: -webkit-linear-gradient(270.00883066deg, #f7fbf7 0%, #eaf6ea 100%);
|
background: -webkit-linear-gradient(270.00883066deg, #f7fbf7 0%, #eaf6ea 100%);
|
||||||
|
@ -936,6 +936,103 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.consult-list {
|
||||||
|
.consult-item {
|
||||||
|
// width: 331px;
|
||||||
|
width: calc(50% - 5px);
|
||||||
|
background-color: rgba(255, 255, 255, 1);
|
||||||
|
border: 1px solid rgba(235, 235, 235, 1);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px 15px 20px 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
.school {
|
||||||
|
.img {
|
||||||
|
height: 27px;
|
||||||
|
margin-right: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
font-weight: 650;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #000000;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-item {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #7f7f7f;
|
||||||
|
|
||||||
|
.info-major {
|
||||||
|
margin-right: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-value {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line-between {
|
||||||
|
margin: 0 9px;
|
||||||
|
background-color: #d7d7d7;
|
||||||
|
height: 14px;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-item-results {
|
||||||
|
padding: 0 5px;
|
||||||
|
height: 22px;
|
||||||
|
background-color: rgba(246, 246, 246, 1);
|
||||||
|
border-radius: 37px;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #72db86;
|
||||||
|
font-family: "ArialMT", "Arial", sans-serif;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-xiaobox {
|
||||||
|
width: 296px;
|
||||||
|
height: 46px;
|
||||||
|
background-color: rgba(246, 246, 246, 1);
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 0 11px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
.info-content {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #7f7f7f;
|
||||||
|
line-height: 26px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom {
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.bottom-left {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
.bottom-avatar {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.numerical-box {
|
||||||
|
.item-bottom-item {
|
||||||
|
margin-left: 16px;
|
||||||
|
.item-bottom-icon {
|
||||||
|
width: 14px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
font-size: 12px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1244,8 +1341,6 @@
|
|||||||
}
|
}
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.state {
|
.state {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border: 1px solid #ebebeb;
|
border: 1px solid #ebebeb;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
|
||||||
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Document</title>
|
<title>Document</title>
|
||||||
@ -11,8 +12,9 @@
|
|||||||
<script src="/js/common.js"></script>
|
<script src="/js/common.js"></script>
|
||||||
<script src="/js/base.js"></script>
|
<script src="/js/base.js"></script>
|
||||||
<script src="/js/encrypt.js"></script>
|
<script src="/js/encrypt.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
|
||||||
|
<body>
|
||||||
<div class="main" id="app">
|
<div class="main" id="app">
|
||||||
<img class="index-icon" src="/img/index-icon.png" />
|
<img class="index-icon" src="/img/index-icon.png" />
|
||||||
|
|
||||||
@ -78,6 +80,70 @@
|
|||||||
<div class="item flexcenter" :class="{'pitch': sideKey == key}" v-for="(item,key) in side" @click="cutSide(key)">{{ item }}</div>
|
<div class="item flexcenter" :class="{'pitch': sideKey == key}" v-for="(item,key) in side" @click="cutSide(key)">{{ item }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="details-box flex1" ref="detailsRef">
|
<div class="details-box flex1" ref="detailsRef">
|
||||||
|
<div class="side-item">
|
||||||
|
|
||||||
|
<div class="consult-list">
|
||||||
|
<div class="consult-item" v-for="(item,index) in offerList" :key="index" url="/pages/victoryDetails/victoryDetails?id={{ item.id || item.uniqid }}">
|
||||||
|
<div class="school flexacenter">
|
||||||
|
<img class="img" :src="item.schoolimage" />
|
||||||
|
{{ item.schoolname }}
|
||||||
|
</div>
|
||||||
|
<div class="info-item flexflex" v-if="item.professional">
|
||||||
|
<div class="info-major">专业</div>
|
||||||
|
<div class="info-value flex1" v-if="item.professionalzhong">
|
||||||
|
<span>{{ item.professionaltou }}</span>
|
||||||
|
<span style="color: #509CE3;">item.professionalzhong</span>
|
||||||
|
<span>{{ item.professionalend }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="info-value flex1 " v-else>{{ item.professional }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="info-item flexflex" v-if="item.project">
|
||||||
|
<div class="info-major">项目</div>
|
||||||
|
<div class="info-value flex1" v-if="item.projecttzhong">
|
||||||
|
<span>{{ item.projecttou }}</span>
|
||||||
|
<span style="color: #509CE3;">{{ item.projecttzhong }}</span>
|
||||||
|
<span>{{ item.projecttend }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="info-value flex1" v-else>{{ item.project }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="info-item flexacenter" style="align-items: center;font-size: 27rpx;">
|
||||||
|
{{ item.semester }}
|
||||||
|
<div class="line-between"></div>
|
||||||
|
{{ item.degree }}
|
||||||
|
<div class="line-between"></div>
|
||||||
|
<div class="info-item-results flexacenter results{{ item.apply_resultstatus }}">{{ item.apply_results }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="info-xiaobox flexacenter" v-if="item.message">
|
||||||
|
<div class="info-content one-line-display" v-if="item.message">{{ item.message }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom flexacenter">
|
||||||
|
<div class="bottom-left flexacenter">
|
||||||
|
<img class="bottom-avatar" :src="item.avatar" />
|
||||||
|
{{ item.timestamp }}
|
||||||
|
</div>
|
||||||
|
<!-- 数值 -->
|
||||||
|
<div class="numerical-box flexacenter">
|
||||||
|
<div class="item-bottom-item flexcenter">
|
||||||
|
<img class="item-bottom-icon" mode="widthFix" src="/img/u884.png" />
|
||||||
|
{{ item.view || 0 }}
|
||||||
|
</div>
|
||||||
|
<div class="item-bottom-item flexcenter">
|
||||||
|
<img class="item-bottom-icon" mode="widthFix" style="width: 20rpx;" src="/img/expression-icon.png" />
|
||||||
|
{{ item.ripostes || 0 }}
|
||||||
|
</div>
|
||||||
|
<div class="item-bottom-item flexcenter">
|
||||||
|
<img class="item-bottom-icon" mode="widthFix" src="/img/discuss-icon.png" />
|
||||||
|
{{ item.comments || 0 }}
|
||||||
|
</div>
|
||||||
|
<div class="item-bottom-item flexcenter">
|
||||||
|
<img class="item-bottom-icon" mode="widthFix" src="/img/bi-icon.png" />
|
||||||
|
{{ item.reward || 0 }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="side-item" type="basic">
|
<div class="side-item" type="basic">
|
||||||
<div class="item-header flexacenter">
|
<div class="item-header flexacenter">
|
||||||
<div>专业排名</div>
|
<div>专业排名</div>
|
||||||
@ -118,7 +184,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="side-item" type="apply">
|
<div class="side-item" type="apply">
|
||||||
<div class="item-header flexacenter">还没 申请日程</div>
|
<div class="item-header flexacenter">申请日程</div>
|
||||||
<div class="application-schedule block">
|
<div class="application-schedule block">
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<div class="index flexacenter">
|
<div class="index flexacenter">
|
||||||
@ -520,7 +586,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
const { createApp, ref, onMounted, nextTick, onUnmounted, computed, defineProps } = Vue
|
const {createApp, ref, onMounted, nextTick, onUnmounted, computed, defineProps} = Vue
|
||||||
const subject = createApp({
|
const subject = createApp({
|
||||||
setup() {
|
setup() {
|
||||||
let side = ref({
|
let side = ref({
|
||||||
@ -721,7 +787,7 @@
|
|||||||
$ajax("/api/user/remarks", {
|
$ajax("/api/user/remarks", {
|
||||||
token: contras.value.token,
|
token: contras.value.token,
|
||||||
remarks: remark.value,
|
remarks: remark.value,
|
||||||
}).then(res => {})
|
}).then(res => { })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 点击加入对比单
|
// 点击加入对比单
|
||||||
@ -743,7 +809,7 @@
|
|||||||
const cutSide = key => {
|
const cutSide = key => {
|
||||||
// sideKey.value = key
|
// sideKey.value = key
|
||||||
const keyElement = detailsRef.value.querySelector(`.side-item[type=${key}]`)
|
const keyElement = detailsRef.value.querySelector(`.side-item[type=${key}]`)
|
||||||
keyElement.scrollIntoView({ behavior: "smooth" })
|
keyElement.scrollIntoView({behavior: "smooth"})
|
||||||
}
|
}
|
||||||
|
|
||||||
let stateState = ref(false)
|
let stateState = ref(false)
|
||||||
@ -775,11 +841,50 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return { side, sideKey, info, disciplineObj, rankingsObj, cutStudyMode, studyMode, course, contras, copy, download, stateObj, bindblur, remark, addComparison, cutSide, detailsRef, stateState, cutState, changeType, deletee }
|
const offerList = ref([{
|
||||||
|
apply_results: "Offer",
|
||||||
|
apply_resultstatus: 1,
|
||||||
|
avatar: "https://oss.x-php.com/avatar/97K4EWIMLrsbGTWXslC1XltTFqyOikN42jDKLNjtax7HINpse8SMSdU90AVyYWFjYQ~~/mini",
|
||||||
|
comments: 1,
|
||||||
|
degree: "LLM",
|
||||||
|
professional: "mcl",
|
||||||
|
project: "mcl",
|
||||||
|
reward: 23,
|
||||||
|
ripostes: 0,
|
||||||
|
schoolimage: "https://oss.x-php.com/school/J6BSwE-VfCFkCLVSBaR7ec6NYmTA5sRfNP5NHJQuwf83NTE2",
|
||||||
|
schoolname: "香港大学",
|
||||||
|
semester: "23Fall",
|
||||||
|
status: 1,
|
||||||
|
timestamp: "2023-06-25 12:42:04",
|
||||||
|
uniqid: "1eWa0uTzzLvv",
|
||||||
|
url: "https://offer.gter.net/details/1eWa0uTzzLvv",
|
||||||
|
view: 557,
|
||||||
|
}, {
|
||||||
|
apply_results: "Offer",
|
||||||
|
apply_resultstatus: 1,
|
||||||
|
avatar: "https://oss.x-php.com/avatar/97K4EWIMLrsbGTWXslC1XVtVE6yOikN42jDKLNjtax7HIdVsesDXSdU90AVyYWFjYQ~~/mini",
|
||||||
|
comments: 0,
|
||||||
|
degree: "LLM",
|
||||||
|
professional: "Common Law(MCL)(FT)",
|
||||||
|
project: null,
|
||||||
|
reward: 0,
|
||||||
|
ripostes: 0,
|
||||||
|
schoolimage: "https://oss.x-php.com/school/J6BSwE-VfCFkCLVSBaR7ec6NYmTA5sRfNP5NHJQuwf83NTE2",
|
||||||
|
schoolname: "The University of Hong Kong",
|
||||||
|
semester: "23Spring",
|
||||||
|
status: 1,
|
||||||
|
timestamp: "2023-02-21 20:09:50",
|
||||||
|
uniqid: "HD4DmDCi0aCa",
|
||||||
|
url: "https://offer.gter.net/details/HD4DmDCi0aCa",
|
||||||
|
view: 242,
|
||||||
|
}])
|
||||||
|
|
||||||
|
return {offerList, side, sideKey, info, disciplineObj, rankingsObj, cutStudyMode, studyMode, course, contras, copy, download, stateObj, bindblur, remark, addComparison, cutSide, detailsRef, stateState, cutState, changeType, deletee}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
subject.component("text-module", textModule)
|
subject.component("text-module", textModule)
|
||||||
subject.mount("#app")
|
subject.mount("#app")
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
BIN
img/bi-icon.png
Normal file
BIN
img/bi-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
BIN
img/discuss-icon.png
Normal file
BIN
img/discuss-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
BIN
img/expression-icon.png
Normal file
BIN
img/expression-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
BIN
img/u884.png
Normal file
BIN
img/u884.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
38
js/common.js
38
js/common.js
@ -161,3 +161,41 @@ function getBaseData() {
|
|||||||
function openShowWindow() {
|
function openShowWindow() {
|
||||||
showWindow("login", "https://passport.gter.net/login/ajax", "get", -1, { cover: true })
|
showWindow("login", "https://passport.gter.net/login/ajax", "get", -1, { cover: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function strtimeago(dateStr, type = 1) {
|
||||||
|
dateStr = dateStr + "" // 反之传入的不是字符串
|
||||||
|
dateStr = dateStr.replaceAll("-", "/") // 修改格式
|
||||||
|
var minute = 1000 * 60 //把分,时,天,周,半个月,一个月用毫秒表示
|
||||||
|
var hour = minute * 60
|
||||||
|
var day = hour * 24
|
||||||
|
var now = new Date().getTime() //获取当前时间毫秒
|
||||||
|
let objectTime = new Date(dateStr).getTime()
|
||||||
|
var diffValue = now - objectTime //时间差
|
||||||
|
if (diffValue < 0) return "刚刚"
|
||||||
|
|
||||||
|
var minC = diffValue / minute //计算时间差的分,时,天,周,月
|
||||||
|
var hourC = diffValue / hour
|
||||||
|
var dayC = diffValue / day
|
||||||
|
|
||||||
|
const diffInMilliseconds = now - objectTime
|
||||||
|
const diffInYears = diffInMilliseconds / (1000 * 60 * 60 * 24 * 365)
|
||||||
|
const diffInMonths = diffInYears * 12
|
||||||
|
|
||||||
|
let result = ""
|
||||||
|
if (dayC >= 7) {
|
||||||
|
var datetime = new Date(dateStr)
|
||||||
|
var Nyear = datetime.getFullYear()
|
||||||
|
var Nmonth = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1
|
||||||
|
var Ndate = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate()
|
||||||
|
var Nhour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours()
|
||||||
|
var Nmin = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes()
|
||||||
|
|
||||||
|
if (diffInYears >= 1) result = Math.floor(diffInYears) + "年前"
|
||||||
|
else if (diffInMonths >= 1) result = Math.floor(diffInMonths) + "个月前"
|
||||||
|
} else if (dayC >= 1) result = parseInt(dayC) + "天前"
|
||||||
|
else if (hourC >= 1 && hourC <= 24) result = parseInt(hourC) + "小时前"
|
||||||
|
else if (minC >= 1 && minC <= 60) result = parseInt(minC) + "分钟前"
|
||||||
|
else result = "刚刚"
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user