1、首先,我们在前端jsp中定义好相关控件;
<EF:EFMultiSelect ename="result-0-checkPerson" cname="检查人" filter="contains"
optionLabel="请选择" colWidth="12" ratio="1:11" required="true">
<EF:EFOptions blockId="checkPersons" textField="name" valueField="iid"/>
</EF:EFMultiSelect>
2、blockId是用于在修改页面的service中进行初始化后赋值用到的块名;
3、相关修改/详情页面service;
@Override
public EiInfo initLoad(EiInfo inInfo) {
String iid = inInfo.getString("inqu_status-0-iid");
if(null == iid || "null".equals(iid) || "".equals(iid)){
return inInfo;
}else{
inInfo = query(inInfo);
Map<String,String> result = inInfo.getRow("result", 0);//获取查询结果集
String checkUnitsCode = result.get("orgEname");//检查单位
String checkLevel = result.get("checkLevel");
inInfo.set("checkUnitsCode", checkUnitsCode);
inInfo.set("checkLevel", checkLevel);
EiBlock checkPersons = new EiBlock("checkPersons");
checkPersons.setRows((List)queryCheckPeople(inInfo).get("list"));
inInfo.addBlock(checkPersons);
String orgEname1 = result.get("orgEname1");//受检单位
EiBlock directors = new EiBlock("directors");
inInfo.set("orgEname1", orgEname1);
directors.setRows((List)queryDirectorPeople(inInfo).get("list"));
inInfo.addBlock(directors);
return inInfo;
}
}
@Override
public EiInfo query(EiInfo inInfo) {
return super.query(inInfo, "AQJC0201.query");
}
/**
* 获取检查人列表
* @param inInfo
* @return
*/
public EiInfo queryCheckPeople(EiInfo inInfo){
String checkUnitsCode = inInfo.getString("checkUnitsCode");
String checkLevel = inInfo.getString("checkLevel");
Map map = new HashMap();
if(checkLevel.equals("10")){
//公司级检查
map.put("dep1Ename", checkUnitsCode);
}
if(checkLevel.equals("20")){
//部门级检查
map.put("dep1Ename", checkUnitsCode);
}
if(checkLevel.equals("30")){
//车间、科室、区域级
map.put("dep2Ename", checkUnitsCode);
}
if(checkLevel.equals("40")){
//班组级
map.put("dep3Ename", checkUnitsCode);
}
map.put("checkUnitsCode", checkUnitsCode);
List list = dao.query("AQWT0106.queryCheckPeople", map,0,-999999);
inInfo.set("list",list);
return inInfo;
}
4、其次,我们应该定义好相应js中自定义下拉内容;
//获取检查人员
function getCheckPeople() {
selectOption("queryCheckPeople", 0, "checkPerson");
}
/**
* 查询检查单位(多选)
* @param arg1
* @param arg3
*/
function queryAllOrgFullName(arg1, arg3) {
var dropdown = $('#' + arg1).data("kendoMultiSelect");
var dataJson = {};
var data = [];
var stringdata = null;
var tojson = null;
var in_index = 0;
var inInfo = new EiInfo();
EiCommunicator.send("AQJC0102", "queryAllOrgFullName", inInfo,
{
onSuccess: function (response) {
var a = response.getBlock("orgResult").getMappedRows();
for (var i = 0; i < a.length; i++) { //组装数据
stringdata = '{"textField":"' + a[i].orgCname + '", "valueField":"' + a[i].orgEname + '"}';
tojson = $.parseJSON(stringdata);
data.push(tojson);
stringdata = null;
tojson = null;
if (arg3 == a[i].orgEname) {
in_index = i;
}
}
dataJson['data'] = data;
var dataSource = new kendo.data.DataSource(dataJson);
dropdown.setDataSource(dataSource);
},
onFail: function (errorMsg, status, e) {
}
}, {async: false});
}
详情可参照AQJC0201