# 前端API

本文档是前端API的说明。

前端API已在代码中封装好,直接使用即可。开发时可在低开页面左下角查看。

前端API

# 请求 API

  • GET请求

    this.Ajax.get(url, params, apiPrefix = true)
    
  • POST请求

    this.Ajax.post(url, params, apiPrefix = true)
    
    • 参数说明:

      • URL:请求路径;
      • params:请求参数:
      • apiPrefix:apiPrefix为动态前缀,不填默认为true
    • 示例:

      let params = value; // value为组件指
      let url = `http://127.0.0.1:28084/api/project/`;
      this.Ajax.get(url, params).then(data => {
          // 结果处理
      })
      

# 获取页面元素控件

this.Api.getElement('fieldName')
  • 属性说明:

    fieldName:组件字段值;

# 设置下拉列表, 当选框, 多选框的options

this.Api.getElement('fieldName').setOptions(this.options)
  • 属性说明:

    fieldName:组件字段值;

# 禁用选项, options里设置disabled

this.Api.getElement('fieldName').options.forEach(item => {
    item.disabled = true
})

# 上下文获取

this.BfpContext
this.Context

# 动态修改验证规则api

this.Api.setValidator('fieldName',rules)
//修改验证规则
this.Api.setValidator('name',[{
validator:(rule,value,callback)=>{
    if(/d+$/.test(value) ){
      callback('只能是数字')
    } else {
      callback()
    }
}
}])

// 清除验证
this.Api.setValidator('name',[])

# 隐藏和显示

// 绑定实体和字段的控件
this.Api.setVisible(false,[]) // 隐藏控件 (第二个参数是字段名数组)
this.Api.setVisible(true,[])  // 显示控件 (第二个参数是字段名数组)

// 无绑定字段的控件, 如  button, tabs, html 等
this.Api.hideElements([]) // 隐藏控件 (参数是控件名)
this.Api.showElements([]) // 显示控件 (参数是控件名)

# 打开选人窗口

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)
    }
})

# 常用Api

  • 表单Api

    this.Api.changeStatus
    this.Api.closeDialog
    this.Api.downloadAttachment(attachmentId, fileName)
    this.Api.getElement
    this.Api.getFormItem
    this.Api.hideElements,
    this.Api.openDialog,
    this.Api.openSelectUserDialog
    this.Api.setDefaultStatus
    this.Api.setDisabled
    this.Api.setReadonly
    this.Api.setValidator
    this.Api.setVisible
    this.Api.showElements
    this.Api.getFrame('frame') // 获取页面容器或子表格对象
    this.Api.isChildGridEmpty(childFieldName) // 判断子表格数据是否为空
    this.Api.changeTabs(tabComponentName, tabName) // 切换tab页 tabName 为 '1','2','3','4' 等
    
  • 视图Api

    this.Api.openCreate()
    this.Api.exportDataEvent() // 导出全部
    this.Api.exportSelectEvent()  // 导出选中项
    this.Api.openEditRow(formData)  // 打开编辑窗口
    this.Api.openExportEvent() // 打开导出窗口
    this.Api.openViewRow(formData) // 打开详情窗口
    this.Api.removeRow(formData) // 删除行( 根据数据判断 删除或者 添加删除线 )
    this.Api.removeRow(formData, true) // 直接删除行
    this.Api.doChoose // 选中回调
    this.Api.doQuery() // 执行查询
    this.Api.setCheckboxRow([], true) // 选中部分数据
    this.Api.setAllCheckboxRow(true)  // 全部选中
    this.Api.clearCheckboxRow() // 全部取消
    this.Api.getQueryElement() // 获取查询条件组件
    
    this.selectedItems  // 被选中的记录
    this.condition // 查询条件对象
    
  • 流程Api

    this.Api.openProcess(processDefName,pkId) //打开流程processDefName流程定义名称(必填),pkId表单主键值(非必填)
    
  • 时间Api

    //时间单位unit
    //值             简写
    //years           y
    //months          M
    //weeks           w
    //days            d
    //hours           h
    //minutes         m
    //seconds         s
    //milliseconds    ms
    this.Moment().format(format) //当前时间并格式化  例如YYYY-MM-DD HH:mm:ss
    this.Moment(date).add(n,unit).format(format)  //计算距离时间 + n/years/months/weeks/days ...
    this.Moment(date).subtract(n,unit).format(format)  //计算距离时间 - n/years/months/weeks/days ...
    
    
上次更新: 2023/7/20下午12:25:28