# 前端API
本文档是前端API的说明。
前端API已在代码中封装好,直接使用即可。开发时可在低开页面左下角查看。

# 内置函数 API 文档
本文档列出了可用于表单、页面或组件脚本中的内置函数。这些函数主要用于操作 UI、处理数据、控制流程以及与后端进行交互。
# 通用说明
- 调用方式: 在脚本区域直接调用,例如
changeStatus('view')。 - 作用域: 通常在当前表单、页面或组件的上下文环境中执行。
- 参数: 大多数参数为必填,需严格参照类型和格式要求。
- 分类: 函数根据其主要使用场景分为 表单、视图 和 其他 三大类。
# 一、表单相关函数详情
此类函数通常在表单(resourceType: 'form')的上下文中使用,用于处理表单状态、校验、字段控制、数据提交和弹窗交互。
# 1.1 表单状态与控制
- changeStatus - 切换表单状态
- resetForm - 重置表单
- setDefaultStatus - 设置表单为默认状态
- formValidate - 校验表单
- submitForm - 提交表单
- submitFormAndGoOn - 提交表单并继续
- loadEntity - 加载实体数据
# 1.2 表单字段控制
- setDisabled - 设置字段禁用状态
- setReadonly - 设置字段只读状态
- setVisible - 设置字段可见状态
- setFieldRequire - 设置字段必填状态
- setValidator - 动态修改字段验证规则
- setUnionValidator - 设置联合校验规则
# 1.3 数据操作 (CRUD)
- createByEntity - 创建实体记录
- updateByEntity - 更新实体记录
- updateByEntityForPart - 部分更新实体记录
- delete - 删除当前表单数据
- deletes - 批量删除数据
- deletesByEntity - 根据实体批量删除记录
- queryByEntity - 根据实体查询数据
- dataIsExist - 判断数据是否存在
- queryFieldValue - 查询指定字段值
# 1.4 弹窗与抽屉
- openDialog - 打开弹窗
- closeDialog - 关闭弹窗
- dialogGoto - 弹窗内跳转
- openDrawer - 打开抽屉
- closeDrawer - 关闭抽屉
- openScanDialog - 打开扫码对话框
- openSelectUserDialog - 打开用户选择对话框
- openSelectIconDialog - 打开图标选择对话框
# 1.5 文件与打印
- downloadAttachment - 下载附件
- downloadFile - 下载文件
- getPdf - 获取 PDF 二进制流
- getTempPdfUrl - 获取临时 PDF 链接
- print - 打印模板
# 1.6 容器与子表格
- getFrame - 获取资源容器或子表格对象
- getFrameAsync - 异步获取资源容器或子表格对象
- isChildGridEmpty - 判断子表格是否为空
- setChildrenData - 设置子表格数据
- setCheckChildrenData - 设置子表格选中行数据
- loadView - 加载视图数据
- loadForm - 加载表单数据
# 1.7 权限与上下文
- hasPermission - 判断是否拥有权限
- isExistFunctions - 判断是否存在功能权限
- isExistRole - 判断是否拥有角色
- isExistPosition - 判断是否拥有职位
- isExistPermission - 判断是否拥有指定权限
- isExistDataPermission - 判断是否拥有数据权限
- getAuthorization - 获取授权信息
- getCurrOrgIdByDim - 根据维度获取当前组织 ID
# 1.8 工具与辅助函数
- currentDate - 获取当前日期
- currentTime - 获取当前时间
- safeValue - 获取安全值
- getDictByType - 根据类型获取字典数据
- querySdoTypes - 查询 SDO 类型数据
- loading - 控制加载状态
- setGlobalVariable - 设置全局变量
- quickTour - 开启快速导览
# 1.9 流程相关
- openProcess - 打开一个流程
- startProcess - 启动一个流程
# 1.10 UI 元素操作
- getElement - 获取页面元素
- getFormItem - 获取表单元素
- hideElements - 隐藏页面元素
- showElements - 显示页面元素
- changeTabs - 切换 Tab 页
# 二、视图相关函数详情
此类函数通常在视图(如列表、表格)的上下文中使用,用于处理表格数据、查询、导出、批量操作等。
# 2.1 数据打开与查看
- openCreate - 打开新建窗口
- openEditRow - 打开编辑窗口
- openViewRow - 打开详情窗口
# 2.2 数据导出
- exportDataEvent - 导出全部数据
- exportSelectEvent - 导出选中项
- openExportEvent - 打开导出窗口
# 2.3 表格操作
- removeRow - 删除行数据
- updateRow - 更新单行数据
- mergeCells - 合并单元格
- updateFooter - 更新表格底部合计
- setCheckboxRow - 选中/取消选中数据
- setAllCheckboxRow - 全部选中/取消选中
- clearCheckboxRow - 全部取消选中
- saveData - 保存数据(通常用于表格)
- copyRow - 复制行数据
- copyRowToChildren - 复制行数据到子表
- insertRow - 插入一行数据
- newRow - 新建一行空数据
- addRowToChildren - 向子表中添加一行数据
- removeSelectedRows - 移除表格中选中的行
- cancelToolPanel - 取消工具面板/取消编辑状态
# 2.4 查询与筛选
- doQuery - 执行查询操作
- doQueryNext - 执行下一页查询
- refreshQuery - 刷新查询结果或表格数据
- conditionChange - 触发查询条件改变事件
- setQueryItemVisible - 设置查询条件可见性
- showColumn - 设置显示列
- hideColumn - 设置隐藏列
- openMulsort - 打开多列排序设置
- openSort - 打开单列排序设置
# 2.5 流程批量操作
- processBatchFinish - 流程批量审批操作
- processBatchTerminate - 流程批量终止操作
- processBatchBack - 流程批量驳回操作
# 2.6 打印与文件
- print - 打印表单数据
- downloadPdf - 下载表单数据为 PDF
- getPdf - 获取 PDF 二进制流
- getTempPdfUrl - 获取临时 PDF 文件链接
- downloadFile - 下载文件
- downloadAttachment - 下载附件
# 2.7 其他视图函数
- openProcess - 打开流程
- doChoose - 选中项回调
- openImportEvent - 打开数据导入配置界面
- computedCardStyle - 计算卡片样式
- openShareConfig - 打开分享配置弹窗
- getQueryElement - 获取查询条件组件
# 三、其他通用函数详情
此类函数与具体资源类型(表单/视图)关联不大,属于通用工具、HTTP 请求、事件总线、时间处理等。
# 3.1 HTTP 请求
# 3.2 导航树操作
- refresh - 刷新导航树
- reloadParent - 刷新导航树父节点
- reloadChildren - 刷新导航树子节点
- getParentNode - 获取导航树父节点
- getInstance - 获取导航树实例
- expand - 展开导航树节点
- expandAll - 展开导航树全部节点
# 3.3 事件总线
# 3.4 时间处理
# 3.5 工具函数
- lodash - lodash 工具库
- openSelectIconDialog - 打开图标窗口
- openSelectUserDialog - 打开选人窗口
- openProcess - 打开发起流程 API
# API 详情
# 一、表单相关函数详情
# changeStatus
切换表单状态。
代码示例:
this.Api.changeStatus('status')参数:
参数名 类型 必填 说明 可选值 statusstring是 要切换到的表单状态 "create","edit","view","..."
# formValidate
校验表单所有字段。
- 代码示例:
this.Api.formValidate() - 参数: 无
- 返回值: 通常返回一个 Promise,表示校验是否通过。
# closeDialog
关闭当前弹窗。
- 代码示例:
this.Api.closeDialog() - 参数: 无
# downloadAttachment
根据附件 ID 下载附件。
- 代码示例:
this.Api.downloadAttachment(attachmentId, fileName) - 参数:
参数名 类型 必填 说明 attachmentIdstring是 附件在系统中的唯一标识 fileNamestring是 下载时显示的文件名
# downloadFile
通过 URL 下载文件。
- 代码示例:
this.Api.downloadFile(url, fileName) - 参数:
参数名 类型 必填 说明 urlstring是 文件的完整地址 fileNamestring是 下载时显示的文件名
# getPdf
获取 PDF 文件的二进制流,通常用于打印预览或下载。
- 代码示例:
const query = { appName: 'AFCENTER', entityCode: 'wy1210.Wy09101424', formId: '1', entityName: 'wy1210.wy12101332.Wy09101424', formData: JSON.stringify({ // 需要打印的数据非常重要 a: '新增', }), templateCode: 'template1765440572465', responseType: 'docx', isDownload: true } const res = await this.Api.getPdf(query) - 参数:
参数名 类型 必填 说明 queryobject是 打印参数对象 query.appNamestring是 当前应用名称 query.entityCodestring是 当前表单的编码 query.formIdstring是 当前数据的主键ID query.entityNamestring是 当前实体名称 query.formDatastring是 JSON字符串格式的表单数据 query.templateCodestring是 打印模板的编码 query.responseTypestring是 响应类型,'pdf' 或 'docx' query.isDownloadboolean否 是否直接下载 - 返回值:
object- 包含PDF二进制数据的响应对象,可传递给getTempPdfUrl获取访问链接
注意: 模板参数获取方式可以从正常的打印功能地址栏解析,例如:
http://10.15.15.151:13082/#/module/formDesigner/page/print?appName=AFCENTER&entityCode=ee.newres123&formId=1401&entityName=ee.sdf.OrderMaterial&formData={}&templateCode=template1765853133131&isPrint=true&type=&titleField=&codeField=
# getElement
通过 ID 获取页面上的 DOM 元素。
- 代码示例:
this.Api.getElement('elementId') - 参数:
参数名 类型 必填 说明 elementIdstring是 要获取的元素的 ID - 返回值:
object- DOM元素对象,包含Vue组件实例的方法和属性
# getFormItem
通过字段名获取表单元素对象。
- 代码示例:
this.Api.getFormItem('field') - 参数:
参数名 类型 必填 说明 fieldstring是 表单字段名 - 返回值:
object- 表单元素对象,包含Vue组件实例的方法和属性
# hideElements
隐藏一个或多个页面(非表单)元素。
- 代码示例:
this.Api.hideElements(['elementId']) - 参数:
参数名 类型 必填 说明 elementIdarray|string是 要隐藏的元素 ID 数组或单个 ID 字符串
打印指定模板。
- 代码示例:
this.Api.print('templateId') - 参数:
参数名 类型 必填 说明 templateIdstring是 打印模板的 ID或 code
# resetForm
重置表单所有字段为初始值。
- 代码示例:
this.Api.resetForm() - 参数: 无
# submitFormAndGoOn
提交表单,成功后保持当前页面状态(如继续编辑)。
- 代码示例:
this.Api.submitFormAndGoOn() - 参数: 无
# addTabs
添加新的标签页。
- 代码示例:
this.Api.addTabs({ tabName: '新建tab页', pkId: '1', url: '' }) - 参数:
参数名 类型 必填 说明 optionsobject是 Tab页配置对象 options.tabNamestring是 Tab页名称 options.pkIdstring是 主键ID options.urlstring否 Tab页URL
# openDialog
打开一个模态或非模态弹窗。
- 代码示例:
this.Api.openDialog({ "code": '', // 资源编码 "resourceType": 'form', // 资源类型 "dialog": { "width": '960px', "height": '400px', "title": '', "fullscreen": false, "top": '15vh', // 上边距 "modal": false, // 遮罩层 } }) - 参数:
参数名 类型 必填 说明 optionsobject是 弹窗配置对象 options.codestring是 要打开的资源(如表单、列表)编码 options.resourceTypestring是 资源类型,如 'form'options.dialogobject是 弹窗样式和行为配置
# dialogGoto
在当前弹窗内跳转到另一个资源。
- 代码示例:
this.Api.dialogGoto({ "code": 'wy1210.Wy09101424', "resourceType": 'form', "dialog": { "width": '960px', "height": '400px', "title": '打开窗口', "fullscreen": false, "top": '15vh', "modal": false, "center": false, } }) - 参数:
参数名 类型 必填 说明 optionsobject是 同 openDialog的配置对象
# delete
删除当前表单数据。
- 代码示例:
this.Api.delete(this.formData, {}) - 参数:
参数名 类型 必填 说明 formDataobject是 要删除的表单数据对象,通常为 this.formDataoptionsobject否 删除操作的额外配置
# deletes
批量删除数据。
- 代码示例:
this.Api.deletes(['id'], {}) - 参数:
参数名 类型 必填 说明 idarray是 要删除的记录的主键 ID 数组 optionsobject否 删除操作的额外配置
# setDefaultStatus
将表单状态重置为定义时的默认状态。
- 代码示例:
this.Api.setDefaultStatus() - 参数: 无
# setDisabled
设置表单字段的禁用状态。
- 代码示例:
this.Api.setDisabled(true,[""]) - 参数:
参数名 类型 必填 说明 disabledboolean是 true为禁用,false为启用fieldsarray是 受影响的字段名数组,空数组可能表示所有字段
# setReadonly
设置表单字段的只读状态。
- 代码示例:
this.Api.setReadonly(true,[""]) - 参数:
参数名 类型 必填 说明 readonlyboolean是 true为只读,false为可编辑fieldsarray是 受影响的字段名数组
# setVisible
设置表单字段的可见状态。
- 代码示例:
this.Api.setVisible(true,[""]) - 参数:
参数名 类型 必填 说明 visibledboolean是 true为显示,false为隐藏fieldsarray是 受影响的字段名数组
# setFieldRequire
设置表单字段的必填状态。
- 代码示例:
this.Api.setFieldRequire(true,[""]) - 参数:
参数名 类型 必填 说明 requiredboolean是 true为必填,false为非必填fieldsarray是 受影响的字段名数组
# showElements
显示一个或多个被隐藏的页面(非表单)元素。
- 代码示例:
this.Api.showElements(["elementId"]) - 参数:
参数名 类型 必填 说明 elementIdarray是 要显示的元素 ID 数组
# getFrame
通过 ID 同步获取资源容器或子表格的框架对象。
- 代码示例:
this.Api.getFrame('frameId') - 参数:
参数名 类型 必填 说明 frameIdstring是 容器或子表格的 ID - 返回值:
object- 资源容器或子表格的框架对象
# getFrameAsync
通过 ID 异步获取资源容器或子表格的框架对象。
- 代码示例:
this.Api.getFrameAsync('frameId').then(frame => { }) - 参数:
参数名 类型 必填 说明 frameIdstring是 容器或子表格的 ID - 返回值:
Promise<object>- 返回包含资源容器或子表格框架对象的Promise
# isChildGridEmpty
判断指定子表格字段的数据是否为空。
- 代码示例:
this.Api.isChildGridEmpty('childFieldName') - 参数:
参数名 类型 必填 说明 childFieldNamestring是 子表格对应的字段名
# changeTabs
切换指定 Tab 组件到特定的 Tab 页。
- 代码示例:
this.Api.changeTabs(tabComponentName, tabName) - 参数:
参数名 类型 必填 说明 可选值 tabComponentNamestring是 Tab 组件的名称 tabNamestring是 要切换到的 Tab 页名称 "1","2","3","4"等
# submitForm
提交表单数据。
- 代码示例:
this.Api.submitForm() - 参数: 无
# loadEntity
加载实体数据。
- 代码示例:
this.Api.loadEntity() - 说明: 参数
entity,force在代码提示中提及,但未在 JSON 中定义具体结构,请参考具体实现。
# setValidator
动态为指定字段设置自定义验证规则。
- 代码示例:
this.Api.setValidator('name',[{ validator:(rule,value,callback)=>{ if(/d+$/.test(value) ){ callback('只能是数字') } else { callback() } } }]) - 参数:
参数名 类型 必填 说明 namestring是 要设置验证规则的字段名 rulesarray是 验证规则数组,规则格式需符合所用 UI 框架要求
# getTempPdfUrl
获取临时生成的 PDF 文件的访问链接。通常与 getPdf 配合使用,用于将二进制流转换为可访问的临时链接。
- 代码示例:
this.Api.getTempPdfUrl() - 参数: 无
- 代码示例:
const query = { appName: 'AFCENTER', // 当前应用名称 entityCode: 'sj.Inventory', // 当前表单 code formId: '1', // 当前数据的id entityName: 'sj.three.Inventory', // 当前实体名称 formData: JSON.stringify({ // 需要打印的数据非常重要 a: '1', templateName: '123', }), templateCode: 'template1758023816234', // 模板code responseType: 'docx', // 或 'pdf' isDownload: true } const res = await this.Api.getPdf(query) console.log('二进制流::', res) const tempUrl = this.Api.getTempPdfUrl(res.data) window.open(tempUrl) - 参数:
参数名 类型 必填 说明 pdfDataBlobArrayBuffer是 - 返回值:
string- PDF文件的临时访问链接,可直接在浏览器中打开
注意: 模板参数获取方式可以从正常的打印功能地址栏解析,例如:
http://10.15.15.151:13082/#/module/formDesigner/page/print?appName=AFCENTER&entityCode=ee.newres123&formId=1401&entityName=ee.sdf.OrderMaterial&formData={}&templateCode=template1765853133131&isPrint=true&type=&titleField=&codeField=
# hasPermission
判断当前用户是否拥有某个特定的权限编码。
- 代码示例:
this.Api.hasPermission('permissionCode') - 参数:
参数名 类型 必填 说明 permissionCodestring是 权限编码 - 返回值:
boolean- 是否拥有指定权限
# currentDate
获取系统当前日期。
- 代码示例:
this.Api.currentDate() - 参数: 无
- 返回值:
string- 当前日期字符串
# currentTime
获取系统当前时间。
- 代码示例:
this.Api.currentTime() - 参数: 无
- 返回值:
string- 当前时间字符串
# setUnionValidator
为多个字段设置联合校验规则。
- 代码示例:
this.Api.setUnionValidator(['field']) - 参数:
参数名 类型 必填 说明 fieldarray是 需要联合校验的字段名数组
# openDrawer
打开一个侧边抽屉。
- 代码示例:
this.Api.openDrawer({ "code": '', "resourceType": 'form', "dialog": { "width": '960px', "title": '', } }) - 参数:
参数名 类型 必填 说明 optionsobject是 抽屉配置对象,结构与 openDialog类似
# closeDrawer
关闭当前打开的抽屉。
- 代码示例:
this.Api.closeDrawer() - 参数: 无
# openScanDialog
打开二维码/条形码扫描对话框。
- 代码示例:
this.Api.openScanDialog({ "success": (value) => { // 扫码成功回调 console.log('success', value) }, "error": (value) => { // 失败回调 console.log('error', value) } }) - 参数:
参数名 类型 必填 说明 optionsobject否 扫码配置对象 options.successfunction否 扫码成功时的回调函数,参数为扫码结果 options.errorfunction否 扫码失败时的回调函数,参数为错误信息 - 返回值: 无
# openSelectUserDialog
打开用户选择对话框。
- 代码示例:
this.Api.openSelectUserDialog({}) - 参数:
参数名 类型 必填 说明 optionsobject否 用户选择配置对象 options.multipleboolean否 是否允许多选 options.successfunction否 选择用户后的回调函数 options.errorfunction否 选择失败或取消时的回调函数
# openSelectIconDialog
打开图标选择对话框。
- 代码示例:
this.Api.openSelectIconDialog({}) - 参数:
参数名 类型 必填 说明 optionsobject否 图标选择配置对象 options.successfunction否 选择图标后的回调函数 options.errorfunction否 选择失败或取消时的回调函数
# safeValue
安全地获取值,用于处理可能为 null 或 undefined 的情况,避免报错。
- 代码示例:
safeValue('') - 参数:
参数名 类型 必填 说明 valueany是 需要安全获取的原始值
# openProcess
打开一个已存在的流程实例进行查看或处理。
- 代码示例:
this.Api.openProcess(processDefName, pkId, props) - 参数:
参数名 类型 必填 说明 processDefNamestring是 流程定义名称 pkIdstring是 流程实例关联的业务数据主键 ID propsobject否 打开流程时传递的其他参数
# startProcess
根据业务表单数据启动一个新的流程实例。
- 代码示例:
this.Api.startProcess(formData, processDefName) - 参数:
参数名 类型 必填 说明 formDataobject是 包含业务数据的表单数据对象 processDefNamestring是 流程定义名称
# setGlobalVariable
设置一个全局变量,可在不同组件或页面间共享。
- 代码示例:
this.Api.setGlobalVariable('name', 'value') - 参数:
参数名 类型 必填 说明 namestring是 全局变量的名称 valueany是 全局变量的值
# getAuthorization
获取当前用户的授权信息(如 Token)。
- 代码示例:
this.Api.getAuthorization() - 参数: 无
- 返回值:
string- 用户的授权令牌
# isExistFunctions
判断当前用户是否拥有指定的一个或多个功能权限。
- 代码示例:
this.Api.isExistFunctions(['functionCodes']) - 参数:
参数名 类型 必填 说明 functionCodesarray是 功能编码数组
# isExistRole
判断当前用户是否拥有指定的角色。
- 代码示例:
this.Api.isExistRole(roleCode,appCode) - 参数:
参数名 类型 必填 说明 roleCodestring是 角色编码 appCodestring否 应用编码(用于多应用系统)
# isExistPosition
判断当前用户是否拥有指定的职位。
- 代码示例:
this.Api.isExistPosition('positionCode') - 参数:
参数名 类型 必填 说明 positionCodestring是 职位编码 - 返回值:
boolean- 是否拥有指定职位
# isExistPermission
判断当前用户是否拥有指定权限。功能可能与 hasPermission 类似。
- 代码示例:
this.Api.isExistPermission('permissionCode') - 参数:
参数名 类型 必填 说明 permissionCodestring是 权限编码
# isExistDataPermission
判断当前用户是否拥有指定的数据权限。
- 代码示例:
this.Api.isExistDataPermission('dataPermissionCode') - 参数:
参数名 类型 必填 说明 dataPermissionCodestring是 数据权限编码
# getDictByType
根据字典类型编码,获取对应的字典项列表。
- 代码示例:
this.Api.getDictByType('type') - 参数:
参数名 类型 必填 说明 typestring是 字典类型编码 - 返回值:
array- 字典项列表
# querySdoTypes
查询 SDO(标准数据对象)类型数据。
- 代码示例:
this.Api.querySdoTypes(payload) - 参数:
参数名 类型 必填 说明 payloadobject是 查询参数对象,具体结构待定
# createByEntity
根据实体模型创建一条新记录。
- 代码示例:
this.Api.createByEntity(entityName,formData,formCode, ext) - 参数:
参数名 类型 必填 说明 entityNamestring是 模型实体名称 formDataobject是 要创建的表单数据对象 formCodestring是 表单资源编码,可能用于校验或流程 extobject否 扩展参数 - 返回值:
object- 创建成功后的数据对象,包含生成的ID等信息
# updateByEntity
根据实体模型更新一条已有记录。
- 代码示例:
this.Api.updateByEntity(entityName,formData,formCode, ext) - 参数: 同
createByEntity,formData中应包含主键 ID。 - 返回值:
object- 更新成功后的数据对象
# updateByEntityForPart
根据实体模型部分更新一条记录的字段(非全量更新)。
- 代码示例:
this.Api.updateByEntityForPart(entityName,formData,formCode, ext) - 参数: 同
updateByEntity。 - 返回值:
object- 部分更新成功后的数据对象
# deletesByEntity
根据实体模型批量删除记录。
- 代码示例:
this.Api.deletesByEntity(entityName,ids, cascadeDeep , formCode) - 参数:
参数名 类型 必填 说明 entityNamestring是 模型实体名称 idsarray是 要删除的记录的主键 ID 数组 cascadeDeepnumber是 级联删除的深度 formCodestring是 表单资源编码
# queryFieldValue
根据实体、字段和键值查询指定字段的值。
- 代码示例:
this.Api.queryFieldValue(entityName, propertyName, key) - 参数:
参数名 类型 必填 说明 entityNamestring是 模型实体名称 propertyNamestring是 要查询的字段名称 keystring是 用于查询的主键或唯一键值 - 返回值:
any- 指定字段的值
# queryByEntity
根据实体模型查询数据列表。
- 代码示例:
this.Api.queryByEntity(entityName,condition,pageIndex,pageSize,cascadeDeep) - 参数:
参数名 类型 必填 说明 entityNamestring是 模型实体名称 conditionobject是 查询条件对象 pageIndexnumber否 页码,用于分页 pageSizenumber否 每页数据量,用于分页 cascadeDeepnumber否 级联查询深度 - 返回值:
array- 查询到的数据列表
# dataIsExist
判断符合条件的数据在指定实体中是否存在。
- 代码示例:
this.Api.dataIsExist(entityName,query) - 参数:
参数名 类型 必填 说明 entityNamestring是 模型实体名称 queryobject是 查询条件对象 - 返回值:
boolean- 数据是否存在
# loading
显示或隐藏全局加载状态(如全屏 Loading)。
- 代码示例:
this.Api.loading(true) - 参数:
参数名 类型 必填 说明 isLoadingboolean是 true显示加载,false隐藏加载
# getCurrOrgIdByDim
根据组织维度编码,获取当前用户在该维度下的组织 ID。
- 代码示例:
this.Api.getCurrOrgIdByDim('dimension') - 参数:
参数名 类型 必填 说明 dimensionstring是 组织维度编码 - 返回值:
string- 当前用户的组织ID
# setChildrenData
设置指定子表(Grid)的数据。
- 代码示例:
this.Api.setChildrenData('', []) - 参数: JSON 中未明确定义参数名,推测同
setCheckChildrenData。参数名 类型 必填 说明 childFieldNamestring是 子表格字段名 dataarray是 要设置的数据数组
# setCheckChildrenData
设置指定子表(Grid)的选中行数据。
- 代码示例:
this.Api.setCheckChildrenData('', []) - 参数: JSON 中未明确定义参数名,推测同
setChildrenData。参数名 类型 必填 说明 childFieldNamestring是 子表格字段名 selectedRowsarray是 要设置为选中的行数据数组
# loadView
加载指定视图容器的数据。
- 代码示例:
this.Api.loadView('frameId') - 参数:
参数名 类型 必填 说明 frameIdstring是 视图容器的 ID
# loadForm
将行数据加载到指定的表单容器中。
- 代码示例:
this.Api.loadForm(row, 'frameId') - 参数:
参数名 类型 必填 说明 rowobject是 包含表单数据(通常包含主键)的行数据对象 frameIdstring是 目标表单容器的 ID
# 二、视图相关函数详情
# openCreate
打开新建数据的弹窗或页面。
- 代码示例:
this.Api.openCreate() - 参数: 无
# exportDataEvent
导出当前视图下的全部数据。
- 代码示例:
this.Api.exportDataEvent() - 参数: 无
# exportSelectEvent
导出当前视图中被选中的数据。
- 代码示例:
this.Api.exportSelectEvent() - 参数: 无
# openEditRow
打开编辑指定行数据的弹窗或页面。
- 代码示例:
this.Api.openEditRow(formData) - 参数:
参数名 类型 必填 说明 formDataobject是 要编辑的行数据对象
# openExportEvent
打开导出配置或选择的弹窗。
- 代码示例:
this.Api.openExportEvent() - 参数: 无
# openViewRow
打开查看指定行数据详情的弹窗或页面。
- 代码示例:
this.Api.openViewRow(formData) - 参数:
参数名 类型 必填 说明 formDataobject是 要查看的行数据对象
根据模板打印指定表单数据。
- 代码示例:
this.Api.print(formData, templateId) - 参数:
参数名 类型 必填 说明 formDataobject是 要打印的表单数据对象 templateIdstring是 打印模板的 ID
# downloadPdf
将指定表单数据下载为 PDF 文件。
- 代码示例:
this.Api.downloadPdf(formData, templateId) - 参数:
参数名 类型 必填 说明 formDataobject是 要下载的表单数据对象 templateIdstring是 PDF 模板的 ID
# getPdf
获取 PDF 文件的二进制流,通常用于打印预览或下载。
- 代码示例:
const query = { appName: 'AFCENTER', // 当前应用名称 entityCode: 'sj.Inventory', // 当前视图 code entityName: 'sj.three.Inventory', // 当前实体名称 formData: JSON.stringify({ // 需要打印的数据 list: selectedRows, // 选中的表格数据数组 summary: { total: 100 } // 汇总数据 }), templateCode: 'template1758023816234', // 模板code responseType: 'pdf', // 或 'docx' isDownload: true } const res = await this.Api.getPdf(query) console.log('二进制流::', res) - 参数:
参数名 类型 必填 说明 queryobject是 打印参数对象 query.appNamestring是 当前应用名称 query.entityCodestring是 当前视图或表单的编码 query.entityNamestring是 当前实体名称 query.formDatastring是 JSON字符串格式的打印数据 query.templateCodestring是 打印模板的编码 query.responseTypestring是 响应类型,'pdf' 或 'docx' query.isDownloadboolean否 是否直接下载 - 返回值:
object- 包含PDF二进制数据的响应对象,可传递给getTempPdfUrl获取访问链接
# removeRow
删除指定的行数据。
- 代码示例:
this.Api.removeRow(formData) - 参数:
参数名 类型 必填 说明 formDataobject是 要删除的行数据对象
# doChoose
执行选中项的回调逻辑,通常在多选操作后调用。
- 代码示例:
this.Api.doChoose() - 参数: 无
# doQuery
执行查询操作,刷新表格数据。
- 代码示例:
this.Api.doQuery() - 参数: 无
# setQueryItemVisible
设置查询条件区域的字段是否可见。
- 代码示例:
this.Api.setQueryItemVisible(false,['fieldName']) - 参数:
参数名 类型 必填 说明 isShowboolean是 true显示,false隐藏fieldNamesarray是 要设置可见性的字段名数组
# showColumn
显示指定的表格列。
- 代码示例:
this.Api.showColumn('fieldName') - 参数:
参数名 类型 必填 说明 fieldNamestring是 要显示的列字段名
# hideColumn
隐藏指定的表格列。
- 代码示例:
this.Api.hideColumn('fieldName') - 参数:
参数名 类型 必填 说明 fieldNamestring是 要隐藏的列字段名
# setCheckboxRow
选中或取消选中指定的行数据。
- 代码示例:
this.Api.setCheckboxRow([], true) - 参数:
参数名 类型 必填 说明 rowsarray是 要操作的行数据数组 isCheckboolean是 true选中,false取消选中
# setAllCheckboxRow
选中或取消选中表格中的所有行。
- 代码示例:
this.Api.setAllCheckboxRow(true) - 参数:
参数名 类型 必填 说明 isCheckboolean是 true全选,false取消全选
# clearCheckboxRow
清除所有已选中的行。
- 代码示例:
this.Api.clearCheckboxRow - 参数: 无
# getQueryElement
获取查询条件组件的引用。
- 代码示例:
this.Api.getQueryElement - 参数: 无
# openProcess (View)
打开与指定行数据关联的流程。
- 代码示例:
this.Api.openProcess(processDefName,pkId) - 参数:
参数名 类型 必填 说明 processDefNamestring是 流程定义名称 pkIdstring否 关联业务数据的主键值
# updateRow
更新单行数据并返回 Promise。
- 代码示例:
this.Api.updateRow(formData).then((data)=>{}) - 参数:
参数名 类型 必填 说明 formDataobject是 要更新的行数据对象
# mergeCells
合并表格中的单元格。
- 代码示例:
this.Api.mergeCells([ { row: 0, col: 0, rowspan: 2, colspan: 1 }]) - 参数:
参数名 类型 必填 说明 cellsarray是 单元格配置数组,包含 row,col,rowspan,colspan属性
# updateFooter
更新表格底部的合计行或平均值计算。
- 代码示例:
this.Api.updateFooter() - 参数: 无
# processBatchFinish
批量审批流程。
- 代码示例:
this.Api.processBatchFinish(rows, opinion) - 参数:
参数名 类型 必填 说明 rowsarray是 要审批的行数据数组 opinionstring是 审批意见
# processBatchTerminate
批量终止流程。
- 代码示例:
this.Api.processBatchTerminate(rows, option) - 参数:
参数名 类型 必填 说明 rowsarray是 要终止的行数据数组 opinionstring是 终止意见
# processBatchBack
批量驳回流程。
- 代码示例:
this.Api.processBatchBack(rows, opinion, backToPrev) - 参数:
参数名 类型 必填 说明 rowsarray是 要驳回的行数据数组 opinionstring是 驳回意见 backToPrevboolean是 是否驳回至上一步
# getTempPdfUrl
获取指定数据临时 PDF 文件的链接。
- 代码示例:
const query = { appName: 'AFCENTER', // 当前应用名称 entityCode: 'sj.Inventory', // 当前视图 code entityName: 'sj.three.Inventory', // 当前实体名称 formData: JSON.stringify({ // 需要打印的数据 list: selectedRows, // 选中的表格数据 }), templateCode: 'template1758023816234', // 模板code responseType: 'pdf', isDownload: true } const res = await this.Api.getPdf(query) const tempUrl = this.Api.getTempPdfUrl(res.data) window.open(tempUrl) - 参数:
参数名 类型 必填 说明 pdfDataBlobArrayBuffer是 - 返回值:
string- PDF文件的临时访问链接,可直接在浏览器中打开
注意: 在视图中使用时,通常需要先调用 getPdf 获取二进制流,然后转换为临时URL进行预览或下载。
# saveData
保存表格中的数据。
- 代码示例:
this.Api.saveData() - 参数: 无
# cancelToolPanel
取消工具面板的显示或表格的编辑状态。
- 代码示例:
this.Api.cancelToolPanel() - 参数: 无
# copyRow
复制表格中的一行数据。
- 代码示例:
this.Api.copyRow(row) - 参数:
参数名 类型 必填 说明 rowobject是 要复制的行数据
# copyRowToChildren
将行数据复制到子表中。
- 代码示例:
this.Api.copyRowToChildren(row, parent) - 参数:
参数名 类型 必填 说明 rowobject是 要复制的行数据 parentobject是 父级数据对象
# insertRow
在表格中插入一行数据。
- 代码示例:
this.Api.insertRow($rowIndex, currentRow) - 参数:
参数名 类型 必填 说明 $rowIndexnumber是 插入行索引 currentRowobject是 插入行目标对象
# newRow
在表格中新建一行数据。
- 代码示例:
this.Api.newRow(row) - 参数:
参数名 类型 必填 说明 rowobject是 新增行数据
# addRowToChildren
向子表中添加一行数据。
- 代码示例:
this.Api.addRowToChildren(parent) - 参数:
参数名 类型 必填 说明 parentobject是 父级数据对象
# refreshQuery
刷新查询结果或表格数据。
- 代码示例:
this.Api.refreshQuery() - 参数: 无
# doQueryNext
执行下一页查询。
- 代码示例:
this.Api.doQueryNext() - 参数: 无
# removeSelectedRows
移除表格中所有选中的行。
- 代码示例:
this.Api.removeSelectedRows('') - 参数: 无
# openMulsort
打开多列排序设置界面。
- 代码示例:
this.Api.openMulsort() - 参数: 无
# openSort
打开单列排序设置界面。
- 代码示例:
this.Api.openSort() - 参数: 无
# openImportEvent
打开数据导入配置界面。
- 代码示例:
this.Api.openImportEvent() - 参数: 无
# openShareConfig
打开分享配置弹窗。
- 代码示例:
this.Api.openShareConfig({}) - 参数:
参数名 类型 必填 说明 configobject否 分享配置参数
# 三、其他通用函数详情
# get
发起 GET 请求。
- 代码示例:
this.Ajax.get(url, params, apiPrefix = true) - 参数:
参数名 类型 必填 说明 urlstring是 请求地址 paramsobject否 请求参数 apiPrefixboolean否 是否自动添加 API 前缀,默认为 true - 返回值:
Promise- HTTP请求的Promise对象,resolve时返回响应数据
# post
发起 POST 请求。
- 代码示例:
this.Ajaxpost(url, params, apiPrefix = true) - 参数: 同
get函数,但请求方法为 POST。 - 返回值:
Promise- HTTP请求的Promise对象,resolve时返回响应数据
# put
发起 PUT 请求。
- 代码示例:
this.Ajaxput(url, params, apiPrefix = true).then(data => {}) - 参数: 同
get函数,但请求方法为 PUT。 - 返回值:
Promise- HTTP请求的Promise对象,resolve时返回响应数据
# openSelectIconDialog (Other)
打开图标选择窗口。
- 代码示例:
this.Api.openSelectIconDialog({ "success": (value) => { console.log('value', value) } }) - 参数:
参数名 类型 必填 说明 optionsobject是 配置对象 options.successfunction是 选中图标后的回调函数,参数为选中的图标信息 options.errorfunction否 选择失败或取消时的回调函数
# openSelectUserDialog (Other)
打开用户选择窗口。
- 代码示例:
this.Api.openSelectUserDialog({ "multiple": true, "entityModel": [{"id": "1", "name": "testName", "code": "testCode"}], "selectTypes": [{"id": "org", "label": "机构", "rangeMode": "orgs", "rangeData": {"ids": "1,2,3"}}], "success": (selectedArr) => { console.log('selectedArr', selectedArr) } }) - 参数:
参数名 类型 必填 说明 optionsobject是 配置对象 options.multipleboolean否 是否允许多选,默认 falseoptions.entityModelarray否 默认选中的用户模型数组,包含用户ID、姓名、编码等信息 options.selectTypesarray否 选择范围类型配置数组,用于限制可选的用户范围 options.selectTypes[].idstring是 选择类型标识,如 "org"(机构)、"dept"(部门) 等 options.selectTypes[].labelstring是 显示标签 options.selectTypes[].rangeModestring是 范围模式,如 "orgs"(机构列表) options.selectTypes[].rangeDataobject是 范围数据,包含允许选择的ID列表 options.successfunction是 选中用户后的回调函数,参数为选中的用户数组 options.errorfunction否 选择失败或取消时的回调函数
# refresh
刷新指定的导航树组件。
- 代码示例:
this.Api.getElement('treeId').refresh() - 参数: 无
# reloadParent
刷新指定导航树节点的父节点。
- 代码示例:
this.Api.getElement('treeId').reloadParent(node) - 参数:
参数名 类型 必填 说明 nodeobject是 目标节点对象,格式如 {id: 'nodeId'}
# reloadChildren
刷新指定导航树节点的子节点。
- 代码示例:
this.Api.getElement('treeId').reloadChildren(node) - 参数:
参数名 类型 必填 说明 nodeobject是 目标节点对象,格式如 {id: 'nodeId'}
# getParentNode
获取指定导航树节点的父节点。
- 代码示例:
this.Api.getElement('treeId').getParentNode(node) - 参数:
参数名 类型 必填 说明 nodeobject是 目标节点对象,格式如 {id: 'nodeId'} - 返回值:
object- 父节点对象,包含节点数据和属性
# getInstance
获取指定导航树组件的实例。
- 代码示例:
this.Api.getElement('treeId').getInstance() - 参数: 无
- 返回值:
object- 导航树组件的实例对象
# expand
展开或折叠指定的导航树节点。
- 代码示例:
this.Api.getElement('treeId').expand(node,state) - 参数:
参数名 类型 必填 说明 nodeobject是 目标节点对象,格式如 {id: 'nodeId'}stateboolean否 展开 ( true) 或折叠 (false),不传则切换状态
# expandAll
展开或折叠导航树的所有节点。
- 代码示例:
this.Api.getElement('treeId').expandAll(state) - 参数:
参数名 类型 必填 说明 stateboolean否 展开 ( true) 或折叠 (false),不传则切换状态
# openProcess (Other)
在新窗口中打开发起指定流程的页面。
- 代码示例:
this.Api.openProcess(processDefName, formData.id, {}) - 参数:
参数名 类型 必填 说明 processDefNamestring是 流程定义名称 formData.idstring是 关联业务数据的主键 ID propsobject否 传递给流程页面的额外参数
# $emit
通过事件总线发送一个事件并传递数据。
- 代码示例:
this.$bus.$emit('eventName',{}) - 参数:
参数名 类型 必填 说明 eventNamestring是 事件名称 dataany否 要传递的数据
# $on
监听事件总线上的指定事件。
- 代码示例:
this.$bus.$on('eventName',callbackFun) - 参数:
参数名 类型 必填 说明 eventNamestring是 要监听的事件名称 callbackFunfunction是 事件触发时的回调函数
# $off
取消对事件总线上的指定事件的监听。
- 代码示例:
this.$bus.$off('eventName') - 参数:
参数名 类型 必填 说明 eventNamestring是 要取消监听的事件名称
# lodash
使用 lodash 工具库中的函数。
- 代码示例:
_.funName() - 说明:
_是 lodash 的全局引用,funName是 lodash 提供的具体函数名(如_.get,_.set等)。
# format
使用 Moment.js 格式化时间。
- 代码示例:
this.Moment(date).format('YYYY-MM-DD HH:mm:ss') - 参数:
参数名 类型 必填 说明 dateDate|string|number否 要格式化的时间,不传表示当前时间 formatstring是 目标格式字符串,如 'YYYY-MM-DD'
# add
计算指定时间增加一定量后的时间,并格式化。
- 代码示例:
this.Moment(date).add(n,unit).format(format) - 参数:
参数名 类型 必填 说明 dateDate|string|number否 基准时间,不传表示当前时间 nnumber是 要增加的数量 unitstring是 时间单位,如 'years','months','weeks','days','hours','minutes','seconds'formatstring是 目标格式字符串
# subtract
计算指定时间减少一定量后的时间,并格式化。
- 代码示例:
this.Moment(date).subtract(n,unit).format(format) - 参数: 同
add函数,n为减少的数量。