<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>