详情页加求定位

This commit is contained in:
A1300399510 2024-08-14 16:56:00 +08:00
parent deffec9e26
commit 9f0dbabd51
10 changed files with 432 additions and 6 deletions

192
01.html Normal file
View File

@ -0,0 +1,192 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class="typeoption" id="position_thread">
<table class="cgtl mbm" v-if="load">
<caption>
个人信息
</caption>
<tbody>
<tr v-if="info.profession">
<th>目前专业:</th>
<td v-text="info.profession"></td>
</tr>
<tr v-if="info.estate">
<th>目前状态:</th>
<td v-text="info.estate_text"></td>
</tr>
<tr v-if="info.undergraduate_school">
<th>本科学校:</th>
<td v-text="info.undergraduate_school"></td>
</tr>
<tr v-if="info.gpa_score">
<th>GPA:</th>
<td v-text="info.gpa_score"></td>
</tr>
<tr v-if="info.gpa_ranking">
<th>排名:</th>
<td v-text="info.gpa_ranking"></td>
</tr>
<tr v-if="info.master_school">
<th>硕士学校:</th>
<td v-text="info.master_school"></td>
</tr>
<tr v-if="info.master_achievement">
<th>成绩:</th>
<td v-text="info.master_achievement"></td>
</tr>
<tr v-if="info.gre_total">
<th>GRE</th>
<td>总分: <span v-text="info.gre_total"></span> V: <span v-text="info.gre_v"></span> Q: <span v-text="info.gre_q"></span> AW: <span v-text="info.gre_aw"></span></td>
</tr>
<tr v-if="info.ielts_total">
<th>IELTS</th>
<td>总分:<span v-text="info.ielts_total"></span> R:<span v-text="info.ielts_r"></span> L:<span v-text="info.ielts_l"></span> S:<span v-text="info.ielts_s"></span> W:<span v-text="info.ielts_w"></span></td>
</tr>
<tr v-if="info.toefl_total">
<th>TOEFL</th>
<td>总分:<span v-text="info.toefl_total"></span> R:<span v-text="info.toefl_r"></span> L:<span v-text="info.toefl_l"></span> S:<span v-text="info.toefl_s"></span> W:<span v-text="info.toefl_w"></span></td>
</tr>
</tbody>
</table>
<table class="cgtl mbm" v-else="">
<tbody>
<tr>
<td>数据加载中.. <img src="http://www.gter.net/static/img/loading-black.gif" /></td>
</tr>
</tbody>
</table>
<table class="cgtl mbm" v-if="load">
<caption>
申请信息
</caption>
<tbody>
<tr v-if="thread.profession">
<th>申请专业</th>
<td v-text="thread.profession"></td>
</tr>
<tr v-if="thread.profession_cid">
<th>专业分类</th>
<td>
<span v-text="thread.profession_text"></span>
<span v-if="thread.profession_cid &amp;&amp; thread.apply_llm">LL.M</span>
<span v-if="thread.profession_cid &amp;&amp; thread.apply_jd">J.D</span>
</td>
</tr>
<tr v-if="thread.apply_doctor || thread.apply_master">
<th>学位</th>
<td>
<span v-if="thread.apply_doctor">申博</span>
<span v-if="thread.apply_master" v-text="thread.apply_master_text"></span>
</td>
</tr>
<tr v-if="thread.country">
<th>国家或地区</th>
<td v-text="thread.country"></td>
</tr>
<tr v-if="thread.experience">
<th>科研经验</th>
<td v-text="thread.experience_text"></td>
</tr>
<tr v-if="thread.scholarship">
<th>是否要奖学金</th>
<td></td>
</tr>
<tr v-if="thread.profession_cid==2 &amp;&amp; thread.lsat">
<th>LSAT</th>
<td v-text="thread.lsat"></td>
</tr>
<tr v-if="thread.profession_cid==2 &amp;&amp; thread.sex>0">
<th>性别</th>
<td v-text="thread.sex_text"></td>
</tr>
</tbody>
</table>
<table v-if="load &amp;&amp; thread.paper" cellpadding="0" cellspacing="0" class="cgtl mbm">
<caption>
论文发表
</caption>
<tbody>
<tr>
<td v-html="thread.paper">...</td>
</tr>
</tbody>
</table>
<table v-if="load &amp;&amp; thread.recommendation" cellpadding="0" cellspacing="0" class="cgtl mbm">
<caption>
推荐信
</caption>
<tbody>
<tr>
<td v-html="thread.recommendation">...</td>
</tr>
</tbody>
</table>
<table v-if="load &amp;&amp; thread.hope" cellpadding="0" cellspacing="0" class="cgtl mbm">
<caption>
定位期望
</caption>
<tbody>
<tr>
<td v-html="thread.hope">...</td>
</tr>
</tbody>
</table>
<script>
new Vue({
el:'#position_thread',
data:{
key: '0f3949ebfda1e40e21ce37526326c0d8',
tid: '2613455',
session: '3d3ecbefcf5b45c59c66327135cc263d',
load: false,
info: [],
thread: [],
},
ready: function() {
this.loaddata()
},
methods: {
loaddata: function()
{
this.load = false;
this.$http.post('//www.gter.net/position_thread.json', {tid: this.tid, session: this.session, key: this.key }, {emulateJSON: true}).then(function(res) {
var data = typeof res.data=='string' ? JSON.parse(res.data) : res.data;
this.thread = data.thread
this.info = data.info
if (this.thread.id) {
this.load = true;
}
})
},
}
});
</script>
</div>
</body>
</html>

