介绍
列表按钮实现点击按钮预览单附件、多附件;下载单附件、多附件;
详细步骤
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 作者:呼丽华