瀏覽代碼

任务分发

maxiaoshan 3 年之前
父節點
當前提交
1f25386c3f
共有 4 個文件被更改,包括 114 次插入68 次删除
  1. 0 41
      src/front/front.go
  2. 35 0
      src/front/spider.go
  3. 8 3
      src/taskManager/taskManager.go
  4. 71 24
      src/web/templates/task.html

+ 0 - 41
src/front/front.go

@@ -515,47 +515,6 @@ type U struct {
 func (f *Front) Reg() {
 
 }
-func (f *Front) Assort() {
-	state, _ := f.GetInteger("state")
-	code := f.GetString("code")
-	sql := bson.M{
-		"$set": bson.M{
-			"state":      state,
-			"modifytime": time.Now().Unix(),
-		},
-	}
-	queryT := bson.M{
-		"code": code,
-	}
-	//下架爬虫
-	lua := *mgdb.FindOne("luaconfig", queryT)
-	upresult, err := spider.UpdateSpiderByCodeState(code, "6", qu.IntAll(lua["event"]))
-	qu.Debug("下架爬虫:", code, upresult, err)
-	if upresult && err == nil {
-		//更新爬虫
-		mgdb.Update("luaconfig", queryT, sql, false, false)
-		//关闭任务
-		query := bson.M{
-			"s_code": code,
-		}
-		s := *mgdb.Find("task", query, nil, nil, false, -1, -1)
-		if s != nil {
-			var idArr []string
-			for _, v := range s {
-				idArr = append(idArr, v["_id"].(bson.ObjectId).Hex())
-			}
-			for _, id := range idArr {
-				sql = bson.M{
-					"$set": bson.M{
-						"i_state": 6,
-					},
-				}
-				mgdb.Update("task", bson.M{"_id": bson.ObjectIdHex(id)}, sql, false, false)
-			}
-		}
-	}
-	f.ServeJson(bson.M{"upresult": upresult})
-}
 
 func (f *Front) Importfile() {
 	auth := qu.IntAll(f.GetSession("auth"))

+ 35 - 0
src/front/spider.go

@@ -395,6 +395,41 @@ func (f *Front) SaveStep() {
 	}
 }
 
+func (f *Front) Assort() {
+	state, _ := f.GetInteger("state")
+	code := f.GetString("code")
+	sql := bson.M{
+		"$set": bson.M{
+			"state":      state,
+			"modifytime": time.Now().Unix(),
+		},
+	}
+	queryT := bson.M{
+		"code": code,
+	}
+	//下架爬虫
+	lua := *mgdb.FindOne("luaconfig", queryT)
+	upresult, err := spider.UpdateSpiderByCodeState(code, "6", qu.IntAll(lua["event"]))
+	qu.Debug("下架爬虫:", code, upresult, err)
+	if upresult && err == nil {
+		//更新爬虫
+		mgdb.Update("luaconfig", queryT, sql, false, false)
+		//关闭任务
+		query := bson.M{
+			"s_code": code,
+		}
+		sql = bson.M{
+			"$set": bson.M{
+				"i_state": 6,
+			},
+		}
+		mgdb.Update("task", query, sql, false, true)
+		//删除心跳
+		mgu.Update("spider_heart", "spider", "spider", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"del": true}}, false, true)
+	}
+	f.ServeJson(bson.M{"upresult": upresult})
+}
+
 //方法测试
 func (f *Front) RunStep() {
 	imodal, _ := f.GetInteger("imodal")

+ 8 - 3
src/taskManager/taskManager.go

@@ -1008,6 +1008,7 @@ func UpdateOldTask(id, descript, urgency string, complete int64) {
 func (t *TaskM) AssignChangeTaskState() {
 	id := t.GetString("id")
 	code := t.GetString("code")
+	reason := t.GetString("reason") //有分发描述追加到任务问题描述中
 	auth := qu.IntAll(t.GetSession("auth"))
 	if auth == role_admin {
 		//先根据code查有没有相关任务,再根据id修改任务状态
@@ -1026,10 +1027,14 @@ func (t *TaskM) AssignChangeTaskState() {
 		query = bson.M{
 			"_id": bson.ObjectIdHex(id),
 		}
+		set := bson.M{"i_state": 1}
+		if reason != "" {
+			tmp := *mgdb.FindOne("task", query)
+			descript := qu.ObjToString(tmp["s_descript"]) + "审核人员追加描述:------------------------------\n" + reason + "\n"
+			set["s_descript"] = descript
+		}
 		update := bson.M{
-			"$set": bson.M{
-				"i_state": 1,
-			},
+			"$set": set,
 		}
 		flag := mgdb.Update("task", query, update, false, false)
 		if flag {

+ 71 - 24
src/web/templates/task.html

@@ -1,5 +1,37 @@
 {{include "head.html"}}
 <link rel="stylesheet"  href="/css/otherStyle.css">
+<div class="modal fade" id="modal-assigntask" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+			<div class="modal-header">
+				<div class="modal-header">
+	                <button type="button" id="assign-close" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+					<!--<div class="edit-form">-->
+						<div class="edit-info">
+							<span class="glyphicon glyphicon-remove" id="code-assign" aria-hidden="true"></span>
+							<span class="info">爬虫分发<span>
+						</div>
+						<form class="form-horizontal" role="form">
+							<div class="form-group">
+							    <label for="modify" class="col-sm-2 control-label">问题描述:</label>
+							    <div class="col-sm-10">
+									<textarea class="form-control" id="reason"></textarea>
+							    </div>
+							</div>
+							<div class="form-group" id="assign-style">
+							    <div class="col-sm-offset-2 col-sm-10">
+							      	<input type="button" onclick="comfirm_disables()" class="btn btn-primary" value="确定">
+									<input type="button" onclick="disables_cancel()" class="btn btn-default" value="取消">
+							    </div>
+							</div>
+						</form>
+					<!--</div>	-->
+				</div>
+		 	</div>
+        </div><!-- /.modal-content -->
+    </div><!-- /.modal -->
+</div>
+
 <div class="content-wrapper">
 		<section class="content-header">
 		   <h1>
@@ -61,6 +93,8 @@
 			</div>
 		</section>
 <script>
+  var assigncode = "";
+  var assignid = "";
 	$(function(){
 		window.setInterval(function(){
 			$.post("/center/task/getJumpMark",function(r){
@@ -187,16 +221,16 @@
 					var div=$("<div><div class=\"btn-group\"></div></div>")
 					var buttonWatch=$('<a type="button" target="_blank" class="btn btn-sm btn-default">编辑</a>');
 					var buttonClose=$('<a type="button" class="btn btn-sm btn-default">关闭</a>');
-					var buttonAssign=$('<a type="button" class="btn btn-sm btn-default">分发</a>');
 					//var buttonDel=$('<a type="button" class="btn btn-sm btn-default">删除</a>');
 					buttonWatch.attr("href","/center/task/edit/"+row['_id']+"__0");
 					buttonClose.attr("onclick","closeTask('"+row['s_code']+"','"+row['i_state']+"','"+row['_id']+"')");
-					buttonAssign.attr("onclick","assignTask('"+row['s_code']+"','"+row['i_state']+"','"+row['_id']+"')");
-					//buttonDel.attr("onclick","delTask('"+row['_id']+"')");
 					div.find(".btn-group").append(buttonWatch);
-					div.find(".btn-group").append(buttonAssign);
-					div.find(".btn-group").append(buttonClose);
-					//div.find(".btn-group").append(buttonDel);
+          div.find(".btn-group").append(buttonClose);
+					if(row['i_state'] == "待确认"){
+            var buttonAssign=$('<a type="button" class="btn btn-sm btn-default">分发</a>');
+            buttonAssign.attr("onclick","assignTask('"+row['s_code']+"','"+row['i_state']+"','"+row['_id']+"')");
+					  div.find(".btn-group").append(buttonAssign);
+          }
 					return div.html();
 				}}
 				
@@ -362,28 +396,41 @@
 	//		})
 	//	})
 	//}
-	
+	function disables_cancel(){
+		$("#modal-assigntask").modal("hide");
+	}
+  
+  function comfirm_disables(){
+    if(assigncode== "" || assignid == ""){
+      showTip("分发失败", 1000);
+      return
+    }
+    var reasontext = $("#reason").val();
+    $.post("/center/task/assignChangeTaskState",{"code":assigncode,"id":assignid,"reason":reasontext},function(r){
+			if(r == "y"){
+        $("#modal-assigntask").modal("hide");
+				showTip("分发成功", 1000);
+				$('#com-alert').on('hidden.bs.modal', function () {
+					ttabletask.ajax.reload();
+				})
+			}else if(r == "e"){
+				showTip("任务已存在", 1000);
+			}else if(r == "n"){
+				showTip("分发失败", 1000);
+			}else{
+				showTip("没有权限", 1000);
+			}	
+		});
+  }
+  
 	//分配任务
 	function assignTask(code,state,id){
-		if(state == "关闭" || state == "待处理" || state == "处理中" ||  state == "待审核"||  state == "审核通过"|| state == "未通过"){
+		if(state != "待确认"){
 			return;
 		}
-		showConfirm("确定分发任务?",function(){
-			$.post("/center/task/assignChangeTaskState",{"code":code,"id":id},function(r){
-				if(r == "y"){
-					showTip("分发成功", 1000);
-					$('#com-alert').on('hidden.bs.modal', function () {
-						ttabletask.ajax.reload();
-					})
-				}else if(r == "e"){
-					showTip("任务已存在", 1000);
-				}else if(r == "n"){
-					showTip("分发失败", 1000);
-				}else{
-					showTip("没有权限", 1000);
-				}	
-			});
-		})
+    assigncode = code;
+    assignid = id;
+    $("#modal-assigntask").modal("show");
 	}
 
 	//关闭任务