TR评审流程.待办卡片二开处理按钮直接打开单据处理界面原创
金蝶云社区-Neoyu
Neoyu
3人赞赏了该文章 237次浏览 未经作者许可,禁止转载编辑于2023年01月06日 09:58:21

【应用场景】

希望用户在主页面的待办卡片中点击处理按钮时,直接打开单据处理界面而不是弹出快捷处理窗口。


【案例演示】

TR自检节点,处理时直接点开窗口,非TR自检节点正常使用快捷处理。

image.png

image.png


【实现步骤】

<1>参考待办卡片二开屏蔽处理按钮功能 (kingdee.com),替换待办卡片单据插件

<2>调整插件代码,根据代办信息判断流程节点信息,如果是TR自检节点时转为直接打开处理单据,其余保持原状。

参考组件:

image.png

示例代码:

using Kingdee.BOS.Business.PlugIn.MainConsole.H5Card.H5SmartCard;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Util;
using Kingdee.BOS.Workflow.ServiceHelper;
using System.ComponentModel;

namespace Kingdee.BOS.Test.PlugIn.TestControls.Other
{
    [Description("待办卡片处理按钮屏蔽")]
    [HotUpdate]
    public class H5SmartAgencyTaskCardPlugInHideProcessBtn : H5SmartAgencyTaskCardPlugIn
    {
        public override void NaviOperAction(NaviOperActionArgs e)
        {
            if (e.Key.EqualsIgnoreCase("FAgencyTaskContent") && !string.IsNullOrWhiteSpace(e.SelectItemId))
            {
                var cfg = WorkflowTemplateServiceHelper.GetActivityControlByAssignId(this.Context, e.SelectItemId);
                //以流程节点配置的视图为依据,如果是TR自检节点的视图时,则改为直接打开单据处理
                if(cfg != null && !string.IsNullOrWhiteSpace(cfg.LayoutId)  && cfg.LayoutId == "eb4d0946-08ff-4acb-bf18-5f266f91069c")
                {
                    JSONObject jo = new JSONObject();
                    jo["btnkey"] = "title";
                    e.Data = jo;
                    base.NaviOperAction(e);
                }
            }
        }
    }
}

TR视图ID可在元数据或者数据库中查询:

image.png


【参考资料】

待办卡片二开屏蔽处理按钮功能 (kingdee.com)



【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696


【汇总】星空PLM二开指南(持续更新...)

https://vip.kingdee.com/article/329319878643190272



赞 3