var DEFAULT_, OPTION_, TYPE_='Pie2D', TITLE_ = 'Online 动态图表配置', DATA_, ANIMATION_ = true, SHADOW_ = false, f = true, BACKGROUND_COLOR = '#FEFEFE', COO_BACKGROUND_COLOR = '#FEFEFE', IMAGE_DATA = ""; var color = ['#a5c2d5', '#cbab4f', '#76a871', '#c12c44', '#9f7961', '#6f83a5']; function doPie(){ DEFAULT_ = { data : DATA_, sub_option : { label : { background_color : null, sign : false, padding : '0 4', border : { enable : false, color : '#666666' }, fontsize : 12, fontweight : 600, color : '#982e35' } }, showpercent : true, yHeight : 30, decimalsnum : 2 }; } function doColumn(){ DEFAULT_ = { data : DATA_, text_space : TYPE_=='Column3D'?16:6, coordinate : { width : '86%', height : '80%', color_factor : 0.24, board_deep:10,//背面厚度 pedestal_height:10,//底座高度 left_board:false,//取消左侧面板 axis : { color : '#c0d0e0', width : [0, 0, 1, 0] }, scale : [{ position : 'left', scale_enable : false, label : { fontsize : 11, color : '#4c4f48' } }] }, label : { fontsize : 11, color : '#4c4f48' }, zScale:0.5, bottom_scale:1.1, sub_option : { label : { fontsize : 11, fontweight : 600, color : '#4572a7' }, border : { width : 2, color : '#ffffff' } } }; } function doBar(){ DEFAULT_ = { data : DATA_, coordinate : { width : '80%', height : '80%', axis : { color : '#c0d0e0', width:[1,1,1,4] }, scale : [{ position : 'bottom', scale_enable : false, label : { fontsize : 11, color : '#4c4f48' } }] }, label : { fontsize : 11, color : '#4c4f48' }, zScale:0.5, bottom_scale:1.1, sub_option : { label : { fontsize : 11, fontweight : 600, color : '#4572a7' }, border : { width : 2, color : '#ffffff' } } }; } function doLine(){ var labels = [], data_l = []; for ( var i = 0; i < DATA_.length; i++) { labels.push(DATA_[i].name); data_l.push(DATA_[i].value); } if (data_l.length == 1) { alert("折线图至少需要2组数据才能画线哦!请定制数据或者选择其他图形."); return; } DEFAULT_ = { data_labels : labels, data : [{ name : '', value : data_l, color : '#1f7e92', linewidth : 3 }], //update-begin--author:zhangjiaqiang Date:20170213 for:修订综合报表当中折线图、面积图X轴信息错误 labels:labels, //update-begin--author:zhangjiaqiang Date:20170213 for:修订综合报表当中折线图、面积图X轴信息错误 sub_option : { label : { fontsize : 14, fontweight:600, color : '#4c4f48' }, smooth : OPTION_ == '1', hollow_inside:false, point_size:16, hollow : true }, coordinate : { width : '84%', height : '75%' } }; } function doChart() { if (TYPE_ == 'Pie2D' || TYPE_ == 'Pie3D') { doPie(); } else if (TYPE_ == 'Column2D' || TYPE_ == 'Column3D') { doColumn(); } else if (TYPE_ == 'Bar2D') { doBar(); } else if (TYPE_ == 'LineBasic2D' || TYPE_ == 'Area2D') { doLine(); } if (TITLE_ != '') { DEFAULT_.title = TITLE_; } DEFAULT_.width = 800; DEFAULT_.height = 400; DEFAULT_.render = 'canvasDiv'; DEFAULT_.animation = ANIMATION_; DEFAULT_.shadow = SHADOW_; DEFAULT_.shadow_blur = 3; DEFAULT_.background_color = BACKGROUND_COLOR; DEFAULT_.footnote = "Design by ichartjs"; if (DEFAULT_.coordinate) { DEFAULT_.coordinate.background_color = COO_BACKGROUND_COLOR; DEFAULT_.coordinate.grid_color = iChart.dark(COO_BACKGROUND_COLOR, 0.3,0.1); } /** * 使导出图片按钮有效 */ DEFAULT_.listeners = {}; DEFAULT_.listeners[ANIMATION_ ? 'afterAnimation' : 'draw'] = function(c) { download.disabled = false; IMAGE_DATA = this.target.canvas.toDataURL(); } new iChart[TYPE_](DEFAULT_).draw(); } function render() { if (!TYPE_) return; download.disabled = true; if (f) { doChart(); f = false; } else { $canvas.fadeOut(300, function() { $(this).fadeIn(300); doChart(); }); } } var $form_tbody, $form_tr_temlate, $form_tr_head, $gallery_color_picker, $validateTips, download, download_a; $(function() { $validateTips = $("#validateTips"); $form_tbody = $("#form_tbody"); download = document.getElementById("download"); download_a = document.getElementById("download_a"); $gallery_color_picker = $("#gallery_color_picker"); $form_tr_temlate = $('移除'); $form_tr_head = $("#form_tr_head"); $("#dialog-download").dialog({ autoOpen : false, height : 448, width : 848, modal : true }); $("#dialog-form").dialog({ autoOpen : false, height : 400, width : 450, modal : true, buttons : { "应用我的数据" : function() { var title = $("#form_title").val(); if (title == "") { $validateTips.html("提示:标题项不能为空!"); return; } TITLE_ = title; var $inputs = $form_tbody.children("tr").find("input"), data = [], CHECK = true; for ( var i = 0; i < $inputs.length; i += 3) { if ($inputs[i].value == "" || $inputs[i + 1].value == "" || $inputs[i + 2].value == "") { CHECK = false; break; } data.push({ name : $inputs[i].value, value : parseFloat($inputs[i + 1].value) || 0, color : $inputs[i + 2].value }); } if (!CHECK) { $validateTips.html("提示:数据项不能为空!"); } else { $validateTips.html("所有文本均为必填项."); DATA_ = data; render(); $(this).dialog("close"); } }, '取消' : function() { $(this).dialog("close"); } }, close : function() { } }).click(function() { $gallery_color_picker.fadeOut(); }); var img = document.getElementById("canvas_img"); var a_ = document.getElementById("download_a"); $("#download").click(function(e) { if (iChart.isChrome) { a_.href = IMAGE_DATA; } else { img.src = IMAGE_DATA; $("#dialog-download").dialog("open"); e.stopPropagation(); e.preventDefault(); } }); var w = $(document.body).width(); var datatype, type; $canvas = $("#canvasDiv"); document.getElementById("gallery_animate").checked = true; document.getElementById("gallery_shadow").checked = false; download.disabled = true; h = 450; w = w - 280; w = w > 800 ? w : 800; $("#gallery_right_container").width(w).height(h); $("#gallery_right_bg").width(w).height(h); $("#gallery_preview").height(h); $(".draggable").draggable({ helper : function(event) { return $(this).clone(); }, cursor : "move", stack : '#canvasDiv', cursorAt : { top : 25, left : 25 }, opacity : 0.7, start : function(event, ui) { type = $(this).attr('type'); datatype = $(this).attr('datatype'); TITLE_ = $(this).attr('title'); } }); $(".gallery_draggable").click(function() { TYPE_ = $(this).attr('type'); OPTION_ = $(this).attr('option'); render(); }); $("#gallery_right_bg").droppable({ accept : ".draggable", hoverClass : "gallery_hover", drop : function(event, ui) { if (type == "data") { if (datatype == "2") { DATA_ = data2; } else if (datatype == "3") { DATA_ = data3; } else { DATA_ = data1; } if (!TYPE_) return; } else { TYPE_ = type; } render(); } }); $("#gallery_animate").click(function() { ANIMATION_ = this.checked; render(); }); $("#gallery_shadow").click(function() { SHADOW_ = this.checked; render(); }); $(".gallery_color").hover(function() { $(this).addClass("gallery_color_hover"); }, function() { $(this).removeClass("gallery_color_hover"); }).click(function() { if ($(this).attr('type') == "0") { BACKGROUND_COLOR = $(this).css('background-color'); $(this).parents(".gallery_bg").css("background-color", BACKGROUND_COLOR); } else { COO_BACKGROUND_COLOR = $(this).css('background-color'); $(this).parents(".gallery_bg").css("background-color", COO_BACKGROUND_COLOR); } render(); }); $(".gallery_bg").hover(function() { $(this).children(".gallery_bg_list").fadeIn(); }, function() { $(this).children(".gallery_bg_list").fadeOut(); }); $("#custom-data").click(function() { $("#dialog-form").dialog("open"); }); var $current_color; $(".td_color .form_text").click(function(e) { $current_color = $(this); $gallery_color_picker.css("top", 6).fadeIn(); e.stopPropagation(); }); $form_tr_temlate.find('.td_color .form_text').click(function(e) { $current_color = $(this); var i = $(this).parents("tr").prevAll().length; $gallery_color_picker.css("top", 6 + 29 * i).fadeIn(); e.stopPropagation(); }); $("#gallery_color_picker .color").hover(function() { $(this).addClass("gallery_color_hover"); }, function() { $(this).removeClass("gallery_color_hover"); }).click(function() { var color = $(this).attr('color'); $current_color.val(color); $current_color.parent("td").css("background-color", color); }); }); function addRow() { $form_tbody.append($form_tr_temlate.clone(true)); } function removeRow(a) { $(a).parents("tr").remove(); }