create.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  6. <meta name="robots" content="noindex,nofollow">
  7. <title>{$sys_name}</title>
  8. <base href="{base_url()}"/>
  9. <link href="static/css/bootstrap.min.css" rel="stylesheet">
  10. <link href="static/css/select2.min.css" rel="stylesheet">
  11. <link href="static/js/skins/all.css" rel="stylesheet">
  12. <link rel="stylesheet" href="static/css/style.css">
  13. <script language="javascript" type="text/javascript"> var SITE_URL = "{base_url()}";</script>
  14. <script type="text/javascript" charset="utf-8" src="static/ueditor/neditor_min.config.js"></script>
  15. <script type="text/javascript" charset="utf-8" src="static/ueditor/neditor.all.js"></script>
  16. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  17. <!--[if lt IE 9]>
  18. <script src="http://cdn.bootcss.com/html5shiv/3.7.0/html5shiv.js"></script>
  19. <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
  20. <![endif]-->
  21. </head>
  22. <body style="background: #fff; min-width: auto;">
  23. <form class="form-horizontal bv-form" role="form" id="validateform" name="validateform" action="" method="post" novalidate="novalidate">
  24. <input type="hidden" name="warning_ids" value="{$warning_ids}">
  25. <div class="panel panel-default">
  26. <div class="panel-body">
  27. <fieldset>
  28. <div class="form-group">
  29. <label class="col-sm-2 control-label">工单ID:</label>
  30. <div class="col-sm-4">
  31. <input name="workorder_id" type="text" class="form-control" id="workorder_id" value="{$id}" readonly>
  32. </div>
  33. </div>
  34. <div class="form-group">
  35. <label class="col-sm-2 control-label"><span>*</span>工单名称:</label>
  36. <div class="col-sm-4">
  37. <input name="workorder_name" class="form-control" id="workorder_name" placeholder="" datatype="*" nullmsg="工单名称不能为空!" value="{$workorder_name}" size="45" type="text">
  38. </div>
  39. </div>
  40. <div class="form-group">
  41. <label class="col-sm-2 control-label"><span>*</span>告警内容:</label>
  42. <div class="col-sm-10">
  43. <table class="table table-hover table-bordered">
  44. <thead>
  45. <tr>
  46. <th width="20%" class="text-center">告警事件名称</th>
  47. <th width="10%" class="text-center">事件类型</th>
  48. <th width="10%" class="text-center">主机等级</th>
  49. <th width="20%" class="text-center">时间</th>
  50. <th class="text-center">告警详情</th>
  51. </tr>
  52. </thead>
  53. {foreach $warning_list as $k=>$val}
  54. <tr>
  55. <td><input type="text" class="form-control" name="warning_name[{$val['_id']}]" datatype="*" nullmsg="告警名称不能为空!" value="{$val['warning_name']}"></td>
  56. <td class="text-center">{if array_key_exists($val['type'],$warning_type)}<span class="level warning_type{$val['type']}">{$warning_type[$val['type']]}</span>{else}未知类型{/if}</td> <!--失陷事件、脆弱性、残余攻击-->
  57. <td class="text-center">{$warning_level[$val['level']]}</td> <!--已失陷、高可疑、高危、中危、低危-->
  58. <td>{$val['create_time']->toDateTime()|date_format:'%Y-%m-%d %H:%M:%S'}</td>
  59. <td>
  60. <script id="editor{$val['_id']}" name="content[{$val['_id']}]" type="text/plain" style="width:300px;height:80px;">{$val['content']}</script>
  61. <script type="text/javascript">
  62. var ue{$val['_id']} = UE.getEditor('editor{$val['_id']}');
  63. </script>
  64. </td>
  65. </tr>
  66. {/foreach}
  67. </table>
  68. </div>
  69. </div>
  70. <div class="form-group">
  71. <label class="col-sm-2 control-label">备注:</label>
  72. <div class="col-sm-6">
  73. <textarea class="form-control" rows="3" datatype="empty|remark" errormsg="备注不能包含英文格式?:\" name="remark_content"></textarea>
  74. </div>
  75. </div>
  76. <div class="form-group">
  77. <label class="col-sm-2 control-label"><span>*</span>下发方式:</label>
  78. <div class="col-sm-10">
  79. <input type="checkbox"id="sms" name="send_type[]" value="10" datatype="*" nullmsg="请选择下发方式!"><label for="sms">短信</label>
  80. <input type="checkbox" id="email" name="send_type[]" value="20"><label for="email">邮件</label>
  81. {if $setting['is_sms'] == "0" && $setting['is_email'] == "0"}
  82. <div class="alert alert-warning alert-dismissible text-center" role="alert" style="height: 34px;">
  83. <strong>提示! </strong> 短信和邮件未配置,请先配置短信和邮件。<a href="javascript:;" id="setting">立即配置</a>
  84. </div>
  85. {/if}
  86. {if $setting['is_sms'] == "0" && $setting['is_email'] == "1"}
  87. <div class="alert alert-warning alert-dismissible text-left" role="alert" style="height: 34px;">
  88. 尚未启用短信发送,<a href="javascript:;" id="setting">立即配置</a>
  89. </div>
  90. {/if}
  91. {if $setting['is_sms'] == "1" && $setting['is_email'] == "0"}
  92. <div class="alert alert-warning alert-dismissible text-left" role="alert" style="height: 34px;">
  93. 尚未启用邮件发送,<a href="javascript:;" id="setting">立即配置</a>
  94. </div>
  95. {/if}
  96. </div>
  97. </div>
  98. <div class="form-group has-feedback">
  99. <label class="col-sm-2 control-label"><span>*</span>下发账号:</label>
  100. <div class="col-sm-3">
  101. <select class="form-control" id="receive_user" name="receive_user" datatype="*" nullmsg="请选择下发工程师!">
  102. <option value="" selected="selected">请选择下发工程师</option>
  103. {foreach $user_list as $k=>$val}
  104. <option value="{$val['user_id']}">{$val['name']}</option>
  105. {/foreach}
  106. {foreach $sso_user_list as $k=>$val}
  107. <option value="{$val['user_id']}">{$val['name']}({$val['from']})</option>
  108. {/foreach}
  109. <option value="add_user">新增账号</option>
  110. </select>
  111. </div>
  112. </div>
  113. </fieldset>
  114. <div class="form-actions text-right" style="width: 100%; position: fixed; left: 0; bottom: 0; margin-left: 0; z-index:3000;">
  115. <button type="submit" id="dosubmit" class="btn btn-primary ">保存</button>
  116. <button type="button" id="cannel" class="btn btn-default">取消</button>
  117. </div>
  118. </div>
  119. </div>
  120. </form>
  121. <script type="text/javascript" charset="utf-8" src="static/js/jquery.js"></script>
  122. <script type="text/javascript" charset="utf-8" src="static/js/bootstrap.js"></script>
  123. <script type="text/javascript" charset="utf-8" src="static/js/icheck.min.js"></script>
  124. <script type="text/javascript" charset="utf-8" src="static/js/select2.full.min.js"></script>
  125. <script type="text/javascript" charset="utf-8" src="static/js/Validform_v5.3.2.min.js"></script>
  126. <script type="text/javascript" charset="utf-8" src="static/js/layer/layer.js"></script>
  127. {if $setting['is_sms'] == "0" && $setting['is_email'] == "0"}
  128. <script type="text/javascript">
  129. $("#dosubmit").attr("disabled","disabled");
  130. $("#sms").iCheck('disable');
  131. $("#email").iCheck('disable');
  132. </script>{/if}
  133. <script language="javascript" type="text/javascript">
  134. $(function(){
  135. $("table").show();
  136. $('input').iCheck({
  137. cursor : true,
  138. checkboxClass : 'icheckbox_square-blue'
  139. });
  140. $("select").select2({
  141. minimumResultsForSearch: -1
  142. });
  143. {if ($setting['is_sms'] == "0" || $setting['is_sms'] =="") && $setting['is_email'] == "1"}
  144. $("#sms").iCheck('disable');
  145. {/if}
  146. {if ($setting['is_email'] == "0" || $setting['is_email'] =="") && $setting['is_sms'] == "1"}
  147. $("#email").iCheck('disable');
  148. {/if}
  149. $("#setting").click(function () {
  150. layer.open({
  151. type: 2,
  152. title: "配置短信和邮件",
  153. area: ['80%','88%'],
  154. scrollbar:false,
  155. resize: false,
  156. content:'setting/step',
  157. end: function(){
  158. window.location.reload();
  159. }
  160. });
  161. })
  162. $("#validateform").Validform({
  163. tiptype:function(msg,o){
  164. if(o.type == 3) {
  165. layer.tips(msg, o.obj, {
  166. tips: [1, '#ff6666'] //还可配置颜色
  167. });
  168. }
  169. },
  170. datatype:{
  171. 'remark':/[^\/\:\?]/,
  172. "empty":/^\s*$/
  173. },
  174. beforeSubmit:function(curform){
  175. $("button").attr("disabled","disabled");
  176. var data = $("#validateform").serializeArray();
  177. $.post("workorder/save",data,function (data) {
  178. layer.msg(data.msg, {
  179. icon: data.icon,
  180. time: 5000
  181. }, function () {
  182. if(data.icon != 2) {
  183. parent.layer.close(layer_index);
  184. }else{
  185. $("button").removeAttr("disabled");
  186. }
  187. })
  188. }).error(function(xhr,errorText,errorType){
  189. layer.msg(errorType, {
  190. icon:2, time: 3000
  191. },function () {
  192. parent.layer.close(layer_index);
  193. });
  194. });
  195. return false;
  196. }
  197. });
  198. var layer_index = parent.layer.getFrameIndex(window.name);
  199. $("#cannel").click(function () {
  200. parent.layer.close(layer_index);
  201. });
  202. $("#receive_user").change(function () {
  203. var vals = $(this).val();
  204. if(vals !="" && vals !=undefined && vals=='add_user'){
  205. layer.open({
  206. type: 2,
  207. title: "新增用户",
  208. area: ['80%','84%'],
  209. scrollbar:false,
  210. resize: false,
  211. content:'user/add',
  212. end: function(){
  213. window.location.reload();
  214. }
  215. });
  216. }
  217. })
  218. })
  219. </script>
  220. </body>
  221. </html>