图片:

             

代码:

jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@taglib prefix="s" uri="/struts-tags"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
  6. %>
  7. <html>
  8. <head>
  9. <base href="<%=basePath%>">
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11. <title>报警邮件管理</title>
  12. <link href="css/default.css" rel="stylesheet" type="text/css" />
  13. <link rel="stylesheet" type="text/css" href="easyui/easyui/themes/default/easyui.css" />
  14. <link rel="stylesheet" type="text/css" href="easyui/easyui/themes/icon.css" />
  15. <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
  16. <script type="text/javascript" src="easyui/js/jquery.easyui.min.js"></script>
  17. <script type="text/javascript" src="easyui/js/easyui-lang-zh_CN.js"></script>
  18. <script type="text/javascript" src="config_js/cfgEmail.js?v=1.9"></script>
  19. <style type="text/css">
  20. .a{text-align:right;padding-top: 10px;}
  21. .b{padding-top: 10px;}
  22. .fast_search{margin-bottom: 6px;height:auto;width:100%}
  23. .fast_textbox{width: 300px;float:left;}
  24. .fast_button{width: 500px;float:left;}
  25. .advanced_search{margin-bottom:6px;height:auto;width:100%;float:right;margin-top:6px;display:none;}
  26. .advanced_parent{float:left;margin-bottom: 6px;}
  27. .explain{width:40px;text-align:right;float:left;margin-top: 3px;}
  28. .explain60{width:70px;text-align:right;float:left;margin-top: 3px;}
  29. .content{width: 150px;float:left;}
  30. .content select {width:140px}
  31. .floatsort{float:left;width: 130px;}
  32. .batchServer{width: 100%;float: left;margin-top: 10px;}
  33. .textbox{width: 140px;}
  34. </style>
  35. </head>
  36. <body style="overflow-y: hidden;">
  37. <div id="tb" style="background:white">
  38. <div style="padding-top:10px;margin-left:5px;margin-bottom:8px">
  39. <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right:3px;" id="addButton" iconCls="icon-add" >添加</a>
  40. <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right:3px;" id="batchOpenEmail" iconCls="icon-edit">批量开启邮件</a>
  41. <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right:3px;" id="batchStopEmail" iconCls="icon-edit">批量暂停邮件</a>
  42. <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right:3px;" id="batchEdit" iconCls="icon-edit">批量修改</a>
  43. <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right:3px;" id="ipConfig" iconCls="icon-add" onclick="ipConfig()">例外邮件暂停</a>
  44. </div>
  45. </div>
  46. <table id="roleList">
  47. <thead>
  48. <tr>
  49. <th data-options="field:'ck',checkbox:true"></th>
  50. <th data-options="field:'p_type',width:70,align:'center',formatter:p_type">产品类型</th>
  51. <th data-options="field:'email_title',width:100,align:'center'">邮件标题</th>
  52. <th data-options="field:'email_description',width:100,align:'center'">邮件描述</th>
  53. <th data-options="field:'email_interval',width:40,align:'center'">发送间隔(分)</th>
  54. <th data-options="field:'email_addr',width:120,align:'center'">收件人</th>
  55. <th data-options="field:'next_email_time',width:100,align:'center'">下次发送时间</th>
  56. <th data-options="field:'is_email',width:55,align:'center',formatter:is_email,formatter:emailFlag,styler:emailColor">状态</th>
  57. <th data-options="field:'operate',width:90,align:'center',formatter:formatOper">操作</th>
  58. </tr>
  59. </thead>
  60. </table>
  61. <div id="titledialogs" class="easyui-dialog" style="width:550px;height:520px;pxpadding:10px;">
  62. <form id="addForm" method="post" style="text-align:-webkit-center;">
  63. <table class="servertable" style="padding-top:5px">
  64. <tr>
  65. <td></td>
  66. <td style="font-size: 8px;">&nbsp;例:CPU预警(KVM_CPU_WARNING),CPU报警(KVM_CPU_ALARM)</td>
  67. </tr>
  68. <tr>
  69. <td class="a">邮件类型:</td>
  70. <td class="b">&nbsp;<input class="easyui-textbox" id="emailType" name="cfgEmail.emailType" style="width:240px" data-options="prompt:'例:预警(XXX_CPU_WARNING),报警(XXX_CPU_ALARM)'"></input></td>
  71. </tr>
  72. <tr>
  73. <td class="a">邮件描述:</td>
  74. <td class="b">&nbsp;<input class="easyui-textbox" id="emailDescription" name="cfgEmail.emailDescription" style="width:240px" data-options=""></input></td>
  75. </tr>
  76. <tr>
  77. <td class="a">邮件标题:</td>
  78. <td class="b">&nbsp;<input class="easyui-textbox" id="emailTitle" name="cfgEmail.emailTitle" style="width:240px" data-options=""></input></td>
  79. </tr>
  80. <tr>
  81. <td class="a">监控类型:</td>
  82. <td class="b">&nbsp;<select class="easyui-combotree" id="alarmChar" name="cfgEmail.alarmChar" style="width: 240px; height: 24px;">
  83. </select></td>
  84. </tr>
  85. <tr>
  86. <td class="a">发送时间间隔:</td>
  87. <td class="b">&nbsp;<input class="easyui-textbox" id="emailInterval" name="cfgEmail.emailInterval" style="width:240px" data-options=""></input>(分)</td>
  88. </tr>
  89. <tr>
  90. <td class="a">下次执行时间:</td>
  91. <td class="b">&nbsp;<input class="easyui-datetimebox" id="nextEmailTime" name="cfgEmail.nextEmailTime" style="width:240px" editable="false" data-options=""></input></td>
  92. </tr>
  93. <tr>
  94. <td class="a">发送邮件:</td>
  95. <td class="b"><input id="yj1" type="radio" name="cfgEmail.isEmail" value="1" checked="checked"/>发送
  96. <input id="yj2" type="radio" name="cfgEmail.isEmail" value="0"/>不发送</td>
  97. </tr>
  98. <tr>
  99. <td class="a">发送恢复邮件:</td>
  100. <td class="b"><input id="hfyj1" type="radio" name="cfgEmail.isRegainEmail" value="1"/>发送
  101. <input id="hfyj2" type="radio" name="cfgEmail.isRegainEmail" value="0" checked="checked"/>不发送</td>
  102. </tr>
  103. <tr>
  104. <td class="a">收件人邮箱:</td>
  105. <td class="b">&nbsp;<input class="easyui-textbox" id="emailAddr" name="cfgEmail.emailAddr" style="width:300px;height:100px;" data-options="prompt:'多个邮件用英文逗号隔开',multiline:true"></input></td>
  106. </tr>
  107. <input type="hidden" name="id"/>
  108. </table>
  109. </form>
  110. </div>
  111. <div id="cfgEmailAddDialogs" class="easyui-dialog" style="width:1100px;height:550px;padding:10px;">
  112. <div id="tbb" style="background:white">
  113. <form id="cfgEmailAddForm" method="post" style="text-align:-webkit-center;">
  114. <div style="font-size: 16px;margin-top: 10px;">
  115. 时间类型:<select class="easyui-combobox" id="controlType" style="width:180px" name="cfgEmail.controlType" editable="false" required="required" data-options="panelHeight:'auto'">
  116. <option value="ONLYONE">时间段</option>
  117. <option value="EVERYDAY">每天</option>
  118. </select>
  119. &nbsp;开始时间:<input class="easyui-datetimebox" style="width: 180px;" name='cfgEmail.beginTime' editable="false" id="stime"/>
  120. &nbsp;结束时间:<input class="easyui-datetimebox" style="width: 180px;" name='cfgEmail.endTime' editable="false" id="etime"/>
  121. <input type="hidden" id="addEmailType" name="cfgEmail.emailType">
  122. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" onclick="addCfgEmailAdd()">保存</a>
  123. </div>
  124. </form>
  125. </div>
  126. <table id="cfgEmailAddList">
  127. <thead>
  128. <tr>
  129. <!-- <th data-options="field:'ck',checkbox:true"></th> -->
  130. <th data-options="field:'email_type',width:70,align:'center'">邮件类型</th>
  131. <th data-options="field:'control_type',width:40,align:'center',formatter:control_type">时间类型</th>
  132. <th data-options="field:'begin_time',width:70,align:'center'">开始时间</th>
  133. <th data-options="field:'end_time',width:70,align:'center'">结束时间</th>
  134. <th data-options="field:'is_use',width:40,align:'center',formatter:is_use,formatter:useFlag,styler:useColor">状态</th>
  135. <th data-options="field:'operate',width:35,align:'center',formatter:formatOperAdd">操作</th>
  136. </tr>
  137. </thead>
  138. </table>
  139. </div>
  140. <div id="emaildialos" class="easyui-dialog" title="批量修改"
  141. data-options="closed:true,iconCls: 'icon-save',buttons: [
  142. {
  143. text: '保存',
  144. iconCls:'icon-ok',
  145. handler: function(){
  146. $.messager.confirm('系统提示', '您确定要修改吗?', function(r){
  147. if (r) {
  148. $('#emailForm').form('submit', {
  149. url: 'config/batchUpdateCfgEmail.action',
  150. onSubmit: function(){
  151. var isValid = $(this).form('validate');
  152. if (!isValid){
  153. $.messager.progress('close');
  154. }
  155. return isValid;
  156. },
  157. success: function(data){
  158. $.messager.progress('close');
  159. $.messager.alert('系统提示', data, 'info');
  160. $('#emaildialos').dialog('close');
  161. loaddata();
  162. }
  163. });
  164. }
  165. });
  166. }
  167. },
  168. {
  169. text: '取消',
  170. iconCls:'icon-cancel',
  171. handler: function(){
  172. $('#emaildialos').dialog('close');
  173. }
  174. }
  175. ]"
  176. style="width:500px;height:310px;padding:30px;">
  177. <form id="emailForm">
  178. <input name="id" type="hidden" id="ids">
  179. <table>
  180. <tr>
  181. <td style="text-align: right;font-size: 15px" ><input id="zt" type="checkbox" onclick="fszt()">发送状态:</td>
  182.  
  183. <td style="font-size: 15px" ><input disabled="disabled" id="f1" type="radio" name="flag" value="1">开启
  184. <input disabled="disabled" id="f2" type="radio" name="flag" value="0">关闭</td>
  185. </tr>
  186. <tr>
  187. <td style="text-align: right;font-size: 15px" ><input id="yj" type="checkbox" onclick="yjjg()">邮件间隔:</td>
  188. <td style="font-size: 15px" >&nbsp;<input disabled="disabled" id="jg" type="text" name="interval">(分)</td>
  189. </tr>
  190. <tr>
  191. <td style="text-align: right;font-size: 15px" ><input id="sj" type="checkbox" onclick="sjr()">收件人:</td>
  192. <td>&nbsp;<input id="yx" name="sjryx" readonly="readonly" class="easyui-textbox" type="text" style="width:300px;height:100px" data-options="prompt:'多个邮件用英文逗号隔开',multiline:true"></input></td>
  193. </tr>
  194. </table>
  195. </form>
  196. </div>
  197. </body>
  198. </html>

