| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- 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 = $('<tr><td><input type="text" class="form_text" /></td><td><input type="text" class="form_text" /></td><td class="td_color"><input type="text" class="form_text"/></td><td><a href="javascript:void(0)" onclick="removeRow(this);">移除</a></td></tr>');
- $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();
- }
|