You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1444 lines
64 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<layout group="高校探索" :title="this.$route.query.name" @search="search">
<template v-slot:breadcrumb>
<router-link to="/views/gaoxiao">高校探索</router-link>
<router-link to="/views/school/list">高校信息大全</router-link>
</template>
<div class="c-page" v-if="model">
<div style="height: 10vh;display: flex;align-items:center;text-align: left; padding: 1.5vh 2vh; border-bottom: 1px solid #AFDBFF; background: #EFF8FF;">
<div style=" box-sizing: border-box; height: 10vh;padding-right:2vh;">
<img :src="'https://video.edusoa.com/static/images/schoollogo/'+model.logo"
onerror="this.src='https://video.edusoa.com/static/images/space/school.png'"
style="height:10vh;"/>
<!--<img :src="'/'+model.school.logo+'.webp'" style="height:10vh;" />-->
</div>
<div>
<div>
<div></div>
<div style="display: inline-block; box-sizing: border-box; font-size: 4vh; font-weight: bolder; line-height: 6vh; padding: 0; vertical-align: middle;">
{{model.university_name}}
</div>
<div>
<span v-for="(tag,index) in getTags()"
:style="'vertical-align:middle;border-radius:5px;padding:0 1vh;border:.1vh solid '+tag.color+';color:'+tag.color+';margin:0 .5vh;' ">
{{tag.name}}
</span>
</div>
<div class="c-tab" style="position: absolute;top: 0;right: 1vh;">
<a href="javascript:;" v-for="(v,i) in tab.items" :class="i===tab.current?'c-active':''"
@click="()=>tabChange(i)">{{v}}</a>
<!--tab.current=i-->
</div>
</div>
</div>
</div>
<div class="c-row c-tab-container" style="height:53vh">
<div class="c-tab-content" v-show="tab.current===0">
<div class="c-page-item">
<div style="box-sizing:border-box;width:35%;float:left;">
<div class="c-swiper" v-if="getImages().length">
<div class="swiper-container gallery-top">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in getImages()"
@click="zoom('./../../gxytj/'+item.resource_address)"
:style="'background-image:url(./../../gxytj/'+item.resource_address+')'"></div>
</div>
<div class="swiper-button-next swiper-button-white"></div>
<div class="swiper-button-prev swiper-button-white"></div>
</div>
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in getImages()"
:style="'background-image:url(./../../gxytj/'+item.resource_address+')'"></div>
</div>
</div>
</div>
<div v-else class="c-swiper"
style="text-align:center;box-sizing:border-box;border:1px solid #999;">
<img src="images/school-empty.png" style="vertical-align:middle;padding-top: 12%"/>
</div>
</div>
<div style="box-sizing: border-box; width: 65%; float: right;padding:0 3vh;padding-right: 0">
<div style="box-sizing: border-box; width: 100%;display:flex;height:13vh;padding-top:1vh;">
<div class="c-item">
<div style="background-color: #FFBF5E;">
<img class="c-svg c-svg-nf" src="images/benke.svg"/>
</div>
<div>
<div>{{model.university_type_name}}</div>
<div>学历类别</div>
</div>
</div>
<div class="c-item">
<div style="background-color: #4FDEEA;">
<img class="c-svg c-svg-nf" src="images/banxue.svg"/>
</div>
<div>
<div>{{model.university_property_name}}</div>
<div>办学类型</div>
</div>
</div>
<div class="c-item">
<div style="background-color: #82E58A;">
<img class="c-svg c-svg-nf" src="images/leixing.svg"/>
</div>
<div>
<div>{{model.university_classification_name}}</div>
<div>院校类型</div>
</div>
</div>
<!--<div class="c-item">-->
<!--<div style="background-color: #FF826C;">-->
<!--<img class="c-svg c-svg-nf" src="images/suoshu.svg" />-->
<!--</div>-->
<!--<div>-->
<!--<div>{{model.province_name}}</div>-->
<!--<div>院校所属</div>-->
<!--</div>-->
<!--</div>-->
<div class="c-item">
<div style="background-color: #00ACFC; ">
<img class="c-svg c-svg-nf" src="images/shijian.svg"/>
</div>
<div>
<div>{{model.set_up_time}}</div>
<div>创办时间</div>
</div>
</div>
</div>
<div>
<img style="width:3vh;vertical-align: bottom"
src="./../../gxytj/xztszzy/images/gaoxiao/call.png"/> 招生电话:{{model.university_tel}}
</div>
<div style="margin: 1.5vh 0;max-width: 110vh;margin-bottom: 4vh">
<img class="c-svg c-svg-location" src="images/location.svg"
style="vertical-align: bottom;width:3vh"/> 学校地址:{{model.address}}&nbsp;
</div>
<div class="wrapper">
<div class="more" @click="show">[详情]</div>
<div class="des">{{model.university_desc_unformat}}</div>
</div>
<!--<div class="content-wrapper"-->
<!--&gt;-->
<!--<div class="content">-->
<!--<span class=" icon-new icon-1"-->
<!--style="color: #ec2f2f;line-height: 3vh;cursor: pointer" @click="show">[详情]</span>-->
<!--<span style="line-height: 3vh" >{{model.university_desc_unformat}}</span>-->
<!--<span class=" icon-new icon-2"-->
<!--style="color: #ec2f2f"></span>-->
<!--</div>-->
<!--</div>-->
<!--<div style="position: relative;display: flex">-->
<!--<div class="more">[详情]</div>-->
<!--<div class="c-p" @click="show"-->
<!--style=" cursor:pointer;box-sizing: border-box; width: 100%; height: 20vh; text-indent:2em;">-->
<!--{{model.university_desc_unformat}}-->
<!--</div>-->
<!--</div>-->
</div>
</div>
<div class="c-page-item">
<div style="box-sizing:border-box;width:25%;float:right;">
<div style="box-sizing: border-box; margin:0 1vh;">
<h3>同类院校</h3>
<div style="width: 100%; border-top: 1px solid #E1E7EB;">
<template v-for="item in model.sameUniversityList">
<router-link
:to="'/views/school/item?name='+item.UNIVERSITY_NAME+'&id='+item.UNIVERSITY_ID"
:title="item.UNIVERSITY_NAME"
style="text-align: left; display: block; border: 1px solid #E1E7EB;border-top:none;padding:1vh;">
<!--<img :src="'/'+item.logo+'.webp'" style="height:6vh;max-width:6vh;padding-right:1.5vh;vertical-align:middle;float:left;" />-->
<img :src="'https://video.edusoa.com/static/images/schoollogo/'+item.LOGO"
onerror="this.src='https://video.edusoa.com/static/images/space/school.png'"
style="height:6vh;max-width:6vh;padding-right:1.5vh;vertical-align:middle;float:left;"/>
<div style="height:6vh;">
<span class="c-ellipsis"
style="display:block;font-size:2vh;font-weight:bold;line-height:3vh;">{{item.UNIVERSITY_NAME}}</span>
<span class="c-ellipsis"
style="display: block; font-size: 1.5vh; line-height: 3vh; color: #2b92d7;">
{{getSchoolTags(item)}}
</span>
</div>
</router-link>
</template>
</div>
</div>
</div>
<div style="box-sizing:border-box;width:75%;float:left;">
<div class="c-major" style="box-sizing:border-box;width:100%;overflow:hidden;">
<h3>特色专业</h3>
<table class="c-table">
<tr>
<th width="20%">专业层次</th>
<th width="80%">专业</th>
</tr>
<tr>
<td>特色专业</td>
<td>
{{model.featureMajors===''?'--':model.featureMajors}}
</td>
</tr>
<tr>
<td>一流学科</td>
<td>
{{model.topMajors===null?'--':model.topMajors}}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="c-tab-content" v-show="tab.current===1" style="padding-top: 1vh">
<div style="display: flex">
<select v-model="selected" class="selectBox" @change="selectChange($event)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in options" :key="item.id" :value="item.id">
{{ item.value }}
</option>
</select>
<div style="margin-left: 2vh;position: relative">
<img class="img-style" src="images/search.svg"/>
<input class="major-style" type="text" v-model="major_name" placeholder="请输入专业名称"/>
</div>
<div class="major-search" @click="majorSearch()">搜索</div>
</div>
<div class="c-row" style="margin: 2vh 0">
<table class="c-table">
<thead>
<tr>
<th width="25%" style="padding: 1vh">专业名称</th>
<th width="10%" style="padding: 1vh">层次</th>
<th width="10%" style="padding: 1vh">学科门类</th>
<th width="15%" style="padding: 1vh">专业类别</th>
<th width="10%" style="padding: 1vh">学制</th>
<th width="10%" style="padding: 1vh">操作</th>
</tr>
</thead>
<tr v-for="(item,i) in major.table_List">
<td style="padding: 1vh">{{item.major_name}}</td>
<td style="padding: 1vh">{{item.major_type_name}}</td>
<td style="padding: 1vh">{{item.subject_category}}</td>
<td style="padding: 1vh">{{item.professional_category}}</td>
<td style="padding: 1vh">{{item.years}}</td>
<td style="padding: 1vh;cursor: pointer;">
<router-link
:to="'/views/zhuanye/item?id='+item.major_id+'&type='+item.major_type_name+'&name='+item.subject_category+'&type_id='+item.major_type+'&type_idd='+item.subject_category_id">
查看详情
</router-link>
</td>
</tr>
<tr v-if="major.table_List.length===0">
<td colspan="6" style="padding: 1vh">
<img src="images/empty-data.png"
style="width: 17vh;margin-top: 5vh;margin-bottom: 2vh"/>
<div style="margin-bottom: 5vh;color: #a2a2a2;font-size: 2vh">暂无数据</div>
</td>
</tr>
</table>
</div>
<div class="c-row" style=" height:13vh;position:relative;padding:0 5vh;"
v-if="major.table_List.length!==0">
<pagination v-model:index="major.pageNumber" v-model:size="major.pageSize"
:total="major.totalRow" :callback="getUniversityMajorList"/>
</div>
</div>
<div class="c-tab-content" v-show="tab.current===2">
<div>
<div>
<div style="overflow: auto">
<div style="float:left;border-left:6px solid #27CEC1;height: 3vh;padding-left: 2vh;line-height: 3vh;font-size: 18px">
<strong>各省分数线</strong></div>
<div style="float: right">
<select v-model="score.province1" class="selectBox"
style="width:10vh;margin-right: 2vh" @change="provinceChange($event,1)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.provinceList" :key="item.id" :value="item.id">
{{ item.provincename }}
</option>
</select>
<select v-model="score.year1" class="selectBox" style="width:10vh;margin-right: 2vh"
@change="yearChange($event,1)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.yearList1" :key="item" :value="item">
{{ item }}{{score.year1==='暂无'?'':'年'}}
</option>
</select>
<select v-model="score.type1" class="selectBox" style="width:10vh;"
@change="typeChange($event,1)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.typeList1" :key="item.type" :value="item.type">
{{ item.type_name }}
</option>
</select>
</div>
</div>
<div class="c-row" style="margin: 3vh 0">
<table class="c-table">
<thead>
<tr>
<th width="15%" style="padding: 1vh">年份</th>
<th width="20%" style="padding: 1vh">录取批次</th>
<th width="15%" style="padding: 1vh">招生类型</th>
<th width="25%" style="padding: 1vh">最低分 / 最低位次</th>
<th width="10%" style="padding: 1vh">省控线</th>
</tr>
</thead>
<tr v-for="(item,i) in score.province_score_List">
<td style="padding: 1vh">{{item.year}}</td>
<td style="padding: 1vh">{{item.batch_name?item.batch_name:'--'}}</td>
<td style="padding: 1vh">{{item.subject_category?item.subject_category:'--'}}
</td>
<td style="padding: 1vh">{{item.min_score?item.min_score:'--'}} /
{{item.seating?item.seating:'--'}}
</td>
<td style="padding: 1vh">{{item.province_score?item.province_score:'--'}}</td>
</tr>
<tr v-if="score.province_score_List.length===0">
<td colspan="5" style="padding: 1vh">
<img src="images/empty-data.png"
style="width: 17vh;margin-top: 5vh;margin-bottom: 2vh"/>
<div style="margin-bottom: 5vh;color: #a2a2a2;font-size: 2vh">暂无数据</div>
</td>
</tr>
</table>
</div>
</div>
<div>
<div style="overflow: auto">
<div style="float:left;border-left:6px solid #27CEC1;height: 3vh;padding-left: 2vh;line-height: 3vh;font-size: 18px">
<strong>专业分数线</strong></div>
<div style="float: right">
<select v-model="score.province2" class="selectBox"
style="width:10vh;margin-right: 2vh" @change="provinceChange($event,2)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.provinceList" :key="item.id" :value="item.id">
{{ item.provincename }}
</option>
</select>
<select v-model="score.year2" class="selectBox" style="width:10vh;margin-right: 2vh"
@change="yearChange($event,2)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.yearList2" :key="item" :value="item">
{{ item }}{{score.year2==='暂无'?'':'年'}}
</option>
</select>
<select v-model="score.type2" class="selectBox" style="width:10vh;margin-right: 2vh"
@change="typeChange($event,2)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.typeList2" :key="item.type" :value="item.type">
{{ item.type_name }}
</option>
</select>
<select v-model="score.batch" class="selectBox" style="width:15vh;"
@change="batchChange($event)">
<!--<option disabled value="">请选择一个选项</option>-->
<option v-for="item in score.batchList" :key="item.batch" :value="item.batch">
{{ item.batch_name }}
</option>
</select>
</div>
</div>
<div class="c-row" style="margin: 3vh 0">
<table class="c-table">
<thead>
<tr>
<th width="40%" style="padding: 1vh">专业名称</th>
<th width="15%" style="padding: 1vh">录取批次</th>
<th width="15%" style="padding: 1vh">录取数</th>
<th width="15%" style="padding: 1vh">平均分</th>
<th width="25%" style="padding: 1vh">最低分 / 最低位次</th>
</tr>
</thead>
<tr v-for="(item,i) in score.major_score_List">
<td style="padding: 1vh">{{item.major_name_new}}</td>
<td style="padding: 1vh">{{item.batch_name}}</td>
<td style="padding: 1vh">{{item.recruit_count}}</td>
<td style="padding: 1vh">{{item.average_score}}</td>
<td style="padding: 1vh">
{{item.min_score}}/{{item.seating!==0?item.seating:'--'}}
</td>
</tr>
<tr v-if="score.major_score_List.length===0">
<td colspan="5" style="padding: 1vh">
<img src="images/empty-data.png"
style="width: 17vh;margin-top: 5vh;margin-bottom: 2vh"/>
<div style="margin-bottom: 5vh;color: #a2a2a2;font-size: 2vh">暂无数据</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="c-tab-content" v-show="tab.current===3">
<div v-for="item in model.departmentMajorsList">
<h3 style="text-align:center;margin:1rem 0;" v-if="item.department!==null">
{{item.department}}</h3>
<div class="c-flex" style="justify-content: flex-start;">
<div style="box-sizing:border-box; width: 22%; text-align: center; border: 1px solid #B3DBFF;border-radius:5px;margin:3vh 1.5%;padding:2vh;overflow:hidden;"
v-for="i in item.faculty_list">
<h5 v-if="i.faculty!==null" class="c-ellipsis"
style="text-align: center; color: #3796D7; margin: 2vh 0;font-size:2vh;">
{{i.faculty}}</h5>
<div>
<div class="c-ellipsis" v-for="j in i.major"
style="border: 1px solid #B7DFFF; padding: 1vh; margin: 1vh; text-align: left; "
:title="j">
<img style="width: 2vh;vertical-align:bottom;margin-right: .5rem;"
src="./../../gxytj/xztszzy/images/gaoxiao/label.png"/>{{j}}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="c-tab-content" v-show="tab.current===4">
<h3 style="margin:0;"><img src="./../../gxytj/xztszzy/images/gaoxiao/school.png"
style="width:2rem;vertical-align:bottom;margin-right: 1rem;"/>校园风采
</h3>
<div style="text-align: center" v-if="getImageList().length===0">
<img src="images/empty-data.png" style="width: 17vh;margin-top: 5vh;margin-bottom: 2vh"/>
<div style="margin-bottom: 5vh;color: #a2a2a2;font-size: 2vh">暂无数据</div>
</div>
<template v-else>
<div class="c-flex" style="justify-content:start;">
<div v-for="item in getImageList()"
@click="zoom('./../../gxytj/'+item.resource_address)"
style="width:20%;text-align:center;cursor:pointer;">
<img class="c-item-cell"
:src="'./../../gxytj'+getThumb(item.resource_address)" style="background-size:cover"/>
<div>{{item.resource_title}}</div>
</div>
</div>
</template>
<template v-if="getVideoList().length">
<h3 style="margin:0;"><img src="./../../gxytj/xztszzy/images/gaoxiao/school.png"
style="width:2rem;vertical-align:bottom;margin-right: 1rem;"/>校园视频
</h3>
<div class="c-flex" style="justify-content:start;">
<div v-for="item in getVideoList()"
@click="zoom('./../../gxytj/xztszzy/'+item.resource_address)"
style="width: 20%; text-align: center; cursor: pointer;">
<div class="c-item-cell"
:style="'background-image:url(./../../gxytj/xztszzy/'+getThumb(item.resource_address)+');'"></div>
<div>{{item.resource_title}}</div>
</div>
</div>
</template>
</div>
</div>
</div>
<div v-show="layout.showOverlay" :close-on-click-overlay="false"
style="position:fixed;left:0;top:0;width:100%;height:100%;z-index:2000;background:rgba(0,0,0,.8);">
<template v-if="src">
<template v-if="src">
<video controls muted autoplay playsinline controlsList="nodownload" disablepictureinpicture
style="width: 100%; height: 100%;" :src="src" v-if="isVideo(src)"></video>
<div class="c-100x100" :style="'background-image:url('+src+');background-size:800px 500px'" v-else></div>
</template>
<img v-on:click="close()"
style="color:#fff;font-size:6vh;position:absolute;top:2vh;right:2vh;width: 3rem;cursor:pointer"
src="./../../gxytj/xztszzy/images/gaoxiao/close.png"/>
<!--<i class="fas fa-times" v-on:click="close()" style="color:#fff;font-size:6vh;position:absolute;top:2vh;right:2vh;"></i>-->
<img v-if="tab.current===0" v-on:click="more()"
style="color:#fff;font-size:6vh;position:absolute;bottom:2vh;right:2vh;width: 3rem;cursor:pointer"
src="./../../gxytj/xztszzy/images/gaoxiao/doubleRight.png"/>
</template>
</div>
</layout>
<div class="model" v-show="isShow">
<div class="modelFixed" ref="child">
<div style="height: 3vh;display: flex;justify-content: flex-end">
<img @click="closeModal()" style="width: 1.5rem;cursor:pointer"
src="./../../gxytj/xztszzy/images/gaoxiao/closeModal.png"/>
</div>
<div style="overflow: auto;height: calc(100% - 4vh);margin-top: 1vh">
<div style="font-size: 4vh;text-align: left"><strong>{{model.university_name}}</strong></div>
<div style="text-align:left;line-height: 2.5vh; width: 100%;" v-html="model.university_desc"></div>
</div>
</div>
</div>
</template>
<script>
export default {
data: function () {
return {
isShow: false,
model: {
label_list: [],
name: '',
},
options: [{id: '', value: '全部类别'}],
tab: {
items: ['学校概况', '开设专业', '分 数 线', '院系专业', '校园风采'],
current: 0
},
galleryTop: null,
galleryThumbs: null,
layout: store.state,
src: null,
selected: '',
major_name: '',
major: {
table_List: [],
pageNumber: 1,
pageSize: 5,
},
score: {
provinceList: [],
province1: '',
province2: '',
yearList1: [],
yearList2: [],
year1: '',
year2: '',
typeList1: [],
typeList2: [],
type1: '',
type2: '',
batch: '',
batchList: [],
province_score_List: [],
major_score_List: [],
}
}
},
mounted: function () {
this.layout.query = this.$route.query.name;
this.model.name = this.$route.query.name;
this.load();
this.getUniversityProfessionalCategory();
this.getUniversityMajorList();
this.getZyghProviceList()
},
destroyed: function () {
this.unload();
},
watch: {
$route(to, from) {
if (to.path === from.path) {
this.layout.query = to.query.name;
this.major = {
table_List: [],
pageNumber: 1,
pageSize: 5,
};
this.galleryTop = null;
this.galleryThumbs = null;
this.load();
this.getUniversityMajorList();
}
}
},
methods: {
load: function () {
try {
var url = "/dsideal_yy/zygh/university/getUniversityInfoById?university_id=" + this.$route.query.id;
fetch(url).then(response => {
return response.json();
}).then(json => {
if (json.status === 500) {
console.error(json);
}
let text = json.address.replace(/\n/g, '').replace(/\r/g, '');
json.address = text;
this.model = json;
this.getUniversitySpecialMajor();
this.getUniversityLeadingSubject();
this.getResourceList();
this.getSameUniversityList();
this.getUniversityDepartmentMajors();
});
} catch (e) {
console.log(e);
}
},
getUniversityProfessionalCategory: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/ytj/getUniversityProfessionalCategory';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
let arr = [{id: '', value: '全部类别'}];
if (response.list.length !== 0) {
response.list.forEach((item) => {
arr.push({id: item.professional_category_id, value: item.professional_category})
})
}
parent.options = arr;
}
});
},
getUniversityMajorList: function () {
var url = '/dsideal_yy/zygh/ytj/getUniversityMajorList';
var uri = new URI();
uri.setQuery("university_id", this.$route.query.id);
uri.setQuery("page_number", this.major.pageNumber);
uri.setQuery("page_size", this.major.pageSize);
uri.setQuery("major_name", this.major_name);
uri.setQuery("professional_category_id", this.selected);
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.major = response;
}
});
},
getUniversitySpecialMajor: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/university/getUniversitySpecialMajor';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success && response.list.length !== 0) {
let text = '';
response.list.forEach((i, index) => {
if (index === response.list.length - 1) {
return text += i.major_name
} else {
return text += i.major_name + '、'
}
});
parent.model.featureMajors = text;
} else {
parent.model.featureMajors = '';
}
});
},
getUniversityLeadingSubject: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
"round": 1,
});
}
var url = '/dsideal_yy/zygh/university/getUniversityLeadingSubject';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.model.topMajors = response.subjects;
}
});
},
getResourceList: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/ytj/getResourceListNew';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success && response.list.length !== 0) {
parent.model.resourceFiles = response.list;
if (parent.getImages().length) {
parent.$nextTick(function () {
if (parent.galleryThumbs) {
parent.galleryThumbs.update();
}
else {
parent.galleryThumbs = new Swiper('.gallery-thumbs', {
spaceBetween: 10,
slidesPerView: 4,
freeMode: true,
watchSlidesVisibility: true,
watchSlidesProgress: true,
loop: true
});
}
if (parent.galleryTop) {
parent.galleryTop.update();
}
else {
parent.galleryTop = new Swiper('.gallery-top', {
spaceBetween: 10,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
thumbs: {
swiper: parent.galleryThumbs
},
watchSlidesProgress: true,
loop: true,
autoplay: {
delay: 2500,
disableOnInteraction: false,
}
});
}
});
}
}
});
},
getSameUniversityList: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/ytj/getSameUniversityList';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
if (response.list.length > 5) {
response.list.splice(5)
}
parent.model.sameUniversityList = response.list;
}
});
},
getUniversityDepartmentMajors: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/ytj/getUniversityDepartmentMajors';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.model.departmentMajorsList = response.list;
}
});
},
getZyghProviceList: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"type": 1,
});
}
var url = '/dsideal_yy/zygh/score/getZyghProviceList';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.score.provinceList = response.table_List;
if ($.cookie('background_province_id') !== undefined) {
parent.score.province1 = $.cookie('background_province_id');
parent.score.province2 = $.cookie('background_province_id');
} else {
parent.score.province1 = response.table_List[0].id;
parent.score.province2 = response.table_List[0].id;
}
parent.getYearListByProvince(1);//院校
parent.getYearListByProvince(2);//专业
}
});
},
getYearListByProvince: function (type) {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"type": type,
"source_province_id": type.toString() === '1' ? this.score.province1 : this.score.province2,
"university_id": this.$route.query.id,
});
}
var url = '/dsideal_yy/zygh/ytj/getYearListByProvince';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
if (type.toString() === '1') {
if (response.year_list.length !== 0) {
parent.score.yearList1 = response.year_list.reverse();
parent.score.year1 = response.year_list[0];
parent.getScoreDicList(1);
} else {
parent.score.yearList1 = ['暂无'];
parent.score.year1 = '暂无';
parent.score.typeList1 = [{type_name: '暂无', type: ''}];
parent.score.type1 = '';
parent.score.batchList = [{batch: '', batch_name: '暂无'}];
parent.score.batch = '';
parent.score.province_score_List = [];
}
} else {
if (response.year_list.length !== 0) {
parent.score.yearList2 = response.year_list.reverse();
parent.score.year2 = response.year_list[0];
parent.getScoreDicList(2);
} else {
parent.score.yearList2 = ['暂无'];
parent.score.year2 = '暂无';
parent.score.typeList2 = [{type_name: '暂无', type: ''}];
parent.score.type2 = '';
parent.score.major_score_List = [];
}
}
}
});
},
getScoreDicList: function (type) {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
// "scoreType": type,
// "seachType": 2,
// "sourceProvinceId":type.toString()==='1'?this.score.province1:this.score.province2,
// "year":type.toString()==='1'?this.score.year1:this.score.year2
"source_province_id": type.toString() === '1' ? this.score.province1 : this.score.province2,
"year": type.toString() === '1' ? this.score.year1 : this.score.year2,
"type": type,
"university_id": this.$route.query.id,
});
}
// var url = '/dsideal_yy/zygh/score/getScoreDicList';
var url = '/dsideal_yy/zygh/ytj/getTypeListByProvince';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
if (type.toString() === '1') {
if (response.type_list.length !== 0) {
parent.score.typeList1 = response.type_list;
parent.score.type1 = response.type_list[0].type;
parent.getUniversityBatchScore()
} else {
parent.score.typeList1 = [{type_name: '暂无', type: ''}];
parent.score.type1 = '';
parent.score.province_score_List = [];
}
} else {
if (response.type_list.length !== 0) {
parent.score.typeList2 = response.type_list;
parent.score.type2 = response.type_list[0].type;
parent.getUniversityBatchList()
//
} else {
parent.score.typeList2 = [{type_name: '暂无', type: ''}];
parent.score.type2 = '';
parent.score.major_score_List = [];
}
}
}
});
},
getUniversityBatchList: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
"source_province_id": this.score.province2,
"subject_category": this.score.type2,
"year": this.score.year2
});
}
var url = '/dsideal_yy/zygh/ytj/getUniversityBatchList';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
if (response.batch_list.length !== 0) {
parent.score.batchList = response.batch_list;
parent.score.batch = response.batch_list[0].batch.toString();
parent.getUniversityMajorScore()
} else {
parent.score.batchList = [{batch: '', batch_name: '暂无'}];
parent.score.batch = '';
parent.score.province_score_List = [];
}
}
});
},
getUniversityBatchScore: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
"source_province_id": this.score.province1,
"type": this.score.type1,
"year": this.score.year1
});
}
var url = '/dsideal_yy/zygh/ytj/getUniversityBatchScore';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.score.province_score_List = response.list
}
});
},
getUniversityMajorScore: function () {
var uri = new URI();
if (store.state.query) {
uri.setQuery({
"university_id": this.$route.query.id,
"source_province_id": this.score.province2,
"type": this.score.type2,
"year": this.score.year2,
"batch": this.score.batch,
});
}
var url = '/dsideal_yy/zygh/ytj/getUniversityMajorScore';
var parent = this;
$.post(url, uri.query(), function (response) {
if (response.success) {
parent.score.major_score_List = response.list
}
});
},
show: function () {
this.isShow = true;
},
unload: function () {
if (this.galleryThumbs && this.galleryThumbs.destroy) {
this.galleryThumbs.destroy();
}
if (this.galleryTop && this.galleryTop.destroy) {
this.galleryTop.destroy();
}
},
search: function () {
this.$router.push("/views/school/list?query=" + this.layout.query);
},
selectChange: function (e) {
this.major.pageNumber = 1;
this.major.pageSize = 5;
this.getUniversityMajorList()
},
provinceChange: function (e, type) {
this.getYearListByProvince(type)
},
yearChange: function (e, type) {
this.getScoreDicList(type)
},
batchChange: function (e, type) {
this.getUniversityMajorScore()
},
typeChange: function (e, type) {
if (type.toString() === '1') {
this.getUniversityBatchScore()
} else {
this.getUniversityBatchList()
}
},
tabChange(num){
this.tab.current = num;
if (num === 1) {
this.major_name = '';
this.selected = '';
this.major.pageNumber = 1;
this.major.pageSize = 5;
this.getUniversityMajorList();
}
if (num === 2) {
this.score = {
provinceList: [],
province1: '',
province2: '',
yearList1: [],
yearList2: [],
year1: '',
year2: '',
typeList1: [],
typeList2: [],
type1: '',
type2: '',
province_score_List: [],
major_score_List: [],
};
this.getZyghProviceList()
}
},
majorSearch: function () {
this.major.pageNumber = 1;
this.major.pageSize = 5;
this.getUniversityMajorList();
},
getTags: function () {
let arr = [];
if (this.model.label_list.length !== 0) {
this.model.label_list.forEach((i) => {
switch (i.detail) {
case '985':
return arr.push({name: i.detail, color: '#75E0ED'});
case '211':
return arr.push({name: i.detail, color: '#e550ff'});
case 'C9':
return arr.push({name: i.detail, color: '#f78b54'});
case '强基计划':
return arr.push({name: i.detail, color: '#4cb1f7'});
case '双一流':
return arr.push({name: i.detail, color: '#ababf7'});
case '教育部直属':
return arr.push({name: i.detail, color: '#87e997'});
case '研究生院':
return arr.push({name: i.detail, color: '#f6c953'});
case '示范性高职':
return arr.push({name: i.detail, color: '#f793d8'});
case '骨干高职':
return arr.push({name: i.detail, color: '#f7556f'});
case '双高计划':
return arr.push({name: i.detail, color: '#3c16f7'});
}
})
} else {
arr = []
}
return arr;
},
closeModal(){
this.isShow = false
},
getSchoolTags(item) {
let label = '';
let arr = [];
if (item.LABEL_LIST.length !== 0) {
item.LABEL_LIST.forEach((i) => {
arr.push(i.university_label_name)
});
label = arr.join('/')
}
return label
},
getCategory: function (name) {
if (!this.model.school) {
return null;
}
return Enumerable.from(this.model.school.universityCategories)
.select(o => o.category)
.where(o => o.key === name)
.select(o => o.name)
.firstOrDefault();
},
hasDepartment: function () {
return Enumerable.from(this.model.school.majors).any(o => o.department);
},
getDepartments: function () {
return Enumerable.from(this.model.school.majors)
.select(o => o.department)
.distinct()
.orderBy()
.toArray();
},
getColleges: function (name) {
return Enumerable.from(this.model.school.majors)
.where(o => o.department === name)
.select(o => o.college)
.distinct()
.orderBy()
.toArray();
},
getMajors(name) {
return Enumerable.from(this.model.school.majors)
.where(o => o.college === name)
.select(o => o.name).toArray();
},
getImages() {
if (this.model.resourceFiles !== undefined) {
return Enumerable.from(this.model.resourceFiles)
.where(o => o.resource_address.indexOf('.mp4') === -1 && o.resource_address.indexOf('.webm') === -1).take(4).toArray();
} else {
return []
}
},
getImageList() {
return Enumerable.from(this.model.resourceFiles)
.where(o => !o.resource_address.endsWith('.mp4') && !o.resource_address.endsWith('.webm')).toArray();
},
getVideoList() {
return Enumerable.from(this.model.resourceFiles)
.where(o => o.resource_address.endsWith('.mp4') || o.resource_address.endsWith('.webm')).toArray();
},
zoom(url) {
this.src = url;
this.layout.showOverlay = true;
},
close(e) {
this.layout.showOverlay = false;
this.src = null;
},
more() {
this.close();
this.tab.current = 4;
},
isVideo(src) {
return src.endsWith('.mp4') || src.endsWith('.webm');
},
getThumb(src) {
return '/' + src ;
},
getIcon(src) {
if (src.endsWith('.mp4') || src.endsWith('.webm')) {
return 'far fa-file-video';
}
else if (src.endsWith('.docx')) {
return 'far fa-file-word';
}
else if (src.endsWith('.xlsx')) {
return 'far fa-file-excel';
}
else if (src.endsWith('.pptx')) {
return 'far fa-file-powerpoint';
}
else {
return 'far fa-file-image';
}
}
}
}
</script>
<style>
.wrapper{
height: 83px;
overflow: hidden;
}
.wrapper::before{
content: "";
display: block;
height: 52px;
}
.more{
float: right;
height: 20px;
color: red;
cursor: pointer;
position: relative;
top: 0;
}
.more::before{
content: "...";
display: inline-block;
color: #000!important;
margin-right: 5px;
}
.des{
margin-top: -55px;
line-height: 1.7;
/*color: #666;*/
}
.model {
width: 100%;
height: 100%;
position: fixed;
display: flex;
justify-content: center;
align-items: center;
background: rgba(0, 0, 0, .5);
top: 0;
left: 0;
z-index: 999;
}
.modelFixed {
padding: 20px 40px;
width: 70%;
height: 65%;
/*overflow: auto;*/
background: #ffffff;
box-shadow: 3px 2px 5px #7777;
}
.c-svg-location {
width: 3vh;
height: 3vh;
filter: invert(100%) sepia(28%) saturate(4707%) hue-rotate(62deg) brightness(92%) contrast(88%);
}
.c-svg-nf {
filter: none !important;
}
.c-tab a {
display: inline-block;
color: #fff;
background-color: #026fe8;
text-decoration: none;
font-size: 1.6vh;
line-height: 4vh;
margin: 2.5vh .5vh;
padding: 0 2vh;
}
.c-tab a.c-active {
background-color: #FBB101;
}
.c-tab-container {
padding: 1.5vh;
text-align: left;
}
.c-tab-content {
overflow-x: hidden;
overflow-y: auto;
height: 50vh;
box-sizing: border-box;
padding: 2.5vh 5vh;
}
.selectBox {
height: 3.5vh;
font-size: 1.6vh;
border-color: #ccc;
color: #494949;
cursor: pointer;
}
.selectBox:focus {
outline: none;
}
.img-style {
filter: invert(100%) sepia(29%) saturate(423%) hue-rotate(164deg) brightness(85%) contrast(85%);
width: 2vh;
position: absolute;
top: .7vh;
left: .5vh;
}
.major-style {
height: 3vh;
font-size: 1.6vh;
border: 1px solid #ccc;
padding-left: 3vh;
}
.major-style:focus {
outline: none;
}
.major-search {
color: #fff;
background: #026fe8;
height: 3.5vh;
line-height: 3.5vh;
text-align: center;
margin-left: 1vh;
width: 9vh;
cursor: pointer;
}
.c-page-item {
width: 100%;
overflow: hidden;
}
.c-swiper {
width: 100%;
height: 35vh;
color: #000;
background: #fff;
position: relative;
overflow: hidden;
display: inline-block;
}
.swiper-container {
width: 100%;
height: 100%;
margin-left: auto;
margin-right: auto;
}
.swiper-slide {
background-size: cover;
display: inline-block;
box-sizing: border-box;
width: 75%;
height: 35vh;
overflow: hidden;
background-position: center;
}
.gallery-top {
height: 75%;
width: 100%;
}
.gallery-thumbs {
height: 25%;
box-sizing: border-box;
padding: 10px 0;
}
.gallery-thumbs .swiper-slide {
width: 25%;
height: 100%;
opacity: 0.4;
}
.gallery-thumbs .swiper-slide-thumb-active {
opacity: 1;
}
.c-item {
display: flex;
text-align: center;
width: 25%;
/*padding-bottom: 20%;*/
position: relative;
box-sizing: border-box;
overflow: hidden;
justify-content: space-evenly;
align-content: space-evenly;
}
.c-item > div > div {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.c-item > div:nth-child(1) {
box-sizing: border-box;
padding: 2vh;
width: 35%;
overflow: hidden;
border-radius: 50%;
position: absolute;
left: 0;
}
.c-item img {
width: 100%;
height: 100%;
}
.c-item > div:nth-child(2) {
box-sizing: border-box;
width: 65%;
text-align: left;
padding-left: 2vh;
overflow: hidden;
position: absolute;
left: 35%;
}
.c-item > div > div:nth-child(1) {
font-size: 2vh;
font-weight: bolder;
line-height: 5vh;
}
.c-item > div > div:nth-child(2) {
font-size: 1.6vh;
color: #666;
}
.c-major table td {
padding: 2vh;
}
.c-table th, .c-table td {
padding: 2vh;
}
.c-item-cell {
width: 90%;
height: 16vh;
margin: 2vh 0;
position: relative;
overflow: hidden;
text-align: center;
background-position: center center;
background-size: contain;
background-repeat: no-repeat;
background-color: #000;
}
.c-p {
text-align: left;
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box !important;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
white-space: normal;
line-height: 5vh;
}
</style>