介绍

表单上某个关联选择字段,在选择前,过滤掉列表上已经有的数据,目标功能弹出框只显示未选择过的数据

详细步骤

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   作者:呼丽华