当前位置: 首页 > news >正文

RDL 按钮事件自定义弹框

1、将写好的JS脚本文件放到路径下

C:\inetpub\wwwroot\OpcenterRDnL\wwwroot\Scripts\Extensions 

此脚本会自动加载到项目里

2、RndtRqPullandMove.js 

此脚本会自动加载到项目里

(function (extensions, $) {var assignWindow;extensions.SetTheRndtRqPullandMove = function (RQ,RQType) {initializeWindow(RQ,RQType);};var initializeWindow = function(RQ,RQType){var html = `<iframe src="/OpcenterRDnLWebCustom/RndtRqPullandMove/index/`+RQ+`?RQType=`+RQType+`" style="border:0px; height:280px; width:100%; overflow :hidden ;"></iframe>`;assignWindow = $('<div id="customWindow" class="-configDialog-wrapper">' +'<div class="-configDialog-content"  style="overflow-y:scroll;"></div>' +'<div class="-configDialog-buttons">' + '</div>');$(".-configDialog-content", assignWindow).append($(html).show());assignWindow = $(assignWindow).dialog({draggable: true,height: 350,width: 600,modal: true,resizable: true,title: '分配实验计划/工艺方案',minWidth: 450,minHeight: 150,});var css = document.createElement("style");css.type = "text/css";css.innerHTML = ".separateLocation { background-color: chocolate; }" +".sameLocation { background-color: olivedrab;}";document.body.appendChild(css);};extensions.closeDialog = function() {assignWindow.dialog("close");}}) (window.extensions = window.extensions || {}, jQuery);

3、按钮事件

 lResult.JsFunction = "window.extensions.SetTheRndtRqPullandMove(" + RQ + ",'" + RequestTemplateType + "')";

using RnD.API;
using RnD.Attributes;
using RnD.BusinessLayer.Interfaces.UserManagement;
using RnD.Common.Model.ActionBarButtons;
using RnD.CustomFunctionTypes;
using RnD.Model;
using System.Data.Entity.Infrastructure;namespace DS.PLM.Extend.Custom.IntegrateDev.ActionBarButton
{/// <summary>/// 试验计划的 分配按钮/// Author: Bingo/// Date:2024年9月26日16:39:24/// 说明:/// 1.EX代表试验任务;PS代表工序段。只有选择试验任务/工序段时才会显示按钮/// 2.任务下可分配的请求类型:EP;/// 3.工序段下可分配的请求类型:PH,PP,SJ,BF,TP/// 4.按钮名称:“分配”/// </summary>[CustomFunction("btnRndtRqPullandMove")]public class btnRndtRqPullandMove : AdvancedCustomFunction, ICustomActionBarButton//这里继承不用动,此继承是为了在RDnL界面中菜单显示此按钮{//这里是构造函数,传入IAPI接口public btnRndtRqPullandMove(IAPI aApi) : base(aApi){}/// <summary>/// 获取ActionBarButton的元数据信息,设置按钮的显示名称、图标、描述、是否显示等信息/// </summary>/// <returns></returns>public ActionBarButtonMetadata GetActionBarButtonMetadata(){var lResult = new ActionBarButtonMetadata();string lang = API.CustomizationSession.UserApplicationLanguage;if (lang == "zh-CN"){lResult = new ActionBarButtonMetadata(){Description = "分配",//设置按钮显示的名字IconClass = "icon-cmdExport24",//设置按钮图标DropdownIdentifier = ""};}if (lang == "en-US"){lResult = new ActionBarButtonMetadata(){Description = "Pull",IconClass = "icon-cmdExport24",DropdownIdentifier = ""};}//这段话是设置此按钮在哪个菜单展示,Request 是在配方页面展示,Specification 是在规格页面展示//注意:如果添加的是规格页面,则Exceute方法中,(IRequest)aCustomisationObject[0] 需要改为 (ISpecification)aCustomisationObject[1]    lResult.IsVisibleWhen.Add(RnD.Common.Enums.ActionBarButtonVisibility.Request);return lResult;}public ActionBarButtonResult Execute(List<ICustomizationObject> aCustomisationObject){var lResult = new ActionBarButtonResult(){MessageType = RnD.Common.Enums.MessageType.Information,Refresh = false};if (aCustomisationObject.Count == 1 && IsLike<IRequest>(aCustomisationObject[0].GetType())){var rq = (IRequest)aCustomisationObject[0];string RequestTemplateType = rq.RequestTemplateType;string RQ = "";if (rq != null && rq.ID != null){RQ = rq.ID.Value.ToString();}lResult.JsFunction = "window.extensions.SetTheRndtRqPullandMove(" + RQ + ",'" + RequestTemplateType + "')";return lResult;}return lResult;}}
}


http://www.mrgr.cn/news/37716.html

相关文章:

  • 黄金短线交易策略:波动中的高效盈利之法
  • 设备管理与点巡检系统
  • 【Transformers实战篇2】练习之命名实体识别
  • Elixir求解螺旋矩阵问题
  • 如何伪装一台直播设备的网络信息在其他地区
  • C++:采用模板封装顺序表,栈,队列
  • 【数据结构】堆(Heap)详解
  • 校园外卖系统SpringBoot免费分享
  • QT 获取视频帧Opencv获取清晰度
  • 【工具分享】FenixLocker勒索病毒解密工具
  • 宝塔面板部署雷池社区版教程
  • 理解:基础地理实体相关概述
  • 企业安全策略制定
  • TDengine 签约青山钢铁,实现冶金全流程质量管控智能化
  • 长效ip的特征除了稳定还有什么
  • 深圳龙链科技:全球区块链开发先锋,领航Web3生态未来
  • 硕博论文写作如何完成一篇符合学术诚信的优秀论文
  • 数据库事务
  • Java/Spring项目中包名以“com”开头的原因分析
  • 代码随想录算法训练营Day13