Browse Source

no message

Jianghan 3 years ago
parent
commit
0520a72946

+ 1 - 1
src/front/front.go

@@ -57,7 +57,7 @@ type Front struct {
 	//project
 	projectList              xweb.Mapper `xweb:"/front/project"`                   //项目列表
 	projectSave              xweb.Mapper `xweb:"/front/project/save"`              //新增项目
-	projectComplete          xweb.Mapper `xweb:"/front/project/complete"`          //新增完成
+	projectComplete          xweb.Mapper `xweb:"/front/project/complete"`          //项目完成
 	projectQualityAssessment xweb.Mapper `xweb:"/front/project/qualityAssessment"` //数据质量评估
 	projectTaskSave          xweb.Mapper `xweb:"/front/project/task/save"`         //用户组任务分发
 	projectTaskList          xweb.Mapper `xweb:"/front/project/task/list"`         //用户组任务分发列表

+ 7 - 2
src/front/group.go

@@ -105,8 +105,8 @@ func (f *Front) GroupUserTaskList() {
 		draw, _ := f.GetInteger("draw")
 		status := f.GetString("s_status")
 		login := f.GetString("s_login")
-		//searchStr := f.GetString("search[value]")
-		//search := strings.TrimSpace(searchStr)
+		searchStr := f.GetString("search[value]")
+		search := strings.TrimSpace(searchStr)
 		query := map[string]interface{}{
 			"s_stype":    "user",
 			"s_parentid": groupTaskId,
@@ -117,6 +117,11 @@ func (f *Front) GroupUserTaskList() {
 		if login != "-1" { //用户账号
 			query["s_login"] = login
 		}
+		if search != "" {
+			query["$or"] = []interface{}{
+				map[string]interface{}{"s_projectname": map[string]interface{}{"$regex": search}},
+			}
+		}
 		qu.Debug("Query:", query)
 		count := util.Mgo.Count(util.TASKCOLLNAME, query)
 		list, _ := util.Mgo.Find(util.TASKCOLLNAME, query, map[string]interface{}{"_id": -1}, nil, false, start, limit)

+ 5 - 5
src/front/project.go

@@ -25,7 +25,7 @@ func (f *Front) ProjectList() {
 		start, _ := f.GetInteger("start")
 		limit, _ := f.GetInteger("length")
 		draw, _ := f.GetInteger("draw")
-		status := f.GetString("status")
+		status := f.GetString("s_status")
 		searchStr := f.GetString("search[value]")
 		search := strings.TrimSpace(searchStr)
 		//data := util.GetPostForm(f.Request)
@@ -266,7 +266,7 @@ func (f *Front) ProjectTaskList() {
 	projectid := f.GetString("pid") //项目id
 	qu.Debug("Project Id:", projectid)
 	if f.Method() == "POST" {
-		//status := f.GetString("s_status") //任务状态
+		status := f.GetString("s_status") //任务状态
 		searchStr := f.GetString("search[value]")
 		search := strings.TrimSpace(searchStr)
 		start, _ := f.GetInteger("start")
@@ -276,9 +276,9 @@ func (f *Front) ProjectTaskList() {
 			"s_projectid": projectid,
 			"s_stype":     "group",
 		}
-		//if status != "-1" {
-		//	query["s_status"] = status
-		//}
+		if status != "-1" {
+			query["s_status"] = status
+		}
 		if search != "" {
 			query["$or"] = []interface{}{
 				map[string]interface{}{"s_groupname": map[string]interface{}{"$regex": search}},

+ 2 - 1
src/front/user.go

@@ -150,6 +150,7 @@ func (f *Front) UserGroupNew() {
 		group["i_createtime"] = currenttime
 		group["i_updatetime"] = currenttime
 		group["b_delete"] = false
+		group["i_state"] = true
 		gid := Mgo.Save("s_group", group) // 保存用户组
 		if gid != "" {
 			// 1、用户组管理员账号
@@ -369,7 +370,7 @@ func (f *Front) UserList() {
 	if f.Method() == "POST" {
 		user := f.GetSession("user").(map[string]interface{})
 		gid := qu.ObjToString(user["s_groupid"])
-		query := map[string]interface{}{"s_groupid": gid, "b_delete": false, "i_state": true, "i_role": "3"}
+		query := map[string]interface{}{"s_groupid": gid, "b_delete": false, "i_state": true, "i_role": "4"}
 		field := map[string]interface{}{"s_login": 1, "s_groupid": 1, "s_name": 1}
 		info, b := Mgo.Find("s_user", query, nil, field, false, -1, -1)
 		if b && len(*info) > 0 {

+ 81 - 50
src/web/templates/project/project_clear.html

@@ -3,7 +3,7 @@
 {{include "com/header.html"}}
 <!-- Left side column. 权限菜单 -->
 {{include "com/menu.html"}}
-<div class="content-wrapper">
+<div class="content-wrapper" xmlns="http://www.w3.org/1999/html">
     <section class="content-header">
         <h1>
             <small></small>
@@ -23,11 +23,7 @@
                         <div class="form-horizontal">
                             <div class="box-body margin">
                                 <h4><i class="glyphicon glyphicon-exclamation-sign" style="margin-right: 6px"></i>数据情况</h4>
-                                <div class="form-group" style="margin-left: 15px">
-                                    <span class="form-inline panel-body">分发总量/数据总量(条):
-                                        <input type="text" class="form-control" readonly value="{{.T.allGiveDataNum}}/{{.T.allDataNum}}">
-                                    </span>
-                                </div>
+                                <hr>
                                 <div class="form-group" style="margin-left: 10px">
                                     <div class="col-xs-3" style="width: auto">
                                         <label class="form-inline">数据总量:
@@ -92,34 +88,33 @@
                             </div>
                         </div>
                         <div id="status-div" class="col-xs-1" style="width: auto;float:right;">
-                            <select class="form-control selectpicker" id="pushModelSelect">
-                                <option value=-1>全部</option>
-                                <option value=0>开启</option>
-                                <option value=1>关闭</option>
-                            </select>
+                            <label for="statusSelect">状态:
+                            <select class="form-control selectpicker" id="statusSelect">
+                                <option value="-1">全部</option>
+                                <option value="未开始">未开始</option>
+                                <option value="进行中">进行中</option>
+                                <option value="已完成">已完成</option>
+                                <option value="已关闭">已关闭</option>
+                            </select></label>
                         </div>
-                        <hr>
-                        <div class="form-horizontal">
-                            <div class="box-body margin">
-                                <h3><i class="glyphicon glyphicon-tasks" style="margin-right: 6px"></i>数据清洗任务列表
-                                </h3>
-
-                                <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>
-                                        <th>任务时间</th>
-                                        <th>操作</th>
-                                    </tr>
-                                    </thead>
-                                </table>
-                            </div>
+                        <div class="box-body margin">
+                            <h4><i class="glyphicon glyphicon-tasks" style="margin-right: 6px"></i>数据清洗任务列表</h4>
+                            <hr>
+                            <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>
+                                    <th>任务时间</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                            </table>
                         </div>
                     </div>
                     <!-- /.box-body -->
@@ -182,6 +177,9 @@
     menuActive("project");
 
     let projectid = {{ .T.s_projectid }}
+    let allNoGiveDataNum = {{.T.allNoGiveDataNum}}
+    let okNotGiveDataNum = {{.T.okNotGiveDataNum}}
+    let IsNotOkNotGiveDataNum = {{.T.IsNotOkNotGiveDataNum}}
     let groupList = []
     let tableData = []
     let stype = ""                                  // 分发类型:所有数据:all 达标数据:notag 未达标:tag
@@ -241,10 +239,10 @@
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
                         tmp = '<div>' +
                             '<a class="btn btn-sm btn-primary" href="/front/group/user/task/list?grouptaskid=' + val + '&s_sourceinfo='+row.s_sourceinfo+'">查看</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-warning" onclick="retrieveTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">收回</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-info">质检</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-info" onclick="repulseTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">打回</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-default" onclick="closeTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">关闭</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" onclick="retrieveTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">收回</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary">质检</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" onclick="repulseTask(\''+val+'\',\''+row.s_sourceinfo+'\',\''+row.s_status+'\')">打回</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" onclick="closeTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">关闭</a>&nbsp;&nbsp;' +
                             '</div>';
                         return tmp
                     }
@@ -252,16 +250,18 @@
             ],
             "initComplete": function () {
                 $("#dataTable_filter").append($('#status-div'))
+            },
+            "fnServerParams": function (e) {
+                e.s_status = $("#statusSelect option:selected").val()
             }
         });
 
         $.ajax({
             url: "/front/project/task/list",
             type: "POST",
-            data: {"pid": projectid},
+            data: {"pid": projectid, "s_status": "-1"},
             success: function (r) {
                 if (r.data.length > 0) {
-                    console.log(r.data)
                     ttable.fnClearTable();
                     ttable.fnAddData(r.data);
                 }
@@ -274,30 +274,57 @@
             success: function (r) {
                 if (r.rep) {
                     groupList = r.data
-                    console.log(groupList)
                 }
             }
         })
+        $('#statusSelect').on('changed.bs.select', function () {
+            $.ajax({
+                url: "/front/project/task/list",
+                type: "POST",
+                data: {"pid": projectid, "s_status": $(this).val()},
+                success: function (r) {
+                    if (r.data.length > 0) {
+                        ttable.fnClearTable();
+                        ttable.fnAddData(r.data);
+                    }else {
+                        ttable.fnClearTable();
+                    }
+                }
+            })
+        })
     });
 
     function dispatchTask(val) {
-        console.log(val)
         stype = val
         if (stype === "all") {
-            $('#modal-num').val({{.T.allGiveDataNum}})
+            if (allNoGiveDataNum === 0) {
+                showTip("没有可分配的数据!")
+                return
+            }
+            $('#modal-num').html(allNoGiveDataNum)
         }else if (stype === "notag") {
-            $('#modal-num').val({{.T.okNotGiveDataNum}})
+            if (okNotGiveDataNum === 0) {
+                showTip("没有可分配的数据!")
+                return
+            }
+            $('#modal-num').html(okNotGiveDataNum)
         }else {
-            $('#modal-num').val({{.T.IsNotOkNotGiveDataNum}})
+            if (IsNotOkNotGiveDataNum === 0) {
+                showTip("没有可分配的数据!")
+                return
+            }
+            $('#modal-num').html(IsNotOkNotGiveDataNum)
         }
         $('#modal-create-task').modal('show')
-        for (var i in groupList) {
-            var opt = document.createElement('option');
-            opt.innerText = groupList[i]["s_name"];
-            opt.value = groupList[i]["_id"];
-            $('#group-select')[0].appendChild(opt)
+        if ($('#group-select option').length === 0) {
+            for (var i in groupList) {
+                var opt = document.createElement('option');
+                opt.innerText = groupList[i]["s_name"];
+                opt.value = groupList[i]["_id"];
+                $('#group-select')[0].appendChild(opt)
+            }
+            $("#group-select").selectpicker("refresh");
         }
-        $("#group-select").selectpicker("refresh");
     }
 
     function cancelModel() {
@@ -325,6 +352,10 @@
         $('.group-item').each(function () {
             var selectId = $(this).find("select option:checked").val()
             var inputVal = $(this).find("input").val()
+            if (inputVal === "") {
+                showTip("请填写有效数字")
+                return
+            }
             let tmp = {}
             for (let v in groupList) {
                 if (groupList[v]["_id"] === selectId) {

+ 58 - 26
src/web/templates/project/project_list.html

@@ -24,20 +24,23 @@
                                     class="fa fa-fw fa-plus fa-lg"></i>新建项目</a>
                         </div>
                         <div id="status-div" class="col-xs-1" style="width: auto;float: right">
-                            <select class="form-control selectpicker" id="pushModelSelect">
-                                <option value=-1>全部</option>
-                                <option value=0>开启</option>
-                                <option value=1>关闭</option>
-                            </select>
+                            <label for="statusSelect">状态:
+                            <select class="form-control selectpicker" id="statusSelect">
+                                <option value="-1">全部</option>
+                                <option value="未开始">未开始</option>
+                                <option value="进行中">进行中</option>
+                                <option value="已完成">已完成</option>
+                                <option value="已关闭">已关闭</option>
+                            </select></label>
                         </div>
                         <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>
                                 <th>数据量</th>
                                 <th>项目状态</th>
@@ -245,8 +248,7 @@
             "serverSide": true,
             "ajax": {
                 "url": "/front/project",
-                "type": "post",
-                "data": {"status": "-1"}
+                "type": "post"
             },
             "language": {
                 "url": "/dist/js/dataTables.chinese.lang"
@@ -265,14 +267,14 @@
                 });
             },
             "columns": [
-                {"data": null, width: "2%"},
+                {"data": null, width: "1%"},
+                {"data": "s_name", width: "4%"},
                 {"data": "s_entname", width: "5%"},
                 {"data": "s_departname", width: "4%"},
                 {"data": "s_rulename", width: "4%"},
-                {"data": "s_name", width: "4%"},
                 {"data": "s_personname", width: "3%", "defaultContent": ""},
                 {"data": "i_importnum", width: "2%"},
-                {"data": "s_status", width: "4%"},
+                {"data": "s_status", width: "3%"},
                 {
                     "data": "_id", width: "5%", render: function (val, a, row) {
                         let str = ""
@@ -296,19 +298,20 @@
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
                         tmp = '<div>' +
                             '<a class="btn btn-sm btn-primary" onclick="editPro(\'' + pos.row + '\')">编辑</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-warning" onclick="clearPro(\''+ pos.row +'\')">清洗</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-info" onclick="">质检</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-default" href="">完成</a>&nbsp;&nbsp;<br>' +
-                            '<a class="btn btn-sm btn-primary" href="">上传</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-primary" href="">下载</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" onclick="clearPro(\''+ pos.row +'\')">清洗</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" onclick="">质检</a>&nbsp;&nbsp;' +
                             '<a class="btn btn-sm btn-primary" href="">质检结果</a>&nbsp;&nbsp;' +
-                            '</div></div>';
+                            '<a class="btn btn-sm btn-primary" onclick="completePro()">完成</a>&nbsp;&nbsp;' +
+                            '</div>';
                         return tmp
                     }
                 }
             ],
             "initComplete": function () {
-                $("#dataTable_filter").append($('#status-div'))
+                $("#dataTable_filter").prepend($('#status-div'))
+            },
+            "fnServerParams": function (e) {
+                e.s_status = $("#statusSelect option:selected").val()
             }
         })
 
@@ -324,8 +327,8 @@
             }
         });
 
-        for (var i in fields) {
-            var opt = document.createElement('option');
+        for (let i in fields) {
+            let opt = document.createElement('option');
             opt.innerText = fields[i]["s_name"];
             opt.value = fields[i]["s_code"];
             $('#markFieldSelect')[0].appendChild(opt)
@@ -344,6 +347,9 @@
                 });
             }
         });
+        $('#statusSelect').on('changed.bs.select', function () {
+            ttable.api().ajax.reload();
+        })
     });
 
     function createPro() {
@@ -358,23 +364,27 @@
 
     function importData() {
         let sname = $('#project-name').val()
-        let dataid = $('#data-id').val()
         let coll = $('#coll-save-name').val()
         if (sname === "") {
             alert("项目名称为必填项")
-        }
-        if (dataid === "") {
-            alert("数据导出ID为必填项")
+            return
         }
         if (coll === "") {
-            alert("数据导出ID为必填项")
+            alert("数据表名为必填项")
+            return;
         }
         if (stype === "coll") {
+            let dataid = $('#data-id').val()
+            if (dataid === "") {
+                alert("数据导出ID为必填项")
+                return;
+            }
             projectmap["s_name"] = sname
             projectmap["s_historyid"] = dataid
             projectmap["s_sourceinfo"] = coll
             if (projectmap["s_sourceinfo"] === "") {
                 alert("数据表名为必填项")
+                return;
             }
             projectmap["s_type"] = stype
             $.ajax({
@@ -410,10 +420,11 @@
                     contentType: false,
                     success: function (r) {
                         if (r.rep) {
+                            showTip(r.msg);
                             $("#modal-create-project").modal('hide')
                             ttable.api().ajax.reload();
                         } else {
-                            showTip("状态修改失败");
+                            showMsg(r.msg);
                         }
                     }
                 })
@@ -430,6 +441,7 @@
         $('#company-edit-name').val(projectmap["s_entname"])
         $('#rule-edit-name').val(projectmap["s_rulename"])
         $('#dpart-edit-name').val(projectmap["s_departname"])
+        $('#edit-person').val(projectmap["s_personname"])
         if (projectmap.v_fields !== undefined) {
             $('#markFieldSelect option').each(function(){
                 let v = $(this).val()
@@ -438,6 +450,8 @@
                 }
             })
             $("#markFieldSelect").selectpicker("refresh");
+        }else {
+            $("#markFieldSelect").selectpicker("deselectAll");
         }
     }
 
@@ -498,6 +512,24 @@
                 }
             })
         }
