site_rule_logicprelist.html 6.8 KB

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