/* 未能缩小。正在返回未缩小的内容。
(366,50-53): run-time error JS1009: Expected '}': ...
(366,50-53): run-time error JS1009: Expected '}': ...
(366,50-53): run-time error JS1006: Expected ')': ...
(364,17): run-time error JS1004: Expected ';'
(367,17-18): run-time error JS1006: Expected ')': :
(367,17): run-time error JS1004: Expected ';'
(368,21): run-time error JS1004: Expected ';'
(368,21-22): run-time error JS1195: Expected expression: :
(369,23): run-time error JS1004: Expected ';'
(369,23-24): run-time error JS1195: Expected expression: :
(370,20): run-time error JS1004: Expected ';'
(370,20-21): run-time error JS1195: Expected expression: :
(370,31-32): run-time error JS1010: Expected identifier: (
(384,14-15): run-time error JS1195: Expected expression: ,
(386,21): run-time error JS1004: Expected ';'
(386,21-22): run-time error JS1195: Expected expression: :
(388,5-6): run-time error JS1002: Syntax error: }
(388,6-7): run-time error JS1195: Expected expression: )
(389,1-2): run-time error JS1002: Syntax error: }
(389,2-3): run-time error JS1195: Expected expression: )
*/
$(function () {
$('.school_addr a.city_tag_text').click(function () {
if (!$(this).hasClass('city_tag_active')) {
var cityid = $(this).attr('data-id');
var tlist = teachJson[cityid];
if (tlist) {
let htmlstr = '';
for (var teach of tlist) {
htmlstr += `
${teach.name}
${teach.address}
定位中...
导航
`
}
$('.school_addr .addr_list').html(htmlstr);
}
$(this).addClass('city_tag_active').siblings('.city_tag_active').removeClass('city_tag_active');
positioning();
}
})
var curlat, curlng;
/** 定位并初始化校区距离 */
function positioning() {
if (curlat && curlng) {
initTeachDistance();
return;
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
curlat = position.coords.latitude;
curlng = position.coords.longitude;
initTeachDistance();
}, function (res) {
$('.school_addr .addr_list .addr_distance').text('获取当前位置失败,无法计算距离');
},
{
timeout: 10000, // 超时时间为10秒
//maximumAge: 60000, // 最大缓存时间为1分钟
enableHighAccuracy: true // 开启高精度模式
});
} else {
$('.school_addr .addr_list .addr_distance').text('获取当前位置失败,无法计算距离');
}
}
/** 初始化校区距离 */
function initTeachDistance() {
if (!curlat || !curlng) return;
$('.school_addr .addr_list .addr_distance').each(function () {
var lat1 = $(this).attr('data-lat'),
lng1 = $(this).attr('data-lng');
var distance = getDistance(lat1, lng1, curlat, curlng);
if (distance >= 1000) {
$(this).text(`距离您${(distance / 1000).toFixed(1)}km`);
} else {
$(this).text(`距离您${distance.toFixed(1)}m`);
}
})
}
/** 计算两点距离*/
function getDistance(lat1, lon1, lat2, lon2) {
const R = 6371; // 地球半径,单位为千米
const dLat = (lat2 - lat1) * Math.PI / 180;
const dLon = (lon2 - lon1) * Math.PI / 180;
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const distance = R * c * 1000;
return distance; // 返回距离,单位为米
}
positioning();
//头部图片
var photo_img_timeout = null;
$('.photo_imgs .photo_img').mouseover(function () {
if (photo_img_timeout) {
clearTimeout(photo_img_timeout);
}
var video_url = $(this).attr('data-video');
var img_url = $(this).attr('src');
photo_img_timeout = setTimeout(function () {
if (video_url) {
$('.photo_imgs').siblings('img.tell_school_img').hide();
$('.photo_imgs').siblings('video.tell_school_img').show();
} else {
var video = $('.photo_imgs').siblings('video.tell_school_img');
if (video.length && video[0].paused === false) {
video[0].pause();
}
$('.photo_imgs').siblings('img.tell_school_img').attr('src', img_url).show();
video.hide();
}
photo_img_timeout = null;
}, 300)
})
//相册
$('.school_photo .school_photo_img').click(function () {
var data_json = [];
var start_index = 0;
var cur_src = $(this).attr('src');
$('.school_photo .school_photo_img').each((index, item) => {
var imgsrc = $(item).attr('src');
if (imgsrc == cur_src) {
start_index = index;
}
data_json.push({
"alt": "",
"pid": index,
"src": imgsrc,
})
})
layer.photos({
photos: {
"title": "学校相册",
"start": start_index,
"data": data_json
}
});
})
//雷达图
function handleRadar(id) {
var dom = document.getElementById(id);
var myChart = echarts.init(dom, null, {
renderer: 'canvas',
useDirtyRect: false
});
var viewstr = agency_score_json.view;
if (agency_score_json.view >= 10000) {
viewstr = `${agency_score_json.view / 10000}万`
}
//1知名品牌 2普通品牌 3小众品牌
var levelstr = agency_score_json.level == 1 ? '知名品牌' : agency_score_json.level == 2 ? '普通品牌' : '小众品牌';
var level_score = agency_score_json.level == 1 ? 4.7 : agency_score_json.level == 2 ? 4.4 : 4.2;
var indicator = [
{ name: `教学 ${agency_score_json.teach}`, max: 5, color: "#999" },
{ name: `师资 ${agency_score_json.teachers}`, max: 5, color: "#999" },
{ name: `人气 ${viewstr}`, max: +agency_score_json.view < 1000 ? (2 * +agency_score_json.view) : Math.max(2000, +agency_score_json.view), color: "#999" },
{ name: `规模 ${levelstr}`, max: 5, color: "#999" },
{ name: `环境 ${agency_score_json.env}`, max: 5, color: "#999" },
];
var series_data = [agency_score_json.teach, agency_score_json.teachers, +agency_score_json.view, level_score, agency_score_json.env];
var option = {
radar: [
{
center: ["50%", "53%"], //圆中心坐标,数组的第一项是横坐标,第二项是纵坐标。[ default: ['50%', '50%'] ]
radius: "60%", //圆的半径,数组的第一项是内半径,第二项是外半径。
startAngle: 90, //坐标系起始角度,也就是第一个指示器轴的角度。[ default: 90 ]
indicator: indicator,
},
],
series: [
{
position: ['50%', '50%'],
type: 'radar',
tooltip: {
trigger: 'item'
},
areaStyle: {},
name: '综合得分 ' + agency_score_json.avg,
data: [
{
name: '',
position: ['50%', '50%'],
value: series_data,
areaStyle: {
color: "#007AFF",
},
symbol: "none", //去掉圆点
},
]
},
]
};
if (option && typeof option === 'object') {
myChart.setOption(option);
}
window.addEventListener('resize', myChart.resize);
}
handleRadar('radercontent1')
handleRadar('radercontent')
//开课专业筛选
$('.city_tags.course_city a').click(function () {
var subid = $(this).attr('data-id');
var clist = [];
if (subid) {
clist = courseJson.filter(f => f.subjectId == subid);
} else {
clist = courseJson
}
var htmlstr = '';
clist.forEach(function (item, index) {
htmlstr += `
${item.name}
${item.name}
${item.subjectName}
`
})
$('.open_course').html(htmlstr);
$(this).addClass('city_tag_active').siblings('a').removeClass('city_tag_active')
})
//喜欢
$('.opt_upvote').click(function () {
var like;
if ($(this).hasClass('cur-love')) {
like = 2;
$('.opt_upvote.cur-love').removeClass('cur-love').html(` 喜欢`);
} else {
like = 1;
$('.opt_upvote').addClass('cur-love').html(`取消`);
}
$.ajax({
url: '/ajax/seoagencylike',
data: { id: $(this).attr('data-id'), like },
type: 'post',
dataType: 'json',
beforeSend: ajaxBegin,
success: function (result) {
layer.msg('提交成功');
},
error: ajaxError,
complete: ajaxComplete
});
})
var iscomment = false;
//评价弹窗
$('.opt_downvote, .comment_starts').click(function () {
if (iscomment) {
layer.msg('您已提交评价');
return;
};
layer.open({
type: 1, // page 层类型
title: '',
shade: 0.6, // 遮罩透明度
shadeClose: true, // 点击遮罩区域,关闭弹层
anim: 0, // 0-6 的动画形式,-1 不开启
content: $('.layer-ucomment-dlg')
});
})
function getUsedScore() {
var envScore = 0;
var imgs = $('.layer-ucomment-dlg .used-env img');
for (var i = 0; i < 5; i++) {
if (imgs.eq(i).attr('src') === '../../images/v2/icon/start1.png') {
envScore++;
} else {
break;
}
}
var teachersScore = 0;
imgs = $('.layer-ucomment-dlg .used-teachers img');
for (var i = 0; i < 5; i++) {
if (imgs.eq(i).attr('src') === '../../images/v2/icon/start1.png') {
teachersScore++;
} else {
break;
}
}
var teachScore = 0;
imgs = $('.layer-ucomment-dlg .used-teach img');
for (var i = 0; i < 5; i++) {
if (imgs.eq(i).attr('src') === '../../images/v2/icon/start1.png') {
teachScore++;
} else {
break;
}
}
var avgScore = 0;
if (envScore > 0 && teachersScore > 0 && teachScore > 0) {
avgScore = ((envScore + teachersScore + teachScore) / 3).toFixed(1);
}
return {
envScore, teachersScore, teachScore, avgScore
}
}
//选择评分
$('.layer-ucomment-dlg img.used-start').click(function () {
var cur_index = $(this).index()
$(this).closest('div').find('img').each(function (index, item) {
if (index <= cur_index) {
$(item).attr('src', '../../images/v2/icon/start1.png')
} else {
$(item).attr('src', '../../images/v2/icon/start.png')
}
})
var score = getUsedScore();
$('.layer-ucomment-dlg .avgscoreinfo').text(score.avgScore);
})
//提交评价
$('.layer-ucomment-dlg .used-comment-btn').click(function () {
if (iscomment) return;
var score = getUsedScore();
if (score.envScore <= 0 || score.teachersScore <= 0 || score.teachScore <= 0) {
layer.msg('请选择评分')
return;
}
$.ajax({
url: '/ajax/seoagencycomment',
data: { id: $(this).attr('data-id'), ...score },
type: 'post',
dataType: 'json',
beforeSend: ajaxBegin,
success: function (result) {
layer.msg('提交成功');
iscomment = true;
var comment_starts = $('.comment_starts img');
for (var i = 0; i < 5; i++) {
if ((score.avgScore - 1) >= i) {
comment_starts.eq(i).attr('src', '../../images/v2/icon/start1.png')
} else {
comment_starts.eq(i).attr('src', '../../images/v2/icon/start.png')
}
}
layer.closeAll('page');
},
error: ajaxError,
complete: ajaxComplete
});
})
});