+    }
 
+    function completePro(pid, sourceinfo, status) {
+        if (status === "进行中") {
+            $.ajax({
+                url: "/front/project/complete",
+                type: 'POST',
+                data: {"s_projectid": pid, "s_sourceinfo": sourceinfo, "s_status": status},
+                success: function (r) {
+                    if (r.rep) {
+                        ttable.api().ajax.reload();
+                    } else {
+                        showMsg(r.msg);
+                    }
+                }
+            })
+        }else {
+            showTip("操作不允许")
+        }
     }
 </script>

+ 72 - 48
src/web/templates/project/task_detail.html

@@ -19,60 +19,58 @@
                 <div class="box">
                     <div class="box-body">
 
-                        <div class="form-horizontal">
-                            <div class="box-body margin">
-                                <h4><i class="glyphicon glyphicon-exclamation-sign" style="margin-right: 6px"></i>数据情况</h4>
-                                <div class="form-group" style="margin-left: 10px;margin-top: 10px">
-                                    <div class="col-xs-5" style="width: auto">
-                                        <label class="form-inline">数据总量:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allNum}}"></label>
-                                        <label class="form-inline" style="margin-left: 5px">已分发:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isGiveNum}}"></label>
-                                        <label class="form-inline" style="margin-left: 5px">待分发:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotGiveNum}}"></label>
-                                        <label class="form-inline" style="margin-left: 5px">已标注:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isTagNum}}"></label>
-                                        <label class="form-inline" style="margin-left: 5px">未标注:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotTagNum}}"></label>
-                                    </div>
-                                    <div class="col-xs-4 form-group">
-                                        <label class="form-inline">操作:
-                                            <input type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('0')" value="分发">
-                                            <input type="button" class="btn btn-sm btn-primary" value="质检">
-                                            <input type="button" class="btn btn-sm btn-primary" value="质检结果">
-                                        </label>
-                                    </div>
+                        <div class="box-body margin">
+                            <h4><i class="glyphicon glyphicon-exclamation-sign" style="margin-right: 6px"></i>数据情况</h4>
+                            <div class="form-group" style="margin-left: 10px;margin-top: 10px">
+                                <div class="col-xs-5" style="width: auto">
+                                    <label class="form-inline">数据总量:
+                                        <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allNum}}"></label>
+                                    <label class="form-inline" style="margin-left: 5px">已分发:
+                                        <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isGiveNum}}"></label>
+                                    <label class="form-inline" style="margin-left: 5px">待分发:
+                                        <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotGiveNum}}"></label>
+                                    <label class="form-inline" style="margin-left: 5px">已标注:
+                                        <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isTagNum}}"></label>
+                                    <label class="form-inline" style="margin-left: 5px">未标注:
+                                        <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotTagNum}}"></label>
+                                </div>
+                                <div class="col-xs-4 form-group">
+                                    <label class="form-inline">操作:
+                                        <input type="button" class="btn btn-sm btn-primary" onclick="dispatchTask('0')" value="分发">
+                                        <input type="button" class="btn btn-sm btn-primary" value="质检">
+                                        <input type="button" class="btn btn-sm btn-primary" value="质检结果">
+                                    </label>
                                 </div>
                             </div>
                         </div>
