This commit is contained in:
dong_bo0602 2021-04-14 16:05:33 +08:00
parent f659a05620
commit 3ca734c067
4 changed files with 549 additions and 130 deletions

View File

@ -101,12 +101,16 @@
.nav-title{padding-bottom:10px;border-bottom:1px solid #ddd} .nav-title{padding-bottom:10px;border-bottom:1px solid #ddd}
.nav-title span{display:inline-block;padding-left:10px;border-left:5px solid #3d41b7;font-size:16px;color:#333;font-weight:400} .nav-title span{display:inline-block;padding-left:10px;border-left:5px solid #3d41b7;font-size:16px;color:#333;font-weight:400}
.nav-tab{border-bottom:1px dashed #ddd;padding:0 10px} .nav-tab{border-bottom:1px dashed #ddd;padding:0 10px}
.nav-tab.active .tab-title{color:#3d41b7;border-bottom:1px dashed #ddd} .nav-tab .tab-title.active{color:#3d41b7;}
.nav-tab .tab-title.bordered{border-bottom:1px dashed #ddd}
.tab-title{line-height:60px;font-weight:700;font-size:16px;color:#333;cursor:pointer} .tab-title{line-height:60px;font-weight:700;font-size:16px;color:#333;cursor:pointer}
.hide-list{display:none} .hide-list{display:none}
.hide-list li{height:40px;line-height:40px;padding-left:20px;position:relative;cursor:pointer} .hide-list li{line-height:40px;padding-left:20px;position:relative;cursor:pointer;border-top: 1px dashed #ddd}
.hide-list li:after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#333;position:absolute;top:50%;left:7px;margin-top:-3px} .hide-list li .nav-name{line-height: 40px;white-space: nowrap;overflow:hidden;text-overflow: ellipsis;}
.hide-list li.active{color:#3d41b7} .hide-list li .nav-name.bordered{border-bottom: 1px dashed #ddd;}
.hide-list li:first-child{border: none}
.hide-list li:after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#333;position:absolute;top:20px;left:7px;margin-top:-3px}
.hide-list li .nav-name.active{color:#3d41b7}
.hide-list li.active:after{background:#3d41b7} .hide-list li.active:after{background:#3d41b7}
.right-main{width:1230px;float:right} .right-main{width:1230px;float:right}
.assessment-search{padding:15px;background:#fff;border-radius:5px;box-shadow:0 0 10px #eee} .assessment-search{padding:15px;background:#fff;border-radius:5px;box-shadow:0 0 10px #eee}
@ -130,3 +134,6 @@
.pager ul{display:inline-block;overflow:hidden;vertical-align:middle} .pager ul{display:inline-block;overflow:hidden;vertical-align:middle}
.pager ul li{width:35px;line-height:35px;float:left;margin-right:10px;border:1px solid #ddd;box-sizing:border-box;cursor:pointer;text-align:center;font-size:14px;color:#333} .pager ul li{width:35px;line-height:35px;float:left;margin-right:10px;border:1px solid #ddd;box-sizing:border-box;cursor:pointer;text-align:center;font-size:14px;color:#333}
.pager ul li.active{color:#1e16c6;border:1px solid #1e16c6} .pager ul li.active{color:#1e16c6;border:1px solid #1e16c6}
.fullWidth{width: 100% !important;}
.no-data{text-align: center;padding: 200px 0;background: #fff;border-radius: 5px;box-shadow: 0 0 10px #eee;}
.no-data img{width: 200px;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -37,14 +37,16 @@
</div> </div>
</a> </a>
</li> </li>
<li> <li v-for="(nav, idx) in topNavList" @click="goNav(nav.id)">
<a href="javascript: void(0);"> <a href="javascript: void(0);">
<div class="left fl"> <div class="left fl">
<span>责任清单</span> <span>{{nav.name}}</span>
<p>主体/监督责任清单</p> <!-- <p>主体/监督责任清单</p>-->
</div> </div>
<div class="right fr"> <div class="right fr">
<img src="assets/web/images/nav-icon3.png" alt=""> <img src="assets/web/images/nav-icon3.png" alt="" v-if="idx == 0">
<img src="assets/web/images/nav-icon5.png" alt="" v-if="idx == 1">
<img src="assets/web/images/nav-icon6.png" alt="" v-if="idx == 2">
</div> </div>
</a> </a>
</li> </li>
@ -59,28 +61,6 @@
</div> </div>
</a> </a>
</li> </li>
<li>
<a href="javascript: void(0);">
<div class="left fl">
<span>成绩查看</span>
<p>成绩得分排名</p>
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon5.png" alt="">
</div>
</a>
</li>
<li>
<a href="javascript: void(0);">
<div class="left fl">
<span>综合管理</span>
<p>各类信息综合管理</p>
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon6.png" alt="">
</div>
</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -120,39 +100,28 @@
<div class="nav-title"> <div class="nav-title">
<span>功能一览</span> <span>功能一览</span>
</div> </div>
<div class="nav-tab active"> <div class="nav-tab" v-for="(nav, idx) in navList" :id="'nav' + idx">
<div class="tab-title">记录考核指标</div> <div class="tab-title" @click="openDetail(nav.id, nav.childrens, idx)" :id="'item' + nav.id">{{nav.name}}</div>
<div class="hide-list" style="display: block"> <div class="hide-list" v-if="nav.childrens && nav.childrens.length > 0">
<ul> <ul>
<li class="active">主体责任清单</li> <li v-for="(child, idx0) in nav.childrens">
<li>监督责任清单</li> <div class="nav-name" :id="'item' + child.id" @click="openDetail(child.id, child.childrens)">{{child.name}}</div>
<div class="hide-list" v-if="child.childrens && child.childrens.length > 0">
<ul>
<li v-for="(child1, idx1) in child.childrens">
<div class="nav-name" :id="'item' + child1.id" @click="openDetail(child1.id, child1.childrens)">{{child1.name}}</div>
<div class="hide-list" v-if="child1.childrens && child1.childrens.length > 0">
<ul>
<li v-for="(child2, idx2) in child1.childrens">
<div class="nav-name">{{child2.name}}</div>
</li>
</ul> </ul>
</div> </div>
</div> </li>
<div class="nav-tab">
<div class="tab-title">待审核项</div>
<div class="hide-list">
<ul>
<li class="active">主体责任清单</li>
<li>监督责任清单</li>
</ul> </ul>
</div> </div>
</div> </li>
<div class="nav-tab">
<div class="tab-title">已通过审核项目</div>
<div class="hide-list">
<ul>
<li class="active">主体责任清单</li>
<li>监督责任清单</li>
</ul>
</div>
</div>
<div class="nav-tab">
<div class="tab-title">未通过审核项目</div>
<div class="hide-list">
<ul>
<li class="active">主体责任清单</li>
<li>监督责任清单</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -195,66 +164,12 @@
</div> </div>
<div class="main-list"> <div class="main-list">
<ul> <ul>
<li> <li v-for="(list,idx) in mainList">
<div class="line"> <div class="line">
<span>类别:</span>加强组织领导 <span>类别:</span>{{list.indexLibName}}
</div> </div>
<div class="line"> <div class="line">
<span>项目:</span>各苏木镇(管委会委自觉扛起全面从严治党政治责任认真履行党风廉政建设主体责任15分苏木镇(管委会)党(工)委召开专题会议研究部署落实党(工)委主体责任 相关工作2分按照年度主体责任清单、监督责任清单认真开展党风廉政建设督查、考核、问责等相关工作3分严格落实请示报告制度健全完善主体责任落实纪实制度2分 深化国家监察体制改革试点工作重视纪检监察干部的培养与使用8分 <span>项目:</span>{{list.indexLibRemark}}
</div>
<div class="line">
<span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span>
</div>
<div class="line">
<span>操作:</span>
<a href="javascript: void(0);" class="operation-btn operation-examine">待审核(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-pass">已通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-not-pass">未通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-score">得分</a>
</div>
</li>
<li>
<div class="line">
<span>类别:</span>加强组织领导
</div>
<div class="line">
<span>项目:</span>各苏木镇(管委会委自觉扛起全面从严治党政治责任认真履行党风廉政建设主体责任15分苏木镇(管委会)党(工)委召开专题会议研究部署落实党(工)委主体责任 相关工作2分按照年度主体责任清单、监督责任清单认真开展党风廉政建设督查、考核、问责等相关工作3分严格落实请示报告制度健全完善主体责任落实纪实制度2分 深化国家监察体制改革试点工作重视纪检监察干部的培养与使用8分
</div>
<div class="line">
<span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span>
</div>
<div class="line">
<span>操作:</span>
<a href="javascript: void(0);" class="operation-btn operation-examine">待审核(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-pass">已通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-not-pass">未通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-score">得分</a>
</div>
</li>
<li>
<div class="line">
<span>类别:</span>加强组织领导
</div>
<div class="line">
<span>项目:</span>各苏木镇(管委会委自觉扛起全面从严治党政治责任认真履行党风廉政建设主体责任15分苏木镇(管委会)党(工)委召开专题会议研究部署落实党(工)委主体责任 相关工作2分按照年度主体责任清单、监督责任清单认真开展党风廉政建设督查、考核、问责等相关工作3分严格落实请示报告制度健全完善主体责任落实纪实制度2分 深化国家监察体制改革试点工作重视纪检监察干部的培养与使用8分
</div>
<div class="line">
<span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span>
</div>
<div class="line">
<span>操作:</span>
<a href="javascript: void(0);" class="operation-btn operation-examine">待审核(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-pass">已通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-not-pass">未通过(0)</a>
<a href="javascript: void(0);" class="operation-btn operation-score">得分</a>
</div>
</li>
<li>
<div class="line">
<span>类别:</span>加强组织领导
</div>
<div class="line">
<span>项目:</span>各苏木镇(管委会委自觉扛起全面从严治党政治责任认真履行党风廉政建设主体责任15分苏木镇(管委会)党(工)委召开专题会议研究部署落实党(工)委主体责任 相关工作2分按照年度主体责任清单、监督责任清单认真开展党风廉政建设督查、考核、问责等相关工作3分严格落实请示报告制度健全完善主体责任落实纪实制度2分 深化国家监察体制改革试点工作重视纪检监察干部的培养与使用8分
</div> </div>
<div class="line"> <div class="line">
<span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span> <span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span>
@ -317,7 +232,11 @@
page: 1, page: 1,
rows: 10, rows: 10,
totalPage: 10 totalPage: 10
} },
navList: [],
mainList: [],
curMainId: '',
topNavList: []
}, },
methods: { methods: {
// 饼图 // 饼图
@ -369,7 +288,10 @@
var self = this; var self = this;
var loadLayerIndex; var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/indexlib/listztreeweb', []), {}, null, function(code, data) { top.restAjax.get(top.restAjax.path('api/indexlib/listztreeweb', []), {}, null, function(code, data) {
console.log(data) self.navList = data
self.$nextTick(function () {
self.getDefault(data[0])
})
}, function(code, data) { }, function(code, data) {
layer.msg(data.msg); layer.msg(data.msg);
}, function() { }, function() {
@ -377,20 +299,88 @@
}, function() { }, function() {
layer.close(loadLayerIndex); layer.close(loadLayerIndex);
}); });
},
// 获取默认加载项
getDefault: function (item) {
$('#item' + item.id).addClass('active')
if (item.childrens.length == 0) {
this.getMainList(item.id)
} else {
$('#item' + item.id).next().show()
this.getDefault(item.childrens[0])
}
},
// 展开菜单或加载右侧
openDetail: function (id, children, idx) {
var self = this
var node = $('#item' + id)
if (children.length > 0) {
node.next().slideToggle()
if (node.hasClass('tab-title')) {
node.toggleClass('active')
node.toggleClass('bordered')
$('#nav' + idx).siblings().find('.hide-list').slideUp()
$('#nav' + idx).siblings().find('.tab-title').removeClass('active')
$('#nav' + idx).siblings().find('.tab-title').removeClass('bordered')
$('#nav' + idx).siblings().find('.nav-name').removeClass('bordered')
$('#nav' + idx).siblings().find('.nav-name').removeClass('active')
} else if (node.hasClass('nav-name')) {
node.toggleClass('active')
node.toggleClass('bordered')
node.parent().siblings().find('.nav-name').removeClass('active')
node.parent().siblings().find('.nav-name').removeClass('bordered')
node.parent().siblings().find('.hide-list').slideUp()
}
} else {
node.toggleClass('active')
node.parent().siblings().find('.tab-title').removeClass('active')
node.parent().siblings().find('.tab-title').removeClass('bordered')
node.parent().siblings().find('.hide-list').slideUp()
node.parent().siblings().find('.nav-name').removeClass('active')
node.parent().siblings().find('.nav-name').removeClass('bordered')
self.getMainList(id)
}
},
// 获取右侧列表
getMainList: function (id) {
var self = this;
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/indexlib/listpage/' + id, []), {}, null, function(code, data) {
self.mainList = data.rows
self.page.page = data.page
self.page.totalPage = Math.ceil(data.total / self.page.rows)
}, function(code, data) {
layer.msg(data.msg);
}, function() {
loadLayerIndex = layer.load(0, {shade: false});
}, function() {
layer.close(loadLayerIndex);
});
},
// 获取顶部导航
getTopNav: function () {
var self = this
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/indexlib/listwebtags', []), {}, null, function(code, data) {
console.log(data)
self.topNavList = data
}, function(code, data) {
layer.msg(data.msg);
}, function() {
loadLayerIndex = layer.load(0, {shade: false});
}, function() {
layer.close(loadLayerIndex);
});
},
// 顶部导航跳转页面
goNav: function (id) {
window.location.href = 'route/web/public.html?id=' + id
} }
}, },
mounted: function () { mounted: function () {
this.initChart() this.initChart()
this.getNav() this.getNav()
$('.nav-tab').click(function () { this.getTopNav()
$(this).toggleClass('active')
$(this).siblings().removeClass('active')
$(this).siblings().find('.hide-list').slideUp()
$(this).find('.hide-list').slideToggle()
})
$('.hide-list').click(function (e) {
e.stopPropagation();
})
} }
}) })
</script> </script>

View File

@ -0,0 +1,422 @@
<!DOCTYPE html>
<html lang="en">
<head>
<base href="/twoduty/">
<meta charset="UTF-8">
<title>"四五六"众力监督平台</title>
<link rel="stylesheet" href="assets/web/css/reset.css">
<link rel="stylesheet" href="assets/web/css/style.css">
</head>
<body style="background: #f5f5f5">
<div id="app">
<div class="header assessment-header">
<div class="banner">
<img src="assets/web/images/assessment-banner.png" alt="">
</div>
<div class="nav">
<ul class="clearFloat" v-cloak>
<li>
<a href="index.html">
<div class="left fl">
<span>首页</span>
<p>众力监督平台</p>
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon1.png" alt="">
</div>
</a>
</li>
<li>
<a href="notice.html">
<div class="left fl">
<span>相关通知</span>
<p>各部门通知公告</p>
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon2.png" alt="">
</div>
</a>
</li>
<li v-for="(nav, idx) in topNavList" :class="{active: nav.id == pageId}" @click="goNav(nav.id)">
<a href="javascript: void(0);">
<div class="left fl">
<span>{{nav.name}}</span>
<!-- <p>主体/监督责任清单</p>-->
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon3.png" alt="" v-if="idx == 0">
<img src="assets/web/images/nav-icon5.png" alt="" v-if="idx == 1">
<img src="assets/web/images/nav-icon6.png" alt="" v-if="idx == 2">
</div>
</a>
</li>
<li>
<a href="javascript: void(0);">
<div class="left fl">
<span>记实考核</span>
<p>各类记实考核</p>
</div>
<div class="right fr">
<img src="assets/web/images/nav-icon4.png" alt="">
</div>
</a>
</li>
</ul>
</div>
</div>
<div class="count clearFloat">
<div class="chart-box fl">
<div class="count-title">三重一大分类统计</div>
<div class="chart" id="chart"></div>
</div>
<div class="count-container fr">
<div class="count-title">三重一大管理</div>
<div class="count-out clearFloat">
<div class="count-box">
<span>0</span>
<p>待审核</p>
</div>
<div class="count-box">
<span>0</span>
<p>待审核</p>
</div>
<div class="count-box">
<span>0</span>
<p>待审核</p>
</div>
<div class="count-box">
<span>0</span>
<p>待审核</p>
</div>
<div class="count-box">
<span>0</span>
<p>待审核</p>
</div>
</div>
</div>
</div>
<div class="assessment-main clearFloat" v-cloak>
<div class="left-nav" v-if="navList && navList.length > 0">
<div class="nav-title">
<span>功能一览</span>
</div>
<div class="nav-tab" v-for="(nav, idx) in navList" :id="'nav' + idx">
<div class="tab-title" @click="openDetail(nav.id, nav.childrens, idx)" :id="'item' + nav.id">{{nav.name}}</div>
<div class="hide-list" v-if="nav.childrens && nav.childrens.length > 0">
<ul>
<li v-for="(child, idx0) in nav.childrens">
<div class="nav-name" :id="'item' + child.id" @click="openDetail(child.id, child.childrens)">{{child.name}}</div>
<div class="hide-list" v-if="child.childrens && child.childrens.length > 0">
<ul>
<li v-for="(child1, idx1) in child.childrens">
<div class="nav-name" :id="'item' + child1.id" @click="openDetail(child1.id, child1.childrens)">{{child1.name}}</div>
<div class="hide-list" v-if="child1.childrens && child1.childrens.length > 0">
<ul>
<li v-for="(child2, idx2) in child1.childrens">
<div class="nav-name">{{child2.name}}</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="right-main" :class="{fullWidth: navList && navList.length == 0}">
<div class="assessment-search">
<div class="nav-title">
<span>主体责任清单</span>
</div>
<div class="assessment-search-container clearFloat">
<div class="assessment-search-box">
<div class="search-title">标题检索</div>
<input type="text" placeholder="请输入关键字模糊查询" v-model="page.keywords">
</div>
<!-- <div class="assessment-search-box">-->
<!-- <div class="search-title">单位类型</div>-->
<!-- <select>-->
<!-- <option value="0">请选择单位类型</option>-->
<!-- <option value="1">类型1</option>-->
<!-- <option value="2">类型2</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="assessment-search-box">-->
<!-- <div class="search-title">单位</div>-->
<!-- <select>-->
<!-- <option value="0">请选择单位</option>-->
<!-- <option value="1">单位1</option>-->
<!-- <option value="2">单位2</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- <div class="assessment-search-box">-->
<!-- <div class="search-title">年度</div>-->
<!-- <select class="year">-->
<!-- <option value="0">2020</option>-->
<!-- <option value="1">2021</option>-->
<!-- </select>-->
<!-- </div>-->
<button @click="">搜索</button>
</div>
</div>
<div class="main-list">
<ul v-cloak v-if="mainList && mainList.length > 0">
<li v-for="(list,idx) in mainList">
<div class="line">
<span>类别:</span>{{list.indexLibName}}
</div>
<div class="line">
<span>项目:</span>{{list.indexLibRemark}}
</div>
<div class="line">
<span>指标明细项:</span>1.苏木镇(管委会委每月研究部署、学习传达党风廉政建设相关工作1次全年不少于12次每缺1次扣0.2分。按月上报至考核系统。 <span>分值2分</span>
</div>
<div class="line">
<span>操作:</span>
<a href="javascript: void(0);" class="operation-btn operation-examine" @click="doReport(list.indexTemplateSavePath, list.indexLibId)">上报</a>
<!-- <a href="javascript: void(0);" class="operation-btn operation-pass">已通过(0)</a>-->
<!-- <a href="javascript: void(0);" class="operation-btn operation-not-pass">未通过(0)</a>-->
<!-- <a href="javascript: void(0);" class="operation-btn operation-score">得分</a>-->
</div>
</li>
</ul>
<div class="no-data" v-else>
<img src="assets/web/images/no-data.png" alt="">
</div>
</div>
<div class="pager" v-cloak v-if="page.totalPage > 1">
<span @click="paging(page.page - 1)" v-if="page.page > 1">上一页</span>
<ul class="clearFloat" v-if="page.totalPage > 0 && page.totalPage <= 5">
<li v-for="cpage in page.totalPage" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
</ul>
<ul class="clearFloat" v-if="page.totalPage > 5">
<li v-if="page.page < 3" v-for="cpage in 5" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
<li v-if="page.page > page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.totalPage - 5 + cpage)}" :key="cpage" @click="paging(cpage)">
{{page.totalPage - 5 + cpage}}
</li>
<li v-if="page.page >= 3 && page.page <= page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.page - (3 - cpage))}" :key="cpage" @click="paging(cpage)">
{{page.page - (3 - cpage)}}
</li>
</ul>
<span @click="paging(page.page + 1)" v-if="page.page < page.totalPage">下一页</span>
</div>
</div>
</div>
<div class="bottom-nav">
<div class="nav-title">门户导航</div>
<div class="nav-list">
<a href="javascript: void(0);">中央纪委监察部</a>
<a href="javascript: void(0);">河北省纪委监察厅</a>
<a href="javascript: void(0);">沧州市纪委监察局</a>
</div>
</div>
<div class="footer">
版权所有:杭锦旗纪委监察局 备案号蒙ICP备 14000612 技术支持内蒙古成迈信息科技有限公司0471-5316868
</div>
</div>
<script src="assets/web/js/jquery-2.1.4.min.js"></script>
<script src="assets/web/js/jquery.SuperSlide.2.1.1.js"></script>
<script src="assets/web/js/vue.js"></script>
<script src="assets/web/js/echarts.js"></script>
<script src="assets/js/restajax.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script src="assets/layuiadmin/modules/dialog.js"></script>
<script src="assets/web/layer-v3.3.0/layer/layer.js"></script>
<script>
var vue = new Vue({
el: '#app',
data: {
page: {
page: 1,
rows: 10,
totalPage: 10,
keywords: ''
},
navList: [],
mainList: [],
curId: '',
topNavList: [],
loadLayerIndex: '',
pageId: ''
},
methods: {
// 饼图
initChart: function () {
var self = this;
var echartsRadar = echarts.init(document.getElementById("chart"));
var option = {
tooltip: {
trigger: 'item',
formatter: '{b} : {c} ({d}%)'
},
legend: {
x: '0',
y: '25px',
orient: 'vertical'
},
series: [
{
type: 'pie',
radius: '65%',
center: ['70%', '50%'],
selectedMode: 'single',
data: [
{value: 1548, name: '重大项目安排',},
{value: 735, name: '大额基金使用'},
],
label: {
normal: {
show: false,
position: 'inside',
formatter:"{b}:{d}%"
}
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
],
color: ['#0097f0','#7ecef4']
};
echartsRadar.setOption(option);
},
// 获取左侧菜单
getNav: function () {
var self = this;
top.restAjax.get(top.restAjax.path('api/indexlib/listztreeweb/{indexLibParentId}', [self.curId]), {}, null, function(code, data) {
self.navList = data
if (data.length > 0) {
self.$nextTick(function () {
self.getDefault(data[0])
})
} else {
self.getMainList(self.curId)
}
}, function(code, data) {
layer.msg(data.msg);
}, function() {
// loadLayerIndex1 = layer.load(0, {shade: false});
}, function() {
// layer.close(loadLayerIndex1);
});
},
// 获取默认加载项
getDefault: function (item) {
$('#item' + item.id).addClass('active')
if (item.childrens.length == 0) {
this.getMainList(item.id)
} else {
$('#item' + item.id).next().show()
this.getDefault(item.childrens[0])
}
},
// 展开菜单或加载右侧
openDetail: function (id, children, idx) {
var self = this
var node = $('#item' + id)
if (children.length > 0) {
node.next().slideToggle()
if (node.hasClass('tab-title')) {
node.toggleClass('active')
node.toggleClass('bordered')
$('#nav' + idx).siblings().find('.hide-list').slideUp()
$('#nav' + idx).siblings().find('.tab-title').removeClass('active')
$('#nav' + idx).siblings().find('.tab-title').removeClass('bordered')
$('#nav' + idx).siblings().find('.nav-name').removeClass('bordered')
$('#nav' + idx).siblings().find('.nav-name').removeClass('active')
} else if (node.hasClass('nav-name')) {
node.toggleClass('active')
node.toggleClass('bordered')
node.parent().siblings().find('.nav-name').removeClass('active')
node.parent().siblings().find('.nav-name').removeClass('bordered')
node.parent().siblings().find('.hide-list').slideUp()
}
} else {
node.toggleClass('active')
node.parent().siblings().find('.tab-title').removeClass('active')
node.parent().siblings().find('.tab-title').removeClass('bordered')
node.parent().siblings().find('.hide-list').slideUp()
node.parent().siblings().find('.nav-name').removeClass('active')
node.parent().siblings().find('.nav-name').removeClass('bordered')
self.curId = id
self.getMainList(id)
}
},
// 获取右侧列表
getMainList: function (id) {
var self = this;
// var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/indexlib/listpage/{indexLibParentId}', [id]), self.page, null, function(code, data) {
self.mainList = data.rows
self.page.page = data.page
self.page.totalPage = Math.ceil(data.total / self.page.rows)
}, function(code, data) {
layer.msg(data.msg);
}, function() {
self.loadLayerIndex = layer.load(0, {shade: false});
}, function() {
layer.close(self.loadLayerIndex);
});
},
// 分页
paging: function (page) {
this.page.page = page
this.getMainList(this.curId)
},
// 获取顶部导航
getTopNav: function () {
var self = this
// var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/indexlib/listwebtags', []), {}, null, function(code, data) {
self.topNavList = data
}, function(code, data) {
layer.msg(data.msg);
}, function() {
// loadLayerIndex = layer.load(0, {shade: false});
}, function() {
// layer.close(loadLayerIndex);
});
},
// 顶部导航跳转页面
goNav: function (id) {
window.location.href = 'route/web/public.html?id=' + id
},
// 上报
doReport: function (path, id) {
console.log(path)
layer.open({
type: 2,
title: false,
closeBtn: true,
area: ['70%', '70%'],
shadeClose: true,
anim: 2,
content: top.restAjax.path(path + '{id}', [id]),
end: function() {
self.getMainList(self.curId)
}
});
}
},
mounted: function () {
this.curId = restAjax.params(window.location.href).id
this.pageId = restAjax.params(window.location.href).id
this.initChart()
this.getNav()
this.getTopNav()
}
})
</script>
</body>
</html>