⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 report_additionals.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
📖 第 1 页 / 共 5 页
字号:
	var the_table = document.getElementById('filters');	var row = document.createElement('tr');	filters_arr[filters_count_map[filters_count]].row = row;	row.valign="top";	var module_cell = document.createElement('td');	module_cell.valign="top";	row.appendChild(module_cell);	filters_arr[filters_count_map[filters_count]].module_cell = module_cell;	addModuleSelectFilter(module_cell,filter);	var column_cell = document.createElement('td');	column_cell.valign="top";	row.appendChild(column_cell);	filters_arr[filters_count_map[filters_count]].column_cell = column_cell;	addColumnSelectFilter(column_cell,filter);	var qualify_cell = document.createElement('td');	qualify_cell.valign="top";	row.appendChild(qualify_cell);	filters_arr[filters_count_map[filters_count]].qualify_cell = qualify_cell;	addFilterQualify(qualify_cell,filter);	var input_cell = document.createElement('td');	input_cell.valign="top";	row.appendChild(input_cell);	filters_arr[filters_count_map[filters_count]].input_cell = input_cell;	addFilterInput(input_cell,filter);	var cell = document.createElement('td');	cell.valign="top";	row.appendChild(cell);	var cell = document.createElement('td');	cell.innerHTML = "<input type=button onclick=\"deleteFilter("+filters_count+");\" class=button value="+lbl_remove+">";	row.appendChild(cell);	the_table.appendChild(row);}function deleteAllFilters() {	var the_table = document.getElementById('filters');	var rows = the_table.rows;	for (i=rows.length - 1; i >= 0;i--) {		the_table.removeChild(rows[i]);	}	return;}function deleteAllGroups(index) {	if (typeof(groups_arr[groups_count_map[index]])!='undefined') {		var this_row = groups_arr[groups_count_map[index]].row;		this_row.parentNode.removeChild(this_row);		groups_arr.splice(groups_count_map[index],1);			for ( id in groups_count_map) {			if (groups_count_map[id] > groups_count_map[index]) {				groups_count_map[id]--;			}		}				var group_by_button = document.getElementById('group_by_button');		group_by_button.style.display = 'inline';	}	return;}function remakeGroups() {	document.EditView['report_offset'].value=0;	if (typeof(document.EditView.show_columns) != 'undefined' && document.EditView.show_columns.checked){		module_defs[current_module].group_by_field_defs = new Object();			for(i=0; i < object_refs['display_columns'].options.length ;i++)  {			var field_name =  object_refs['display_columns'].options[i].value;			var field_def = module_defs[current_module].field_defs[field_name];			module_defs[current_module].group_by_field_defs[ field_def.name ] = field_def;		}		}}function getListFieldDef(field_key) {	var field_def = new Object();	var vardef =  all_fields[field_key].field_def;	if ( typeof(vardef.field_def_name) != 'undefined') {		field_def.name = vardef['field_def_name'];	}	else {		field_def.name = vardef['name'];	}		field_def.label = vardef['vname'];		if ( typeof(vardef.group_function) != 'undefined' && vardef.group_function != null) {		field_def.group_function = vardef.group_function;	}	if ( typeof(vardef.column_function) != 'undefined' && vardef.column_function != null) {		field_def.column_function = vardef.column_function;	}	field_def.table_key = all_fields[field_key].linked_field_name;	return field_def;}// called on save:function fill_form(type) {	var report_def = new Object();	var form_obj = document.EditView;  // we want an export of csv:	if ( typeof (type) != 'undefined' && type == 'export') {		form_obj.to_pdf.value = '';		form_obj.to_csv.value = 'on';	}	var got_sort = 0;	var got_summary_sort = 0;	var got_summary_column = 0;	var got_error = 0;	var error_msgs =  lbl_missing_fields+': \n';	report_def['report_type'] = getReportType();	report_def.display_columns = new Array();	var group_by_table = document.getElementById('group_by_tbody');	if (document.EditView.show_details.checked == true || report_def.report_type=='tabular') {	    var disp_opts = object_refs['display_columns'].options;    	// loop thru display columns in the select element    	    // and construct report_def for display_columns		for(i=0; i < disp_opts.length ;i++) {			var field_def = getListFieldDef(disp_opts[i].value);			if(typeof(disp_opts[i].saved_text) != 'undefined') {				field_def['label'] = disp_opts[i].saved_text;			}			else {				field_def['label'] = disp_opts[i].text;			}			report_def.display_columns.push(field_def);			if (form_obj.sort_by.value == disp_opts[i].value) {				got_sort = 1;			}					}	}	report_def.summary_columns = new Array();	if (report_def.report_type=='summary' && object_refs['display_summary'].style.display != 'none') {		// loop thru display columns in the select element    		// and construct report_def for display_columns		var sum_opts = object_refs['display_summary'].options;		var summary_column_map = new Object();		for(i=0; i < sum_opts.length ;i++) {			var field_def = getListFieldDef(sum_opts[i].value);			if (typeof(field_def.group_function) != 'undefined') {				got_summary_column = 1;			}			if(typeof(sum_opts[i].saved_text) != 'undefined') {				field_def['label'] = sum_opts[i].saved_text;			}			else {				field_def['label'] = sum_opts[i].text;			}			summary_column_map[sum_opts[i].value] = field_def;			report_def.summary_columns.push(field_def);			if (form_obj.summary_sort_by.value == sum_opts[i].value) {				got_summary_sort = 1;			}			   		}	}	// set sorting	var sort_by = new Array();	var summary_sort_by = new Array();	var sort_dir = new Array();	var summary_sort_dir = new Array();	if (got_sort == 0 ) {		form_obj.sort_by.value = '';		form_obj.sort_dir.value = '';	}	else {		var sort_by_elem = new Object();		var sort_by_elem = getListFieldDef(form_obj.sort_by.value);		sort_by_elem.sort_dir = form_obj.sort_dir.value;		sort_by.push(sort_by_elem);		report_def.order_by = sort_by;	}	if (got_summary_sort == 0 || document.EditView.show_details.checked) {		form_obj.summary_sort_by.value = '';		form_obj.summary_sort_dir.value = '';	} 	else {		var summary_sort_by_elem = new Object();		var key_arr = form_obj.summary_sort_by.value.split(':');		summary_sort_by_elem.name = key_arr[1];		if ( typeof(all_fields[ form_obj.summary_sort_by.value ].field_def.group_function) != 'undefined') {			summary_sort_by_elem.group_function = all_fields[ form_obj.summary_sort_by.value ].field_def.group_function;		} 		else if ( typeof(all_fields[ form_obj.summary_sort_by.value ].field_def.column_function) != 'undefined') {			summary_sort_by_elem.group_function = all_fields[ form_obj.summary_sort_by.value ].field_def.column_function;		}		summary_sort_by_elem.column_function = key_arr[2];		summary_sort_by_elem.table_key = all_fields[ form_obj.summary_sort_by.value ].linked_field_name;		summary_sort_by_elem.sort_dir = form_obj.summary_sort_dir.value;		summary_sort_by.push(summary_sort_by_elem);		report_def.summary_order_by = summary_sort_by;	}	var group_by_table = document.getElementById('group_by_tbody'); 	var report_type_elem = document.EditView.report_type;	var group_defs = new Array();	if ((document.EditView.show_details.checked || report_def['report_type'] == 'tabular' ) && object_refs['display_columns'].options.length == 0) {		error_msgs += lbl_at_least_one_display_column+'\n';		got_error = 1;	}	if (report_def['report_type'] == 'summary' &&  object_refs['display_summary'].options.length == 0 ) {		error_msgs += lbl_at_least_one_summary_column+'\n';		got_error = 1;	}	// check if all options have been filled out for related tables	for(var wp in full_table_list) {		if(typeof full_table_list[wp].value == 'undefined') {			error_msgs += lbl_related_table_blank + '\n';			got_error = 1;			break;		}	}	var filter_table = document.getElementById('filters');	var filters_def = new Array();	for(i=0; i < filter_table.rows.length;i++) {		// the module select is the first cell.. we dont need that		var cell0 = filter_table.rows[i].cells[1];		var cell1 = filter_table.rows[i].cells[2];		var cell2 = filter_table.rows[i].cells[3];			var column_name = cell0.getElementsByTagName('select')[0].value;		var filter_def = new Object();		var field = all_fields[column_name].field_def;			filter_def.name = field.name;		filter_def.table_key = all_fields[column_name].linked_field_name;		column_vname = all_fields[column_name].label_prefix+": "+ field['vname'];		filter_def.qualifier_name=cell1.getElementsByTagName('select')[0].value;		var input_arr = cell2.getElementsByTagName('input');		if ( typeof(input_arr[0]) !=  'undefined') {			filter_def.input_name0=input_arr[0].value;			if (input_arr[0].value == '') {				got_error = 1;				error_msgs += "\""+column_vname+"\""+lbl_missing_input_value+"\n";			}				if ( typeof(input_arr[1]) != 'undefined') {				filter_def.input_name1=input_arr[1].value;				if (input_arr[1].value == '') {					got_error = 1;					error_msgs += "\"" + column_vname + "\""+lbl_missing_second_input_value+"\n";				}			}		} 		else {			var got_selected = 0;			var select_input = cell2.getElementsByTagName('select')[0];			filter_def.input_name0= new Array();			for (j=0;j<select_input.options.length;j++) {				if (select_input.options[j].selected == true) {					filter_def.input_name0.push(decodeURI(select_input.options[j].value));					got_selected = 1;				}			}			if (got_selected==0) {				error_msgs += "\"" +column_vname +"\": "+lbl_missing_second_input_value+"\n";				got_error = 1;			}		} 		if ( field.type == 'datetime' || field.type == 'date') {			if ( typeof(filter_def.input_name0) != 'undefined' && typeof(filter_def.input_name0) != 'array') {				var date_match = filter_def.input_name0.match(date_reg_format);				if ( date_match != null) {					filter_def.input_name0 = date_match[date_reg_positions['Y']] + "-"+date_match[date_reg_positions['m']] + "-"+date_match[date_reg_positions['d']];				}			}						if ( typeof(filter_def.input_name1) != 'undefined' && typeof(filter_def.input_name1) != 'array') {				var date_match = filter_def.input_name1.match(date_reg_format);				if ( date_match != null) {					filter_def.input_name1 = date_match[date_reg_positions['Y']] + "-"+date_match[date_reg_positions['m']] + "-"+date_match[date_reg_positions['d']];				}			}					}		filters_def.push(filter_def);	}	if (got_error == 1) {		alert(error_msgs);		return false;	}	report_def.filters_def = filters_def;		// and/or filter option	report_def.filters_combiner = document.getElementById('filters_combiner').options[document.getElementById('filters_combiner').selectedIndex].value;		var group_by_table = document.getElementById('group_by_tbody');	var group_defs = new Array();	if (report_def.report_type!='tabular') {		//Loop through the group by table	    for(i=0; i < group_by_table.rows.length;i++) {			var cell0 = group_by_table.rows[i].cells[1];			var cell1 = group_by_table.rows[i].cells[2];			var group_by_def = getListFieldDef(cell0.getElementsByTagName('select')[0].value);			var group_key = cell0.getElementsByTagName('select')[0].value;			if ( typeof (cell1) !=  'undefined' && cell1.getElementsByTagName('select')[0].style.display != 'none') {				group_by_def.qualifier = cell1.getElementsByTagName('select')[0].value;			}			//Should this column be displayed?			if ( typeof(summary_column_map[group_key]) == 'undefined') {				// unshift on the display summary columns this group and mark it				report_def.summary_columns.unshift( group_by_def);				group_by_def.is_group_by = 'hidden';				if ( typeof(group_by_def.qualifier) != 'undefined') {					group_by_def.column_function = group_by_def.qualifier;				}			}			else {				summary_column_map[group_key].is_group_by = 'visible';			}			group_defs.push(group_by_def);		}	}	report_def.group_defs = group_defs;	var links = getSelectedLinks();	var links_def  = new Array();	for(var i in links) {	  	links_def.push(links[i]);	}		var link_joins = getSelectedLinkJoins(links_def);	report_def.full_table_list = full_table_list;	report_def.module = current_module;	report_def.report_name = document.EditView.save_report_as.value;	report_def.chart_type = document.EditView.chart_type.value;	report_def.chart_description = document.EditView.chart_description.value;	report_def.numerical_chart_column = document.EditView.numerical_chart_column.value;	global_report_def = report_def;  	report_def.assigned_user_id = document.EditView.assigned_user_id.value;  	report_def_str = JSON.stringifyNoSecurity(report_def);	form_obj.report_def.value = report_def_str;	return true;}function do_export() {	if ( fill_form('export') == true) {		document.EditView.submit();	}}function set_sort(column_name,source) {	if ( source == 'undefined') {		source = 'columns';	}	var sort_by = 'sort_by';		var sort_dir = 'sort_dir';		if ( source == 'summary') {		sort_by = 'summary_sort_by';			sort_dir = 'summary_sort_dir';		}	if (column_name == document.EditView[sort_by].value) {		if (  document.EditView[sort_dir].value=="d") {			document.EditView[sort_dir].value = "a";		}		else {			document.EditView[sort_dir].value = "d";		}	}	else {		document.EditView[sort_by].value = column_name;		document.EditView[sort_dir].value = "a";	}	document.EditView.to_pdf.value='';	document.EditView.to_csv.value='';	document.EditView['report_offset'].value=0;	if ( fill_form() == true) {		document.EditView.submit();	}}function set_offset(offset) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -