rule_prelist.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. {{template "inc"}}
  2. <!-- Main Header -->
  3. {{template "header"}}
  4. <!-- Left side column. 权限菜单 -->
  5. {{template "memu"}}
  6. <!-- Content Wrapper. Contains page content -->
  7. <div class="content-wrapper">
  8. <section class="content-header">
  9. <h1>
  10. <small><a class="btn btn-primary opr" opr="new">新增正则</a></small>
  11. <small><a class="btn btn-primary opr" opr="newlua">新增脚本</a></small>
  12. </h1>
  13. <ol class="breadcrumb">
  14. <li><a href="/admin/version"><i class="fa fa-dashboard"></i>抽取版本</a></li>
  15. <li class="active"><a href="/admin/rulepre?version={{.version}}">前置逻辑</a></li>
  16. </ol>
  17. </section>
  18. <!-- Main content -->
  19. <section class="content">
  20. <div class="row">
  21. <div class="col-xs-12">
  22. <div class="box">
  23. <div class="box-body">
  24. <table id="dataTable" class="table table-bordered table-hover">
  25. <thead>
  26. <tr>
  27. <th>代码</th>
  28. <th>名称</th>
  29. <th>创建人</th>
  30. <th>描述</th>
  31. <th>类型</th>
  32. <th>操作</th>
  33. </tr>
  34. </thead>
  35. </table>
  36. </div>
  37. <!-- /.box-body -->
  38. </div>
  39. <!-- /.box -->
  40. </div>
  41. </div>
  42. </section>
  43. </div>
  44. {{template "luares"}}
  45. {{template "dialog"}}
  46. {{template "footer"}}
  47. <script>
  48. menuActive("version")
  49. $(function () {
  50. ttable=$('#dataTable').DataTable({
  51. "paging" : false,
  52. "lengthChange": false,
  53. "searching" : true,
  54. "ordering" : false,
  55. "info" : true,
  56. "autoWidth" : false,
  57. "ajax": {
  58. "url": "/admin/rulepre/data",
  59. "type": "post",
  60. "data":{"version":{{ .version}} }
  61. },
  62. "language": {
  63. "url": "/res/dist/js/dataTables.chinese.lang"
  64. },
  65. "columns": [
  66. { "data": "s_code"},
  67. { "data": "s_name"},
  68. { "data": "s_username"},
  69. { "data": "s_descript"},
  70. { "data": "s_type",render:function(val,a,row){
  71. if(val=="0"){
  72. return "正则"
  73. }else{
  74. return "lua脚本"
  75. }
  76. }},
  77. { "data": "_id",render:function(val,a,row,pos){
  78. tmp=""
  79. if(row.s_type=="0"){
  80. tmp = '<div>'+
  81. '<a class="btn btn-sm btn-primary opr" opr="edit" row="'+pos.row+'" >编辑</a> '+
  82. '<a class="btn btn-sm btn-warning" onclick="del(\''+val+'\')">删除</a> '+
  83. '</div>';
  84. }else{
  85. tmp = '<div>'+
  86. '<a class="btn btn-sm btn-primary opr" opr="editlua" row="'+pos.row+'" >编辑</a> '+
  87. //'<a href="/admin/rulepre/luastr?_id='+val+'" class="btn btn-sm btn-primary">编辑</a> '+
  88. '<a class="btn btn-sm btn-warning" onclick="del(\''+val+'\')">删除</a> '+
  89. '</div>';
  90. }
  91. return tmp
  92. }}
  93. ]
  94. });
  95. ttable.on('init.dt', function () {
  96. $(".opr").click(function(){
  97. var n=$(this).attr("opr")
  98. var htmlObj={},obj,tag=[],check
  99. var bts=[{label:"保存",class:"btn-primary",
  100. fun:function(){
  101. var obj={}
  102. var bcon=true
  103. $("#_con").find("input[id!=s_show],textarea").each(function(i,el){
  104. var val=$(el).val();
  105. if(el.id=="s_luascript"){
  106. val=editor_1.getValue()
  107. obj[el.id]=val
  108. }else{
  109. obj[el.id]=$(el).val()
  110. }
  111. if(el.id!="_id"&&$(el).attr("must")&&!val){
  112. bcon=false
  113. return false
  114. }
  115. })
  116. if (bcon){
  117. $.post("/admin/rulepre/save",obj,function(data){
  118. if(data&&data.rep){
  119. window.location.href="/admin/rulepre?version={{.version}}"
  120. }else{
  121. showTip(data.msg,1000)
  122. }
  123. },'json')
  124. }else{
  125. alert("红色标签的表单不能为空!")
  126. }
  127. }
  128. }
  129. ]
  130. var _tit=""
  131. switch(n){
  132. case "edit":
  133. obj=ttable.row($(this).closest("tr")).data();
  134. case "editlua":
  135. obj=ttable.row($(this).closest("tr")).data();
  136. case "newlua":
  137. case "new":
  138. comtag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},{label:"描述",s_label:"s_descript",type:"tpl_text"}]
  139. regtag=[{label:"字段",s_label:"s_field"},{label:"正则",s_label:"s_rule",type:"tpl_text",must:true}]
  140. luatag=[{label:"脚本",s_label:"s_luascript",type:"tpl_text",must:true}]
  141. testcon=[{label:"测试内容",s_label:"s_testcon",type:"tpl_text",must:true}]
  142. hiddentag=[{s_label:"_id",type:"tpl_hidden"},{s_label:"s_version",type:"tpl_hidden"},{s_label:"s_type",type:"tpl_hidden"}]
  143. islua=false
  144. tag = com.pushArry(tag,comtag)
  145. if(n=="edit"){
  146. _tit="编辑-"+obj.s_name
  147. tag = com.pushArry(tag,regtag)
  148. tag = com.pushArry(tag,testcon)
  149. check=[{label:"测试",class:"btn-warning",
  150. fun:function(){
  151. var obj={}
  152. var bcon=true
  153. $("#_con").find("input[id!=s_show],textarea").each(function(i,el){
  154. var val=$(el).val();
  155. obj[el.id]=$(el).val()
  156. if(el.id!="_id"&&$(el).attr("must")&&!val){
  157. bcon=false
  158. return false
  159. }
  160. })
  161. if (bcon){
  162. $.post("/admin/check/prerule",obj,function(data){
  163. showMsg(data.rep)
  164. },'json')
  165. }else{
  166. alert("红色标签的表单不能为空!")
  167. }
  168. }
  169. }]
  170. bts = com.pushArry(bts,check)
  171. }else if(n=="editlua"){
  172. _tit="编辑-"+obj.s_name
  173. islua=true
  174. tag = com.pushArry(tag,luatag)
  175. check=[{label:"测试",class:"btn-warning",
  176. fun:function(){
  177. window.location.href="/admin/check/lua/pre?version={{.version}}&s_code="+obj.s_code
  178. }
  179. }]
  180. bts = com.pushArry(bts,check)
  181. }else{
  182. _tit="新增规则"
  183. if(n=="newlua"){
  184. _tit="新增脚本"
  185. obj={"s_luascript":"--code脚本代码,doc数据源,过滤后返回doc对象\nfunction main(code,doc)\n\t--过滤操作\n\treturn doc\nend","s_version":"{{.version}}","s_type":"1"}
  186. tag = com.pushArry(tag,luatag)
  187. islua=true
  188. }else{
  189. obj={"s_version":"{{.version}}","s_type":"0"}
  190. tag = com.pushArry(tag,regtag)
  191. }
  192. }
  193. tag = com.pushArry(tag,hiddentag)
  194. htmlObj={
  195. title:_tit,
  196. tag:tag,
  197. lua:islua,
  198. bts:bts
  199. }
  200. OpenDialog(htmlObj,obj)
  201. break;
  202. }
  203. });
  204. })
  205. })
  206. function del(_id){
  207. showConfirm("确定删除?", function() {
  208. $.ajax({
  209. url:"/admin/rulepre/del",
  210. type:"post",
  211. data:{"_id":_id},
  212. success:function(r){
  213. if(r.rep){
  214. window.location.href="/admin/rulepre?version={{.version}}"
  215. }else{
  216. showTip("删除失败", 1000);
  217. }
  218. }
  219. })
  220. });
  221. }
  222. </script>