Răsfoiți Sursa

站点属性初始化

fengweiqiang 5 ani în urmă
părinte
comite
df8e07dd74

+ 29 - 7
src/jy/admin/site_management.go

@@ -43,24 +43,29 @@ func init() {
 	Admin.POST("/site_management/save", func(c *gin.Context) {
 		_id, _ := c.GetPostForm("_id")
 		data := GetPostForm(c)
+		u, _ := url.Parse(data["site_href"].(string))
+		if u != nil && u.Scheme == "" {
+			data["site_href"] = "http://" + strings.TrimSpace(data["site_href"].(string))
+		}
+		if scripts,ok := data["site_script"].(string);ok{
+			data["site_script"] = strings.Split(scripts,",")
+		}
+		if data["isuse"] == nil{
+			data["isuse"] = "true"
+		}
 		if _id != "" {
 			Mgo.UpdateById("site_management", _id, map[string]interface{}{"$set": data})
 			c.JSON(200, gin.H{"rep": true})
 		} else {
-			if data["site_name"] == nil || data["site_href"] == nil || data["site_script"] == nil {
+			if data["site_name"] == nil || data["site_href"] == nil  {
 				c.JSON(400, gin.H{"rep": false})
 				return
 			}
-			u, _ := url.Parse(data["site_href"].(string))
-			//log.Println(u,e,u.Scheme)
-			if u.Scheme == "" {
-				data["site_href"] = "http://" + strings.TrimSpace(data["site_href"].(string))
-			}
 			Mgo.Save("site_management", data)
 			c.JSON(200, gin.H{"rep": true, "site_vid": data["site_vid"]})
 		}
 	})
-	//站点信息保存
+	//站点信息删除
 	Admin.POST("/site_management/delete", func(c *gin.Context) {
 		_id, _ := c.GetPostForm("_id")
 		if _id == "" || !bson.IsObjectIdHex(_id)  {
@@ -70,4 +75,21 @@ func init() {
 			c.JSON(200, gin.H{"rep": true})
 		}
 	})
+	//开关按钮
+	Admin.POST("/site_management/use", func(c *gin.Context) {
+		_id, _ := c.GetPostForm("_id")
+		isuse, _ := c.GetPostForm("isuse")
+		b := Mgo.UpdateById("site_management", _id, `{"$set":{"isuse":`+isuse+`}}`)
+		c.JSON(200, gin.H{"rep": b})
+	})
+
+	Admin.GET("/site_management/info", func(c *gin.Context) {
+		site_id := c.Query("site_id")
+		p_id := c.Query("p_id")
+		v, _ := Mgo.Find("site_version", `{"site_id"":"`+site_id+`","p_id":"`+p_id+`"}`, `{"_id":-1}`, `{"version":1}`, false, -1, -1)
+		c.HTML(
+			http.StatusOK, "site_versioninfo.html",
+			gin.H{"site_id": site_id, "p_id":p_id,"versions": v},
+		)
+	})
 }

+ 8 - 0
src/jy/admin/version.go

@@ -55,6 +55,7 @@ func init() {
 			} else {
 				s_pversionid, _ := c.GetPostForm("s_pversionid")
 				iscopyfiled, _ := data["iscopyfiled"].(bool)
+				iscopysite, _ := data["iscopysite"].(bool)
 				data["l_createtime"] = time.Now().Unix()
 				s_username := sessions.Default(c).Get("username").(string)
 				data["s_username"] = s_username
@@ -63,6 +64,9 @@ func init() {
 				if s_pversionid != "" {
 					copyComRules(version, s_pversionid, s_username)
 				}
+				if iscopysite{
+					scopySites()
+				}
 				if iscopyfiled {
 					list, _ := Mgo.Find("versioninfo", `{"vid":"`+s_pversionid+`","delete":false}`, nil, nil, false, -1, -1)
 					for _, v := range *list {
@@ -656,6 +660,10 @@ func copyClearRuleLogic(vid, pid, s_field, oldvid, s_username string) {
 
 }
 
+func scopySites()  {
+	
+}
+
 //获取代码
 func getCode(code string) string {
 	tmps := strings.Split(code, "_")

+ 70 - 17
src/web/templates/admin/site_management.html

@@ -21,7 +21,8 @@
             </small>
         </h1>
         <ol class="breadcrumb">
-            <li><a href="/admin/site_management"><i class="fa fa-dashboard"></i>站点列表</a></li>
+            <li><a href="/admin/version"><i class="fa fa-dashboard"></i>抽取版本</a></li>
+            <li class="active"><a href="/admin/site_management?site_vid={{.site_vid}}">站点列表</a></li>
         </ol>
     </section>
     <!-- Main content -->
@@ -36,7 +37,8 @@
                                 <th>站点名称</th>
                                 <th>描述</th>
                                 <th>网址</th>
-                                <th>脚本</th>
+                                <th>脚本集</th>
+                                <th>站点状态</th>
                                 <th>站点规则</th>
                                 <th>站点操作</th>
                             </tr>
@@ -85,10 +87,17 @@
                         </div>
                     </div>
                     <div class="form-group">
-                        <label for="code" id="fieldname" class="col-sm-2 control-label myred">脚本:</label>
+                        <label for="code" id="fieldname" class="col-sm-2 control-label myred">脚本:</label>
                         <div class="col-sm-10">
                             <input name="name" type="text" id="site_script" value="" class="form-control"
-                                   placeholder="脚本">
+                                   placeholder="脚本号,多个以','号分割">
+                        </div>
+                    </div>
+                    <div class="form-group ckbox">
+                        <label for="code" id="fieldname" class="col-sm-2 control-label myred">启用:</label>
+                        <div class="col-sm-10">
+                            <input id="isuse" name="isuse" type="radio" checked="checked" value="true"><label  for="isuse">启用</label>
+                            <input id="isuse" name="isuse" type="radio" value="false"><label  for="isuse">停用</label>
                         </div>
                     </div>
                 </div>
@@ -129,26 +138,37 @@
             },
             "columns": [
                 {"data": "site_name"},
-                {"data": "site_descript", "width": "10%"},
+                {"data": "site_descript", "text-overflow": "ellipsis"},
                 {
-                    "data": "site_href", "width": "25%", render: function (val, a, row) {
+                    "data": "site_href", render: function (val, a, row) {
                         return '<a href=' + val + '   target=' + val + '>' + val + '</a>'
                     }
                 },
-                {"data": "site_script",},
+                {"data": "site_script"},
+                {
+                    "data": "isuse", "width": "7%", render: function (val, a, row) {
+                        tmp = ""
+                        if (val) {
+                            tmp = "<a  title='停用' onclick='use(\"" + row._id + "\"," + false + ")'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
+                        } else {
+                            tmp = "<a  title='启用' onclick='use(\"" + row._id + "\"," + true + ")'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
+                        }
+                        return tmp
+                    }
+                },
                 {
-                    "data": "_id", "width": "28%", render: function (val, a, row) {
+                    "data": "_id", render: function (val, a, row) {
                         tmp = '<div class="btn-group">' +
-                            '<a class="btn btn-sm btn-primary" href="/admin/site_management/rulepre?version=' + row.site_vid + '">前置规则</a>' +
-                            '<a class="btn btn-sm btn-info" href="/admin/site_management/ruleback?version=' + row.site_vid + '">后置规则</a>' +
-                            '<a class="btn btn-sm btn-warning" href="/admin/site_management/tag?version=' + row.site_vid + '">标签库</a>' +
-                            '<a class="btn btn-sm btn-danger" href="/admin/site_management/clear?version=' + row.site_vid + '">函数清理</a>' +
+                            '<a class="btn btn-sm btn-success" href="/admin/site_management/info?site_id=' + row.site_vid + '&p_id='+row._id+'" >属性</a>' +
+                            '<a class="btn btn-sm btn-info" href="/admin/site_management/ruleback?version=' + row.site_vid + '&p_id='+row._id+'">后置规则</a>' +
+                            '<a class="btn btn-sm btn-warning" href="/admin/site_management/tag?version=' + row.site_vid + '&p_id='+row._id+'">标签库</a>' +
+                            '<a class="btn btn-sm btn-danger" href="/admin/site_management/clear?version=' + row.site_vid + '&p_id='+row._id+'">函数清理</a>' +
                             '</div>';
                         return tmp
                     }
                 },
                 {
-                    "data": "_id", "width": "28%", render: function (val, a, row) {
+                    "data": "_id", render: function (val, a, row) {
                         tmp_id = row._id
                         tmp = '<div class="btn-group">' +
                             '<button  class="btn btn-sm btn-primary "  onclick="edit_table_btn(\'' + tmp_id + '\');"  value=' + row._id + ' >编&nbsp;&nbsp;辑</button > &nbsp;' +
@@ -182,18 +202,22 @@
         var site_descript = $("#site_descript").val();//站点描述
         var site_href = $("#site_href").val()//站点网址
         var site_script = $("#site_script").val()//站点脚本
+        var isuse = $("input[name='isuse']:checked").val();
         if (site_name == "" || site_href == "" || site_script == "") {
             alert("站点填写不完整!");
             return false;
         }
+/*
         console.log({
             "_id": _id,
             "site_name": site_name,
             "site_descript": site_descript,
             "site_href": site_href,
             "site_script": site_script,
-            "site_vid": site_vid
+            "site_vid": site_vid,
+            "isuse":isuse
         })
+*/
         // {{/*data:{"_id":_id,"s_descript":s_descript,"version":version,"clearJsonStr":clearJsonStr,"username":{{index (session "user") "name" }}},*/}}
         $.ajax({
             url: "/admin/site_management/save",
@@ -205,9 +229,10 @@
                 "site_href": site_href,
                 "site_script": site_script,
                 "site_vid": site_vid,
+                "isuse":isuse
             },
             success: function (r) {
-                if (r && r.rep) {
+                if (r.rep) {
                     window.location.href = "/admin/site_management?site_vid=" + site_vid
                 } else {
                     showTip("已存在!", 1000)
@@ -215,6 +240,29 @@
             }
         })
     }
+    //use
+    function use(_id,isuse){
+        smg=""
+        if(isuse){
+            smg="确定启用?"
+        }else{
+            smg="确定停用?"
+        }
+        showConfirm(smg, function() {
+            $.ajax({
+                url:"/admin/site_management/use",
+                type:"post",
+                data:{"_id":_id,"isuse":isuse},
+                success:function(r){
+                    if(r.rep){
+                        window.location.href = "/admin/site_management?site_vid=" + site_vid
+                    }else{
+                        showTip("启用失败", 1000, function() {});
+                    }
+                }
+            })
+        });
+    }
 
     //修改
     function edit_table_btn(obj) {
@@ -229,7 +277,7 @@
                 "_id": obj,
             },
             success: function (r) {
-                console.log(r.data._id)
+                console.log(r.data.isuse)
                 if (r.rep) {
                     $("#version_title").html("修改站点");
                     $("#site_id").val(r.data._id);
@@ -237,6 +285,10 @@
                     $("#site_descript").val(r.data.site_descript);
                     $("#site_href").val(r.data.site_href);
                     $("#site_script").val(r.data.site_script);
+                    if (!r.data.isuse){
+                        $("input[name='isuse'][value='true']").attr("checked",false);
+                        $("input[name='isuse'][value='false']").attr("checked",true);
+                    }
                     $("#modal-info-version").modal("show");
                 } else {
                     showTip("查询错误!", 1200)
@@ -261,7 +313,8 @@
                 if (r.rep) {
                     window.location.href = "/admin/site_management?site_vid=" + site_vid
                 } else {
-                    showTip("删除失败", 1000, function() {});
+                    showTip("删除失败", 1000, function () {
+                    });
                 }
             }
         })

+ 198 - 0
src/web/templates/admin/site_versioninfo.html

@@ -0,0 +1,198 @@
+{{template "inc"}}
+<!-- Main Header -->
+{{template "header"}}
+<!-- Left side column. 权限菜单 -->
+{{template "memu"}}
+
+<!-- Content Wrapper. Contains page content -->
+<div class="content-wrapper">
+	<section class="content-header">
+		<h1>
+			<small><a class="btn btn-primary opr" opr="new">新增字段</a></small>
+		</h1>
+		<ol class="breadcrumb">
+			<li><a href="/admin/version"><i class="fa fa-dashboard"></i>抽取版本</a></li>
+			<li><a href="/admin/site_management?site_vid={{.site_id}}"><i class="fa fa-dashboard"></i>站点列表</a></li>
+		  <li class="active"><a href="/admin/site_management/info?sid={{.p_id}}">属性配置</a></li>
+		</ol>
+    </section>
+  <!-- Main content -->
+  <section class="content">
+      <div class="row">
+	      <div class="col-xs-12">
+	        <div class="box">
+		        <div class="box-body">
+		            <table id="dataTable" class="table table-bordered table-hover">
+		              <thead>
+		              <tr>
+						<th>属性</th>
+						<th>描述</th>
+						<th>创建人</th>
+						<th>是否审核</th>
+						<th>是否启用</th>
+						<th>逻辑</th>
+						<th>操作</th>
+		              </tr>
+		              </thead>
+		            </table>
+		        </div>
+	          <!-- /.box-body -->
+	        </div>
+        <!-- /.box -->
+		</div>
+	</div>
+  </section>
+</div>
+	
+<!-- footer -->
+{{template "dialog"}}
+{{template "footer"}}
+
+<script>
+menuActive("version")
+$(function () {
+	ttable=$('#dataTable').DataTable({
+		"paging"      : false,
+		"lengthChange": false,
+		"searching"   : true,
+		"ordering"    : false,
+		"info"        : true,
+		"autoWidth"   : false,
+		"language": {
+            "url": "/res/dist/js/dataTables.chinese.lang"
+        },
+		"ajax": {
+			"url": "/admin/site_management/infodata",
+			"type": "post",
+			"data":{"vid":{{ .vid}} }
+		 },
+		"columns": [
+			{ "data": "s_field"},
+			{ "data": "s_descrip"},
+			{ "data": "s_username"},
+			{ "data": "isaudit",render:function(val,a,row){
+				if(val){
+					return "是";
+				}else{
+					return "否";
+				}
+			}},
+			{ "data": "isuse",render:function(val,a,row){
+				tmp=""
+				if(val){
+					tmp="<a href='#' title='停用' onclick='use(\""+row._id+"\","+false+")'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
+				}else{
+					tmp="<a href='#' title='启用' onclick='use(\""+row._id+"\","+true+")'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
+				}
+				return tmp
+			}},
+			{"data":"_id",render:function(val,a,row){
+				return '<a class="btn btn-sm btn-success" href="/admin/rulelogic?vid={{.vid}}&pid='+val+'">配置逻辑</a>'
+			}},
+			{"data":"_id",render:function(val,a,row){
+				return '<a class="btn btn-sm btn-primary opr" opr="edit">编辑</a>&nbsp;<a class="btn btn-sm btn-danger" href="#" onclick="del(\''+val+'\')">删除</a>'
+			}}
+       	]
+	});
+	ttable.on('init.dt', function () {
+		$(".opr").click(function(){
+			var n=$(this).attr("opr")
+			var _tit="",htmlObj={},obj,tag=[]
+			switch(n){
+			case "edit":	
+                obj=ttable.row($(this).closest("tr")).data()		
+			case "new":
+                tag=[
+						{label:"属性名称",s_label:"s_field",type:"tpl_list_local",url:"/admin/getfields",must:true},
+						{label:"描述",s_label:"s_descrip",placeholder:"描述信息"},
+						{label:"是否审核",s_label:"isaudit",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:false},
+						{label:"克隆版本",s_label:"s_pversionid",type:"tpl_list_local",url:"/admin/getversions"},
+                        {s_label:"_id",type:"tpl_hidden"},
+						{s_label:"vid",type:"tpl_hidden"},
+						{s_label:"isuse",type:"tpl_hidden"},
+					]
+				if(n=="edit"){
+					_tit="编辑-"+obj.s_field
+                    tag[0]={label:"属性名称",s_label:"s_field",type:"tpl_list_local",url:"/admin/getfields",must:true,disabled:true}
+                    tag[3]={label:"克隆版本",s_label:"s_pversionid",type:"tpl_list_local",url:"/admin/getversions",disabled:true}
+				}else{
+					_tit="新增字段"
+					obj={"vid":"{{.vid}}","isuse":false}
+				}
+				htmlObj={
+					title:_tit,
+					tag:tag,
+					bts:[
+						{label:"保存",class:"btn-primary",
+							fun:function(){
+								var obj={}
+								var bcon=true
+								$("#_con").find("input[id!=s_show],textarea").each(function(i,el){
+									var val=$(el).val();
+									obj[el.id]=$(el).val()
+									if(el.id!="_id"&&$(el).attr("must")&&!val){
+										bcon=false
+										return false
+									}
+								})
+								if (bcon){	
+                                    //console.log(obj)							
+									$.post("/admin/site_management/infosave",obj,function(data){
+										if(data&&data.rep){
+											window.location.href="/admin/site_management/info?vid={{.vid}}"
+										}else{
+											showTip("已存在!",1000)
+										}
+									},'json')
+								}else{
+									alert("红色标签的表单不能为空!")
+								}
+							}
+						}
+					]
+				}
+			OpenDialog(htmlObj,obj)
+			break;
+			}
+		});
+	})
+})
+function use(_id,isuse){
+	smg=""
+	if(isuse){
+		smg="确定启用?"
+	}else{
+		smg="确定停用?"
+	}
+	showConfirm(smg, function() {
+		$.ajax({
+			url:"/admin/site_management/infouse",
+			type:"post",
+			data:{"_id":_id,"isuse":isuse},
+			success:function(r){
+				if(r.rep){				
+					window.location.href="/admin/site_management/info?vid={{.vid}}"
+				}else{
+					showTip("启用失败", 1000, function() {});
+				}
+			}
+		})
+	});
+}
+function del(_id){
+	showConfirm("确定删除?", function() {
+		$.ajax({
+			url:"/admin/site_management/infodel",
+			type:"post",
+			data:{"_id":_id},
+			success:function(r){
+				if(r.rep){				
+					ttable.ajax.reload();
+				}else{
+					showTip("删除失败", 1000, function() {});
+				}
+			}
+		})
+	});
+}
+</script>

+ 12 - 10
src/web/templates/admin/version.html

@@ -151,10 +151,10 @@ $(function () {
             "url": "/res/dist/js/dataTables.chinese.lang"
         },
 		"columns": [
-            { "data": "version"},
-			{ "data": "s_username"},
-			{ "data": "s_descript","width":"25%"},
-			{ "data": "isuse",render:function(val,a,row){
+				{ "data": "version","width":"5%"},
+			{ "data": "s_username","width":"5%"},
+			{ "data": "s_descript","width":"27%"},
+			{ "data": "isuse","width":"7%",render:function(val,a,row){
 				tmp=""
 				if(val){
 					tmp="<a href='#' title='停用' onclick='use(\""+row._id+"\","+false+")'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
@@ -163,7 +163,7 @@ $(function () {
 				}
 				return tmp
 			}},
-			{ "data":"_id","width":"28%",render:function(val,a,row){
+			{ "data":"_id","width":"25%",render:function(val,a,row){
 				tmp = '<div class="btn-group">'+
 					'<a class="btn btn-sm btn-primary" href="/admin/rulepre?version='+row.version+'">前置规则</a>'+
 					'<a class="btn btn-sm btn-info" href="/admin/ruleback?version='+row.version+'">后置规则</a>'+
@@ -172,15 +172,15 @@ $(function () {
 					'</div>';
 				return  tmp
 			}},
-			{ "data":"_id","width":"25%",render:function(val,a,row){
+			{ "data":"_id","width":"29%",render:function(val,a,row){
 				return '<div class="btn-group">'+
 						'<a class="btn btn-sm btn-success" href="/admin/version/info?vid='+val+'" >属性</a>'+
 						'<a class="btn btn-sm btn-warning" href="/admin/version/blockinfo?vid='+val+'" >分块</a>'+
 						'<a class="btn btn-sm btn-info" href="/admin/version/pkginfo?vid='+val+'" >分包</a>'+
 						/*'<a class="btn btn-sm btn-primary opr" opr="edit">编&nbsp;&nbsp;辑1</a>'+*/
+                        '<a class="btn btn-sm btn-default" href="/admin/site_management?site_vid='+val+'" >站点管理</a>'+
 						"<a class=\"btn btn-sm btn-primary opr\" href='#' onclick=\"edit('"+val+"')\">编&nbsp;&nbsp;辑</a> &nbsp;"+
-						'<a class="btn btn-sm btn-danger" href="#" onclick="del(\''+val+'\',\''+row["version"]+'\')">删&nbsp;&nbsp;除</a>'+
-						'<a class="btn btn-sm btn-danger" href="/admin/site_management?site_vid='+val+'" >站点管理</a>'
+						'<a class="btn btn-sm btn-danger" href="#" onclick="del(\''+val+'\',\''+row["version"]+'\')">删&nbsp;&nbsp;除</a>'
 					'</div>';
 			}}
        	]
@@ -199,6 +199,7 @@ $(function () {
 					{label:"城市抽取",s_label:"isextractcity",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:false},
 					{label:"克隆版本",s_label:"s_pversionid",type:"tpl_list_local",url:"/admin/getversions"},
 					{label:"克隆属性",s_label:"iscopyfiled",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:false},
+					{label:"克隆站点",s_label:"iscopysite",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:false},
 					{label:"是否附件",s_label:"isfiles",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:false},
 					{label:"附件字段",s_label:"s_filefileds",type:"tpl_list_local",url:"/admin/getfields"},
 					{s_label:"isuse",type:"tpl_hidden"},
@@ -333,7 +334,8 @@ function save(){
     var s_descript = $("#s_descript").val();//描述
     var isextractcity = $("#isextractcity").val()//是否抽取城市
     var s_pversionid = $("#s_pversionid").val()//克隆版本
-    var iscopyfiled = $("#iscopyfiled").val()//克隆属性
+	var iscopyfiled = $("#iscopyfiled").val()//克隆属性
+	var iscopysite = $("#iscopysite").val()//克隆属性
     var isfiles = $("#isfiles").val()//是否附件
     var s_filefileds = [];
     $("#select2 option").each(function(i,val){
@@ -350,7 +352,7 @@ function save(){
     $.ajax({
         url:"/admin/version/save",
         type:"post",
-        data:{"_id":_id,"s_descript":s_descript,"version":version,"isextractcity":isextractcity,"s_pversionid":s_pversionid,"iscopyfiled":iscopyfiled,"isfiles":isfiles,"s_filefileds":s_filefiledsJsonStr},
+        data:{"_id":_id,"s_descript":s_descript,"version":version,"isextractcity":isextractcity,"s_pversionid":s_pversionid,"iscopyfiled":iscopyfiled,"iscopysite":iscopysite,"isfiles":isfiles,"s_filefileds":s_filefiledsJsonStr},
         success:function(r){
 			if(r&&r.rep){
 				window.location.href="/admin/version"