zhangjinkun 7 rokov pred
rodič
commit
78306ddd6e

+ 3 - 0
src/jy/admin/admin.go

@@ -29,6 +29,9 @@ func GetPostForm(c *gin.Context) map[string]interface{} {
 	r := c.Request
 	r.ParseForm()
 	for k, _ := range r.Form {
+		if len(k) < 2 {
+			continue
+		}
 		if k != "_id" {
 			v := r.FormValue(k)
 			switch k[:2] {

+ 13 - 0
src/jy/admin/rule.go

@@ -46,6 +46,13 @@ func init() {
 	Admin.POST("/ruleback/del", RuleBackDel)
 	Admin.GET("/ruleback/luastr", RuleBackLua)
 
+	//rulelogic
+	Admin.GET("/rulelogic", func(c *gin.Context) {
+		version := c.Query("version")
+		c.HTML(200, "rule_logiclist.html", gin.H{"version": version})
+	})
+	Admin.POST("/rulelogic/data", RuleLogicData)
+
 	//ruletag
 	Admin.GET("/ruletag", func(c *gin.Context) {
 		version := c.Query("version")
@@ -167,6 +174,12 @@ func RuleBackLua(c *gin.Context) {
 	c.HTML(200, "rule_backlua.html", gin.H{"version": version, "data": data})
 }
 
+func RuleLogicData(c *gin.Context) {
+	version, _ := c.GetPostForm("version")
+	data, _ := Mgo.Find("rule_logic", `{"s_version":"`+version+`"}`, `{"_id":-1}`, nil, false, -1, -1)
+	c.JSON(200, gin.H{"data": data, "version": version})
+}
+
 //标签库列表
 func RuleTagData(c *gin.Context) {
 	version, _ := c.GetPostForm("version")

+ 17 - 4
src/web/res/js/com.js

@@ -43,8 +43,8 @@ getFormJson:function(frm) {
 });
 
 com={};
-com.initMirror=function(){
-	editor_1 = CodeMirror.fromTextArea($("#luastr")[0], {
+com.initMirror=function(height){
+	editor_1 = CodeMirror.fromTextArea($("#s_luascript")[0], {
 		theme:"solarized light",
 		lineNumbers: true,
 		indentUnit:4,
@@ -64,7 +64,11 @@ com.initMirror=function(){
 		    }
 		}
 	});
-	editor_1.setSize("auto","450");
+	if(height){
+		editor_1.setSize("auto",height);
+	}else{
+		editor_1.setSize("auto","520");
+	}
 }
 com.serializeArray=function(id){
 	var serializeArray={};
@@ -72,7 +76,7 @@ com.serializeArray=function(id){
 		var name=$(this).prop("name");
 		var value=$(this).prop("value");
 		if($(this).get(0).tagName=="TEXTAREA" && $(this).attr("id")){
-			if($(this).attr("id").indexOf("luastr")>-1){
+			if($(this).attr("id").indexOf("s_luascript")>-1){
 				value=editor_1.getValue()
 			}
 		}else{
@@ -86,4 +90,13 @@ com.serializeArray=function(id){
 com.setExpert=function(editor,text){
 	text=text.substr(text.indexOf("func"));
 	eval(editor+".setValue("+JSON.stringify(text, null, "\t")+")")
+}
+
+com.pushArry=function(arr1,arr2){
+	for(i=0,len=arr2.length;i<len;i++){
+	  if($.inArray(arr2[i],arr1)<0){
+	    arr1.push(arr2[i]);
+	  }
+	}
+	return arr1
 }

+ 7 - 0
src/web/res/js/dialog.js

@@ -68,6 +68,12 @@ function OpenDialog(obj,data,callback){
 			callback()
 		})
 	}
+	if(obj.lua){	
+		setTimeout(function(){
+			com.initMirror(150)
+			editor_1.refresh()
+		},200)
+	}
 }
 //按钮生成
 function makeBts(obj){
@@ -164,6 +170,7 @@ function makeTag(obj){
 	}else if(obj.content){
 		$("#_con").html(obj.content)
 	}
+	
 }
 
 Date.prototype.format=function(format){var o={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),"S":this.getMilliseconds()};if(/(y+)/.test(format)){format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))}for(var k in o){if(new RegExp("("+k+")").test(format)){format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length))}}return format};function getDate(l){var date=new Date(l);pattern="yyyy-MM-dd hh:mm:ss";return date.format(pattern)};

+ 0 - 1
src/web/templates/admin/com_luares.html

@@ -6,5 +6,4 @@
 <script src="/res/plugins/codemirror/codemirror.js"></script>
 <script src="/res/plugins/codemirror/lua.js"></script>
 <script src="/res/plugins/codemirror/fullscreen.js"></script>
-<script>com.initMirror();</script>
 {{ end }}

+ 33 - 22
src/web/templates/admin/rule_backlist.html

@@ -12,8 +12,7 @@
 			<small><a class="btn btn-primary opr" opr="newlua">新增脚本</a></small>
 		</h1>
 		<ol class="breadcrumb">
-		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i> 版本控制</a></li>
-		  <li><a href="/admin/version">版本管理</a></li>
+		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i>版本管理</a></li>
 		  <li class="active"><a href="/admin/ruleback?version={{.version}}">后置逻辑</a></li>
 		</ol>
     </section>
@@ -43,9 +42,7 @@
 	</div>
   </section>
 </div>
-
-	
-<!-- footer -->
+{{template "luares"}}
 {{template "dialog"}}
 {{template "footer"}}
 
@@ -88,7 +85,8 @@ $(function () {
 						'</div>';
 				}else{
 					tmp = '<div>'+
-						'<a href="/admin/ruleback/luastr?_id='+val+'" class="btn btn-sm btn-primary">编辑</a> '+
+						'<a class="btn btn-sm btn-primary opr" opr="editlua" row="'+pos.row+'" >编辑</a> '+
+						//'<a href="/admin/ruleback/luastr?_id='+val+'" class="btn btn-sm btn-primary">编辑</a> '+
 						'<a class="btn btn-sm btn-warning" onclick="del(\''+val+'\')">删除</a> '+
 						'</div>';
 				}
@@ -103,36 +101,44 @@ $(function () {
 			var _tit="" 
 			switch(n){
 			case "edit":			
-				obj=ttable.row($(this).closest("tr")).data()
+				obj=ttable.row($(this).closest("tr")).data();
+			case "editlua":			
+				obj=ttable.row($(this).closest("tr")).data();
 			case "newlua":
 			case "new":
-				tmptag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},
-					{label:"描述",s_label:"s_descript",type:"tpl_text"},
-					{label:"字段",s_label:"s_field"},
-					{label:"正则",s_label:"s_rule",type:"tpl_text",must:true},
-					{s_label:"_id",type:"tpl_hidden"},
-					{s_label:"s_version",type:"tpl_hidden"},
-					{s_label:"s_type",type:"tpl_hidden"}]
+				comtag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},{label:"描述",s_label:"s_descript",type:"tpl_text"}]
+				regtag=[{label:"字段",s_label:"s_field"},{label:"正则",s_label:"s_rule",type:"tpl_text",must:true}]
+				luatag=[{label:"脚本",s_label:"s_luascript",type:"tpl_text",must:true}]
+				hiddentag=[{s_label:"_id",type:"tpl_hidden"},{s_label:"s_version",type:"tpl_hidden"},{s_label:"s_type",type:"tpl_hidden"}]
+				islua=false
+				tag = com.pushArry(tag,comtag)
 				if(n=="edit"){
 					_tit="编辑-"+obj.s_name
+					tag = com.pushArry(tag,regtag)
+					tag = com.pushArry(tag,hiddentag)
+				}else if(n=="editlua"){
+					_tit="编辑-"+obj.s_name
+					islua=true
+					tag = com.pushArry(tag,luatag)
+					tag = com.pushArry(tag,hiddentag)
 				}else{
 					_tit="新增规则"
 					if(n=="newlua"){
 						_tit="新增脚本"
 						obj={"s_version":"{{.version}}","s_type":"1"}
-						tmptag = [
-							{label:"名称",s_label:"s_name",placeholder:"",must:true},
-							{label:"描述",s_label:"s_descript",type:"tpl_text"},
-							{s_label:"s_version",type:"tpl_hidden"},
-							{s_label:"s_type",type:"tpl_hidden"}
-						]
+						tag = com.pushArry(tag,luatag)
+						tag = com.pushArry(tag,hiddentag)
+						islua=true
 					}else{
 						obj={"s_version":"{{.version}}","s_type":"0"}
+						tag = com.pushArry(tag,regtag)
+						tag = com.pushArry(tag,hiddentag)
 					}
 				}
 				htmlObj={
 					title:_tit,
-					tag:tmptag,
+					tag:tag,
+					lua:islua,
 					bts:[
 						{label:"保存",class:"btn-primary",
 							fun:function(){
@@ -140,11 +146,16 @@ $(function () {
 								var bcon=true
 								$("#_con").find("input[id!=s_show],textarea").each(function(i,el){
 									var val=$(el).val();
+									if(el.id=="s_luascript"){
+										val=editor_1.getValue()
+										obj[el.id]=val
+									}else{
+										obj[el.id]=$(el).val()
+									}
 									if(el.id!="_id"&&$(el).attr("must")&&!val){
 										bcon=false
 										return false
 									}
-									obj[el.id]=$(el).val()
 								})
 								if (bcon){								
 									$.post("/admin/ruleback/save",obj,function(data){

+ 1 - 2
src/web/templates/admin/rule_backlua.html

@@ -8,8 +8,7 @@
 	<section class="content-header">
 		<h1><small><button type="button" class="btn btn-primary" onclick="save()">保存</button></small></h1>
 		<ol class="breadcrumb">
-		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i> 版本控制</a></li>
-		  <li><a href="/admin/version">版本管理</a></li>
+		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i>版本管理</a></li>
 		  <li class="active"><a href="/admin/ruleback?version={{.version}}">后置逻辑</a></li>
 		</ol>
     </section>

+ 33 - 23
src/web/templates/admin/rule_prelist.html

@@ -12,8 +12,7 @@
 			<small><a class="btn btn-primary opr" opr="newlua">新增脚本</a></small>
 		</h1>
 		<ol class="breadcrumb">
-		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i> 版本控制</a></li>
-		  <li><a href="/admin/version">版本管理</a></li>
+		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i>版本管理</a></li>
 		  <li class="active"><a href="/admin/rulepre?version={{.version}}">前置逻辑</a></li>
 		</ol>
     </section>
@@ -43,9 +42,7 @@
 	</div>
   </section>
 </div>
-
-	
-<!-- footer -->
+{{template "luares"}}
 {{template "dialog"}}
 {{template "footer"}}
 
@@ -88,7 +85,8 @@ $(function () {
 						'</div>';
 				}else{
 					tmp = '<div>'+
-						'<a href="/admin/rulepre/luastr?_id='+val+'" class="btn btn-sm btn-primary">编辑</a> '+
+						'<a class="btn btn-sm btn-primary opr" opr="editlua" row="'+pos.row+'" >编辑</a> '+
+						//'<a href="/admin/rulepre/luastr?_id='+val+'" class="btn btn-sm btn-primary">编辑</a> '+
 						'<a class="btn btn-sm btn-warning" onclick="del(\''+val+'\')">删除</a> '+
 						'</div>';
 				}
@@ -103,36 +101,44 @@ $(function () {
 			var _tit="" 
 			switch(n){
 			case "edit":			
-				obj=ttable.row($(this).closest("tr")).data()
+				obj=ttable.row($(this).closest("tr")).data();
+			case "editlua":			
+				obj=ttable.row($(this).closest("tr")).data();
 			case "newlua":
 			case "new":
-				tmptag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},
-					{label:"描述",s_label:"s_descript",type:"tpl_text"},
-					{label:"字段",s_label:"s_field"},
-					{label:"正则",s_label:"s_rule",type:"tpl_text",must:true},
-					{s_label:"_id",type:"tpl_hidden"},
-					{s_label:"s_version",type:"tpl_hidden"},
-					{s_label:"s_type",type:"tpl_hidden"}]
+				comtag=[{label:"名称",s_label:"s_name",placeholder:"",must:true},{label:"描述",s_label:"s_descript",type:"tpl_text"}]
+				regtag=[{label:"字段",s_label:"s_field"},{label:"正则",s_label:"s_rule",type:"tpl_text",must:true}]
+				luatag=[{label:"脚本",s_label:"s_luascript",type:"tpl_text",must:true}]
+				hiddentag=[{s_label:"_id",type:"tpl_hidden"},{s_label:"s_version",type:"tpl_hidden"},{s_label:"s_type",type:"tpl_hidden"}]
+				islua=false
+				tag = com.pushArry(tag,comtag)
 				if(n=="edit"){
 					_tit="编辑-"+obj.s_name
+					tag = com.pushArry(tag,regtag)
+					tag = com.pushArry(tag,hiddentag)
+				}else if(n=="editlua"){
+					_tit="编辑-"+obj.s_name
+					islua=true
+					tag = com.pushArry(tag,luatag)
+					tag = com.pushArry(tag,hiddentag)
 				}else{
 					_tit="新增规则"
 					if(n=="newlua"){
 						_tit="新增脚本"
 						obj={"s_version":"{{.version}}","s_type":"1"}
-						tmptag = [
-							{label:"名称",s_label:"s_name",placeholder:"",must:true},
-							{label:"描述",s_label:"s_descript",type:"tpl_text"},
-							{s_label:"s_version",type:"tpl_hidden"},
-							{s_label:"s_type",type:"tpl_hidden"}
-						]
+						tag = com.pushArry(tag,luatag)
+						tag = com.pushArry(tag,hiddentag)
+						islua=true
 					}else{
 						obj={"s_version":"{{.version}}","s_type":"0"}
+						tag = com.pushArry(tag,regtag)
+						tag = com.pushArry(tag,hiddentag)
 					}
 				}
 				htmlObj={
 					title:_tit,
-					tag:tmptag,
+					tag:tag,
+					lua:islua,
 					bts:[
 						{label:"保存",class:"btn-primary",
 							fun:function(){
@@ -140,11 +146,16 @@ $(function () {
 								var bcon=true
 								$("#_con").find("input[id!=s_show],textarea").each(function(i,el){
 									var val=$(el).val();
+									if(el.id=="s_luascript"){
+										val=editor_1.getValue()
+										obj[el.id]=val
+									}else{
+										obj[el.id]=$(el).val()
+									}
 									if(el.id!="_id"&&$(el).attr("must")&&!val){
 										bcon=false
 										return false
 									}
-									obj[el.id]=$(el).val()
 								})
 								if (bcon){								
 									$.post("/admin/rulepre/save",obj,function(data){
@@ -184,5 +195,4 @@ function del(_id){
 		})
 	});
 }
-
 </script>

+ 1 - 2
src/web/templates/admin/rule_prelua.html

@@ -8,8 +8,7 @@
 	<section class="content-header">
 		<h1><small><button type="button" class="btn btn-primary" onclick="save()">保存</button></small></h1>
 		<ol class="breadcrumb">
-		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i> 版本控制</a></li>
-		  <li><a href="/admin/version">版本管理</a></li>
+		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i>版本管理</a></li>
 		  <li class="active"><a href="/admin/rulepre?version={{.version}}">前置逻辑</a></li>
 		</ol>
     </section>

+ 1 - 2
src/web/templates/admin/version.html

@@ -11,8 +11,7 @@
 			<small><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-info">新增版本</button></small>
 		</h1>
 		<ol class="breadcrumb">
-		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i> 版本控制</a></li>
-		  <li class="active"><a href="/admin/version">版本管理</a></li>
+		  <li><a href="/admin/version"><i class="fa fa-dashboard"></i>版本管理</a></li>
 		</ol>
     </section>
   <!-- Main content -->