js:

  1. $(function(){
  2. // 关闭弹窗
  3. $('#titledialogs').dialog('close');
  4. $('#cfgEmailAddDialogs').dialog('close');
  5. //加载数据
  6. loaddata();
  7. //监控类型下拉框
  8. getMonitorItemChar();
  9. // 添加按钮
  10. $("#addButton").click(function() {
  11. addInfo();
  12. });
  13. //批量开启关闭邮件状态
  14. $("#batchOpenEmail").click(function () {
  15. batchChangeEmailFlag(1);
  16. });
  17. $("#batchStopEmail").click(function () {
  18. batchChangeEmailFlag(0);
  19. });
  20. //批量修改弹窗关闭清除表单
  21. $("#emaildialos").dialog({
  22. onClose : function() {
  23. $("#zt").attr("checked", false);
  24. $("#yj").attr("checked", false);
  25. $("#sj").attr("checked", false);
  26. // $("input[type='radio']").removeAttr('checked');
  27. $("#f1").removeAttr("checked");
  28. $("#f2").removeAttr("checked");
  29. $("#f1").attr("disabled", "disabled");
  30. $("#f2").attr("disabled", "disabled");
  31. $("#jg").val("");
  32. $("#jg").attr("disabled", "disabled");
  33. $("#yx").textbox('setValue', '');
  34. $('#yx').textbox('readonly', true);
  35. }
  36. });
  37. //批量修改
  38. $("#batchEdit").click(function() {
  39. var ss = '';
  40. var rows = $('#roleList').datagrid('getSelections');
  41. if (rows == null || rows.length == 0) {
  42. $.messager.progress('close');
  43. $.messager.alert('系统提示', '请选择要批量修改的行', 'info');
  44. return;
  45. }
  46. for (var i = 0; i < rows.length; i++) {
  47. var row = rows[i];
  48. if (i == rows.length - 1) {
  49. ss += row.id;
  50. } else {
  51. ss += row.id + ',';
  52. }
  53. }
  54. $("#ids").val(ss);
  55. $('#emaildialos').dialog('open');
  56. });
  57. })
  58. function loaddata() {
  59. $('#roleList').datagrid({
  60. //title: '邮件配置1',
  61. iconCls : 'icon-ok',
  62. // height:($(window).height()),
  63. width : '100%',
  64. pageSize : 15,//默认选择的分页是每页5行数据
  65. pageList : [ 15, 50, 100, 150 ],//可以选择的分页集合
  66. nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
  67. striped : true,//设置为true将交替显示行背景。
  68. collapsible : true,//显示可折叠按钮
  69. toolbar : "#tb",//在添加 增添、删除、修改操作的按钮要用到这个
  70. url : 'config/getCfgEmailList.action',//url调用Action方法
  71. loadMsg : '数据装载中......',
  72. fit : true,
  73. //singleSelect:true,//为true时只能选择单行
  74. fitColumns : true,//允许表格自动缩放,以适应父容器
  75. //sortName : 'xh',//当数据表格初始化时以哪一列来排序
  76. //sortOrder : 'desc',//定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。
  77. remoteSort : false,
  78. pagination : true,//分页
  79. rownumbers : true,//行数
  80. onLoadSuccess : function(data) {
  81. $('#roleList').datagrid('fixRowHeight');
  82. $(".datagrid-btable tr td div").each(function() {
  83. $(this).attr("title", $(this).text());
  84. });
  85. $(".addCfgEmailAddCabinet").linkbutton({
  86. text : '特殊',
  87. plain : true,
  88. iconCls : 'icon-add'
  89. });
  90. $(".editCabinet").linkbutton({
  91. text : '修改',
  92. plain : true,
  93. iconCls : 'icon-edit'
  94. });
  95. $(".delCabinet").linkbutton({
  96. text : '删除',
  97. plain : true,
  98. iconCls : 'icon-remove'
  99. });
  100. },
  101. });
  102. }
  103. function is_email(val, row, index) {
  104. if (val == 0) {
  105. return "暂停";
  106. } else if (val == 1) {
  107. return "发送";
  108. }
  109. }
  110. function emailColor(val, row, index) {
  111. if (val == 1) {
  112. return 'background:#B9F3B9';
  113. } else if (val == 0) {
  114. return 'background:#FFCCCC';
  115. }
  116. }
  117. function emailFlag(val, row, index) {
  118. if (val == 1) {
  119. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  120. return '<a href="javascript:void(0)" style = "color:green;text-decoration:underline;" onclick="changeEmailFlag('+$row+',0)">已启用</a>';
  121. } else if (val == 0) {
  122. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  123. return '<a href="javascript:void(0)" style = "color:red;text-decoration:underline;" onclick="changeEmailFlag('+$row+',1)">已停止</a>';
  124. }
  125. }
  126. function changeEmailFlag(row, flag) {
  127. $.ajax({
  128. url : "config/updateCfgEmailFlag.action",
  129. type : "POST",
  130. data : {
  131. "id" : row.id,
  132. "cfgEmail.isEmail" : flag,
  133. },
  134. timeout : 180000,
  135. success : function(data) {
  136. loaddata();
  137. }
  138. });
  139. }
  140. function batchChangeEmailFlag(flag) {
  141. var id = '';
  142. var rows = $('#roleList').datagrid('getSelections');
  143. if (rows == null || rows.length == 0) {
  144. $.messager.progress('close');
  145. $.messager.alert('系统提示', '请选择要批量修改的行', 'info');
  146. return;
  147. }
  148. for (var i = 0; i < rows.length; i++) {
  149. var row = rows[i];
  150. if (i == rows.length - 1) {
  151. id += row.id;
  152. } else {
  153. id += row.id + ',';
  154. }
  155. }
  156. $.messager.confirm('系统提示', "您确定要修改邮件状态吗?", function (r) {
  157. if (r) {
  158. $.ajax({
  159. url : "config/updateCfgEmailFlag.action",
  160. type : "POST",
  161. data : {
  162. "id" : id,
  163. "cfgEmail.isEmail" : flag,
  164. },
  165. timeout : 180000,
  166. async: true,
  167. success: function (data) {
  168. loaddata("");
  169. $.messager.progress('close');
  170. $.messager.alert('系统提示', data, 'info');
  171. }
  172. });
  173. }
  174. });
  175. }
  176. function p_type(val, row, index) {
  177. if (row.p_type == 1) {
  178. return "快云服务器";
  179. } else if (row.p_type == 3) {
  180. return "快云VPS";
  181. } else if (row.p_type == 4) {
  182. return "快云存储";
  183. } else if (row.p_type == 5) {
  184. return "虚拟主机";
  185. } else if (row.p_type == 6) {
  186. return "快云数据库";
  187. }
  188. }
  189. function formatOper(val, row, index) {
  190. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  191. return '<a href="javascript:void(0)" class="addCfgEmailAddCabinet" onclick="cfgEmailAddDialogs('+ $row +')"></a>'+
  192. '<a href="javascript:void(0)" class="editCabinet" onclick="editInfo('+ $row +')"></a>'+
  193. '<a href="javascript:void(0)" class="delCabinet" onclick="delInfo('+ $row +')"></a>';
  194. }
  195. //监控类型下拉框
  196. function getMonitorItemChar() {
  197. var tid = $("#tid").val();
  198. var ip = $("#ip").val();
  199. $.ajax({
  200. url:"config/getMonitorItemChar.action",
  201. type:"POST",
  202. timeout:180000,
  203. async:false,
  204. success:function(data){
  205. var data = eval(data);
  206. $('#alarmChar').combotree({
  207. valueField: "id", //Value字段
  208. textField: "text", //Text字段
  209. multiple: true,
  210. data: data,
  211. panelHeight: 180,
  212. });
  213. }
  214. });
  215. //清空combotree下拉框图标
  216. $(".tree-icon,.tree-file").removeClass("tree-icon tree-file");
  217. $(".tree-icon,.tree-folder").removeClass("tree-icon tree-folder tree-folder-open tree-folder-closed");
  218. }
  219. //当前时间
  220. function getNowFormatDate() {
  221. var date = new Date();
  222. var seperator1 = "-";
  223. var seperator2 = ":";
  224. var month = date.getMonth() + 1;
  225. var strDate = date.getDate();
  226. if (month >= 1 && month <= 9) {
  227. month = "0" + month;
  228. }
  229. if (strDate >= 0 && strDate <= 9) {
  230. strDate = "0" + strDate;
  231. }
  232. var currentdate = date.getFullYear() + seperator1 + month + seperator1
  233. + strDate + " " + date.getHours() + seperator2
  234. + date.getMinutes() + seperator2 + date.getSeconds();
  235. return currentdate;
  236. }
  237. //判断字符是否为空的方法
  238. function isEmpty(obj){
  239. if(typeof obj == "undefined" || obj == null || obj == ""){
  240. return true;
  241. }else{
  242. return false;
  243. }
  244. }
  245. //例外邮件暂停
  246. function ipConfig() {
  247. parent.$('.easyui-accordion li div').removeClass("selected");
  248. parent.$('.easyui-accordion li a').eq(1).parent().addClass("selected");
  249. parent.addTab('例外邮件暂停', 'config/ipConfig.action', 'icon-add');
  250. }
  251. //清除弹框数据
  252. function clearInfo() {
  253. $('#emailType').textbox('setValue','');
  254. $('#emailDescription').textbox('setValue','');
  255. $('#emailTitle').textbox('setValue','');
  256. $('#alarmChar').combotree('setValue','');
  257. $('#emailInterval').textbox('setValue','');
  258. $('#nextEmailTime').datetimebox('setValue','');
  259. $("#yj1").attr("checked","checked");
  260. $("#hfyj2").attr("checked","checked");
  261. $('#emailAddr').textbox('setValue','');
  262. }
  263. //添加
  264. function addInfo() {
  265. //清空表单记录
  266. clearInfo();
  267. //下次执行时间赋值
  268. $("#nextEmailTime").datetimebox('setValue', getNowFormatDate());
  269. $('#titledialogs').dialog('open').dialog({
  270. title : '添加报警邮件',
  271. iconCls : 'icon-save',
  272. buttons : [ {
  273. text : '保存',
  274. iconCls : 'icon-ok',
  275. handler : function() {
  276. $.messager.confirm('系统提示', '您确定要添加吗?', function(r) {
  277. if (r) {
  278. if(isEmpty($("#emailType").val().trim())){
  279. $.messager.alert('系统提示', '邮件类型不能为空', 'info');
  280. return
  281. }
  282. if(isEmpty($("#emailDescription").val().trim())){
  283. $.messager.alert('系统提示', '邮件描述不能为空', 'info');
  284. return
  285. }
  286. if(isEmpty($("#emailTitle").val().trim())){
  287. $.messager.alert('系统提示', '邮件标题不能为空', 'info');
  288. return
  289. }
  290. if(isEmpty($("#alarmChar").combotree('getValue'))){
  291. $.messager.alert('系统提示', '监控类型不能为空', 'info');
  292. return
  293. }
  294. var emailInterval = $("#emailInterval").val().trim();
  295. if(isEmpty(emailInterval)){
  296. $.messager.alert('系统提示', '发送时间间隔不能为空', 'info');
  297. return
  298. }
  299. if (!emailInterval.match(/[0-9]+/)) {
  300. $.messager.alert('系统提示', '发送时间间隔必须为数字', 'info');
  301. return;
  302. }
  303. if(isEmpty($("#emailAddr").val().trim())){
  304. $.messager.alert('系统提示', '收件人邮箱不能为空', 'info');
  305. return
  306. }
  307. $('#addForm').form('submit', {
  308. url : 'config/addCfgEmail.action',
  309. onSubmit : function() {
  310. var isValid = $(this).form('validate');
  311. if (!isValid) {
  312. $.messager.progress('close');
  313. }
  314. return isValid;
  315. },
  316. success : function(data) {
  317. $.messager.progress('close');
  318. $.messager.alert('系统提示', data, 'info');
  319. if (data.indexOf('成功') >= 0) {
  320. $('#titledialogs').dialog('close');
  321. loaddata();
  322. }
  323. }
  324. });
  325. }
  326. });
  327. }
  328. }, {
  329. text : '取消',
  330. iconCls : 'icon-cancel',
  331. handler : function() {
  332. $('#titledialogs').dialog('close');
  333. }
  334. } ]
  335. });
  336. }
  337. //修改
  338. function editInfo(row) {
  339. $('#addForm').form('load',{'cfgEmail.emailType':row.email_type,
  340. "cfgEmail.emailDescription":row.email_description,
  341. "cfgEmail.emailTitle":row.email_title,
  342. // "cfgEmail.alarmChar":row.alarm_char,
  343. "cfgEmail.emailInterval":row.email_interval,
  344. "cfgEmail.nextEmailTime":row.next_email_time,
  345. "cfgEmail.isEmail":row.is_email,
  346. "cfgEmail.isRegainEmail":row.is_regain_email,
  347. "cfgEmail.emailAddr":row.email_addr,
  348. "id":row.id});
  349. // $("#alarmChar").combotree('setValues', row.alarm_char);
  350. //下拉框加载数据
  351. var arr = [];
  352. if (row.alarm_char.indexOf(",") == -1) {
  353. var alarmChar = row.alarm_char + ',';
  354. }
  355. var alarmChar = row.alarm_char.split(',');
  356. for (var i = 0; i < alarmChar.length; i++) {
  357. arr.push(alarmChar[i]);
  358. }
  359. $("#alarmChar").combotree('setValues', arr);
  360. //弹出弹框
  361. $('#titledialogs').dialog('open').dialog({
  362. title:'修改报警邮件',
  363. iconCls: 'icon-save',
  364. buttons: [
  365. {
  366. text: '保存',
  367. iconCls:'icon-ok',
  368. handler: function(){
  369. $.messager.confirm('系统提示', '您确定要修改吗?', function(r){
  370. if (r) {
  371. $('#addForm').form('submit', {
  372. url: 'config/updateCfgEmail.action',
  373. onSubmit: function(){
  374. var isValid = $(this).form('validate');
  375. if (!isValid){
  376. $.messager.progress('close');
  377. }
  378. return isValid;
  379. },
  380. success: function(data){
  381. $.messager.progress('close');
  382. $.messager.alert('系统提示', data, 'info');
  383. if(data.indexOf('成功') >= 0){
  384. $('#titledialogs').dialog('close');
  385. loaddata();
  386. }
  387. }
  388. });
  389. }
  390. });
  391. }
  392. },
  393. {
  394. text: '取消',
  395. iconCls:'icon-cancel',
  396. handler: function(){
  397. $('#titledialogs').dialog('close');
  398. }
  399. }
  400. ]
  401. });
  402. }
  403. //删除
  404. function delInfo(row){
  405. if (row){
  406. $.messager.confirm('系统提示', "您确定要删除该条信息吗?", function(r){
  407. if (r) {
  408. $.ajax({
  409. url:"config/delCfgEmail.action",
  410. type:"POST",
  411. data:{"id":row.id},
  412. timeout:180000,
  413. success:function(data){
  414. if(data.indexOf('失败') >= 0){
  415. $.messager.alert('系统提示', data, 'info');
  416. }
  417. loaddata();
  418. }
  419. });
  420. }
  421. });
  422. }
  423. }
  424. /**
  425. *
  426. * 特殊(特殊时间内不发邮件)
  427. */
  428. //添加特殊时间内不发邮件
  429. function cfgEmailAddDialogs(row) {
  430. //获取展示数据
  431. cfgEmailAddList(row.email_type);
  432. $("#addEmailType").val(row.email_type);
  433. //打开弹框
  434. $('#cfgEmailAddDialogs').dialog('open').dialog({
  435. title : '添加特殊时间内不发邮件',
  436. iconCls : 'icon-save',
  437. buttons : [
  438. // {
  439. // text : '保存',
  440. // iconCls : 'icon-ok',
  441. // handler : function() {
  442. // $.messager.confirm('系统提示', '您确定要添加吗?', function(r) {
  443. // if (r) {
  444. // }
  445. // });
  446. // }
  447. // },
  448. {
  449. text : '取消',
  450. iconCls : 'icon-cancel',
  451. handler : function() {
  452. $('#cfgEmailAddDialogs').dialog('close');
  453. }
  454. } ]
  455. });
  456. }
  457. function cfgEmailAddList(emailType) {
  458. $('#cfgEmailAddList').datagrid({
  459. iconCls : 'icon-ok',
  460. width: '100%',
  461. height: '100%',
  462. pageSize : 15, //默认选择的分页是每页5行数据
  463. pageList : [ 15, 50, 100, 150 ], //可以选择的分页集合
  464. nowrap : true, //设置为true,当数据长度超出列宽时将会自动截取
  465. striped : true, //设置为true将交替显示行背景。
  466. collapsible : true, //显示可折叠按钮
  467. toolbar : "#tbb", //在添加 增添、删除、修改操作的按钮要用到这个
  468. url : 'config/getcfgEmailAddList.action', //url调用Action方法
  469. loadMsg : '数据装载中......',
  470. // fit : true, //页面自适应
  471. singleSelect : true, //为true时只能选择单行
  472. fitColumns : true, //允许表格自动缩放,以适应父容器
  473. //sortName : 'xh',//当数据表格初始化时以哪一列来排序
  474. //sortOrder : 'desc',//定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。
  475. remoteSort : false,
  476. pagination : false, //分页
  477. rownumbers : true, //行数
  478. queryParams : {"cfgEmail.emailType" : emailType},
  479. onLoadSuccess : function(index, row) {
  480. //单元格超出部分隐藏并鼠标移动到单元格时弹框显示
  481. $(".datagrid-row td div").each(function() {
  482. $(this).attr("title", $(this).text());
  483. });
  484. $('#roleList').datagrid('fixRowHeight');
  485. $(".delCabinetAdd").linkbutton({
  486. text : '删除',
  487. plain : true,
  488. iconCls : 'icon-remove'
  489. });
  490. },
  491. })
  492. //去除遮罩
  493. $(".datagrid-mask").remove();
  494. $(".datagrid-mask-msg").remove();
  495. }
  496. function control_type(val, row, index) {
  497. if (val == "ONLYONE") {
  498. return "时间段";
  499. } else if (val == "EVERYDAY") {
  500. return "每天";
  501. }
  502. }
  503. function is_use(val, row, index) {
  504. if (val == 0) {
  505. return "关闭";
  506. } else if (val == 1) {
  507. return "开启";
  508. }
  509. }
  510. function useColor(val, row, index) {
  511. if (val == 1) {
  512. return 'background:#B9F3B9';
  513. } else if (val == 0) {
  514. return 'background:#FFCCCC';
  515. }
  516. }
  517. function useFlag(val, row, index) {
  518. if (val == 1) {
  519. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  520. return '<a href="javascript:void(0)" style = "color:green;text-decoration:underline;" onclick="changeUseFlag('+$row+',0)">已启用</a>';
  521. } else if (val == 0) {
  522. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  523. return '<a href="javascript:void(0)" style = "color:red;text-decoration:underline;" onclick="changeUseFlag('+$row+',1)">已停止</a>';
  524. }
  525. }
  526. function changeUseFlag(row, flag) {
  527. var templateId = $("#templateId").val();
  528. $.ajax({
  529. url : "config/updateCfgEmailAddFlag.action",
  530. type : "POST",
  531. data : {
  532. "cfgEmail.id" : row.id,
  533. "cfgEmail.isUse" : flag,
  534. },
  535. timeout : 180000,
  536. success : function(data) {
  537. var emailType = $("#addEmailType").val();
  538. cfgEmailAddList(emailType);
  539. }
  540. });
  541. }
  542. function formatOperAdd(val, row, index) {
  543. var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
  544. return '<a href="javascript:void(0)" class="delCabinetAdd" onclick="delCfgEmailAdd('+$row+')"></a>';
  545. };
  546. function clearCfgEmailAddInfo() {
  547. $('#stime').datetimebox('setValue','');
  548. $('#etime').datetimebox('setValue','');
  549. }
  550. //添加
  551. function addCfgEmailAdd() {
  552. $('#cfgEmailAddForm').form('submit', {
  553. url: 'config/addCfgEmailAdd.action',
  554. onSubmit: function(){
  555. var isValid = $(this).form('validate');
  556. if (!isValid){
  557. $.messager.progress('close');
  558. }
  559. return isValid;
  560. },
  561. success: function(data){
  562. if(data.indexOf('失败') >= 0){
  563. $.messager.alert('系统提示', data, 'info');
  564. }
  565. var emailType = $("#addEmailType").val();
  566. cfgEmailAddList(emailType);
  567. //清空添加数据
  568. clearCfgEmailAddInfo();
  569. }
  570. });
  571. }
  572. //删除
  573. function delCfgEmailAdd(row){
  574. if (row){
  575. $.messager.confirm('系统提示', "您确定要删除该条信息吗?", function(r){
  576. if (r) {
  577. $.ajax({
  578. url:"config/delCfgEmailAdd.action",
  579. type:"POST",
  580. data:{"id":row.id},
  581. timeout:180000,
  582. success:function(data){
  583. if(data.indexOf('失败') >= 0){
  584. $.messager.alert('系统提示', data, 'info');
  585. }
  586. var emailType = $("#addEmailType").val();
  587. cfgEmailAddList(emailType);
  588. }
  589. });
  590. }
  591. });
  592. }
  593. }
  594. /**
  595. * 批量修改
  596. */
  597. function fszt() {
  598. if ($('#zt').prop("checked")) {//判断checkbox是否选中
  599. //选中状态
  600. $("#f1").removeAttr("disabled");
  601. $("#f2").removeAttr("disabled");
  602. $("#f1").attr("checked", "checked");
  603. } else {
  604. //未选中状态
  605. $("#f1").attr("disabled", "disabled");
  606. $("#f2").attr("disabled", "disabled");
  607. $("#f1").removeAttr("checked");
  608. $("#f2").removeAttr("checked");
  609. }
  610. }
  611. function yjjg() {
  612. if ($('#yj').prop("checked")) {//判断checkbox是否选中
  613. //选中状态
  614. $("#jg").removeAttr("disabled");
  615. } else {
  616. //未选中状态
  617. $("#jg").attr("disabled", "disabled");
  618. }
  619. }
  620. function sjr() {
  621. if ($('#sj').prop("checked")) {//判断checkbox是否选中
  622. //选中状态
  623. $('#yx').textbox('readonly', false);
  624. } else {
  625. //未选中状态
  626. $('#yx').textbox('readonly', true);
  627. }
  628. }

