import html2canvas from "html2canvas"
import $ from "jquery";
(function(window,$,html2canvas){
var fishBone = {};
fishBone.gapStep = 250; // 两块的间隙
fishBone.style = '#038dc5';// 颜色设定
fishBone.option = {};
fishBone.dowload = true; //是否提供下载
fishBone.axisTpl = `
`;
fishBone.blockTpl = `
`;
/**line left 21
* node left 20
* label-content left 9
* date-content left 14
*
* left should be increased by gapStep
*
* upperline bottom 50
* lowerline top 50
* node top 49.5
* label-content bottom 54
* date-content 54
*
*/
// 各元素的位置
var lineLeft = 147,nodeLeft = 140,labelContentLeft = 50,
dateContentLeft = 108,upperLineBottom = 206,lowerLineTop = 211,
nodeTop1 = 197,nodeTop2 = 195,labelContentBottom = 230,dateContentTop = 210;
//初始化插件
fishBone.init = function(container,option){
this.style = option.color?option.color:this.style;
this.dowload = option.dowload?option.dowload:this.dowload;
var data = option.data;
var len = data.length;
var tpl = '';
tpl+=this.axisTpl;
for(var i=0;i';
// tpl+='';
// tpl+='';
// tpl+=''
if(i%2==0){
var pos1 = 'top';
var pos2 = 'bottom';
var line = 'topline'
}else{
var pos1 = 'bottom';
var pos2 = 'top';
var line = 'bottomLine'
}
// if(data[i].label){
tpl+='';
tpl+=data[i].label;
tpl+='
'
tpl+=''
if(i%2==0){
tpl+='';
}else{
tpl+='';
}
// }
// if(data[i].date){
// tpl+=''
tpl+='';
tpl+=data[i].date;
tpl+='
';
// }
tpl+='';
}
tpl+='';
tpl+='Start
';
$(container).html(tpl);
// 增加轴的长度
var scale = Math.ceil(len/3);
$(".fish-bone-axis").css({"width":(660*scale+"px")});
$(".dateNodeEnd").css({"left":((660*scale+44)+"px")});
$(".zhanwei").css({"left":((660*scale+60)+"px")});
//设置节点的边框颜色
var color = this.style;
// $(".fish-bone-node").css({"border-color":color});
//插入下载按钮
// if(this.dowload){
// var $dowload = $('')
// .css({"left":"850px","top":"15px"});
// $(container).append($dowload);
// }
this.attachClickEvent(container);
}
// 绑定点击事件
fishBone.attachClickEvent = function(container){
var color = this.style;
$(".fish-bone-block").on("click",function(){
$(".fish-bone-content").css({"background-color":"#f5f5f5"});
$(".fish-bone-node").removeClass("active-node");
$(this).find(".fish-bone-content").css({"background-color":color});
$(this).find(".fish-bone-node").addClass("active-node");
});
$(container+" .fish-bone-download").on("click",function(){
$(container+" .fish-bone-content").removeClass("active-content").css({"background-color":"#f5f5f5"});
$(container+" .fish-bone-node").removeClass("active-node");
html2pic(container);
});
}
// 转图片
function html2pic(container){
var el = $(container).get(0);
var copy = $(container).clone();
if(html2canvas){
$width = $(".fish-bone-axis").width()
// $(container).width($width);
copy.width($width);
// $height = $(container).parent().height()
// $(container).height($height)
$('body').append(copy);
el = copy.get(0)
html2canvas(el, {
onrendered: function(canvas) {
var url = canvas.toDataURL();
var triggerDownload = $("").attr("href", url).attr("download", "下载.png").appendTo("body");
triggerDownload[0].click();
triggerDownload.remove();
copy.remove();
}
});
}
}
window.fishBone = fishBone;
})(window,$,html2canvas);