-                        <hr>
                         <div id="status-div" class="col-xs-1" style="width: auto;float: right">
-                            <select class="form-control selectpicker" id="pushModelSelect">
-                                <option value=-1>全部</option>
-                                <option value=0>开启</option>
-                                <option value=1>关闭</option>
-                            </select>
+                            <label for="statusSelect">状态:
+                            <select class="form-control selectpicker" id="statusSelect">
+                                <option value="-1">全部</option>
+                                <option value="未开始">未开始</option>
+                                <option value="进行中">进行中</option>
+                                <option value="已完成">已完成</option>
+                                <option value="已关闭">已关闭</option>
+                            </select></label>
                         </div>
-                        <div class="form-horizontal">
-                            <div class="box-body margin">
-                                <h4><i class="glyphicon glyphicon-tasks" style="margin-right: 6px"></i>数据清洗任务列表</h4>
+                        <div class="box-body margin">
+                            <h4><i class="glyphicon glyphicon-tasks" style="margin-right: 6px"></i>数据清洗任务列表</h4>
 
-                                <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>
-                                        <th>完成时间</th>
-                                        <th>操作</th>
-                                    </tr>
-                                    </thead>
-                                </table>
-                            </div>
+                            <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>
+                                    <th>完成时间</th>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                            </table>
                         </div>
                     </div>
                     <!-- /.box-body -->
