rule_clearlogiclist.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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="newlua">新增清理脚本</a></small>
  11. </h1>
  12. <ol class="breadcrumb">
  13. <li><a href="/admin/versionclear"><i class="fa fa-dashboard"></i>清理版本</a></li>
  14. <li><a href="/admin/clearversion/info?vid={{.vid}}">属性配置</a></li>
  15. <li class="active"><a href="/admin/clearulelogic?vid={{.vid}}&pid={{.pid}}">清理逻辑</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. <th>操作</th>
  34. </tr>
  35. </thead>
  36. </table>
  37. </div>
  38. <!-- /.box-body -->
  39. </div>
  40. <!-- /.box -->
  41. </div>
  42. </div>
  43. </section>
  44. </div>
  45. {{template "luares"}}
  46. {{template "dialog"}}
  47. {{template "footer"}}
  48. <script>
  49. menuActive("versionclear")
  50. $(function () {
  51. ttable=$('#dataTable').DataTable({
  52. "paging" : false,
  53. "lengthChange": false,
  54. "searching" : true,
  55. "ordering" : false,
  56. "info" : true,
  57. "autoWidth" : false,
  58. "ajax": {
  59. "url": "/admin/clearulelogic/data",
  60. "type": "post",
  61. "data":{"vid":{{.vid}},"pid":{{.pid}}}
  62. },
  63. "language": {
  64. "url": "/res/dist/js/dataTables.chinese.lang"
  65. },
  66. "columns": [
  67. { "data": "s_code"},
  68. { "data": "s_name"},
  69. { "data": "s_username"},
  70. { "data": "s_descript"},
  71. { "data": "s_type",render:function(val,a,row){
  72. return "lua脚本"
  73. }},
  74. { "data": "isuse",render:function(val,a,row){
  75. tmp=""
  76. if(val){
  77. tmp="<a href='#' title='停用' onclick='use(\""+row._id+"\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
  78. }else{
  79. tmp="<a href='#' title='启用' onclick='use(\""+row._id+"\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
  80. }
  81. return tmp
  82. }},
  83. { "data": "_id",render:function(val,a,row,pos){
  84. return '<div>'+
  85. '<a class="btn btn-sm btn-primary opr" opr="editlua" row="'+pos.row+'" >编辑</a> '+
  86. '<a class="btn btn-sm btn-warning" onclick="del(\''+val+'\')">删除</a> '+
  87. '</div>';
  88. }}
  89. ]
  90. });
  91. ttable.on('init.dt', function () {
  92. $(".opr").click(function(){
  93. var n=$(this).attr("opr")
  94. var htmlObj={},obj,tag=[]
  95. var bts=[{label:"保存",class:"btn-primary",
  96. fun:function(){
  97. var obj={}
  98. var bcon=true
  99. $("#_con").find("input[id!=s_show],textarea").each(function(i,el){
  100. var val=$(el).val();
  101. if(el.id=="s_luascript"){
  102. val=editor_1.getValue()
  103. obj[el.id]=val
  104. }else{
  105. obj[el.id]=$(el).val()
  106. }
  107. if(el.id!="_id"&&$(el).attr("must")&&!val){
  108. bcon=false
  109. return false
  110. }
  111. })
  112. if (bcon){
  113. $.post("/admin/clearulelogic/save",obj,function(data){
  114. if(data&&data.rep){
  115. window.location.href="/admin/clearulelogic?vid={{.vid}}&pid={{.pid}}"
  116. }else{
  117. showTip(data.msg,1000)
  118. }
  119. },'json')
  120. }else{
  121. alert("红色标签的表单不能为空!")
  122. }
  123. }
  124. }
  125. ]
  126. var _tit=""
  127. switch(n){
  128. case "editlua":
  129. obj=ttable.row($(this).closest("tr")).data();
  130. case "newlua":
  131. comtag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},{label:"描述",s_label:"s_descript",type:"tpl_text"},{label:"启用",s_label:"isuse",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:true}]
  132. luatag=[{label:"字段",s_label:"s_field",type:"tpl_list_local",url:"/admin/getfields",default:{{.field}}},{label:"脚本",s_label:"s_luascript",type:"tpl_text",must:true}]
  133. testcon=[{label:"测试内容",s_label:"s_testcon",type:"tpl_text",must:true}]
  134. hiddentag=[{s_label:"_id",type:"tpl_hidden"},{s_label:"vid",type:"tpl_hidden"},{s_label:"pid",type:"tpl_hidden"},{s_label:"s_type",type:"tpl_hidden"}]
  135. tag = com.pushArry(tag,comtag)
  136. if(n=="editlua"){
  137. _tit="编辑-"+obj.s_name
  138. tag = com.pushArry(tag,luatag)
  139. tag = com.pushArry(tag,hiddentag)
  140. check=[{label:"测试",class:"btn-warning",
  141. fun:function(){
  142. window.location.href="/admin/check/lua/clearlogic?vid={{.vid}}&pid={{.pid}}&s_code="+obj.s_code
  143. }
  144. }]
  145. bts = com.pushArry(bts,check)
  146. }else if(n=="newlua"){
  147. _tit="新增清理脚本"
  148. obj={"s_luascript":"--code脚本代码,doc数据源,过滤后返回doc对象\nfunction main(code,doc,kvs)\n\t--过滤操作\n\treturn doc\nend","vid":"{{.vid}}","pid":"{{.pid}}","s_type":"1"}
  149. tag = com.pushArry(tag,luatag)
  150. tag = com.pushArry(tag,hiddentag)
  151. }
  152. htmlObj={
  153. title:_tit,
  154. tag:tag,
  155. lua:true,
  156. bts:bts
  157. }
  158. OpenDialog(htmlObj,obj)
  159. break;
  160. }
  161. });
  162. })
  163. })
  164. function del(_id){
  165. showConfirm("确定删除?", function() {
  166. $.ajax({
  167. url:"/admin/clearulelogic/del",
  168. type:"post",
  169. data:{"_id":_id},
  170. success:function(r){
  171. if(r.rep){
  172. window.location.href="/admin/clearulelogic?vid={{.vid}}&pid={{.pid}}"
  173. }else{
  174. showTip("删除失败", 1000);
  175. }
  176. }
  177. })
  178. });
  179. }
  180. function use(_id,utype){
  181. smg=""
  182. if(utype){
  183. smg="确定启用?"
  184. }else{
  185. smg="确定停用?"
  186. }
  187. showConfirm(smg, function() {
  188. $.ajax({
  189. url:"/admin/clearulelogic/use",
  190. type:"post",
  191. data:{"_id":_id,"isuse":utype},
  192. success:function(r){
  193. if(r.rep){
  194. window.location.reload()
  195. }else{
  196. showTip("启用失败", 1000, function() {});
  197. }
  198. }
  199. })
  200. });
  201. }
  202. </script>