reportConfig.js 6.12 KB
/**
 * 会员
 */
var ReportConfig = function() {

	// DataGrid行号,-1表示新增
	var rowIndex = -1;

	return {
		init : function() {
		},

		search : function() {
			$('#data-grid').datagrid({
				url : '/report/config/search',
				queryParams : App.dataGridQueryParams('search-form')
			});
		},

		beforeAdd : function() {
			$('#add-dialog').dialog('open');
			$('#selParentMenuId').combobox('reload', '/function/queryFolder');
			$('#data-grid-term').datagrid('loadData', []);
			$('#data-grid-field').datagrid('loadData', []);
		},

		/** 新增查询配置 */
		addReportConfig : function() {
			$.messager.progress();
			var terms = $('#data-grid-term').datagrid('getRows');
			var fields = $('#data-grid-field').datagrid('getRows');
			var data = $('#add-form').serializeJson();

			if (terms.length == 0) {
				$.messager.alert('Warning', '请添加查询条件');
				$.messager.progress('close');
				return;
			}
			if (fields.length == 0) {
				$.messager.alert('Warning', '请添加查询结果');
				$.messager.progress('close');
				return;
			}
			if (!$('#add-form').form('validate')) {
				$.messager.progress('close');
				return;
			}

			data.parentMenuTitle = $('#selParentMenuId').combobox('getText');
			data.terms = [];
			data.fields = [];
			for (var i = 0; i < terms.length; i++) {
				data.terms.push(terms[i]);
			}
			for (var i = 0; i < fields.length; i++) {
				data.fields.push(fields[i]);
			}
			data = JSON.stringify(data);
			$.ajax({
				type : 'POST',
				url : '/report/config/save',
				data : data,
				dataType : "json",
				contentType : 'application/json;charset=utf-8', // 设置请求头信息
				success : function(result) {
					if (result.success == true) {
						$('#add-dialog').dialog('close');
						$('#data-grid').datagrid('reload');
						$('#add-form').form('clear');
					}
					$.messager.show({
						title : '信息',
						msg : result.data
					});
					$.messager.progress('close');
				}
			});
		},

		/** 新增查询条件 */
		beforeAddReportConfigTerm : function() {
			$('#add-form-term').form('clear');
			$('#add-dialog-term').dialog('open');
			rowIndex = -1;
		},

		/** 新增查询条件 */
		addReportConfigTerm : function() {
			if ($('#add-form-term').form('validate')) {
				if (rowIndex == -1) {
					$('#data-grid-term').datagrid('appendRow', $('#add-form-term').serializeJson());
				} else {
					$('#data-grid-term').datagrid('updateRow', {
						index : rowIndex,
						row : $('#add-form-term').serializeJson()
					});
				}
				$('#data-grid-term').datagrid('autoSizeColumn');
				$('#add-dialog-term').dialog('close');
			}
		},

		/** 修改查询条件 */
		beforeUpdateReportConfigTerm : function() {
			var row = $('#data-grid-term').datagrid('getSelected');
			if (row) {
				$('#add-dialog-term').dialog('open').dialog('setTitle', '编辑');
				$('#add-form-term').form('load', row);
				rowIndex = $('#data-grid-term').datagrid('getRowIndex', row);
			} else {
				$.messager.alert('Warning', '请选择要修改的数据');
			}
		},

		/** 删除查询条件 */
		deleteReportConfigTerm : function() {
			var row = $('#data-grid-term').datagrid('getSelected');
			if (row) {
				$.messager.confirm('Confirm', '确定要删除此信息吗?', function(ok) {
					if (ok) {
						rowIndex = $('#data-grid-term').datagrid('getRowIndex', row);
						$('#data-grid-term').datagrid('deleteRow', rowIndex);
						rowIndex = -1;
					}
				});
			} else {
				$.messager.alert('Warning', '请选择要删除的信息');
			}
		},

		/** 新增查询结果 */
		beforeAddReportConfigField : function() {
			$('#add-form-field').form('reset');
			$('#add-dialog-field').dialog('open');
			rowIndex = -1;
		},

		/** 新增查询结果 */
		addReportConfigField : function() {
			if ($('#add-form-field').form('validate')) {
				if (rowIndex == -1) {
					$('#data-grid-field').datagrid('appendRow', $('#add-form-field').serializeJson());
				} else {
					$('#data-grid-field').datagrid('updateRow', {
						index : rowIndex,
						row : $('#add-form-field').serializeJson()
					});
				}
				$('#data-grid-field').datagrid('autoSizeColumn');
				$('#add-dialog-field').dialog('close');
			}
		},

		/** 修改查询结果 */
		beforeUpdateReportConfigField : function() {
			var row = $('#data-grid-field').datagrid('getSelected');
			if (row) {
				$('#add-dialog-field').dialog('open').dialog('setTitle', '编辑');
				$('#add-form-field').form('load', row);
				rowIndex = $('#data-grid-field').datagrid('getRowIndex', row);
			} else {
				$.messager.alert('Warning', '请选择要修改的数据');
			}
		},

		/** 删除查询结果 */
		deleteReportConfigField : function() {
			var row = $('#data-grid-field').datagrid('getSelected');
			if (row) {
				$.messager.confirm('Confirm', '确定要删除此信息吗?', function(ok) {
					if (ok) {
						rowIndex = $('#data-grid-field').datagrid('getRowIndex', row);
						$('#data-grid-field').datagrid('deleteRow', rowIndex);
						rowIndex = -1;
					}
				});
			} else {
				$.messager.alert('Warning', '请选择要删除的信息');
			}
		},

		/**修改查询配置*/
		beforeUpdate : function() {
			var row = $('#data-grid').datagrid('getSelected');
			if (row) {
				$('#add-dialog').dialog('open');
				$('#selParentMenuId').combobox('reload', '/function/queryFolder');
				$.getJSON('/report/config/queryById', {
					id : row.id
				}, function(data) {
					$('#add-form').form('load', data);
					$('#data-grid-term').datagrid('loadData', data.terms);
					$('#data-grid-field').datagrid('loadData', data.fields);
				});
			} else {
				$.messager.alert('Warning', '请选择要修改的数据');
			}
		},
		
		/**删除查询配置*/
		deleteConfig: function() {
			var row = $('#data-grid').datagrid('getSelected');
			if (row) {
				$.messager.confirm('Confirm', '确定要删除此信息吗?', function(ok) {
					if (ok) {
						$.post('/report/config/delete', {id: row.id}, function(result) {
							$.messager.show({
				        		title: '信息',
				        		msg: result.data
				        	});
				            $('#data-grid').datagrid('reload');
						}, 'json');
					}
				});
			} else {
				$.messager.alert('Warning', '请选择要删除的信息');
			}
		}
	};

}();