介绍

列表按钮实现点击按钮预览单附件、多附件;下载单附件、多附件;

详细步骤

1.添加列action列按钮,注册按钮点击事件

2. 根据不同需求实现不同效果

  • 预览单附件

  • 预览多附件

  • 下载单附件

  • 批量下载多附件

相关代码

  • 查看单附件
const {
    $func,  // 功能对象
    $grid,  // 功能列表对象
    button, // 按钮对象
    row,    // 行
} = EventOptions;
//文件预览
const { File } = JE.useUi(); 
const { decode } = JE.useUtils();
//文件预览方法调运与传参  说明:item: 文件对象,包含文件的fileKey, suffix, relName 属性。
if(row.TEST_DFJ){
    const dfj = decode(row.TEST_DFJ);
    //调运预览方法
    File.previewFile(dfj[0]); 
}
  • 查看多附件
const {
    $func,  // 功能对象
    $grid,  // 功能列表对象
    button, // 按钮对象
    row,    // 行
} = EventOptions;

//文件预览
const { File } = JE.useUi(); 
const { decode } = JE.useUtils();
//多附件
if(row.TEST_DFJS){
    //将多附件字符串转换为对象
    const files = decode(row.TEST_DFJS);
    //previewFile有两个参数,第一个参数是指定预览的文件,写null是默认第一个文件;第二个参数是文件对象
    File.previewFile(null,files); 
    //指定第一个参数 即指定预览文件,目前先注释了
    //File.previewFile(files[1],files); 
}
  • 下载附件
const {
    $func,  // 功能对象
    $grid,  // 功能列表对象
    button, // 按钮对象
    row,    // 行
} = EventOptions;

//下载文件
const { downloadFile,decode} = JE.useUtils();
//单附件下载
if(row.TEST_DFJ){
    const dfj = decode(row.TEST_DFJ);
    //文件下载方法调运  说明:fileKey:文件key
    downloadFile(dfj[0].fileKey);
}
  • 批量下载附件
const $grid = $func.getFuncGrid();
const records = $grid.getSelectedRecords();
if (records == null || records.length == 0) {
    JE.alert('请勾选要下载的文件数据!','error');
    return false;
}
let keys = [];
records.forEach(function(record) {
    if (JE.isNotEmpty(record.XMGCWJ_FJ)) {
        let files = JE.decode(record.XMGCWJ_FJ);
        if (files != null && files.length > 0) {
            files.forEach(file => keys.push(file.fileKey));
        }
    }
})
if (keys.length > 0) {
    JE.useUtils().downloadFile(keys);
} else {
    JE.alert('不存在可下载的文件!', 'error');
}
return false;
最后编辑: 呼丽华  文档更新时间: 2025-11-03 11:34   作者:呼丽华