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.

154 lines
6.4 KiB

const app = {
data() {
return {
list: [
{
num: 1, schoolName: '长春市第一实验小学1',
projectList:
[{ projectName: '项目立项', projectCount: 2, className: 'aaa' }, { projectName: '招标采购', projectCount: 3 }, { projectName: '实施验收', projectCount: 4 }, { projectName: '项目拨付', projectCount: 5 }],
completionRate: 100
},
{
num: 2, schoolName: '长春市十一高中',
projectList:
[{ projectName: '项目立项', projectCount: 6 }, { projectName: '招标采购', projectCount: 5 }, { projectName: '实施验收', projectCount: 4 }, { projectName: '项目拨付', projectCount: 3 }],
completionRate: 98
},
{
num: 3, schoolName: '长春市第一实验小学',
projectList:
[{ projectName: '项目立项', projectCount: 6 }, { projectName: '招标采购', projectCount: 5 }, { projectName: '实施验收', projectCount: 4 }, { projectName: '项目拨付', projectCount: 3 }],
completionRate: 90
},
{
num: 4, schoolName: '长春市十一高中',
projectList:
[{ projectName: '项目立项', projectCount: 6 }, { projectName: '招标采购', projectCount: 5 }, { projectName: '实施验收', projectCount: 4 }, { projectName: '项目拨付', projectCount: 3 }],
completionRate: 88
},
{
num: 5, schoolName: '长春市第六中学',
projectList:
[{ projectName: '项目立项', projectCount: 6 }, { projectName: '招标采购', projectCount: 5 }, { projectName: '实施验收', projectCount: 4 }, { projectName: '项目拨付', projectCount: 3 }],
completionRate: 79
}
],
tabTitle: ['完成率', '项目立项', '招标采购', '实施验收', '项目拨付', '项目结束'],
cur: 0
}
},
mounted() {
this.getQsfb();
this.getWnfb();
this.getSsjd();
this.numJump();
setTimeout(() => {
this.numJumpRandom();
}, Math.round(Math.random() * 5000 + 5000));
},
methods: {
tabClick: function (index) {
this.cur = index;
},
getQsfb() {
let qsfbDiv = echarts.init(document.getElementById('qsfb'), 'white', { renderer: 'canvas' });
qsfbDiv.clear();
qsfbDiv.setOption(qsfbData);
qsfbDiv.resize();
},
getWnfb() {
let wnfbDiv = echarts.init(document.getElementById('wnfb'), 'white', { renderer: 'canvas' });
wnfbDiv.clear();
wnfbDiv.setOption(wnfbData);
wnfbDiv.resize();
},
getSsjd() {
let ssjdDiv = echarts.init(document.getElementById('ssjd'), 'white', { renderer: 'canvas' });
ssjdDiv.clear();
ssjdDiv.setOption(ssjdData);
ssjdDiv.resize();
},
numJumpRandom() {
let r = Math.round(Math.random() * 5000 + 5000);
this.numJump();
setTimeout(() => {
this.numJumpRandom();
}, r);
},
numJump() {
var xmlxNum = new CountUp("xmlxNum", 0, 128, 0, 2.5);
var zbcgNum = new CountUp("zbcgNum", 0, 121, 0, 2.3);
var ssysNum = new CountUp("ssysNum", 0, 60, 0, 2.1);
var xmbfNum = new CountUp("xmbfNum", 0, 26, 0, 2);
xmlxNum.start();
zbcgNum.start();
ssysNum.start();
xmbfNum.start();
},
wnfbTabClick: function (id) {
let wnfbDiv = echarts.init(document.getElementById('wnfb'), 'white', { renderer: 'canvas' });
if(id === 'wnfbZl'){
$("#wnfbYs").css("color","#AAAAAA");
$("#wnfbZl").css("color","#3CD5FF");
wnfbDiv.clear();
wnfbDiv.setOption(wnfbData);
}else{
$("#wnfbZl").css("color","#AAAAAA");
$("#wnfbYs").css("color","#3CD5FF");
wnfbDiv.clear();
wnfbDiv.setOption(wnfbYsData);
}
},
//初始化百度地图
initMap() {
var map = new BMap.Map("baiduMap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(125.331176, 43.89292), 13); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
map.setMapStyle({ style: 'bluish' }); //样式
map.setCurrentCity("长春");
var myIcon = new BMap.Icon("./images/s11.png", new BMap.Size(32, 32));
for (var i = 0; i < points.length; i++) {
var point = points[i].point;
if(points[i].orgType == 1){
myIcon = new BMap.Icon("./images/s12.png", new BMap.Size(32, 32));
}
var marker = new BMap.Marker(point, {
icon: myIcon
});
var label = new BMap.Label(points[i].name, { offset: new BMap.Size(35, 3) });
label.setStyle({
color: '#1296DB',
borderRadius: '5px',
borderColor: '#1296DB',
padding: '5px',
fontSize: '12px',
fontFamily: '微软雅黑',
fontWeight: 'bolder'
});
marker.setLabel(label);
// 禁止覆盖物在map.clearOverlays方法中被清除
marker.disableMassClear();
map.addOverlay(marker);
marker.addEventListener('click', function (e) {
console.log(e.target.K.label.content);
window.open("./child.html?schoolName=" + BASE64.encode(e.target.K.label.content));
});
}
}
}
}
Vue.createApp(app).component('Vue3SeamlessScroll', Vue3SeamlessScroll.Vue3SeamlessScroll).mount("#app");