开发者学堂课程【低代码氚云应用开发课程:氚云丨开发课— 03 氚云子表的常见操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/894/detail/14280
氚云丨开发课— 03 氚云子表的常见操作
目录:
一、前端子表常见方法及其使用
二、氚云介绍
三、氚云前端 API-公共接口
四、氚云前端 API-表单列表事件
五、氚云前端 API-控件
六、氚云前端 API-子表
七、氚云前端 API-列表
一、前端子表常见方法
1.方法介绍
AddRow(添加)
ClearRow(删除)
UpdateRow(更新)
注意:在绑定 change 事件的时候切记不要去绑定一个子表行数据,要绑定这个子表
2. 方法使用
构建主表文本和子表文本
子表控件编码查看:双击界面右侧控件属性下的空间编码
子表和主表都是一个 BizObject
子表有一个 parentobctid,一行一行的数据,与主表关联
还需注意的一个问题就是子表和主表都是一个 Bizobject,子表有一个 parentobjectid。子表和主表其实是一样的。
二、氚云
1.简介
氚云是基于云计算的社会化企业业务系统搭建工具,提供开发与运行业务应用程序的所有功能(包括数据库、业务定制、工作流与审批、数据分析、可编程云逻辑、实时部署、实时发布到阿里钉钉),并允许拥有用户构建具有社交和移动特性的应用程序。
氚云简介:氚云是阿里巴巴战略投资的低代码应用搭建工具。通过自定义表单、流程、报表等功能帮助企业轻松自主构建专属的业务应用。氚云与阿里钉钉深度整合,可以直接同步钉钉的组织架构,无需再次配置;氚云构建的应用可以直接发布到钉钉工作台,进入应用和操作都极其便捷;氚云应用可以直接推送钉钉通知消息,和钉钉完美整合。
简单来说呢,就是基于钉钉的一个低代码应用搭建工具。
2.工作台
在钉钉内成功安装佘云后,点击氛云应用,进入的即是佘云的工作台
首页是一个快速处理业务的页面,可及时看到动态和需要处理的任务或流程
3.应用界面
图示为应用界面,多个应用之间可以切换使用
菜单栏可进行模块转换和数据实时查看
应用界面可进行新增、删除、导入、导出数据
3. 常见操作
(1)导入数据
用途∶可通过导入数据功能将存在 Excel 表中的旧数据导入氛云平台
操作路径︰
点击导入——下载导入模板——填写导入内容——选择查重字段——点击浏览上传文件——点击导入——完成
(2)新增数据
用途:可用于添加新数据,在模块页面点击“新增”,按照页面提示填写后提交即可。
提交新增的数据后,页面会增加一条“黑色”已生效数据。
子表
添加子表 AddRow()
示例:
var controlManager
=
this
.
D000001AccountList
//获取子表控件对象var subObjectld
=$.
IGuid
()
//创建行 IDcontrolManager.AddRow
(
subobjectld,
{
D000001AccounlstAccountName:
“
赋值
”
D000001AccountUistAccountClassification
”
:
“
赋值
”
D000001AccountListownerldName":
“
赋值
”
var controlManger=this.D000001AccountList;
//获取子表控件对象var subobjectid=$.IGuid();
//创建行 ID
第三个函数更新子表,我们先插入一个主表。
*先获取子表行对象。
更新子表行 UpdateRow()
示例:Var
currentRowld
=
this.F67c89495df154ab69ede62c
61
a0658 GetValue0(0
)[0
].Objectld;
//第一行子表 IDthis.F67c89495df154ab69ede62c1b61a0658
.
UpdateRow(
currentRowld,
{
1
"F67c89495df154ab69ede62c1b61a0658.jyjg
”:“
赋值
”
F67c89495df154ab69ede62c1b61a0658.dqgys": "
赋值
"
,
F67c89495df154ab69ede62c1b61a0658.cpmc":
”赋值”})
;
*注:目前氚云未提供移除某一行的接口,需通过 ClearRows+AddRow 自行实现该功能
示例:var details
=
this
.
D0001Accounsdetails
;
//获取子表控件对象
Details.clearRows();
清楚子表中的所有行
获取子表中的控件 GetCellManager()
示例:
//获取子表第一行数据的 Objectld
var currentRowld
=
this.F67c89495df154ab69ede62c1b61a0658.GetValue
()[0].
Objectld
;
//获取子表第一行数据中控件编码为"F67c89495df154ab69ede62c1b61a0658.F0000044”的控件对象
*获取子表中的控件 GetCellMANager()
示例:
//获取子表第一行数据的objectld
var currentRowld
=
this.F67c89495df154ab69ede62c1b1a58Value
()[0]
jlObjectld
;
//获取子表第一行数据中控件编码为“
F67c89495df154ab69ede62c1b1658F0000044
”的
控件对象
var cellObj = this.F67c89495df154ab69ede6218
.
GetCellManager( currentRowl
d,
F67c89495df154ab69ede62c1b610658 F0000044" );
当新增一条带审批流程的数据后,PC端页面会出现一条“绿色”数据,表示该信息还没有完全生效,需要等待审批。流程完成后数据才会生效,这时数据颜色变为“黑色”。
例如∶开票记录是带审批流程的模块,新增开票数据,待审批(如图所示)
//表单插件代码
$.extend($.JForm,{
//加载事件
onLoad:function()i
this.Dee1599Fd48ce3a76f934e67959a92eecc7992b5.clearRow( ) ;},
三、氚云前端 API
公共接口
- Ajax 方法
参数:
$.SmartForm.PostForm
(actionName,data,
callBack,errorBack,async);
参数说明:
actionName: 提交的 ActionName; data: 提交后台的数据; callback: 回调函数; errorBack: 错误回调函数; async: 是否异步.
示例:var paramData = { Phone: telephone };
$.SmartForm.PostForm("DuplicateChecking",paramData,
function (data) {
var flag = data.Successful;
if (!flag) { $.IShowWarn(data.Errors[0]); }
},
function(data){ $.IShowWarn(data.Errors); },
false);
2. 打开窗口方法
参数:
$.IShowForm(schemaCode, objectId, checkIsChange);
参数说明:schemaCode: 表单编码;objectId; 表单数据 Id;checkIsChange: 关闭时,是否感知变化;
示例:打开表单指定的表单$.IShowForm( "D000001SeasonableObjective","a0095b15-c20f-4b82-8d9b-1b86be70009d",false);
表单列表事件
表单加载事件 OnLoad:function(){ }
表单加载完成时触发.
表单按钮事件 OnLoadActions:function(actions){}
加载表单按钮时触发.
表单提交事件 OnValidate:function(){
Return true; },
表单提交前触发,Return true 表示验证通过;Return false 表示验证不通过,终止提交动作。
表单提交前事件 BeforeSubmit:function(action, postValue){}
,
表单提交前触发,参数说明:action: 按钮 Code, postValue: 提交给后台的数据.
表单提交后事件AfterSubmit:function(action, responseValue){}
表单提交后触发.
参数说明: action: 按钮 Code, responseValue: 后台返回的数据
列表按钮事件 $.ListView.ActionPreDo = function(actionCode){};
列表按钮提交前触发.
参数说明:actionCode:按钮 Code
前端接口-控件
控件
控件取值/赋值
示例:this.F0000002.GetValue();
//获取控件值, F0000002为控件编码this.F0000002.GetText();
//获取控件文本值, F0000002为控件编码this.F0000002.SetValue("");
//控件赋值, F0000002为控件编码
控件权限
示例:this.F0000002.SetReadonly(true);
//设置不可写, F0000002为控件编码this.F0000002.SetVisible(false);
//设置不可见, F0000002为控件编码
下拉框、复选框、单选框控件
示例:this.F0000002.ClearItems();
//清除选项, F0000002为控件编码this.F0000002.AddItem("选项1");
//添加选项, F0000002为控件编码
绑定控件变化事件
注意:BindChange 应写在表单前端OnLoad事件里,BindChange第一个参数key为任意的一个不重复字符串。
示例:var that = this;
that.F0000002.BindChange( "key", function() {
//此处是回调函数,要将this换成上面定义的 that
//获取值var value1 = that.F0000002.GetValue();
//设置值that.F0000003.SetValue(value1);
});
前端接口-子表
添加子表行 AddRow()
示例:var controlManager = this.D000001AccountList;
//获取子表控件对象var subObjectId = $.IGuid();
//创建行 ID
controlManager.AddRow( subObjectId, {
"D000001AccountList.AccountName": "赋值",
"D000001AccountList.AccountClassification": "赋值",
"D000001AccountList.OwnerIdName": "赋值"
})
更新子表行 UpdateRow ()
示例:var currentRowId = this.F67c89495df154ab69ede62c1b61a0658.GetValue()[0].ObjectId;
//第一行子表ID
this.F67c89495df154ab69ede62c1b61a0658.UpdateRow( currentRowId, {
"F67c89495df154ab69ede62c1b61a0658.jyjg": "赋值",
"F67c89495df154ab69ede62c1b61a0658.dqgys": "赋值",
"F67c89495df154ab69ede62c1b61a0658.cpmc": "赋值"
});
清除子表行数据 ClearRows ()
注:目前氚云未提供移除某一行的接口,需通过 ClearRows+AddRow 自行实现该功能
示例:var details= this.D000001AccountList;
//获取子表控件对象details.ClearRows();
//清除子表中的所有行
获取子表中的控件 GetCellManager()
示例:
//获取子表第一行数据的 ObjectIdvar currentRowId = this.F67c89495df154ab69ede62c1b61a0658.GetValue()[ 0 ].ObjectId;
//获取子表第一行数据中控件编码为"F67c89495df154ab69ede62c1b61a0658.F0000044"的控件对象var cellObj = this.F67c89495df154ab69ede62c1b61a0658.GetCellManager( currentRowId, "F67c89495df154ab69ede62c1b61a0658.F0000044" );
//设置控件不可写cellObj.SetReadonly(true);
//设置控件不可见cellObj.SetVisible(false);
//若F67c89495df154ab69ede62c1b61a0658.F0000044控件为下拉框、复选框、单选框控件,可以清空选项、添加选项cellObj.ClearItems();
cellObj.AddItem("选项1");
获取子表数据行数 GetRowsCount()
示例:var rowsCount= this.F67c89495df154ab69ede62c1b61a0658.GetRowsCount();
前端接口-列表
获取选中的记录
示例:$.ListView.GetSelected();
//获取选中的记录
请求后台
示例:$.ListView.Post(actionName,data,callBack,errorBack,async);
//actionName: 提交的 ActionName;data: 提交后台的数据;callback: 回调函数;errorBack: 错误回调函数;async: 是否异步;
刷新列表
示例:$.ListView.RefreshView();
//刷新列表
按钮执行之前的事件
示例:$.ListView.ActionPreDo();
//按钮执行之前的事件
修改过滤条件
示例:$.ListView.InitQueryItems();
//修改过滤条件