easyUI demo2的更多相关文章

  1. Jquery easyui 教程

            Jquery easyui教程                 目  录 1基本拖放... 4 2构建购物车型拖放... 5 3创建课程表... 8 4菜单和按钮Menu and Bu ...

  2. easyui LinkButton

    http://www.zi-han.net/case/easyui/menu&button.html

  3. easyUI 插件写法 ---Validatebox 插件为例

    easyui 的每个组件都有属性.方法和事件.用户可以很容易地对这些组件进行扩展. js地址:jquery-easyui-1.3.3/jeasyui-extensions/jeasyui.extens ...

  4. jquery easyui tree异步加载子节点

    easyui中的树可以从标记中建立,也可以通过指定一个URL属性读取数据建立.如果想建立一棵异步树,需要为每个节点指定一个id属性值,这样在加载数据时会自动向后台传递id参数. <ul id=& ...

  5. Jquery easyui教程

    目  录 1基本拖放.......................................................................................... ...

  6. 前端框架 EasyUI (2)页面布局 Layout

    在 Web 程序中,页面布局对应用程序的用户体验至关重要. 在一般的信息管理类的 Web 应用程序中,页面结构通常有一个主工作区,然后在工作区上下左右靠近边界的区域设置一些边栏,用于显示信息或放置一些 ...

  7. 前端框架 EasyUI (1)熟悉一下EasyUI

    jQuery EasyUI 官方网站 http://www.jeasyui.com/ .去年新开了个中文网 http://www.jeasyui.net/,不知道是不是官方的,不过看着挺像样.但是,广 ...

  8. 前端框架 EasyUI (0) 重新温习(序言)

    几年前,参与过一个项目.那算是一个小型的信息管理系统,BS 结构的,前端用的是基于 jQuery 的 EasyUI 框架. 我进 Team 的时候,项目已经进入开发阶段半个多月了.听说整个项目的框架是 ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 任务调度系统界面 http: ...

