unknown hace 6 años
padre
commit
a345df5d9e
Se han modificado 4 ficheros con 134 adiciones y 83 borrados
  1. 1 1
      src/config.json
  2. 15 3
      src/jy/admin/resulttrack.go
  3. 3 1
      src/jy/admin/task/task.go
  4. 115 78
      src/web/templates/admin/result_list.html

+ 1 - 1
src/config.json

@@ -2,5 +2,5 @@
     "port": "9090",
     "mgodb": "192.168.3.207:27082",
     "dbsize": 5,
-    "dbname": "extract_v3"
+    "dbname": "extract_kf"
 } 

+ 15 - 3
src/jy/admin/resulttrack.go

@@ -31,6 +31,7 @@ func init() {
 	//查询所有的抽取结果
 	Admin.POST("/resulttrack/list", ResultData)
 	Admin.POST("/resulttrack/clearcoll", ClearColl)
+	Admin.POST("/resulttrack/getversioninfo", GetVersionInfo)
 
 }
 
@@ -55,9 +56,7 @@ func ResultData(c *gin.Context) {
 	data, _ := Mgo.Find(resultcoll, query, `{"_id":-1}`, nil, false, start, limit)
 	count := Mgo.Count(resultcoll, query)
 	for _, d := range *data {
-		if d["budget"] == nil {
-			d["budget"] = 0
-		}
+		d["url"] = qutil.EncodeArticleId2ByCheck(d["_id"].(bson.ObjectId).Hex())
 	}
 	c.JSON(200, gin.H{"data": data, "recordsFiltered": count, "recordsTotal": count})
 }
@@ -90,3 +89,16 @@ func ClearColl(c *gin.Context) {
 	}
 	c.JSON(200, gin.H{"rep": b})
 }
+
+//根据版本查询启用的字段
+func GetVersionInfo(c *gin.Context) {
+	version, _ := c.GetPostForm("version")
+	v, _ := Mgo.FindOne("version", `{"version":"`+version+`"}`)
+	vid := (*v)["_id"].(bson.ObjectId).Hex()
+	query := map[string]interface{}{
+		"vid":   vid,
+		"isuse": true,
+	}
+	versioninfo, _ := Mgo.Find("versioninfo", query, nil, `{"s_field":1,"s_descrip":1}`, false, -1, -1)
+	c.JSON(200, gin.H{"versioninfo": versioninfo})
+}

+ 3 - 1
src/jy/admin/task/task.go

@@ -81,16 +81,18 @@ func init() {
 		taskid, _ := c.GetPostForm("taskid")
 		resultcoll, _ := c.GetPostForm("resultcoll")
 		trackcoll, _ := c.GetPostForm("trackcoll")
+		version, _ := Mgo.FindById("task", taskid, `{"s_version":1}`)
 		b := extract.StartExtractTestTask(taskid, startid, num, resultcoll, trackcoll)
 		if b { //保存结果表和日志表
 			data := make(map[string]interface{})
 			data["resultcoll"] = resultcoll
 			data["trackcoll"] = trackcoll
+			data["version"] = (*version)["s_version"]
 			Mgo.Update("tasktestlog", `{"resultcoll":"`+resultcoll+`","trackcoll":"`+trackcoll+`"}`, map[string]interface{}{
 				"$set": data,
 			}, true, false)
 		}
-		c.JSON(200, gin.H{"rep": b})
+		c.JSON(200, gin.H{"rep": b, "version": version})
 	})
 	//启动任务
 	Admin.POST("/task/start", func(c *gin.Context) {

+ 115 - 78
src/web/templates/admin/result_list.html

@@ -8,6 +8,9 @@
 	#dataTable_filter div{
 		padding:0px 10px;
 	}
+	.operate a{
+		padding:5px 10px;
+	}
 </style>
 <div class="content-wrapper">
 	<section class="content-header" style="padding: 49px 15px 0 15px;">
@@ -56,42 +59,7 @@
 		          <span aria-hidden="true">&times;</span></button>
 		        <h4 class="modal-title">信息</h4>
 		    </div>
-		    <div class="modal-body">
-				<div class="form-group">
-				    <label for="code" class="col-sm-2 control-label">项目名称:</label>
-				    <div class="col-sm-10 styleclass">
-					   	<input type="text" class="form-control" id="projectname">
-						<button type="button" class="btn btn-primary track">追踪</button>
-					</div>
-				</div>
-				<div class="form-group">
-				    <label for="code" class="col-sm-2 control-label">预算金额:</label>
-				    <div class="col-sm-10 styleclass">
-					   	<input type="text" class="form-control" id="budget">
-						<button type="button" class="btn btn-primary track">追踪</button>
-					</div>
-				</div>
-				<div class="form-group">
-				    <label for="code" class="col-sm-2 control-label">中标单位:</label>
-				    <div class="col-sm-10 styleclass">
-					   	<input type="text" class="form-control" id="winner">
-						<button type="button" class="btn btn-primary track">追踪</button>
-					</div>
-				</div>
-				<div class="form-group">
-				    <label for="code" class="col-sm-2 control-label">采购单位:</label>
-				    <div class="col-sm-10 styleclass">
-					   	<input type="text" class="form-control" id="buyer">
-						<button type="button" class="btn btn-primary track" >追踪</button>
-					</div>
-				</div>
-				<div class="form-group">
-				    <label for="code" class="col-sm-2 control-label">招标机构:</label>
-				    <div class="col-sm-10 styleclass">
-					   	<input type="text" class="form-control" id="agency">
-						<button type="button" class="btn btn-primary track">追踪</button>
-					</div>
-				</div>
+		    <div class="modal-body" id="trackinfo">
 		    </div>
 		</div>
 	    <!-- /.modal-content -->
@@ -131,27 +99,64 @@ $(function () {
 				}
 				return"<a style='color:#333' target='_blank' title='"+val+"'>"+tmpval+"</a>"
 			}},
