七巧低代码开发——脚本入门语法说明

七巧Plus低代码脚本使用教程为教学如何初步针对脚本进行使用,涵盖脚本书写的全流程,从脚本编辑到脚本调试,再到日志查看,最后到脚本调优。首先先学习以下的基础语法,涉及的到有七巧Plus封装好的函数语法及JavaScript语法。
   七巧Plus低代码脚本使用教程为教学如何初步针对脚本进行使用,涵盖脚本书写的全流程,从脚本编辑到脚本调试,再到日志查看,最后到脚本调优。首先先学习以下的基础语法,涉及的到有七巧Plus封装好的函数语法及JavaScript语法。

1)获取当前文档

(function(){      
    //获取当前文档      
    var currentDocument = $.context.getCurrentDocument();      
    //返回文档      
    return currentDocument; 
})()

 

2)获取当前文档某个字段值 

(function(){
    //获取当前提交表单
    var doc = $.context.getCurrentDocument();
    //获取总金额控件值,“报销金额”为字段名
    var count = doc.getElementByName("报销金额").getIntValue();
})()

 

3)数据新增

(function(){
//获取当前应用ID
    var appId =$.context.getCurrentApplicationId();
//写入哪张表单中
    var doc = $.form.createEmptyDocument(appId,"学生表");
//针对每个字段进行赋值   “字段名”“赋值”
    doc.addElement("姓名","steven");
    doc.addElement("年龄",24);
//保存表单
    $.form.saveFormDocument(doc,appId);
})()

 

4)数据编辑/更新 

(function(){
//获取当前提交文档
    var doc = $.context.getCurrentDocument();
//更新文档字段内容
    doc.addElement("姓名","steven");
    doc.addElement("手机号码","138****0000");
})()

 

5)数据删除

(function(){
//获取应用ID
    var appId = $.context.getCurrentApplicationId();
//删除表单信息
    $.form.deleteAllDocumentsByFormName(appId,"人力外勤信息");
})()

 

6)数据删除(指定数据) 

(function(){
//获取应用ID
    var appId = $.context.getCurrentApplicationId();
//构建表单对象
    var fieldMap = new Packages.java.util.HashMap();
//构建筛选
    fieldMap.put("数量", 100);
//删除指定数据
    $.form.deleteFormDocumentsByFieldNameAndValue(appId, "采购材料", fieldMap );
})()

 

7)善用站内信, 验证/查看对象信息(用户对象、表单对象等)

(function(){
      //获取当前用户
     var user = $.context.getCurrentUser();
     //如果需要操作用户相关属性, 可以通过发送站内信,查看对象属性信息
     //站内信标题
     var subject = "user对象获取";
     //站内信正文
     var context = "user对象"+$.json.objectToJsonString(user);
     //接收用户id集合
     var receiveUserIds = $.context.getCurrentUserId();
     //发送站内信
     $.message.sendGeneralStationMessage(subject, context,receiveUserIds);
     //返回当前用户
     return user;
})()

 

8)常用语法

// 发送站内信
$.message.sendGeneralStationMessage("标题","内容",$.context.getCurrentUserId())
// 添加执行日志内容
$.log.info("docs: {}", docs);

// 判空
xxDocs&&xxDocs!=null && xxDocs!=[] && xxDocs!=''" && xxDocs!="[]"

var depament = child.getElementByName("部门名称")!=null?child.getElementByName("部门名称").getValue():null

function judgeNumber(element) {
    if (element == null) {
        return 0;
    }
    else {
        return element.getValue();
    }
}
var depament =judgeNumber( child.getElementByName("部门名称"))

// getValue() 获取数据
var doc = $.context.getCurrentDocument();
var child = doc.getElementByName("子表单名称").getSubDocuments();
doc.getElementByName("数字1").getIntValue()获取数字控件值(int类型)
doc.getElementByName("数字1").getDoubleValue()获取数字控件值(double类型)
doc.getElementByName("数字1").getFloatValue()获取数字控件值(float类型)
// 获取当前行文档:
var originalDocument = $.context.getHttpRequest().getAttribute("document");

// 新建表单:
var storehouse = $.form.createEmptyDocument(applicationId, formName);

// 保存表单:
$.form.saveFormDocument(storehouse, applicationId)

// 查询表单实例数据(两种方法):
// a)
var conditionMap = new Packages.java.util.HashMap();
conditionMap.put("请假人", "张三");
return $.form.getDocumentsByCondition(applicationId, "表单名称", conditionMap);

// b)
var filterParamList1 = new Packages.java.util.ArrayList();
var filterParam = new Packages.cn.com.do1.do1cloud.runtime.dto.FilterParam("关联外部订单", "eq", docId);
filterParamList1.add(filterParam);
var pros = $.form.getDocumentsByFilterParam(applicationId,"项目信息", filterParamList1);
    /* * 大于: gt
     * 大于且等于: ge
     * 小于: lt
     * 小于并且等于: le
     * 等于: eq
     * 不等于: ne
     * 在...之间: between      字符串,用,隔开
     * 模糊匹配: like
     * 为空: isNull
     * 非空: isNotNull
     * 包含:in   数组[ ]
     * 不包含:notIn
*/
// 校验:
var message = $.validate.create();
message.addSuccess("校验信息"),
message.addInfo("校验信息"),
message.addError("校验信息"),
message.addWarn("校验信息")
// 四个函数添加校验信息
// 只有error弹出信息不执行之后的代码,另外的都只有提示(放执行后)
  • 发表于 2024-03-29 16:21
  • 阅读 ( 339 )
  • 分类:专题案例

你可能感兴趣的文章

相关问题

1 条评论

请先 登录 后评论
七小妹
七小妹

12 篇文章

作家榜 »

  1. 七小妹 12 文章
  2. 你是猴子派来的吧 3 文章
  3. 七巧低代码 2 文章
  4. 低代码小刘 2 文章
  5. 彭杏怡 0 文章
  6. 林友景 0 文章
  7. 0 文章
  8. 赵泽伟 0 文章