介绍
主子功能导入导出案例
详细步骤
1.确定导入导出的功能,如:客户管理以及子功能客户项目明细
2.打开文档套件-Excel导入导出构造器,规划导入配置
2.1.添加模板基本信息,上传模板文件,文件是规划好的excel文件,并且文件要有个空数据行占位
模板注意sheet1 与sheet2的命名
2.2.添加Sheet页,维护主子Sheet页信息,注意开始行要与模板一致,如果数据不能重复,可以勾选上数据处理中的修改操作和唯一字段名
注意:这里维护的sheet明细,主表在前,子表在后,sheet序号一定要标清楚哪一个是1哪一个是2
主表信息维护,注意红框框出来的配置
子表信息维护,注意红框框出来的配置,尤其是“子表带入主表字段”,这里的字段需要在子表中存在,比如这里的客户名称与客户联系人
2.3.规划模板导入字段,并且进行快速规划列操作,其中所占列与模板列要一致,字段的配置信息没有特殊情况下,默认就行
主表规划模板导入字段,注意下拉框带值配置
子表规划模板导入字段
因为客户项目是子表,如果主子导入的时候,那子表里面需要用到主表的主键,对于子表来说就是外键,那么这个外键在导入的时候我们需要用关联选择给带值,关联选择配置在客户名称这个字段,将客户名称、客户联系人、一级客户主键ID带值过来;
在配置好关联选择之后,这个数据往后面拉还有数据带值的配置;首先勾选处理带值,在配置对比字段配置,最后选上主表的表名
关联选择配置项:
JE_ZQTJ_CUSTOMER,CUSTOMER_KHMC~CUSTOMER_KHLXR~JE_ZQTJ_CUSTOMER_ID,CUSTOMER_KHMC~CUSTOMER_KHLXR~JE_ZQTJ_CUSTOMER_ID,S
对比字段配置:CUSTOMER_KHMC~CUSTOMER_KHMC
2.4.在功能上添加按钮如:下载模板、导入按钮、导出(平台)、导出全部、导出功能数据按钮,其中导出全部、导出功能数据这两个按钮是按照模板导出的,并且在添加模板信息的时候,必须指定表名
2.5.进行模板下载,最后进行数据导入,以及导出
相关代码
//下载模板
//前言:一般场景是由客户下载了模版文件,填充好数据之后再导入.
//1.获取产品服务代码
let pd=$func.getFuncData().info.productCode;
//2.调用下载模版请求
window.open('/je/office/jeExcel/downTemExcel?code=JEEXCEL00000005&pd='+pd);
//导入按钮
//前言:一般场景是自己增加导入按钮,注册点击事件
//1.获取功能表格
const grid = $func.getFuncGrid();
//2.获取当前服务编码
let pd=$func.getFuncData().info.productCode;
//3.调用导入文件方法
JE.excelImport('JEEXCEL00000005',{pd:pd}).then((resObj)=>{
//4.成功刷新当前表格数据
grid.loadPage(1);
JE.message("导入成功");
// 成功操作
}).catch(()=>{
// 失败操作
JE.alert('导入失败,请联系管理员!');
});
// 导出全部
//前言:事件一般注册到平台的导出按钮点击前事件上,也可以增加自定义按钮
//1.获取功能表格对象
const grid = $func.getFuncGrid();
//2.获取功能信息
const funcInfo=$func.getFuncData().info;
//3.获取产品服务编码
let pd=funcInfo.productCode;
//4.调用导出数据操作
JE.excelExport('JEEXCEL00000005',{
pd:pd,
funcCode:$func.funcCode,
j_query:'[]',
title:funcInfo.funcName,
}).then((resObj)=>{
// 成功操作
}).catch(()=>{
// 失败操作
JE.alert('导入失败,请联系管理员!');
});
//导出功能数据
//前言:事件一般注册到平台的导出按钮点击前事件上,也可以增加自定义按钮
//1.获取功能表格对象
const grid = $func.getFuncGrid();
//2.获取功能信息
const funcInfo=$func.getFuncData().info;
//3.调用导出数据操作
$func.action.doGridExport('JEEXCEL00000005',{
//mainId:'11',自定义参数
},{
//exportType:'SELECTION', 默认选中数据
//fileName:'fileName.xls' 默认文件名
})