-			{ "data": "budget"},
-			{ "data": "_id",render:function(val,a,row){
-				return "测试"
+			{ "data": "budget",render:function(val,a,row){
+				if(val == undefined){
+					return "";
+				}else{
+					return val;
+				}
+				
 			}},
-			{ "data": "_id",render:function(val,a,row){
-				return "测试"
+			{ "data": "bidamount",render:function(val,a,row){
+				if(val == undefined){
+					return "";
+				}else{
+					return val;
+				}
+				
 			}},
-			{ "data": "_id",render:function(val,a,row){
-				return "测试"
+			{ "data": "buyer",render:function(val,a,row){
+				if(val == undefined){
+					return "";
+				}else{
+					if(val.length > 10){
+						val = val.substr(0,10)+"...";
+					}
+					return val;
+				}
+				
 			}},
-			{ "data": "_id",render:function(val,a,row){
-				return "测试"
+			{ "data": "winner",render:function(val,a,row){
+				if(val == undefined){
+					return "";
+				}else{
+					if(val.length > 10){
+						val = val.substr(0,10)+"...";
+					}
+					return val;
+				}
+				
+			}},
+			{ "data": "agency",render:function(val,a,row){
+				if(val == undefined){
+					return "";
+				}else{
+					return val;
+				}
+				
 			}},
 			{ "data": "_id",render:function(val,a,row){
 				rowdata[val]= row;
-				return  "<a class='btn btn-primary' onclick='trackShow(\""+val+"\")'>详细</a>"
+				var url = row["url"];
+				return  "<div class='operate'><a class='btn btn-primary' onclick='trackShow(\""+val+"\")'>详细</a>&nbsp&nbsp&nbsp"+
+						"<a class='btn btn-sm btn-info' href='https://www.jianyu360.com/article/content/"+url+".html' target='_blank'>查看原文</a></div>"
 			}}			
        	],
-		"fnServerParams": function (e) {  
-			var resultcoll = sessionStorage.getItem("resultcoll");
-			e.resultcoll = resultcoll;
+		"fnServerParams": function (e) {  //额外数据
+			var resultinfo = sessionStorage.getItem("resultinfo");
+			if(resultinfo != null && resultinfo.length >0){
+				e.resultcoll = resultinfo.split("+")[0];
+			}
       	}
 	});
 	ttable.on('init.dt', function () {
@@ -169,9 +174,6 @@ $(function () {
 						{label:"起始id",s_label:"s_startid",must:true},
 						{label:"抽取数量",s_label:"s_datanum",placeholder:"5",must:true},
 						{label:"结果版本",s_label:"s_resulttrack",must:true}
-						//{label:"结果表",s_label:"s_resultcoll",must:true},
-						//{label:"日志表",s_label:"s_trackcoll",must:true},
-						
 				]
 				//测试启动按钮
 				testtaskbtn=[
@@ -182,9 +184,6 @@ $(function () {
 							var num = $("#s_datanum").val();
 							var taskid = $("#s_taskname").val();
 							var resulttrack = $("#s_resulttrack").val();
-							//var resultcoll = $("#s_resultcoll").val();
-							//var trackcoll = $("#s_trackcoll").val();
-							
 							var bcon = true;
 							if(id == "" || resulttrack == ""){
 								bcon = false;
@@ -193,8 +192,6 @@ $(function () {
 							}
 							var resultcoll = "result_"+resulttrack; 
 							var trackcoll = "track_"+resulttrack; 
-							sessionStorage.setItem("resultcoll",resultcoll);
-							sessionStorage.setItem("trackcoll",trackcoll);
 							if(num != ""){//验证数字
 								if(!reg.test(num)){
 									bcon = false;
@@ -207,9 +204,11 @@ $(function () {
 							if(bcon){								
 								$.post("/admin/task/test",{"startid":id,"num":num,"taskid":taskid,"resultcoll":resultcoll,"trackcoll":trackcoll},function(data){
 									if(data&&data.rep){
+										sessionStorage.setItem("resultinfo",resultcoll+"+"+data.version);
+										sessionStorage.setItem("trackcoll",trackcoll);
 										$("#myModal").modal("hide");
 										alert("测试完成!");
-										tablereload();						
+										tablereload();
 									}else{
 										alert("起始id输入错误!");	
 									}
@@ -233,32 +232,69 @@ $(function () {
 				break;
 			}
 		});
+		var trackcoll = sessionStorage.getItem("trackcoll");
+		var resultinfo = sessionStorage.getItem("resultinfo");
+		if(trackcoll != null && resultinfo != null && trackcoll != "undefined"){
+			var resultcoll = resultinfo.split("+")[0];
+			var index = 0;
+			$("#resultlog option").each(function(i,n){
+			if($(this).val().indexOf(resultcoll) >= 0){
+				index = i;
+				return
+				}
+			})
+			$("#resultlog").find("option:eq("+index+")").attr("selected",true);
+			$("#tracklog").html("<option value=''>"+trackcoll+"</option>")
+		}
 	});
 })
 
-//追踪
+//详细
 function trackShow(_id){
 	trackId = _id;	
-	var data = rowdata[_id];
-	$("#modal-info-resulttrack #projectname").val(data["projectname"]);
-	$("#modal-info-resulttrack #budget").val(data["budget"]);
-	$("#modal-info-resulttrack #winner").val();
-	$("#modal-info-resulttrack #buyer").val();
-	$("#modal-info-resulttrack #agency").val();
+	var info = rowdata[_id];
+	var resultinfo = sessionStorage.getItem("resultinfo");
+	var rv = resultinfo.split("+");
+	var version = rv[1];
+	$.post("/admin/resulttrack/getversioninfo",{"version":version},function(data){
+		var datainfo = data.versioninfo;
+		var resulthtml = "";
+		if(data && datainfo.length > 0){
+			for(var i in datainfo){
+				var key = datainfo[i]["s_field"];
+				var val = info[key];
+				if(val == undefined){
+					val = ""
+				}
+				var tmp ="<div class='form-group'>"
+						   +"<label for='code' class='col-sm-2 control-label'>"+datainfo[i]["s_descrip"]+":</label>"
+						    +"<div class='col-sm-10 styleclass'>"
+							   	+"<input type='text'id='"+key+"' class='form-control' value='"+val+"'>"
+								+"<button type='button' class='btn btn-primary track'>追踪</button>"
+							+"</div>"
+						+"</div>"
+				resulthtml = resulthtml + tmp;
+			}
+			$("#trackinfo").html(resulthtml)
+			//追踪
+			$("#modal-info-resulttrack .track").click(function(){
+				var field = $(this).prev().attr("id");
+				var trackcoll = sessionStorage.getItem("trackcoll");
+				var resultinfo = sessionStorage.getItem("resultinfo");
+				var resultcoll = resultinfo.split("+")[0];
+				window.open("/admin/resulttrack/trackData/?trackId="+trackId+"&field="+field+"&trackcoll="+trackcoll+"&resultcoll="+resultcoll);
+			});
+		}else{
+			alert("无详细信息!");
+		}
+	},'json')
 	$("#modal-info-resulttrack").modal("show");
 }
 
-$("#modal-info-resulttrack .track").click(function(){
-	var field = $(this).prev().attr("id");
-	var trackcoll = sessionStorage.getItem("trackcoll");
-	var resultcoll = sessionStorage.getItem("resultcoll");
-	window.open("/admin/resulttrack/trackData/?trackId="+trackId+"&field="+field+"&trackcoll="+trackcoll+"&resultcoll="+resultcoll);
-});
-
 function checkclick(log){
 	var logarr = log.split("+");
 	var trackcoll = logarr[2];
-	sessionStorage.setItem("resultcoll",logarr[1]);
+	sessionStorage.setItem("resultinfo",logarr[1]+"+"+logarr[3]);
 	sessionStorage.setItem("trackcoll",trackcoll);
 	$("#tracklog").html("");
 	if(trackcoll != "" && trackcoll != undefined){
@@ -274,6 +310,7 @@ function tablereload(){
 	ttable.ajax.reload();
 }
 
+//获取所有对应的结果表和日志表
 function gettasktestlog(){
 	$("#dataTable_filter div").remove();
 	clearcoll();
@@ -292,7 +329,7 @@ function gettasktestlog(){
 			if(s && s.data.length > 0){
 				var r = s.data;
 				for(var i in r){
-					var opt1 = "<option value='"+r[i]["_id"]+"+"+r[i]["resultcoll"]+"+"+r[i]["trackcoll"]+"'>"+r[i]["resultcoll"]+"</option>"
+					var opt1 = "<option value='"+r[i]["_id"]+"+"+r[i]["resultcoll"]+"+"+r[i]["trackcoll"]+"+"+r[i]["version"]+"'>"+r[i]["resultcoll"]+"</option>"
 					resultselect = resultselect + opt1;
 				}
 			}
@@ -313,11 +350,12 @@ function clearcoll(){
 	$("#dataTable_filter").prepend(clear);
 }
 
+//清理
 function cleardata(){
 	var val = $("#resultlog").val();
-		if(val == "-1"){
-			return
-		}
+	if(val == "-1"){
+		return
+	}
 	showConfirm("确定删除?", function() {
 		var logarr = $("#resultlog").val().split("+");
 		$.ajax({
@@ -333,7 +371,6 @@ function cleardata(){
 			}
 		})
 	});
-	
 }
 
 </script>