当前位置: 首页 > news >正文

eCodeSDK发票组件三步搭建

在泛微E9流程表单中,通过ecodeSDK快速搭建一个功能完善的发票夹组件,可以极大地简化发票数据的选择与录入流程。以下是一个清晰的三步搭建指南,涵盖了从环境准备到功能集成的全过程。

第一步:项目初始化与组件注册

首先,在泛微E9的ecode开发平台中创建一个新的功能包,并完成核心组件的注册。注册的目的是将自定义组件注入到特定的表单字段中。

  1. 创建ECode功能包:在ecode在线开发平台中,新建一个功能包(Package),这将是所有代码文件的容器。
  2. 编辑注册文件 (register.js):这是连接自定义组件与表单字段的关键。你需要使用ecodeSDK.overwriteClassFnQueueMapSet方法,在特定条件下(如表单页面)替换原表单字段的渲染组件。
// register.js 示例代码 const InvoiceSelector = (props) => { const acParams = { appId: '${appId}', // 系统自动识别 name: 'InvoiceSelector', // 自定义组件模块名称 isPage: false, noCss: true, props } return ecodeSDK.getAsyncCom(acParams); } // 核心:注册组件覆盖逻辑 ecodeSDK.overwriteClassFnQueueMapSet('WeaBrowser', { fn: (Com, newProps) => { const { hash } = window.location; // 仅在流程请求页面生效,并针对特定字段(如field6870) if (hash.indexOf('#/main/workflow/req') != -1) { if (newProps.fieldName != 'field6870') return; // 替换为你表单中发票字段的实际ID if (newProps._noOverwrite) return; newProps.Com = Com; // 保留原组件引用 return { com: InvoiceSelector, // 指定替换为我们的自定义组件 props: newProps }; } else return; } });

代码说明:此段代码定义了一个高阶函数,当页面URL匹配流程表单且字段ID为‘field6870’时,用InvoiceSelector组件替换原生的字段渲染组件。这是实现按钮注入表单的核心机制。

第二步:构建React组件与状态管理

此步骤构建发票选择器的主体UI,并利用Mobx管理应用状态,实现数据的响应式更新。

  1. 创建根组件 (index.js):负责组装UI组件和注入状态管理Store。
http://www.jsqmd.com/news/693730/

相关文章:

  • 别再用固定阈值了!用C++实现3σ法则,智能分割图像缺陷(附完整代码)
  • APK Installer:在Windows上无缝运行Android应用的技术实现与最佳实践
  • 从入门到精通:手把手教你用WPF的ItemsControl家族(ListBox/ListView/DataGrid)打造一个高交互性后台管理系统UI
  • 高压均质机HPH构造全解:三大系统一图看懂
  • MySQL Innodb 页缓存管理原理
  • 告别截图!用Python的PyMuPDF库,5分钟搞定PDF批量转高清PNG/JPEG
  • 别再死记硬背了!用Tiny210原理图,手把手拆解DDR内存Bank和Rank的硬件连接
  • 2026摩尔元数AI转型:以AI原生智能体,重构新一代工业软件
  • 《从“可视沙盘”到“决策推演平台”:数字孪生IOC的技术演进与业务价值回归》
  • 3步解决Amlogic电视盒子无线网络难题:RTL8822CS网卡驱动深度实战
  • FRCRN开源大模型教程:噪声标签体系构建与半监督降噪新思路
  • 告别端口转发:用SD-WAN旁路组网安全访问家中树莓派NAS和公司K8s集群
  • .net 8 C# WinForms GDI+ 绘制曲线图形
  • RPC 原理:Dubbo为了偷懒而存在的中间商
  • 无线通信‘抗衰’神器:用Python复现Alamouti编码,对比2x1与2x2 MIMO的误码率提升
  • 终极指南:在Windows电脑上直接运行安卓APK文件的完整解决方案
  • Ansible拆分大型Playbook
  • VSCode金融配置实战手册(券商/私募/自营团队内部流出版):支持Jupyter+QuantLib+FIX协议一键调试
  • Yakit WebFuzzer序列实战:巧用数据提取器和Nuclei DSL函数,动态处理上传路径
  • 2026椰制糖水品质鉴别技术:如何选到靠谱的糖水品牌 - 资讯焦点
  • 让macOS窗口变透明:提升工作效率的视觉革命
  • 别再只用@input了!UniApp搜索框实战:实时联想与回车确认的完整交互方案
  • 博德之门3模组管理器:轻松打造个性化游戏体验
  • TCP的建立与终止——三次握手、四次挥手
  • iperf3 Windows版终极指南:三步精准测量你的网络真实性能
  • 为什么说芬尼是空气能行业的 “极寒技术标杆”?41℃制热背后的技术密码 - 资讯焦点
  • 告别取模软件!用Python脚本为51单片机的8×8点阵自定义图案(附源码)
  • 最后50天,PMP还能过吗?能,只要你别把PMBOK当《圣经》啃
  • 2026年成绩发布工具权威测评:易查分综合表现极佳 20
  • 精读双模态检测论文十八|MambaRefine-YOLO创新点拉满!YOLO 即插即用涨点神器!!!!无人机小目标检测 SOTA,双门控 Mamba 融合 + 分层特征聚合暴力涨点!