1、按钮配置入口

1.1 高级列表入口

进入【应用配置】管理界面,选中需要配置的高级列表或者表单点击操作中的更多找到【按钮配置】

1.1.1 高级列表入口

1.1.2 表单入口

1.2 数据列表入口

主入口进入后即可看到按钮配置

配置页面

2、按钮配置

2.1 按钮调用接口

内置事件不满足需求,需要调用自己的接口或者未集成接口

2.1.1 工具条按钮

2.1.1.1 添加按钮

2.1.1.2 配置按钮

2.1.1.3 前置事件代码示例
const { message,notification } = configs.utils;
/** 获取表格实例 */
const { selectedKeys = [],entity } = configs.context.getCompRef({code: '45d0e0'}) || {};

const keyObj = selectedKeys.reduce((t,c) => {
    t[c] = 1;
    return t;
},{})

const selectedRows  = (entity?.list?.data?.list || []).filter(item => keyObj[item['id']]);


const errStatus = selectedRows.find(item => {
    const { isAging, agingRate, nonAgingReason } = item;
    if(!isAging || (isAging === 'Y' && !agingRate) || (isAging === 'N' && !nonAgingReason)) {
        return true;
    }
    return false;
});

if(!selectedRows.length) {
    message.error('请选择要操作的数据,不可为空');
    response = {
        success: false
    };
}else if (errStatus) {
    notification.error({
        message: '操作提示',
        description: '「是否可抽老化」为必填项。并且等于「是」时,「老化比例」为必填项;等于「否」时,「不可老化原因」为必填项。',
        content: '',
        duration: 14
    });
    response = {
        success: false
    };
}else {
    const data = selectedRows.map(item => ({
        ...item,
        agingRate: item['isAging'] === 'Y' ? item['agingRate'] : '',
        nonAgingReason: item['isAging'] === 'N' ? item['nonAgingReason'] : '',
    }))
    response = {
        success: true,
        data
    }
}
2.1.1.4 事件代码示例
console.log('------',configs.data.preData)

if(configs.data.preData?.success) {
    const tableRef = configs.context.getCompRef({code: '45d0e0'});
    configs.utils.confirm({
        title: '确认操作',
        content: '是否确认进行批量保存操作',
        onOk: async () => {
            const resp = await configs.utils.fetch({
                url: '/apis/common/proxy/lcpGw/tz_api/faas地址',
                method: 'post',
                data: configs.data?.preData?.data || []
            })
            if(resp?.status === '0') {
                tableRef.refresh();
                const clearList = configs.data?.preData.data.map(item => ({
                    rowKey: item.id,isSelected: false
                }));
                tableRef.tableRef?.setSelected(clearList);
            }else {
                configs.utils.notification.error({
                    message: '出错啦!',
                    description: `${resp?.message}`,
                    content: '',
                    duration: 12
                });
            }
        }
    })
}
作者:聂维  创建时间:2023-10-18 14:47
最后编辑:聂维  更新时间:2024-12-11 10:09