[自定义脚本] SDP 自定义脚本的常用功能

[自定义脚本] SDP 自定义脚本的常用功能

简介

SDP中的自定义脚本包括:1、字段与表单规则中的执行脚本动作;2、页面脚本中的执行脚本动作
自定义脚本中可执行 JavaScript 和 jQuery 脚本。
注意:如需使用 jQuery ,在自定义脚本中,禁止使用 $ 作为 jQuery 的别称

以下给出几种在 SDP 部署过程中,客户常常提到的需求,及实现方法,抛砖引玉。

选择器

jQuery的选择器Selecter提供多种选取元素的方式,能够帮助我们准确地选择我们指定的元素。
语法描述
jQuery(this)当前 HTML 元素
jQuery("p")所有 <p> 元素
jQuery("p.intro")所有 class="intro" 的 <p> 元素
jQuery(".intro")所有 class="intro" 的元素
jQuery("#intro")id="intro" 的元素
jQuery("ul li:first")每个 <ul> 的第一个 <li> 元素
jQuery("[href$='.jpg']")所有带有以 ".jpg" 结尾的属性值的 href 属性
jQuery("div#intro .head")id="intro" 的 <div> 元素中的所有 class="head" 的元素

隐藏元素

隐藏工单中的字段
通过字段与表单规则能够轻松实现在新建,编辑工单时隐藏字段。在自定义脚本编辑页面中可以找到对应的脚本。如图:

在工单详细页面隐藏字段

如需在工单详细页面隐藏字段。主要使用 jQuery 的隐藏方法 .hide()
以隐藏资产字段为例:
1)通过浏览器自带的开发者工具(F12)定位到对应的字段

2)选择适当的的jQuery选择器
以 jQuery('[data-cs-field="assets"]') 可以定位到此字段
3)在页面脚本中如下所示编写脚本。jQuery('[data-cs-field="assets"]').hide();

效果如图:

补充:
请求表单页面,隐藏附件模块
jQuery('[class="pos-rel layout-title"]').hide(); 
jQuery('[class="file-browser-area"]').hide();
请求详细界面,隐藏附件模块
jQuery("#file-browser-area").hide();

增加元素

修改元素

通过的 text 方法,修改问题
比如部分版本会有页面乱码问题。
参考隐藏元素的定位元素步骤,通过选择器找到对应元素后

使用如下图脚本即可:
jQuery('[id="selected_task_name"]').text("我的所有任务"); 

效果如图:


点击元素

在点开请求详细页面的时候自动点击系统通知按钮,实现默认勾选系统通知。
1、找到元素

2、测试

3、实现

脚本内容
jQuery(document).ready();
jQuery('[value="system_notifications"]').click();
    • Related Articles

    • [工单][自定义脚本] SDP 业务规则/自定义触发器/自定义菜单 执行本地脚本详解

      一、概要 ServiceDesk Plus(SDP) 支持通过低代码的配置,满足丰富的个性化场景需求。但是对于一些复杂的的场景,如集成第三方系统。需要处理复杂的逻辑,SDP自带的业务规则和自定义触发器中的规则和字段更新等动作,就无法处理了。此时通过执行脚本触发存储在服务器中的脚本,就能比较好的解决这种复杂逻辑的处理。需要注意的是,因为将这些逻辑都放到脚本中去进行处理了。需要一定的开发能力。 本文主要介绍SDP是如何实现配置执行本地脚本,以及中间参数传递的详细步骤。 1.1 原理 ...
    • [工单][自定义脚本] 自定义计划 实现报表数据定期被调用,脚本引用报表数据进行后续处理

      场景: 客户想要使用自定义计划方法实现查询10天未关闭的解决的工单,通过自定义计划执行脚本直接对报表产生的数据(会存储到列表里,以json格式记录)进行调用和数据处理。(示例脚本为SDP通过API方式关闭工单) SQL: SELECT wo.WORKORDERID AS "Request ID" FROM WorkOrder wo LEFT JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID LEFT JOIN ...
    • EC-自定义脚本配置备注信息乱码

      乱码根本原因:EC程序编码是UTF-8,而cmd控制台默认编码为GB2312 解决方法:可以编辑脚本,在脚本第二行加入chcp 65001将编码转换为UTF-8,编码恢复正常。 chcp编码大全详见附件
    • [工单][自定义脚本] 当用户几天之内没有回复工单时,使用脚本发送提醒邮件给用户

      当终端用户一定时间期限内没有响应工单时,可以使用脚本实现对用户进行通知。 使用场景: 当工单状态变为某个自定义状态并且几天没有响应工单后,提醒邮件将会自动触发。例如,在本例中,3封提醒邮件将会在工单状态切换为某个自定义状态后,分不同时段发送给用户. 第一封邮件将会在工单状态变更后一天后发出,第二封邮件会在工单状态变更3天后发出。最后一封邮件将在工单状态信息变更5天后发出。之后工单会自动被关闭。 先决条件: 1. 需要提前在服务器上安装Python 环境,如下是安装步骤链接可以参考: ...
    • ADSSP-启用SDP Saml SSO时提示“认证失败”或“无权限”

      当AD用户在ServiceDesk Plus登录界面选择通过SAML SSO(IdP:ADSelfService Plus)认证: 在界面跳转时提示无权限查看内容(即使看到URL链接已成功跳转到ADSelfService Plus产品): 或身份认证界面跳转失败提示SAML认证失败: 怎么解决? 解决办法: 在ADSelfService Plus中链接账户属性查看: ->如果选择的源属性是mail,改为sAMAccountName(上面的报错截图1的情况); ...