开发者学堂课程【低代码氚云应用开发课程:氚云丨开发课— 04 各种提示框的常见操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/894/detail/14281
氚云丨开发课— 04 各种提示框的常见操作
简介
一、前端的弹框
二、后端的弹框
一、前端弹框
1.提示弹框
按钮控件在点击之后,先触法的是前端的 BeforeSubmit,然后触发后端的 OnSubmit,最后触发前端的 AfterSubmit
$.ishowerror
$.ishowwarn
IShowSuccess
共有三种普通的弹框,用于弹出提示信息(警告、错误、成功)
if(action=="F000001")
{
$.IShowWarn("点击了IShowWarn按钮");
}
*//提交校验OnValidate: function( actioncontrol)(
return
truej
;
},
*//提交前事件BeforeSubmit:function(action,postValue
){
},
*//提交后事件A
fterSubmit:function(action, responsevalue
){
if(action
==
"Shomwarn')
{
$.IShowwarn("flfs howwarn");
}
if (acttion==
"ShowErrorn
”){
$.IShowError("ShowError
”);
}
If(actionse"ShowSucce ss").
$.IShowsucces
(
"showSuccess"
)
;
}
打开表单
若 objectld 为空,则打开是新增页面示例
示例:$.
IShowform(schemaCode.objectld,checklsChange;
schemaCode: 表单编码: bjectld; 表单数据 ld; checklsChange: 关闭时,是百感知变化
*弹出确认窗口
示例:
Confirm("提示"
,
"是否确认?。function( data )
//data 为点击按钮返回值,确认为 true,取消为 falseif( data ){
//点击确认执行事件if( !data) {
//点击取消执行事件}
});
*公共接口
Ajax 请求到后台示例
SSsmartFormPostFomlationNamealBackerrorBackasyn).actionName
提交的 ActionNamedata 提交后台的数据 callback 回调因数 erorBack 错误回调秀数 .async 星否分步打开单 obectd 为空.则开品新增页面示例
$ showFor(schemacCode obectd. cecilsChange;
,
schemaCode: 发单场R,bjecld单tdcheckiChange关休时,是合感知变化佛出支中向口示例:var schemaCode - "//Schemalode表甲编码参数var objectld -”: /BiObjectD不传时打开断增时的表单var params L
*公共接口
按口名称学数说明与示例 Ajax 方法
S SmartForm.PostFormlactionName,data alBack rrorBack async)
参数说明: actionName: 提交的 ActionName data 提交后台的数据 allback 回调函数;
errorBack 错误回调函数 varparamData Phone: telephone 上S SmartForm.PostForm( DuplicateCheckingparamData
,
function (data)
(
varflag二dataSuccessful:
if (fag)I $IShowWarn(data Errors[0]); }}function(data){ $
}
氚云的核心主要是这么几块功能:表单、报表、列表设计、流程设计
2.弹出确认窗口
IConFirm,用于弹出提示校验框,确认则提交,取消就不提交,但这个方法不组成线程,会出现还未点击就已经自动提交的问题出现,因此,最好不用
在前端 OnValidate中写:
$.IConfirm("提示","是否提交",function(data)){
//data 为按钮的返回值,确认为 true,取消为 false if(data){ //事件1 } else(!data){//事件2 } }
改用 return confirm(“是否提交?”);
3.弹出表单
$.IShowForm(schemaCode, objectId, checkIsChange);
schemaCode:表单编码; objectId;表单数据 Id; checkIsChange:关闭时,是否感知变化;
$.IShowForm(“F67c89495df154ab69ede62c1b61a0658”, “”, flase);
//如果ObjectId为空,那么就是创建一个表单,如果不为空,就是弹出相应的表单数据
4. 氚云前端代码
/* 控件接口说明:
* 1. 读取控件: this.***,*号输入控件编码;
* 2. 读取控件的值: this.***.GetValue();
* 3. 设置控件的值: this.***.SetValue(???);
* 4. 绑定控件值变化事件: this.***.BindChange(key,function(){}),key 是定义唯一的方法名;
* 5. 解除控件值变化事件: this.***.UnbindChange(key);
* 6. CheckboxList、DropDownList、RadioButtonList: $.***.AddItem(value,text),$.***.ClearItems();
*/
/* 公共接口:
* 1. ajax:$.SmartForm.PostForm(actionName,data,callBack,errorBack,async),
* actionName:提交的ActionName; data:提交后台的数据; callback:回调函数; errorBack:错误回调函数; async:是否异步;
* 2. 打开表单:$.IShowForm(schemaCode, objectId, checkIsChange),
* schemaCode:表单编码;objectId;表单数据Id;checkIsChange:关闭时,是否感知变化;
* 3. 定位接口:$.ILocation();
*/
//表单
/*var dataValue= this.GysName.GetValue();
//获取文本值alert(dataValue);/
/进行弹框var dataText=this.GysName.GetText();
//获取文本值alert(dataText);
//进行弹框//this.GysName.SetReadonly(true);
//只读this.GysName.SetVisible(false)
//是否可见*///this.F0000001.AddItem("新增");
//新增一个选项//var falg=$.SmartForm.ResponseContext.Message;
//接收 message//alert(falg);
//弹出 falg 的值
//设置 debugger 进行调试直接跳到调试点
//在设置复选框或下拉框等选择框前需要将其清空 this.F0000001.ClearItems()
Bizobject:对象
/*
//子表
//子表与主表都是 BizObject,子表有:Parentobjectid,父 id=主表 id
//将子表默认数据清空this.D001728FZB.ClearRows();
//添加子表行var controlManager=this.D001728FZB;
//获取子表数据var subObjectId = $.IGuid();
//创建行 ID
//新增子表行数据以及赋值controlManager.AddRow( subObjectId, {
"D001728FZB.F0000002": "值",
});
//更新子表行var currentRowId =this.D001728FZB.GetValue()[0].ObjectId;
//第一行子表 ID
//对子表行数据进行赋值更新this.D001728FZB.UpdateRow( currentRowId, {
"D001728FZB.F0000002": "赋值",
});
//遍历子表var zibiao=this.D001728FZB.GetValue();
for(var i=0;i<zibiao.length;i++){
var currentRowId=zibiao[i].ObjectId;
//第一行子表ID
//更新子表的数据this.D001728FZB.UpdateRow(currentRowId,{
"D001728FZB.F0000002":"你好",
});
}
/* //绑定 BindChange 事件//this.GysName.BindChange('key',function(){
// alert("change")
//});
//子表绑定 change 事件var parent=this;
this.D001728FZB.BindChange('key',function(res){
//获取子表对象if(res[0].DataField=="D001728FZB.F0000002"){
alert('改变了');
var Objectid=res[0].ObjectId;
var cellObj = parent.D001728FZB.GetCellManager( Objectid, "D001728FZB.F0000003" );
cellObj.SetReadonly(true);
}
})
;*/
// 表单插件代码$.extend( $.JForm, {
// 加载事件OnLoad: function() {
//弹框
},
// 按钮事件OnLoadActions: function( actions ) {
},
// 提交校验OnValidate: function( actionControl ) {
return true;
},
// 提交前事件BeforeSubmit: function( action, postValue ) {
},
// 提交后事件AfterSubmit: function( action, responseValue ) {
//弹窗// if(action=="F0000007"){
// return confirm("弹窗F0000007");
//} if(action=="F0000008"){
// return confirm("F0000008");
//} if(action=="F0000009"){
// return confirm("F0000009");
//}
if(action=="ShowFrom"){
var schemaCode = "D001728756f10a2259345b48ffda9a44b74429f";
// SchemaCode 表单编码参数var objectId = "";
//BizObjectID 不传时打开新增时的表单var params = { SeasonObjectiveID: "" };
//传递到表单的参数 JSON 对象格式var checkIsChange = false;
//是否检查修改var showlist = false;
//兼容移动端是否显示列表var showInModal = true;
//是否弹出框中显示,如果为 false,title height width OnShowCallback OnHiddenCallback 等属性不起作用$.IShowForm( schemaCode, objectId, params, checkIsChange, showlist, {
showInModal: true, title: "标题", height: 500, width: 800, OnShowCallback: function( da ) {
debugger
;console.log(da);
}, onHiddenCallback: function( data ) { }
});
//OnShowCallback 显示时事件 onHiddenCallback 隐藏时事件}
}
});
二、后端弹框
response.Infos.Add(“str”);
//和 ISowWarn 类似的一个弹框,但会阻止表单的提交。通常在 OnSubmit 中使用
response.Message(“str”);
不能在 OnSubmit 中使用,会被前端弹框覆盖
response.Errors.Add(“str”)
;//和 IShowError 弹框类似,但也会阻止表单的提交,通常在 OnSubmit 中使用。
案例
列表设计可以给表单增加一个新的自定义按钮,(就是诸如新增、导入、导出的按钮),可以点击这个新的按钮弹出一个其他的新的表单。
在列表设计——列表设置——设置功能按钮——新增自定义按钮——按钮命名为计算薪资,编码为 test
在表单设计创建一个新的表单——命名为计算薪资
在列表设计的前端代码中,在按钮执行前事件 ActionPreDo 中写:
if(actionCode==''test'){ $.IShowForm(“F67c89495df154ab69ede62c1b61a0658”, “”, flase); }