介绍

单个子功能导入导出案例

详细步骤

1.确定导入导出的子功能,如:客户项目明细,目前只有一条数据,在导入几条数据

2.打开文档套件-Excel导入导出构造器,规划导入配置

2.1.添加模板基本信息,上传模板文件,文件是规划好的excel文件,并且文件要有个空数据行占位

2.2.添加Sheet页,维护Sheet页信息,注意开始行要与模板一致,如果数据不能重复,可以勾选上数据处理中的修改操作和唯一字段名

2.3.规划模板导入字段,并且进行快速规划列操作,其中所占列与模板列要一致,字段的配置信息没有特殊情况下,默认就行

注意:子表的外键给了默认值{mainId},这个变量是前端调运导入的时候传的主表的主键Id字段值,一定要对应上。

2.4.在功能上添加按钮如:下载模板、导入按钮、导出全部、导出功能数据按钮,其中导出全部、导出功能数据这两个按钮是按照模板导出的,并且在添加模板信息的时候,必须指定表名

2.5.进行模板下载,最后进行数据导入,以及导出

相关代码

// 异步事件,支持 await语法,实现同步处理。
//前言:一般场景是由客户下载了模版文件,填充好数据之后再导入.
//1.获取产品服务代码
let pd=$func.getFuncData().info.productCode;
//2.调用下载模版请求
window.open('/je/office/jeExcel/downTemExcel?code=JEEXCEL00000006&pd='+pd);


//导入按钮
const {
    $func,  // 功能对象
    button, // 按钮对象
} = EventOptions;

// 异步事件,支持 await语法,实现同步处理。

//前言:一般场景是自己增加导入按钮,注册点击事件
//1.获取功能表格
const grid = $func.getFuncGrid();
//2.获取当前服务编码
let pd=$func.getFuncData().info.productCode;
//获取子功能的父级功能表单
const parentFuncForm = $func.parentFunc.getFuncForm();
//获取子功能父级功能表单数据
const formvalues = parentFuncForm.getValues();
if(JE.isEmpty(formvalues.JE_ZQTJ_CUSTOMER_ID)){
    JE.alert("请先保存父级功能数据");
    return false;
}
//3.调用导入文件方法
JE.excelImport('JEEXCEL00000006',{
    pd:pd,
    mainId:formvalues.JE_ZQTJ_CUSTOMER_ID
}).then((resObj)=>{
    //4.成功刷新当前表格数据
    grid.loadPage(1);
    JE.message("导入成功");
}).catch(()=>{
    // 失败操作
    JE.alert('导入失败,请联系管理员!');
});


// 导出全部

const {
    $func,  // 功能对象
    button, // 按钮对象
} = EventOptions;
// 异步事件,支持 await语法,实现同步处理。
// 返回false,可以阻止click,after-click事件
// return true|false;

//前言:事件一般注册到平台的导出按钮点击前事件上,也可以增加自定义按钮
//1.获取功能表格对象
const grid = $func.getFuncGrid();
//2.获取功能信息
const funcInfo=$func.getFuncData().info;
//3.获取产品服务编码
let pd=funcInfo.productCode;
//获取子功能的父级功能表单
const parentFuncForm = $func.parentFunc.getFuncForm();
//获取子功能父级功能表单数据
const formvalues = parentFuncForm.getValues();
if(JE.isEmpty(formvalues.JE_ZQTJ_CUSTOMER_ID)){
    JE.alert("请先保存父级功能数据");
    return false;
}
//4.调用导出数据操作
JE.excelExport('JEEXCEL00000006',{
    pd:pd,
    funcCode:$func.funcCode,     j_query:JE.encode([{code:"JE_ZQTJ_CUSTOMER_ID",type:"=",value:formvalues.JE_ZQTJ_CUSTOMER_ID,cn:"and"}]),
    title:funcInfo.funcName,
}).then((resObj)=>{
// 成功操作
}).catch(()=>{
    // 失败操作
    JE.alert('导入失败,请联系管理员!');
});



//导出功能数据

const {
    $func,  // 功能对象
    button, // 按钮对象
} = EventOptions;
// 异步事件,支持 await语法,实现同步处理。
// 返回false,可以阻止click,after-click事件
// return true|false;
//前言:事件一般注册到平台的导出按钮点击前事件上,也可以增加自定义按钮
//1.获取功能表格对象
const grid = $func.getFuncGrid();
//2.获取功能信息
const funcInfo=$func.getFuncData().info;
//获取子功能的父级功能表单
const parentFuncForm = $func.parentFunc.getFuncForm();
//获取子功能父级功能表单数据
const formvalues = parentFuncForm.getValues();
if(JE.isEmpty(formvalues.JE_ZQTJ_CUSTOMER_ID)){
    JE.alert("请先保存父级功能数据");
    return false;
}
//3.调用导出数据操作
$func.action.doGridExport('JEEXCEL00000006',{
//mainId:'11',自定义参数
},{
//exportType:'SELECTION', 默认选中数据
//fileName:'fileName.xls' 默认文件名
});
最后编辑: 呼丽华  文档更新时间: 2024-11-08 17:00   作者:呼丽华