二开案例.表单插件.信息中心修改导航树节点文本

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.表单插件.信息中心修改导航树节点文本

【应用场景】

信息中心修改导航树节点文本。



【案例演示】

信息中心,将任务节点下的待处理任务、已处理任务,改成待处理流程、已处理流程。

上传图片



【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Util;
using Kingdee.BOS.Workflow.ServiceHelper;
using System;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【表单插件】信息中心修改导航树节点文本
    /// </summary>
    [Description("【表单插件】信息中心修改导航树节点文本"), HotUpdate]
    public class WfWorklistSetNodeTextFormPlugIn : AbstractDynamicFormPlugIn
    {
        /// <summary>
        /// 首次加载完成后,修改树节点名称
        /// </summary>
        /// <param name="e"></param>
        public override void OnQueryProgressValue(QueryProgressValueEventArgs e)
        {
            base.OnQueryProgressValue(e);
            if (e.Key.ToUpper() == "FPROGRESSBAR" && e.Value == 100)
            {
                // WF_Worklist_Main
                var tree = this.View.GetControl<TreeView>("FTreeView");
                var infos11 = CenterServiceHelper.GetUnCompletedAssignCountInfos(Context, Context.UserId);
                var infos12 = CenterServiceHelper.GetCompletedAssignCountInfos(Context, Context.UserId);
                tree.InvokeControlMethod("SetNodeText", "10", "流程任务");
                tree.InvokeControlMethod("SetNodeText", "11", string.Format("待处理流程({0})", infos11.Any() ? infos11.Sum(r => r.Count) : 0));
                tree.InvokeControlMethod("SetNodeText", "12", string.Format("已处理流程({0})", infos12.Any() ? infos12.Sum(r => r.Count) : 0));
                this.View.UpdateView("FTreeView");
            }
        }
    }
}
/* 信息中心树节点内码-节点名称对照表
10:信息中心 - 任务
11:待处理任务
12:已处理任务
13:我的转发
14:我的加签
15:我的委托
60:信息中心 - 监控消息
61:监控消息
62:执行计划消息
20:信息中心 - 消息
23:普通消息
24:流程消息
27:发件箱
22:废件箱
30:信息中心 - 工作流
31:草稿箱
32:我的收藏
33:流程列表
34:流程查询
35:我的流程
50:信息中心 - 业务流
51:我的收藏
52:流程列表
40:信息中心 - 设置
41:信息中心设置
42:委托设置 
*/


<2>编写列表插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Util;
using Kingdee.BOS.Workflow.ServiceHelper;
using System;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【列表插件】信息中心右边列表打开后反写左边导航树节点文本
    /// </summary>
    [Description("【列表插件】信息中心右边列表打开后反写左边导航树节点文本"), HotUpdate]
    public class WfWorklistSetNodeTextListPlugIn : AbstractListPlugIn
    {
        /// <summary>
        /// 点击树节点,会加载子页面,当子页面加载完后,再次修改树节点名称
        /// </summary>
        /// <param name="e"></param>
        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            var view = this.View.ParentFormView;
            var tree = view.GetControl<TreeView>("FTreeView");
            if (this.View.BillBusinessInfo.GetForm().Id == "WF_AssignmentBill")
            {
                var infos11 = CenterServiceHelper.GetUnCompletedAssignCountInfos(Context, Context.UserId);
                tree.InvokeControlMethod("SetNodeText", "11", string.Format("待处理流程({0})", infos11.Any() ? infos11.Sum(r => r.Count) : 0));
            }
            else if (this.View.BillBusinessInfo.GetForm().Id == "WF_AssignmentHisBill")
            {
                var infos12 = CenterServiceHelper.GetCompletedAssignCountInfos(Context, Context.UserId);
                tree.InvokeControlMethod("SetNodeText", "12", string.Format("已处理流程({0})", infos12.Any() ? infos12.Sum(r => r.Count) : 0));
            }
            view.UpdateView("FTreeView");
            this.View.SendDynamicFormAction(view);
        }
    }
}
/* 信息中心树节点内码-节点名称对照表
10:信息中心 - 任务
11:待处理任务
12:已处理任务
13:我的转发
14:我的加签
15:我的委托
60:信息中心 - 监控消息
61:监控消息
62:执行计划消息
20:信息中心 - 消息
23:普通消息
24:流程消息
27:发件箱
22:废件箱
30:信息中心 - 工作流
31:草稿箱
32:我的收藏
33:流程列表
34:流程查询
35:我的流程
50:信息中心 - 业务流
51:我的收藏
52:流程列表
40:信息中心 - 设置
41:信息中心设置
42:委托设置 
*/


<3>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。

上传图片


<4>BOSIDE扩展流程信息中心_主界面[WF_Worklist_Main],注册表单插件,保存元数据。

上传图片


<5>BOSIDE扩展信息中心_待办任务[WF_AssignmentBill],注册列表插件,保存元数据。

上传图片

<6>BOSIDE扩展信息中心_已办任务未归档[WF_AssignmentHisBill],注册列表插件,保存元数据,开发完毕。

上传图片



【功能验证】

<1>登录业务站点,打开信息中心,左侧导航树节点文本已修改,如下图。

上传图片

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.表单插件.信息中心修改导航树节点文本

【应用场景】信息中心修改导航树节点文本。【案例演示】信息中心,将任务节点下的待处理任务、已处理任务,改成待处理流程、已处理流程。【...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息