介绍
表单上某个关联选择字段,在选择前,过滤掉列表上已经有的数据,目标功能弹出框只显示未选择过的数据
详细步骤
1.注册关联选择字段的“选择前”事件
2.编写代码
相关代码
const {
$func, // 功能对象
field, // 字段详细配置
model, // 表单数据
type, // 类型:column(列表字段)|form(表单字段)
$form, // 功能表单对象(表单编辑起效)
$grid, // 功能列表对象(列表编辑起效)
options,// 查询配置项,可以根据业务进行调整
} = EventOptions;
//查询当前列表显示的数据,这里还加了表单字段的作为条件进行了过滤
const data = JE.syncAjax({
url:'/je/common/load',
params: {
tableCode:"JE_DEMO_FUNC",
funcCode:"JE_DEMO_FUNC",
j_query:'[{"type":"=","code":"FUNC_MC","value":"测试","cn":"and"}]'
},
headers: {pd:"test"}
});
//查看数据,数据存在之后,对弹窗出的数据进行过滤
if(data.success){
const gysnames = [];
data.data.rows.map(function(row) {
//在这里获取功能中选择的数据push到空数组里面,这里建议用ID
row.FUNC_GYSMC && gysnames.push(row.FUNC_GYSMC);
});
options.querys=[{"type":"notIn","code":"GYS_GYSMC","value":gysnames,"cn":"and"}];
}
return true;
最后编辑: 呼丽华 文档更新时间: 2024-08-29 09:50 作者:呼丽华