随机推荐

  1. MUI - 为textarea添加语音输入和清除的功能

    为textarea添加语音输入和清除的功能 mui支持input输入框语音输入和清除的功能,只需要添加相关css类即可. http://www.cnblogs.com/phillyx/ 代码如下 &l ...

  2. @NOIP2018 - D1T1@ 铺设道路

    目录 @题目描述@ @考场上的思路@ @比较正常的题解@ @题目描述@ 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的 ...

  3. 上传图片如何对图片进行压缩canvas

    前言:哈喽,朋友们,最近一直在马不停蹄地赶项目,很久没有写博客了.今天我们来看一下前端上传图片地时候如何对图片进行压缩 1.图片上传 我近期写项目都是使用的VUE,这里上传图片使用了Element-u ...

  4. CNN网络改善的方法——池化

    一个能降低卷积金字塔中特征图的空间维度,目前为止,我们通过调整步幅,将滤镜每次移动几个像素.图1 从而降低特征图的尺寸.这是降低图像采样率的一种非常有效的方法. 图1 它移除了很多信息,如果我们不采用 ...

  5. SDO_RELATE和SDO_GEOM.RELATE

    SDO_RELATE需要事先建立索引,而SDO_GEOM.RELATE不用. SDO_RELATE返回True或False, SDO_GEOM.RELATE除可返回True或False外,还可返回关系 ...

  6. eBPF Tracing 入门教程与实例

    原文链接 Learn eBPF Tracing: Tutorial and Examples译者 弃余 在 LPC'18(Linux Plumber's conference) 会议上,至少有24个关 ...

  7. linux下oracle查询中文乱码

    export NLS_LANG=AMERICAN_AMERICA.UTF8

  8. 2019-2-21-PowerShell-通过-WMI-获取设备厂商

    title author date CreateTime categories PowerShell 通过 WMI 获取设备厂商 lindexi 2019-2-21 20:2:45 +0800 201 ...

  9. oracle用NOT EXISTS替代NOT IN

    在子查询中,NOT IN子句将执行一个内部的排序和合并. 无论在哪种情况下,NOT IN都是最低效的 (因为它对子查询中的表执行了一个全表遍历).  为了避免使用NOT IN ,我们可以把它改写成外连 ...

  10. ccf-201703-4-地铁修建

    二分+并查集 发现了一个很奇怪的问题,二分的上界设置错了,结果是运行错误...只有95分.后来改了上界就100了,百思不得其解 #include<cstdio> #include<c ...