这是主页面:当第一次点击Bom管理时:
第二次点击Bom管理:下图是每次Bom打开就会从复出现,不知道怎么回事啊!!
源码如下:点击管理调用下面的方法:这是第一种实现方案:出现这种问题,希望知道给予解决一下。
gridGenProdBom : function() {
//左边查询表格
var that = this;
var pid =$('div[identifier='+this.identifier+']').find('table[class=tableheader]').find('input[name=id]').val();
setTimeout(function() {
$('table#'+that.identifier+'-selectorForm-l').datagrid({
title : '备选商品',
width : 500,
height : 375,
nowrap : false,
striped : true,
pageSize:10,
pageList:[10,20,30,50,60,80,100],
url:'basedata/BdMaterial.do?action=getModelList&randomData='+Math.random(),
sortName : 'no',
sortOrder : 'desc',
idField : 'id',
frozenColumns:[[ {field:'ck',checkbox:true} ]],
columns:[[
{title:'单号', field:'no', sortable:true, align:'center', width:UIConstants.easyUI_productNoWidth},
{title:'名称', field:'name', sortable:true, align:'center', width:UIConstants.easyUI_productNameWidth},
{title:'类别', field:'categoryName', align:'center',width:UIConstants.easyUI_productType},
]],
//0000行:
searchbar:[{
id:'name',
text:'模糊查询',
type:'simpleinput',
name:'bdMaterial.fuzzy'
},{
text:'类别',
type:'combobox',
name:'bdMaterial.materialCategory.id',
url:'basedata/BdMaterialCategory.do?action=getFirstCategory',
valueField:'id',
textField:'name',
//multiple:true,
panelHeight:'auto',
cascadeCheck:false
}, {
id:'bdCategorySearch',
text:'查询',
type:'button',
name:'sss',
iconCls:'icon-search',
handler:function() {
var arrName = ['bdMaterial.fuzzy','bdMaterial.materialCategory.id'];
var param = getParamString('bdMaterial',arrName,$('div[identifier='+that+']'));
//对数据进行转化
$('table#'+that.identifier+'-selectorForm-l').datagrid('reload',param);
}
}, {
id:'bdCategorySearch',
text:'加入',
type:'button',
name:'sss',
iconCls:'icon-add',
handler:function() {
window.researchPlanning.update.addBom();
}
} ],
// 11111行:
// toolbar:'#'+that.identifier+'-produce',//这里是第二种方法
pagination : true,
rownumbers : true
});
}, 0);
//右边已选择结果
setTimeout(function() {
var lastIndex;
$('table#'+that.identifier+'-selectorForm-r').datagrid({
title : '已选商品',
width : 500,
height : 375,
nowrap : false,
striped : true,
collapsible : false,
pageSize:10,
pageList:[10,20,30,50,60,80,100],
url : 'research/ResearchPlanning.do?action=getItems&id='+ pid,
sortName : 'no',
sortOrder : 'desc',
idField : 'id',
frozenColumns : [ [ { field : 'ck', checkbox : true } ] ],
columns : [ [
{title : '原料编号',field : 'materialNo',sortable : true,align : 'center',width : 100 },
{title : '原料名',field : 'productName',sortable : true,align : 'center',width : 100 },
{title : '单位', field : 'unitId',align : 'center',width : 100,formatter : window.researchPlanning.update.unitFormatter},
{title : '数量', field : 'amount', align : 'center', width : 80, editor:{type:'numberbox',options:{precision:2}}},
{title : '损耗率', field : 'lossRate', align : 'center', width : 60, editor:{type:'numberbox'} }
] ],
toolbar : [{
id : 'btnadd',
text : '删除所选',
iconCls : 'icon-remove',
handler : function() {
var ele = $('table#'+that.identifier+'-selectorForm-r');
if (ele.datagrid('getSelections').length > 0) {
var ids = '';
var rows = ele.datagrid('getSelections');
for ( var i = 0; i < rows.length; i++){
ids += rows[i].id+ ';';
}
//console.log(ids);
var saveObj = {};
saveObj.url = 'research/ResearchPlanning.do';
saveObj.action = 'removeItem';
saveObj.params = {};
saveObj.params = $.getForm(window.researchPlanning.update.identifier);
saveObj.params['nums'] = ids;
setTimeout(function() {
$.AjaxJSON(saveObj, function(mes,json) {
$('table#'+that.identifier+'-selectorForm-r').datagrid("reload");
},
function(mes) {
$.managesr.alert("提示","删除失败");
});
},
10);
}
}
},'-',{
id : 'btnview',
text : '提交更改',
iconCls : 'icon-ok',
handler : function() {
var ele = $('table#'+that.identifier+'-selectorForm-r');
if (window.researchPlanning.update.editId != null) {
ele.datagrid("endEdit",window.researchPlanning.update.editId);
}
if (ele.datagrid('getChanges','updated').length > 0) {
var nums = '';
var rows = ele.datagrid('getChanges','updated');
for ( var i = 0; i < rows.length; i++) {
nums = nums + rows[i].id+ ','+ rows[i].amount+ ','+ rows[i].lossRate+ ';';
}
var saveObj = {};
saveObj.url ='research/ResearchPlanning.do';
saveObj.action = 'updateBomModel';
saveObj.params = {};
saveObj.params = $.getForm(that.identifier);
saveObj.params['nums'] = nums;
$.AjaxJSON(saveObj,function(mes,json) {
$('table#'+that.identifier+'-selectorForm-r').datagrid("reload");
},
function(mes) {
//that.find('table.tablefooter span.errorinfo').html('<b>' + '加入模板项失败' + '</b>');
});
}
}//handler
}],
onClickRow : function(rowIndex, rowData) {
//if (lastIndex != rowIndex) {
var grid = $('table#'+that.identifier+'-selectorForm-r');
grid.datagrid( 'endEdit', lastIndex);
grid .datagrid( 'beginEdit', rowIndex);
//}
lastIndex = rowIndex;
window.researchPlanning.update.editId = rowIndex;
},
pagination : true,
rownumbers : true,
singleSelect:true
});
}, 0);
}
第二种方式:
将0000行到1111行的代码删除:
在页面中编写
<div id="${command.id}-${command.no}-produce" style="padding:5px;height:auto;display: none;">
<div>
模糊查询: <input type="text" style="width:100px" id="${command.id}-${command.no}-fuzzy-produce">
属性: <input class="easyui-combobox" style="width:120px"
name="attribute"
id="${command.id}-${command.no}-attribute-produce"
url="basedata/BdMaterialCategory.do?action=getFirstCategory&randData='+Math.random()"
editable="false"
textField="name"
valueField="id">
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" onclick="window.researchPlanning.update.bdBomSearch('produce')">查询</a>
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="window.researchPlanning.update.addBom('produce')">加入</a>
</div>
</div>
在删除0000行到1111行的位置上填写 toolbar:'#'+that.identifier+'-produce',句话效果同样实现,在当前页面点击管理不会出现上面的情况,
但是,出现另外一个问题,就是退出当前页面后,再次进入当前页面点击Bom的管理,就会出现上述的同样问题!!!
希望有知道的帮助解决一下,感激啦!