1
dist/css/39.c6e7e71d.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/index.html vendored

File diff suppressed because one or more lines are too long

1
dist/js/233.18adb6c9.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -121,6 +121,27 @@
</div> </div>
</template> </template>
<template v-else-if="type == 1">
<div class="offer-content">
<div class="offer-content-box">
<div style="margin-bottom: 0.56rem;">
<div class="location-title">个人信息</div>
<div class="offer-content-item flexacenter" v-for="(item, index) in locationInfoData" :key="index">
<div class="offer-content-key">{{ item.name }}</div>
<div class="offer-content-value">{{ item.value }}</div>
</div>
</div>
<div>
<div class="location-title">申请信息</div>
<div class="offer-content-item flexacenter" v-for="(item, index) in locationThreadData" :key="index">
<div class="offer-content-key">{{ item.name }}</div>
<div class="offer-content-value">{{ item.value }}</div>
</div>
</div>
</div>
</div>
</template>
<template v-else> <template v-else>
<div class="offer-content"> <div class="offer-content">
<div style="line-height: normal;" ref="vHtmlMessage" class="vHtmlMessage"></div> <div style="line-height: normal;" ref="vHtmlMessage" class="vHtmlMessage"></div>
@ -383,6 +404,129 @@ export default {
}, },
isloginBtnState: false, isloginBtnState: false,
locationInfoKey: [
{
key: "profession",
name: "目前专业",
},
{
key: "estate",
name: "目前状态",
},
{
key: "undergraduate_school",
name: "本科学校",
},
{
key: "gpa_score",
name: "GPA",
},
{
key: "gpa_ranking",
name: "排名",
},
{
key: "master_school",
name: "硕士学校",
},
{
key: "master_achievement",
name: "成绩",
},
{
key: "gre_total",
name: "GRE",
},
{
key: "ielts_total",
name: "IELTS",
},
{
key: "toefl_total",
name: "TOEFL",
},
],
locationThreadKey: [
{
key: "profession",
name: "申请专业",
},
{
key: "profession_cid",
name: "专业分类",
},
{
key: "apply_master",
name: "学位",
},
{
key: "country",
name: "国家或地区",
},
{
key: "experience",
name: "科研经验",
},
{
key: "scholarship",
name: "是否要奖学金",
},
{
key: "lsat",
name: "LSAT",
},
{
key: "sex",
name: "性别",
},
{
key: "paper",
name: "论文发表",
},
{
key: "recommendation",
name: "推荐信",
},
{
key: "hope",
name: "定位期望",
},
],
locationInfoData: [], //
locationThreadData: [], //
estate: {
//
1: "本科生",
2: "硕士生",
3: "毕业工作",
4: "其它",
},
experience: {
//
0: 0,
1: "1年",
2: "2年",
3: "3-5年",
5: "5-10年",
},
profession_cid: {
1: "理工科",
2: "法律",
3: "商科",
4: "非法律其他文科",
5: "艺术",
6: "其它",
7: "建筑与设计",
8: "人文",
9: "CS/EE",
10: "生农医药",
},
} }
}, },
@ -425,6 +569,8 @@ export default {
let data = res.data let data = res.data
let info = data.info let info = data.info
console.log(data.type)
info["message"] = info["message"].trim() info["message"] = info["message"].trim()
const reg = new RegExp("\r\n", "g") const reg = new RegExp("\r\n", "g")
@ -573,6 +719,7 @@ export default {
else if (this.type == 5) this.getsummaryDetails() else if (this.type == 5) this.getsummaryDetails()
else if (this.type == 3) this.getTenementDetails() else if (this.type == 3) this.getTenementDetails()
else if (this.type == 2) this.getInterviewDetails() else if (this.type == 2) this.getInterviewDetails()
else if (this.type == 1) this.getLocationDetails()
info["replies"] != 0 ? this.getPostList() : "" info["replies"] != 0 ? this.getPostList() : ""
// this.getPostList() // this.getPostList()
@ -935,6 +1082,85 @@ export default {
this.alert.state = false this.alert.state = false
}, 1500) }, 1500)
}, },
//
getLocationDetails() {
this.$http.post("/api/position/thread", { token: this.token }).then(res => {
if (res.code != 200) return
const data = res.data
console.log("data", data)
const estate = this.estate
const experience = this.experience
const profession_cid = this.profession_cid
const infokey = this.locationInfoKey || []
const threadkey = this.locationThreadKey || []
const info = data.info
const thread = data.thread
let obj = []
infokey.forEach(element => {
const key = element.key
if (info[key]) {
let value = ""
if (key == "estate") {
value = estate[info[key]]
} else if (key == "gre_total") {
value = `总分: ${info.gre_total} V: ${info.gre_v} Q: ${info.gre_q} AW: ${info.gre_aw}`
} else if (key == "ielts_total") {
value = `总分: ${info.ielts_total} R: ${info.ielts_r} L: ${info.ielts_l} S: ${info.ielts_s} W: ${info.ielts_w}`
} else if (key == "toefl_total") {
value = `总分: ${info.toefl_total} R: ${info.toefl_r} L: ${info.toefl_l} S: ${info.toefl_s} W: ${info.toefl_w}`
} else {
value = info[key]
}
obj.push({
name: element.name,
value,
})
}
})
this.locationInfoData = obj
let obj1 = []
threadkey.forEach(element => {
const key = element.key
if (thread[key]) {
let value = ""
if (key == "profession_cid") {
value = profession_cid[thread[key]]
if (thread.apply_llm) value += " LL.M"
if (thread.apply_jd) value += " J.D"
} else if (key == "country") {
thread.country.forEach(element => {
value += element.name + "、"
})
} else if (key == "scholarship") {
value = "是"
} else if (key == "sex") {
if (thread.profession_cid == 2) value = thread[key] == 1 ? "男" : "女"
} else if (key == "lsat") {
if (thread.profession_cid == 2) value = thread[key]
} else if (key == "experience") {
value = experience[thread[key]]
} else {
value = thread[key]
}
if (value != null) {
obj1.push({
name: element.name,
value,
})
}
}
})
this.locationThreadData = obj1
})
},
}, },
components: { components: {
@ -1280,6 +1506,16 @@ export default {
} }
.offer-content-box { .offer-content-box {
.location-title {
height: 0.9333rem;
background: rgba(246, 246, 246, 1);
display: flex;
justify-content: center;
align-items: center;
font-weight: 650;
border-radius: 0.6667rem;
margin-bottom: 0.4rem;
}
.offer-content-item { .offer-content-item {
line-height: 0.6rem; line-height: 0.6rem;