查出的表格数据,每一行的特殊处理

<div id="wizard" class="swMain" style="width: 760px;">
	<ul>
		<li>
			<a href="#step-1"> <span class="stepNumber">1</span> <span
				class="stepDesc">Step 1<br /> 
					<small>选择医嘱模板</small>
				</span>
			</a>
		</li>
		<li><a href="#step-2"> <span class="stepNumber">2</span> <span
				class="stepDesc">Step 2<br /> 
					<small>选择计价项目</small>
			</span>
		</a></li>
	</ul>
	<div id="step-1">
		<table id="templateGrid" class="easyui-datagrid" style="height: 288px;width:748px;"
				data-options="border:false,
							  noheader:'false',
							  checkbox:true,
							  singleSelect:true,
							  fitColumns:true
							  ">
				<thead>
					<tr>
						<th data-options="field:'ordserCode',width:40">医嘱类型</th>
						<th data-options="field:'ordserName',width:100">医嘱名称</th>
						<th data-options="field:'wbm',width:40">五笔码</th>
						<th data-options="field:'pym',width:40">拼音码</th>
					</tr>
				</thead>
		</table>
	</div>
	<div id="step-2">
		<table id="templateCostsGrid" class="easyui-datagrid" style="height: 288px;width:748px;"
				data-options="
					queryParams:{
	            	 'ordserCode':''
	             	},
	                fitColumns:true,
	                singleSelect:false,
	                onBeforeSelect:disableonBeforeSelect,
	                onLoadSuccess:templateGridOnLoadSuccess,
	                onCheck:function(index,row){
						orders.linkOnCheck(index,row,$('#templateCostsGrid'));
					},
					onUncheck:function(index,row){
						orders.linkOnUncheck(index,row,$('#templateCostsGrid'));
					},
	                columns:[[
						{field:'checkbox',checkbox:true,width:40},
						{field:'',width:40,formatter:orderFlag},
	                    {field:'orderClassName',title:'项目分类',width:40},
	                    {field:'orderTypeName',title:'项目类型',width:40},
	                    {field:'orderText',title:'正文',width:100,align:'left',formatter:orderTextFormatter},
	                    {field:'leastNumber',title:'库存数量',width:40,formatter:lastNumberFormatter}
	                ]]
				">
		</table>
	</div>
</div>

js:

<script type="text/javascript">
	var templateGrid = $('#templateGrid').datagrid({url:'orders/templateOrders.do',onLoadSuccess:function(){
		templateGrid.datagrid('enableFilter');
	}});
	
	var templateOrdersWizard = {
		selectRow : null,
		leaveStepCallback : function(stepObj){
			var step_num= stepObj.attr('rel');
			switch (step_num) {
				case '1':
					var row = $('#templateGrid').datagrid("getSelected");
					if(row == null){
						$.messager.show({
			                title:'操作',
			                msg:'选择模板进行下一步',
			                timeout:5000,
			                showType:'slide'
			         	});
					}else{
						templateOrdersWizard.selectRow = row;
					}
					return row != null;
				case '2':
					return true;
				default:
					break;
			}
			return true;
		},
		showStepCallback : function(stepObj){
			var step_num= stepObj.attr('rel');
			switch (step_num) {
			case '2':
				$('#templateCostsGrid').datagrid({
					url:'orders/templateOrderLists.do',
					queryParams:{
			            "ordserCode" : templateOrdersWizard.selectRow.ordserCode
	             	}
		        });
				break;
			default:
				break;
			}
		},
		onSubmit:function(){
			orders.templateOrderDialogOk();
		}
	}
	$('#wizard').smartWizard({
		onLeaveStep	: templateOrdersWizard.leaveStepCallback,
		onShowStep	: templateOrdersWizard.showStepCallback,
		onFinish	: templateOrdersWizard.onSubmit
	});
	
	function orderTextFormatter(value,rowData,rowIndex){
		if(!rowData.hasStockpile && rowData.orderClass == '1'){
			return "<span class='flag'>库存不足</span>  " + value
		}else{
			return value;
		}
	}
	
	function orderFlag(value,rowData,rowIndex){
		/*获取所有行*/
		var rows = $("#templateCostsGrid").datagrid('getRows');
		/*first
		ordersubNo==0 && 下一个和其属于统一套*/
		if(rowData.ordersubNo==0 && rowIndex<rows.length-1 && rows[rowIndex+1].orderNo==rowData.orderNo){
			return '<span class="his-btn-icon icon-first" title=""> </span>';
		}
		/*middle
		和前一个 相同  并  和后一个相同*/
		if(rowIndex != 0 && rows[rowIndex-1].orderNo==rowData.orderNo && rowIndex<rows.length-1 && rows[rowIndex+1].orderNo==rowData.orderNo){
			return '<span class="his-btn-icon icon-middle" title=""> </span>';
		}
		/*last
		如果和前一个相同,并且和后一个不同 或者是最后一个*/
		if(rowIndex != 0 && rows[rowIndex-1].orderNo==rowData.orderNo && (rowIndex==rows.length-1 || rows[rowIndex+1].orderNo!=rowData.orderNo)){
			return '<span class="his-btn-icon icon-last" title=""> </span>';
		}
		
		return "";
	}
	
	function lastNumberFormatter(value,rowData,rowIndex){
		if(rowData.orderClass == '1'){
			return value
		}else{
			return "充足";
		}
	}
	
	function disableonBeforeSelect(index,row){
		var rows = $("#templateCostsGrid").datagrid('getRows');
		var flag = true;
		$.each(rows,function(i,thisRow){
			if(!thisRow.hasStockpile && thisRow.orderClass == '1'){
				if(row.orderNo == thisRow.orderNo){
					flag = false;
				}
			}
		});
		return flag;
	}
	
	function templateGridOnLoadSuccess(data){
           if (data.rows.length > 0) {
        	 var disRow;
             var panel = $('#templateCostsGrid').datagrid('getPanel');
             for (var i = 0; i < data.rows.length; i++) {
                if (data.rows[i].orderClass == '1' && !data.rows[i].hasStockpile) {
                	disRow = data.rows[i];
                	panel.find(".datagrid-row[datagrid-row-index="+i+"] input[type='checkbox']").remove();
                }else{
                	$('#templateCostsGrid').datagrid('selectRow', i);
                }
             }
             for (var i = 0; i < data.rows.length; i++) {
                 if (data.rows[i].orderNo == disRow.orderNo) {
                 	panel.find(".datagrid-row[datagrid-row-index="+i+"] input[type='checkbox']").remove();
                 }else{
                 	$('#templateCostsGrid').datagrid('selectRow', i);
                 }
             }
             $('#templateCostsGrid').datagrid('scrollTo',0);
        }      
	}
		
	
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值