@@ -216,6 +214,9 @@
             ],
             "initComplete": function () {
                 $("#dataTable_filter").append($('#status-div'))
+            },
+            "fnServerParams": function (e) {
+                e.s_status = $("#statusSelect option:selected").val()
             }
         });
 
@@ -252,6 +253,21 @@
                 $("#task-auto").attr("style", "display:block;")
             }
         });
+        $('#statusSelect').on('changed.bs.select', function () {
+            $.ajax({
+                url: "/front/group/user/task/list",
+                type: "POST",
+                data: {"grouptaskid": grouptaskid, "s_status": $(this).val(), "s_login": "-1"},
+                success: function (r) {
+                    if (r.data.length > 0) {
+                        ttable.fnClearTable();
+                        ttable.fnAddData(r.data);
+                    }else {
+                        ttable.fnClearTable();
+                    }
+                }
+            })
+        })
     });
 
     function cancelModel() {
@@ -274,6 +290,14 @@
                 text.value = userList.length;
             }
         }
+        let num = document.getElementById("modal-data-num");
+        num.setAttribute("max", isNotGiveNum)
+        num.onkeyup = function(){
+            this.value=this.value.replace(/\D/g,'');
+            if(num.value > isNotGiveNum){
+                num.value = isNotGiveNum;
+            }
+        }
         for (var i in userList) {
             var opt = document.createElement('option');
             opt.innerText = userList[i]["s_login"];

+ 1 - 1
src/web/templates/project/task_group_list.html

@@ -130,7 +130,7 @@
     });
 
     function deliverTask(id, status) {
-        if (status === "已开始") {
+        if (status === "进行中") {
             $.ajax({
                 url: "/front/group/task/deliver",
                 type: 'POST',

+ 17 - 12
src/web/templates/project/task_list.html

@@ -19,12 +19,15 @@
                 <div class="box">
                     <div class="box-body">
 
-                        <div id="status-div" class="col-xs-6 form-inline" style="width: auto;float: right">
-                            <label for="pushModelSelect">状态:
-                                <select class="form-control selectpicker" id="pushModelSelect">
-                                    <option value=-1>全部</option>
-                                    <option value=0>开启</option>
-                                    <option value=1>关闭</option></select></label>
+                        <div id="status-div" class="col-xs-1" style="width: auto;float: right">
+                            <label for="statusSelect">状态:
+                                <select class="form-control selectpicker" id="statusSelect">
+                                    <option value="-1">全部</option>
+                                    <option value="未开始">未开始</option>
+                                    <option value="进行中">进行中</option>
+                                    <option value="已完成">已完成</option>
+                                    <option value="已关闭">已关闭</option>
+                                </select></label>
                             </span>
                             <span class="input-group date date-picker" id="starttime" data-provide="datepicker">
                                 <input type="text" class="form-control form-filter input-sm" readonly name="starttime" placeholder="开始日期" />
@@ -84,8 +87,7 @@
             "serverSide": true,
             "ajax": {
                 "url": "/front/group/admin/task/list",
-                "type": "post",
-                "data": {"status": "-1"}
+                "type": "post"
             },
             "language": {
                 "url": "/dist/js/dataTables.chinese.lang"
@@ -136,7 +138,7 @@
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
                         tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/front/user/task/list?grouptaskid=' + val + '&s_sourceinfo='+row.s_sourceinfo+'">查看</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-primary" href="/front/group/user/task/list?grouptaskid=' + val + '&s_sourceinfo='+row.s_sourceinfo+'">查看</a>&nbsp;&nbsp;' +
                             '<a class="btn btn-sm btn-warning" onclick="retrieveTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">收回</a>&nbsp;&nbsp;' +
                             '<a class="btn btn-sm btn-info">质检</a>&nbsp;&nbsp;' +
                             '<a class="btn btn-sm btn-info" onclick="closeTask(\'' + val + '\',\''+row.s_sourceinfo+'\',\'' + row.s_status + '\')">关闭</a>&nbsp;&nbsp;' +
@@ -147,6 +149,9 @@
             ],
             "initComplete": function () {
                 $("#dataTable_filter").append($('#status-div'))
+            },
+            "fnServerParams": function (e) {
+                e.s_status = $("#statusSelect option:selected").val()
             }
         });
 
@@ -158,14 +163,14 @@
             format: "yyyy-mm-dd"
         });
         $('#starttime').datepicker().on('changeDate', function (e) {
-            console.log(e)
-            console.log(e.dates[0])
-            console.log(e.dates[0].toLocaleDateString())
             $('#endtime').datepicker('setStartDate', e.dates[0])
         })
         // $('#endtime').datepicker().on('changeDate', function (e) {
         //     console.log(e.timeStamp)
         // })
+        $('#statusSelect').on('changed.bs.select', function () {
+            ttable.api().ajax.reload();
+        })
     });
 
     // 收回