一种向导式提示语应用实现
场景需求:
1、根据某种操作正常提示,提示内容需要先后顺序执行某种其他逻辑,如:无法执行该操作,请按下面分步执行,请先执行1、......2、......3、再次执行该操作
2、提示语中含有引导式提示语,如:执行成功,点击下面链接可直接查看执行结果
等其他场景需求,这种简单场景可方便增加用户引导式友好操作,无需实现过多的向导界面,也由于标准产品的提示语中,无法执行在提示语文本中插入链接或者按钮功能,所以需要借助向导式提示语应用功能实现
效果图:
二开插件样例:
public class TestMsgInnerInfoPlugin : AbstractDynamicFormPlugIn { private List<MsgInnerInfo> lstinnerinfo = null; public override void ButtonClick(ButtonClickEventArgs e) { if (e.Key.EqualsIgnoreCase("FBtTestMsg")) { this.lstinnerinfo = new List<MsgInnerInfo>(); this.lstinnerinfo.Add(new MsgInnerInfo("link1", "删除角色001")); this.lstinnerinfo.Add(new MsgInnerInfo("link2", "删除角色002")); this.lstinnerinfo.Add(new MsgInnerInfo("link3", "重新删除用户")); this.View.ShowMessage(new Queue<MsgInnerInfo>(this.lstinnerinfo), "删除[test]用户失败,该用户已被角色001,角色002引用,请先删除角色再选择重新操作", MessageBoxType.Notice); } } public override void MsgInnerControlEvent(MsgInnerControlEventArgs e) { base.MsgInnerControlEvent(e); if (this.lstinnerinfo == null) return; if (e.key.EqualsIgnoreCase("link1") || e.key.EqualsIgnoreCase("link2")) { //这里执行正确逻辑 //最后的提示 MsgInnerInfo linkm = this.lstinnerinfo.Where(x => x.key.EqualsIgnoreCase(e.key)).FirstOrDefault(); this.View.ShowMessage(string.Format("删除{0}成功。", linkm.caption), MessageBoxOptions.OK, new Action<MessageBoxResult>((result) => { if (this.lstinnerinfo != null) { linkm.enabled = true; JSONArray array = new JSONArray(); array.Add(KDObjectConverter.SerializeObject(linkm)); this.View.AddAction("SetMesTipBarInnerControlState", array); this.View.SendDynamicFormAction(this.View); } }), "", MessageBoxType.Advise); } if (e.key.EqualsIgnoreCase("link3")) { var alldel = this.lstinnerinfo.Where(x => !x.key.EqualsIgnoreCase("link3") && !x.enabled); if (alldel.Count() > 0) { this.View.ShowWarnningMessage(string.Format("请先执行{0}操作!", alldel.First().caption)); } else { //这里执行正确逻辑 //最后的提示 MsgInnerInfo linkm = this.lstinnerinfo.Where(x => x.key.EqualsIgnoreCase(e.key)).FirstOrDefault(); this.View.ShowMessage("删除[test]用户成功", MessageBoxOptions.OK, new Action<MessageBoxResult>((result) => { if (this.lstinnerinfo != null) { linkm.enabled = true; JSONArray array = new JSONArray(); array.Add(KDObjectConverter.SerializeObject(linkm)); this.View.AddAction("SetMesTipBarInnerControlState", array); this.View.SendDynamicFormAction(this.View); } }), "", MessageBoxType.Advise); } } } }
附:html5端暂未实现该场景,如需应用场景,内部后续再做支持
一种向导式提示语应用实现
场景需求:1、根据某种操作正常提示,提示内容需要先后顺序执行某种其他逻辑,如:无法执行该操作,请按下面分步执行,请先执行1、......2...
点击下载文档
本文2024-09-23 03:47:07发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-161086.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章