由于任务太多,管理并不方便。
效果如图:
所以我通过视图层面,给pyspider加一个分组。未修改核心程序,只需要修改一个模板文件,方法如下:
1.找到pyspider安装目录(一般在python/lib/site-packages/pyspider)
2.打开文件,pyspider/webui/templates/index.html (为防止意外,请先备份此文件)
3.搜索 <div class="modal fade" 在这句代码上面!!添加如下代码:
<style>
*{outline:None}
.top_group{ width: auto; height: 36px; overflow:hidden}
.top_group button{height:34px;margin-left:10px; background: #428bca;border-radius:5px;border: none; color: #fff; padding: 0 6px}
</style>
<div class="top_group"></div>
4.搜索 <tr v-cloak v-for="project in projects" data-name="{{* project.name }}">替换成:
<tr class="the_group group_{{ project.group?project.group:null }}" style="display: none" v-cloak v-for="project in projects" data-name="{{* project.name }}">
5.在页面最底部 </body>之前添加如下代码:
<script>
Vue.prototype.groupBtn = function (a) {
$('.the_group').hide(); $('.group_' + a).show();
}
var new_group = []
var group_html =''
projects.forEach(function(value, index, array) {
var group = value['group']
if(new_group.indexOf(group)<0 && group!=null && group!=''){
new_group.push(group)
group_html = group_html + '<button group="'+group+'">'+ group +'</button>'
}
});
group_html = group_html +'<button group="null">未分组</button>'
document.getElementsByClassName('top_group')[0].innerHTML=group_html
$(".top_group button:first-child").css("background-color","#ba7d1c");
$(".top_group button").click(function(){
var group = $(this).attr('group')
$('.the_group').hide();
$('.group_' + group).show();
$(".top_group button").removeAttr('style');
$(this).css("background-color","#ba7d1c");
});
$(function(){
$(".group_"+new_group[0]).show()
if(new_group.length<1) $('.the_group').show();
});
</script>
6.重启webui服务。刷新pyspider主页,可以看到效果。