o3_init.js 8.63 KB
Newer Older
xucl committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
/**
 * 诉讼阶段初始化
 */
jQuery(function($) {
	var grid_selector = "#grid-table";
	var pager_selector = "#grid-pager";

	// resize to fit page size
	$(window).on('resize.jqGrid', function() {
		$(grid_selector).jqGrid('setGridWidth', $(".page-content").width());
	})
	// resize on sidebar collapse/expand
	var parent_column = $(grid_selector).closest('[class*="col-"]');
	$(document).on('settings.ace.jqGrid', function(ev, event_name, collapsed) {
		if (event_name === 'sidebar_collapsed' || event_name === 'main_container_fixed') {
			// setTimeout is for webkit only to give time for DOM changes and then redraw!!!
			setTimeout(function() {
				$(grid_selector).jqGrid('setGridWidth', parent_column.width());
			}, 0);
		}
	});
	
	$(document).keydown(function(event) {
		var key = window.event ? event.keyCode : event.which;
		if (key == 13) {
			$("#searchd").click();
		}
	});

	/*搜索框  主要对Jquery grid进行刷新 带参数刷新    */
	$("#searchd").click(function(){
		var keywordTitle =$("#keywordTitle").val();
		var keywordTjl =$("#keywordTjl").val();
		var keywordDll =$("#keywordDll").val();
		var caseState =$("#caseState").val();
    	myGrid.setGridParam({data:'json',url : contextPath + '/ssrz/ssrzOrder/getOrders?state=3&title='+keywordTitle+'&tjl='+keywordTjl+'&dll='+keywordDll+'&caseState='+caseState}).trigger('reloadGrid');
	});
	
    myGrid=	jQuery(grid_selector).jqGrid({
		subGrid : false,
		url : contextPath + "/ssrz/ssrzOrder/getOrders?state=3",
		datatype : "json",
		height : 450,
		colNames : ['创建时间', '案件编号','案件名称','推荐律师','代理律师','融资金额','融资完成时间','案件进度','操作'],
		colModel : [{name : 'createDate',
			index : 'createDate',
			width : 100,
			search : false,	
			editable : false
		},{	name : 'orderId',
			index : 'orderId',
			width : 120,
			editable : false
		},{	name : 'title',
			index : 'title',
			width : 120,
			editable : false
		},{	name : 'tjLawyer',
			index : 'tjLawyer',
			width : 100,
			search : false,	
			editable : false,
		},{
			name : 'dlLawyer',
			index : 'dlLawyer',
			width : 100,
			editable : false
			
		},{
			name : 'moneyPc',
			index : 'moneyPc',
			width : 100,
			editable : false,
		},{
			name : 'dateFinanc',
			index : 'dateFinanc',
			width : 100,
			editable : false
			
		},{
			name : 'caseState',
			index : 'caseState',
			width : 100,
			editable : false
			
		},{	name : 'orderState',
			index : '',
			label : '操作',
			width : 250,
			editable : false,
			search : false,
			sortable : false,
			fixed:true,
			formatter : optionFormatter
		}],
		//scroll : 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records
		sortname : "createDate",
		sortorder : "desc",
		viewrecords : true,
		rowNum : 10,
		rowList : [ 10, 20, 30 ],
		pager : pager_selector,
		altRows : true,
		loadComplete : function() {
			var table = this;
			setTimeout(function(){
				styleCheckbox(table);
				updateActionIcons(table);
				updatePagerIcons(table);
				enableTooltips(table);
			}, 0);
		}
		//caption : "用户管理列表",
		//autowidth : true,
		/**
		grouping : true, 
		groupingView : { 
			 groupField : ['name'],
			 groupDataSorted : true,
			 plusicon : 'fa fa-chevron-down bigger-110',
			 minusicon : 'fa fa-chevron-up bigger-110'
		},
		*/
	});
	
	function optionFormatter(cellvalue, options, cell) {
		var template = "<button data-toggle='modal' onclick='getOrderDetail(\""+cell.orderId+"\")' class='btn btn-minier btn-grey'>详细</button>";
		template += "<shiro:hasPermission name='${ROLE_KEY}:ssrzOrder3:edit'>&nbsp;|&nbsp;<button data-toggle='modal' onclick='changeStatus(\""+cell.orderId+"\",\""+cellvalue+"\")' class='btn btn-minier btn-success'>进入回款中</button></shiro:hasPermission>";
		template += "<shiro:hasPermission name='${ROLE_KEY}:ssrzOrder2:edit'>&nbsp;|&nbsp;<button data-toggle='modal' onclick='dkjlShow(\""+cell.orderId+"\")' class='btn btn-minier btn-info'>打款记录</button></shiro:hasPermission>";
		return template;
	}
	
	$(window).triggerHandler('resize.jqGrid');// trigger window resize to make the grid get the correct size
	
	// enable search/filter toolbar
	// jQuery(grid_selector).jqGrid('filterToolbar',{defaultSearch:true,stringResult:true})
	// jQuery(grid_selector).filterToolbar({});
	// switch element when editing inline
	function aceSwitch(cellvalue, options, cell) {
		setTimeout(function() {
			$(cell).find('input[type=checkbox]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');
		}, 0);
	}
	
	// navButtons
	jQuery(grid_selector).jqGrid('navGrid', pager_selector,  { // navbar options
		edit : false,
		editicon : 'ace-icon fa fa-pencil blue',
		add : false,
		addicon : 'ace-icon fa fa-plus-circle purple',
		del : false,
		delicon : 'ace-icon fa fa-trash-o red',
		search : false,
		searchicon : 'ace-icon fa fa-search orange',
		refresh : true,
		refreshicon : 'ace-icon fa fa-refresh blue',
		view : false,
		viewicon : 'ace-icon fa fa-search-plus grey'
	}, {
		// edit record form
		// closeAfterEdit: true,
		// width: 700,
		recreateForm : true,
		beforeShowForm : function(e) {
			var form = $(e[0]);
			form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
			style_edit_form(form);
		},
		errorTextFormat: function (response) {
			var result = eval('('+response.responseText+')');
		    return result.message;
		}
	})
	
	function style_edit_form(form) {
		// form.find('input[name=statusCn]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');
		// don't wrap inside a label element, the checkbox value won't be submitted (POST'ed)
		// .addClass('ace ace-switch ace-switch-5').wrap('<label class="inline" />').after('<span class="lbl"></span>');

		// update buttons classes
		var buttons = form.next().find('.EditButton .fm-button');
		buttons.addClass('btn btn-sm').find('[class*="-icon"]').hide();// ui-icon, s-icon
		buttons.eq(0).addClass('btn-primary').prepend('<i class="ace-icon fa fa-check"></i>');
		buttons.eq(1).prepend('<i class="ace-icon fa fa-times"></i>')

		buttons = form.next().find('.navButton a');
		buttons.find('.ui-icon').hide();
		buttons.eq(0).append('<i class="ace-icon fa fa-chevron-left"></i>');
		buttons.eq(1).append('<i class="ace-icon fa fa-chevron-right"></i>');
	}





	function beforeEditCallback(e) {
		var form = $(e[0]);
		form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
		style_edit_form(form);
	}

	// it causes some flicker when reloading or navigating grid
	// it may be possible to have some custom formatter to do this as the grid is being created to prevent this
	// or go back to default browser checkbox styles for the grid
	function styleCheckbox(table) {
		/**
		 * $(table).find('input:checkbox').addClass('ace') .wrap('<label />') .after('<span class="lbl align-top" />') $('.ui-jqgrid-labels th[id*="_cb"]:first-child')
		 * .find('input.cbox[type=checkbox]').addClass('ace') .wrap('<label />').after('<span class="lbl align-top" />');
		 */
	}

	// unlike navButtons icons, action icons in rows seem to be hard-coded
	// you can change them like this in here if you want
	function updateActionIcons(table) {
		/**
		 * var replacement = { 'ui-ace-icon fa fa-pencil' : 'ace-icon fa fa-pencil blue', 'ui-ace-icon fa fa-trash-o' : 'ace-icon fa fa-trash-o red', 'ui-icon-disk' : 'ace-icon fa fa-check green', 'ui-icon-cancel' :
		 * 'ace-icon fa fa-times red' }; $(table).find('.ui-pg-div span.ui-icon').each(function(){ var icon = $(this); var $class = $.trim(icon.attr('class').replace('ui-icon', '')); if($class in replacement)
		 * icon.attr('class', 'ui-icon '+replacement[$class]); })
		 */
	}

	// replace icons with FontAwesome icons like above
	function updatePagerIcons(table) {
		var replacement = {
			'ui-icon-seek-first' : 'ace-icon fa fa-angle-double-left bigger-140',
			'ui-icon-seek-prev' : 'ace-icon fa fa-angle-left bigger-140',
			'ui-icon-seek-next' : 'ace-icon fa fa-angle-right bigger-140',
			'ui-icon-seek-end' : 'ace-icon fa fa-angle-double-right bigger-140'
		};
		$('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(function() {
			var icon = $(this);
			var $class = $.trim(icon.attr('class').replace('ui-icon', ''));

			if ($class in replacement)
				icon.attr('class', 'ui-icon ' + replacement[$class]);
		})
	}

	function enableTooltips(table) {
		$('.navtable .ui-pg-button').tooltip({
			container : 'body'
		});
		$(table).find('.ui-pg-div').tooltip({
			container : 'body'
		});
	}

	// var selr = jQuery(grid_selector).jqGrid('getGridParam','selrow');

	$(document).one('ajaxloadstart.page', function(e) {
		$(grid_selector).jqGrid('GridUnload');
		$('.ui-jqdialog').remove();
	});
	
});