$.MvcSheet
$.MvcSheet
方法名称 | 参数 | 说明 |
Init | function (_AfterMvcInit) | 初始化函数 |
InitToolBar | function() | 初始化菜单工具栏 |
InitHiddenFields | function() | 初始化HiddenFields |
LoadData | function (_AfterMvcInit) | 加载数据主方法 |
PreInit | function () | 初始化前方法 |
Loaded | function() | 加载完成方法 |
Rendered | function() | 页面输出完成后方法 |
Action | function (actionControl) 示例: {Action:"后台方法名称",Datas:[{数据项1},{数据项2}]} | 执行后台动作 |
ConfirmAction | function (message, doneCallback) | 带确认对话框的执行方法操作 |
ActionValidata | function (actionControl, effective) | 表单校验方法 |
Save | function (actionControl) | 表单保存方法 |
Submit | function (actionControl, text, destActivity, postValue, groupValue) | 表单提交方法 |
Reject | function (actionControl, destActivity) | 驳回方法 |
FinishInstance | function (actionControl) | 结束流程方法 |
RetrieveInstance | function (actionControl) | 取回任务方法 |
GetMvcPostValue | function (actionName, destActivity, postValue, groupValue) | 获取Mvc表单需要传递到后台的数据 |
ResultHandler | function (actionControl, data) | 回调函数处理 |
ClosePage | function () | 关闭当前页面 |
AddDefaultActions | function () | 添加默认事件 |
AddAction | function (option) | 添加自定义事件 |
GetSheet | function (data, callback, errorhandler) | 使用Get方法调用后台 |
PostSheet | function (data, callback, errorhandler) | 使用Post方法调用后台 |
ControlInit | function () | 控件初始化方法,用于统一设置MVC控件属性 |
LoadData方法生命周期
// 执行加载前事件 $.MvcSheet.PreInit // 执行工具栏初始化事件 $.MvcSheet.InitToolBar // 调用所有前端控件进行数据初始化,这里已经执行了所有控件的数据加载和呈现 $(*).SheetUIManager(); // 初始化隐藏控件数据项 $.MvcSheet.InitHiddenFields(); // 开始移动端布局 // 调用 _AfterMvcInit 自定义函数 _AfterMvcInit(); // 调用Rendered方法 $.MvcSheet.Rendered() // 调用 Loaded 方法 $.MvcSheet.Loaded |
部分示例方法
$(function(){ // 增加自定义工具栏按钮方法,触发后台事件 $.MvcSheet.AddAction({ Action: "TestAction", // 执行后台方法名称 Icon: "fa-print", // 按钮图标 Text: "后台事件", // 按钮名称 Datas: ["{selectUser}"], // 参数,多个参数 "{Param1}","Param2"... //OnAction: function () { /* 自定义按钮执行事件,如果为 null 则调用$.MvcSheet.Action 执行后台方法 如果不为 null,那么会执行这里的方法,需要自己Post到后台或写前端逻辑 */ //}, OnActionDone: function (e) { // 后台方法调用完成后触发 // 以下是将后台的值输出到前端控件中 if (e) { $.MvcSheetUI.SetControlValue("code", e.Code); $.MvcSheetUI.SetControlValue("mvcName", e.Name); } }, PostSheetInfo: true // 是否提交表单数据,如果 false,那么不返回表单的数据 }); // 增加自定义工具栏按钮方法,触发前台事件 $.MvcSheet.AddAction({ Action: "TestScript", // 按钮名称 Icon: "fa-print", // 按钮图标 Text: "前端事件", // 按钮名称 Datas: ["{selectUser}"], // 参数,多个参数 "{Param1}","Param2"... OnAction: function () { alert("这里执行前端事件"); }, OnActionDone: function (e) { // 事件执行完成 }, PostSheetInfo: true // 是否提交表单数据,如果 false,那么不返回表单的数据 }); // 所有工具栏按钮完成事件 $.MvcSheet.ActionDone = function (data) { // this.Action; // 获取当前按钮名称 } // 保存前事件 $.MvcSheet.SaveAction.OnActionPreDo = function () { // this.Action // 获取当前按钮名称 alert(this.Action); } // 保存后事件,保存是异步的,可能比回调函数快 $.MvcSheet.SaveAction.OnActionDone = function () { //this 当前SaveAction var mvcNum = $.MvcSheetUI.GetSheetDataItem("mvcNum"); //读取后台数据项对象,L:数据项类型,V:数据项的值,O:数据项的权限,N:数据项名称,RowNum:主表中为0,子表中表示行号 if (mvcNum && (mvcNum.L == $.MvcSheetUI.LogicType.Int || mvcNum.L == $.MvcSheetUI.LogicType.Double || mvcNum.L == $.MvcSheetUI.LogicType.Long)) { if (mvcNum.V > 100) { } } } // 表单验证接口 $.MvcSheet.Validate = function () { // this.Action 表示当前操作的按钮名称 var nameText = $.MvcSheetUI.GetControlValue("mvcName"); // 根据数据项编码获取页面控件的值 // 填写申请单环节,设置 mvcName 必填 if ($.MvcSheetUI.SheetInfo.ActivityCode == "Apply") { if (this.Action == "Submit") { if (!nameText) { $.MvcSheetUI.GetElement("mvcName").focus(); alert("请填写名称."); return false; } } } return true; } // 页面初始化事件,该事件在获取MVC表单数据,并且在控件初始化之前执行 $.MvcSheet.PreInit = function () { // 将提交按钮文字改为通过 if ($.MvcSheetUI.SheetInfo.ActivityCode == "Approve" || $.MvcSheetUI.SheetInfo.IsOriginateMode) { $.MvcSheet.SubmitAction.Text = "通过"; } }; // 页面加载完成事件 $.MvcSheet.Loaded = function (sheetInfo) { // 获取选人控件 // arguments[0] 该参数包含MVC表单后台传递到前端的所有信息 /* MVC控件实例,通过 SheetUIManager() 方法获取,例如获取 txtCode 所对应的MvcSheetUI实例 */ var txtCode = $("#txtCode").SheetUIManager(); // 可以调用所有 SheetTextBox 提供的接口方法,例如 txtCode.GetValue(); // 自定义按钮调用后台方法示例 $("#btnClick").click(function () { // 执行后台事件 $.MvcSheet.Action( { Action: "TestAction", // 后台方法名称 Datas: ["输入参数"], // 输入参数,格式 ["{数据项名称}","String值","控件ID"],当包含数据项名称时 LoadControlValue必须为true LoadControlValue: true, // 是否获取表单数据 PostSheetInfo: false, // 是否获取已经改变的表单数据 OnActionDone: function (e) { // 执行完成后回调事件 $.MvcSheetUI.SetControlValue("code", e.Code); $.MvcSheetUI.SetControlValue("mvcName", e.Name); } } ) }); } // 控件初始化事件 }) |