介绍

从创建文档数据到文档模板,以及最后的预览效果,形成一个完整的案例。

详细步骤

1.创建一个表与功能,作为文档数据的基础,例如:客户管理与客户项目明细这个主子功能

2.依托第一步建的功能,做一个文档数据的数据源,配置好文档需要展示的字段,如下图:

客户项目管理其实对应的是主表“客户管理”,类型是单条数据
客户项目管理-项目其实对应的是子表“客户项目明细”,类型是多条数据
数据提取方式用的是资源表,也可以用数据源引擎,详细配置如下图:

主表

子表

注意:主表的提取条件也需要填写

数据字段-主表

数据字段可以导入想要显示的字段,但是需要注意字典类型的字段,如项目状态,数据类型需要用下拉字典

数据字段-子表

数据字段可以导入想要显示的字段,但是需要注意字典类型的字段,如项目状态,数据类型需要用下拉字典
子表需要注意加一个序号字段,设置为自动增行,如果是word或Excel,需要设置同行增行字段

3.打开文档模板功能,维护模板,模板分为Word、Excel、PDF等;模板见下面的附件

选择文件类型;上传文档模板,选择数据源

4.在功能上添加按钮,如文档下载,编写代码,然后将文档按照文档模板配置下载下来

5.最终效果

相关代码

文档下载按钮点击事件代码

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

//获得功能对象
const funcForm=$func.getFuncForm();
const formValues=funcForm.getValues();
if(JE.isEmpty(formValues.JE_ZQTJ_CUSTOMER_ID)){
    JE.alert("请先保存数据!", "error");
    return false;
}
var docCode="KHXM001";
//pdf 默认是0意思是不需要转成pdf下载,目前不支持直接导出pdf
var pdf="0";
//返回类型,代表文件流
var returnType="exp";
JE.ajax({
    url:"/je/office/jeOffice/doCacheParam",
    params:{
        JE_ZQTJ_CUSTOMER_ID:formValues.JE_ZQTJ_CUSTOMER_ID
    },
    headers:{pd:"test"}
}).then((resObj)=>{
    if(resObj.success){
        var paramKey=resObj.data;
        window.open("/je/office/jeOffice/doExecDoc?code="+docCode+"&pdf="+pdf+"&returnType="+returnType+"&type=cache&data="+paramKey+"&pd=test");
    }else{
        JE.alert(resObj.data, "error");
    }
})
最后编辑: 呼丽华  文档更新时间: 2024-11-08 17:00   作者:呼丽华