$.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);

                        }

                    }

                )

            });

        }


        // 控件初始化事件
        $.MvcSheet.ControlInit = function () {
            // 如果是 SheetComment,则默认设置所有的 SheetComment 的属性
            if (this.Type == "SheetComment") {
                this.SignHeight = 80;          // 签章高度
                this.SignPosition = "AfterComment"; // 用户名称显示在意见之后
                this.SignAlign = "Right"        // 签章靠右显示
            }
        };



})