浏览代码

no message

Jianghan 3 年之前
父节点
当前提交
d3c8c4cc48
共有 4 个文件被更改,包括 110 次插入312 次删除
  1. 1 0
      src/front/front.go
  2. 23 6
      src/front/user.go
  3. 4 21
      src/web/templates/project/project_clear.html
  4. 82 285
      src/web/templates/project/task_detail.html

+ 1 - 0
src/front/front.go

@@ -33,6 +33,7 @@ type Front struct {
 	userDel            xweb.Mapper `xweb:"/front/group/user/del"`    //用户删除
 	userModify         xweb.Mapper `xweb:"/front/group/user/modify"` // 修改用户信息
 	groupList          xweb.Mapper `xweb:"/front/group/list"`        //用户组选择列表
+	userList           xweb.Mapper `xweb:"/front/group/user/list"`   //用户组的普通用户列表
 
 	//menu
 	menu           xweb.Mapper `xweb:"/front/menu"`            //查一级菜单

+ 23 - 6
src/front/user.go

@@ -61,12 +61,12 @@ func (f *Front) Login() {
 		if user != nil && len(*user) > 0 {
 			checked = true
 			f.SetSession("user", map[string]interface{}{
-				//"s_groupid": (*user)["s_groupid"],
-				"s_name":  (*user)["s_name"],
-				"i_role":  (*user)["i_role"],
-				"s_pwd":   password,
-				"s_login": username,
-				"id":      mgo.BsonIdToSId((*user)["_id"]),
+				"s_groupid": (*user)["s_groupid"],
+				"s_name":    (*user)["s_name"],
+				"i_role":    (*user)["i_role"],
+				"s_pwd":     password,
+				"s_login":   username,
+				"id":        mgo.BsonIdToSId((*user)["_id"]),
 			})
 			UserMenu[username] = GetUserMenu(qu.IntAll((*user)["i_role"]))
 		}
@@ -326,6 +326,23 @@ func (f *Front) GroupList() {
 	}
 }
 
+func (f *Front) UserList() {
+	qu.Catch()
+	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": false}
+		field := map[string]interface{}{"s_name": 1, "s_personname": 1}
+		info, b := Mgo.Find("s_user", query, nil, field, false, -1, -1)
+		if b && len(*info) > 0 {
+			f.ServeJson(map[string]interface{}{
+				"rep":  b,
+				"data": *info,
+			})
+		}
+	}
+}
+
 // UserTaskSave 用户任务分发
 func (f *Front) UserTaskSave() {
 	defer qu.Catch()

+ 4 - 21
src/web/templates/project/project_clear.html

@@ -42,7 +42,7 @@
                                     </div>
                                     <div class="col-xs-3 form-group">
                                         <label class="form-inline">操作:
-                                            <input type="button" class="btn btn-info" onclick="dispatchTak('all')" value="分发">
+                                            <input type="button" class="btn btn-info" onclick="dispatchTask('all')" value="分发">
                                             <input type="button" class="btn btn-primary" value="质检">
                                             <input type="button" class="btn btn-success" value="质检结果">
                                         </label>
@@ -61,7 +61,7 @@
                                     </div>
                                     <div class="col-xs-3 form-group">
                                         <label class="form-inline">操作:
-                                            <input type="button" class="btn btn-info" onclick="dispatchTak('notag')" value="分发">
+                                            <input type="button" class="btn btn-info" onclick="dispatchTask('notag')" value="分发">
                                             <input type="button" class="btn btn-primary" value="质检">
                                             <input type="button" class="btn btn-success" value="质检结果">
                                         </label>
@@ -80,7 +80,7 @@
                                     </div>
                                     <div class="col-xs-3 form-group">
                                         <label class="form-inline">操作:
-                                            <input type="button" class="btn btn-info" onclick="dispatchTak('tag')" value="分发">
+                                            <input type="button" class="btn btn-info" onclick="dispatchTask('tag')" value="分发">
                                             <input type="button" class="btn btn-primary" value="质检">
                                             <input type="button" class="btn btn-success" value="质检结果">
                                         </label>
@@ -272,24 +272,7 @@
         })
     });
 
-    function del(id) {
-        showConfirm("确定删除该用户组?", function () {
-            $.ajax({
-                url: "",
-                type: 'POST',
-                data: {"id": id},
-                success: function (r) {
-                    if (r.rep) {
-
-                    } else {
-                        showTip("状态修改失败");
-                    }
-                }
-            })
-        })
-    }
-
-    function dispatchTak(val) {
+    function dispatchTask(val) {
         console.log(val)
         stype = val
         if (stype === "all") {

+ 82 - 285
src/web/templates/project/task_detail.html

@@ -23,25 +23,22 @@
                             <div class="box-body margin">
                                 <h3><i class="glyphicon glyphicon-exclamation-sign" style="margin-right: 6px"></i>数据情况
                                 </h3>
-                                <div class="form-group" style="margin-left: 15px">
-                                    <span class="form-inline panel-body">分发总量/数据总量(条):
-                                        <input type="text" class="form-control" readonly value="{{.T.allNoGiveDataNum}}/{{.T.allGiveDataNum}}">
-                                    </span>
-                                </div>
-                                <div class="form-group" style="margin-left: 10px">
+                                <div class="form-group" style="margin-left: 10px;margin-top: 20px">
                                     <div class="col-xs-6" style="width: auto">
                                         <label class="form-inline">数据总量:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allGiveDataNum}}"></label>
+                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.allNum}}"></label>
                                         <label class="form-inline" style="margin-left: 20px">已分发:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="0"></label>
+                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isGiveNum}}"></label>
                                         <label class="form-inline" style="margin-left: 20px">待分发:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="0"></label>
+                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotGiveNum}}"></label>
                                         <label class="form-inline" style="margin-left: 20px">已标注:
-                                            <input type="text" class="form-control" style="width: 80px" readonly value="0"></label>
+                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isTagNum}}"></label>
+                                        <label class="form-inline" style="margin-left: 20px">未标注:
+                                            <input type="text" class="form-control" style="width: 80px" readonly value="{{.T.isNotTagNum}}"></label>
                                     </div>
-                                    <div class="col-xs-6 form-group">
+                                    <div class="col-xs-4 form-group">
                                         <label class="form-inline">操作:
-                                            <input type="button" class="btn btn-info" onclick="dispatchTak('0')" value="分发">
+                                            <input type="button" class="btn btn-info" onclick="dispatchTask('0')" value="分发">
                                             <input type="button" class="btn btn-primary" value="质检">
                                             <input type="button" class="btn btn-success" value="质检结果">
                                         </label>
@@ -82,163 +79,40 @@
 </div>
 
 
-<div class="modal fade" id="modal-create-project" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 30%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    <div class="edit-info">
-                        <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
-                        <span class="h4">新建项目</span>
-                    </div>
-                    <div class="edit-form">
-                        <hr>
-                        <div class="form-group">
-                            <label class="radio-inline">
-                                <input type="radio" name="stype" value="coll" checked>数据库导入
-                            </label>
-                            <label class="radio-inline">
-                                <input type="radio" name="stype" value="excel">Excel表导入
-                            </label>
-                        </div>
-                        <form id="model-form-project" class="form-horizontal" enctype="multipart/form-data">
-                            <div class="box-body">
-                                <div class="form-group margin-bottom">
-                                    <label class="col-sm-3 control-label"><span style="color:red;">* </span>项目名称</label>
-                                    <div class="col-sm-5">
-                                        <input type="text" class="form-control" id="project-name" placeholder="项目名称">
-                                    </div>
-                                </div>
-                                <div id="import-coll">
-                                    <h5><i class="glyphicon glyphicon-bookmark"
-                                           style="color: #00c4ff;margin-right: 6px"></i>数据来源</h5>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label"><span
-                                                style="color:red;">* </span>数据库名</label>
-                                        <div class="col-sm-5">
-                                            <input type="text" class="form-control" id="db-name" value="jyqyfw"
-                                                   readonly>
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label"><span
-                                                style="color:red;">* </span>数据表名</label>
-                                        <div class="col-sm-5">
-                                            <input type="text" class="form-control" id="coll-name"
-                                                   value="usermail_history" readonly>
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label"><span
-                                                style="color:red;">* </span>数据导出ID</label>
-                                        <div class="col-sm-6">
-                                            <input type="text" class="form-control" id="data-id" placeholder="数据导出ID">
-                                        </div>
-                                    </div>
-                                </div>
-
-                                <div id="import-excel" style="display: none">
-                                    <h5><i class="glyphicon glyphicon-bookmark"
-                                           style="color: #00c4ff;margin-right: 6px"></i>数据信息</h5>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label"><span
-                                                style="color:red;">* </span>公司名称</label>
-                                        <div class="col-sm-6">
-                                            <input type="text" class="form-control" id="company-name"
-                                                   placeholder="公司名称">
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label">部门名称</label>
-                                        <div class="col-sm-6">
-                                            <input type="text" class="form-control" id="dpart-name" placeholder="部门名称">
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label">规则名称</label>
-                                        <div class="col-sm-6">
-                                            <input type="text" class="form-control" id="rule-name" placeholder="规则名称">
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-3 control-label">选择文件</label>
-                                        <div class="col-sm-6">
-                                            <input type="file" name="file" id="uploadfile">
-                                        </div>
-                                    </div>
-                                </div>
-                                <h5><i class="glyphicon glyphicon-bookmark"
-                                       style="color: #00c4ff;margin-right: 6px"></i>数据存储</h5>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据库名</label>
-                                    <div class="col-sm-6">
-                                        <input type="text" class="form-control" value="jyqykhfw" readonly>
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据表名</label>
-                                    <div class="col-sm-6">
-                                        <input type="text" class="form-control" id="coll-save-name" placeholder="数据表名">
-                                    </div>
-                                </div>
-                            </div>
-                        </form>
-                    </div>
-                </div>
-            </div>
-            <div class="modal-footer">
-                <input type="button" onclick="importData()" class="btn btn-primary" value="导入">
-                <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
-
-
-<div class="modal fade" id="modal-edit-project" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 30%">
+<div class="modal fade" id="modal-create-task" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog" style="width: 60%">
         <div class="modal-content">
             <div class="modal-header">
                 <div class="modal-header">
                     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                     <div class="edit-info">
-                        <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
-                        <span class="h4">编辑项目</span>
+                        <span class="glyphicon glyphicon-tasks" aria-hidden="true"></span>
+                        <span class="h3">新建任务</span>
                     </div>
                     <div class="edit-form">
-                        <hr>
-                        <form class="form-horizontal" enctype="multipart/form-data">
-                            <div class="box-body">
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label">公司名称</label>
-                                    <div class="col-sm-5">
-                                        <input type="text" class="form-control" id="company-edit-name" readonly>
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label">部门名称</label>
-                                    <div class="col-sm-5">
-                                        <input type="text" class="form-control" id="dpart-edit-name">
-                                    </div>
+                        <form id="modal-form-task" class="form-horizontal">
+                            <div class="modal-body modal-task">
+                                <div class="form-group margin-bottom" style="margin-left: 15px">
+                                    <label class="control-label form-inline h4">待分发数据总量(条):
+                                        <span id="modal-num">0</span>
+                                    </label>
                                 </div>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label">规则名称</label>
-                                    <div class="col-sm-5">
-                                        <input type="text" class="form-control" id="rule-edit-name">
-                                    </div>
+                                <hr>
+                                <div style="margin-left: 15px;">
+                                    <label>分发信息:</label>
+                                    <input type="button" class="btn btn-info btn-sm" onclick="addTaskSelect()" value="新增">
                                 </div>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label">售后人员</label>
-                                    <div class="col-sm-6">
-                                        <input type="text" class="form-control" id="edit-person">
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-3 control-label">选择标注字段</label>
-                                    <div class="col-sm-6">
-                                        <select class="form-control selectpicker" multiple
-                                                id="markFieldSelect"></select>
+                                <div></div>
+                                <div id="TaskDiv">
+                                    <div id="itemDiv" class="form-group" style="margin-left: 10px;display: none">
+                                        <select id="group-select-clone"></select>
+                                        <label class="control-label form-inline" style="margin-left: 20px">数据量(条):
+                                            <input type="number" class="form-control" required></label>
+                                    </div>
+                                    <div class="form-group clone-template" style="margin-left: 10px;">
+                                        <select class="selectpicker" id="group-select"></select>
+                                        <label class="control-label form-inline" style="margin-left: 20px">数据量(条):
+                                            <input type="number" class="form-control by-use" required></label>
                                     </div>
                                 </div>
                             </div>
@@ -247,20 +121,19 @@
                 </div>
             </div>
             <div class="modal-footer">
-                <input type="button" onclick="saveData()" class="btn btn-primary saveBtn" value="保存">
+                <input type="button" onclick="saveTask()" class="btn btn-primary" value="保存">
                 <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
             </div>
         </div>
     </div><!-- /.modal -->
 </div>
 
-
 {{include "com/footer.html"}}
 <script>
     menuActive("task/list");
 
-    let stype = "coll";
-    let fields = {{ .T.fields }}
+    let grouptaskid = {{ .T.grouptaskid }}
+    let userList = []
 
     $(function () {
         ttable = $('#dataTable').dataTable({
@@ -270,12 +143,6 @@
             "ordering": false,
             "info": true,
             "autoWidth": false,
-            "serverSide": true,
-            "ajax": {
-                "url": "",
-                "type": "post",
-                "data": {"status": "-1"}
-            },
             "language": {
                 "url": "/dist/js/dataTables.chinese.lang"
             },
@@ -293,7 +160,7 @@
                 });
             },
             "columns": [
-                {"data": "", width: "1%"},
+                {"data": null, width: "1%"},
                 {"data": "s_personname", width: "5%"},
                 {"data": "s_projectname", width: "4%"},
                 {"data": "i_givenum", width: "4%"},
@@ -306,7 +173,7 @@
                         tmp = '<div>' +
                             '<a class="btn btn-sm btn-primary" onclick="editPro(\'' + pos.row + '\')">收回</a>&nbsp;&nbsp;' +
                             '<a class="btn btn-sm btn-warning" href="/front/project/clear?pid=' + val + '">质检</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-info" onclick="del(\'' + val + '\')">关闭</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-info" onclick="">关闭</a>&nbsp;&nbsp;' +
                             '</div>';
                         return tmp
                     }
@@ -314,132 +181,62 @@
             ]
         });
 
-    });
-
-
-    function del(id) {
-        showConfirm("确定删除该用户组?", function () {
-            $.ajax({
-                url: "",
-                type: 'POST',
-                data: {"id": id},
-                success: function (r) {
-                    if (r.rep) {
-                        ttable.ajax.reload();
-                    } else {
-                        showTip("状态修改失败");
-                    }
+        $.ajax({
+            url: "/front/project/task/list",
+            type: "POST",
+            data: {"grouptaskid": grouptaskid},
+            success: function (r) {
+                if (r.data.length > 0) {
+                    console.log(r.data)
+                    ttable.fnClearTable();
+                    ttable.fnAddData(r.data);
                 }
-            })
+            }
         })
-    }
-
-    function createPro() {
-       $("#modal-create-project").modal('show')
-    }
+        $.ajax({
+            url: "/front/group/user/list",
+            type: "POST",
+            data: {},
+            success: function (r) {
+                if (r.rep) {
+                    console.log(userList)
+                    userList = r.data
+                }
+            }
+        })
+    });
 
     function cancelModel() {
         document.getElementById("model-form-project").reset();
-        $("#modal-create-project").modal('hide')
-        $("#modal-edit-project").modal('hide')
+        $("#modal-create-task").modal('hide')
     }
 
-    function importData() {
-        if (stype === "coll") {
-            projectmap["s_name"] = $('#project-name').val()
-            projectmap["s_sourceinfo"] = $('#coll-save-name').val()
-            projectmap["s_type"] = stype
-            projectmap["s_historyid"] = $('#data-id').val()
-            $.ajax({
-                url: "/front/project/save",
-                type: 'POST',
-                data: projectmap,
-                success: function (r) {
-                    if (r.success) {
-
-                        $("#modal-create-project").modal('hide')
-                        ttable.api().ajax.reload();
-                    } else {
-
-                    }
-                }
-            })
-        } else if (stype === "excel") {
-            let formData = new FormData();
-            formData.append("s_name", $('#project-name').val())
-            formData.append("s_sourceinfo", $('#coll-save-name').val())
-            formData.append("s_historyid", $('#data-id').val())
-            formData.append("s_entname", $('#company-name').val())
-            formData.append("s_departname", $('#dpart-name').val())
-            formData.append("s_rulename", $('#rule-name').val())
-            formData.append("s_type", stype)
-            let file = $('#uploadfile')[0].files[0]
-            if (file) {
-                formData.append("xlsx", file)
-                $.ajax({
-                    url: "/front/project/save",
-                    type: 'POST',
-                    data: formData,
-                    cache: false,
-                    processData: false,
-                    contentType: false,
-                    success: function (r) {
-                        if (r.rep) {
-                            $("#modal-create-project").modal('hide')
-                            ttable.api().ajax.reload();
-                        } else {
-                            showTip("状态修改失败");
-                        }
-                    }
-                })
-            } else {
-                showTip("请选择上传文件");
-            }
+    function dispatchTask(val) {
+        $('#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)
         }
-    }
+        $("#group-select").selectpicker("refresh");
 
-    function editPro(index) {
-        projectmap = ttable.fnGetData()[index]
-        console.log(projectmap)
-        $('#modal-edit-project').modal('show')
-        $('#company-edit-name').val(projectmap["s_entname"])
-        $('#rule-edit-name').val(projectmap["s_rulename"])
-        $('#dpart-edit-name').val(projectmap["s_departname"])
     }
 
-    function saveData() {
-        stype = "edit"
-        let tmp = projectmap
-        tmp["s_entname"] = $('#company-edit-name').val()
-        tmp["s_rulename"] = $('#rule-edit-name').val()
-        tmp["s_departname"] = $('#dpart-edit-name').val()
+    function saveTask(val) {
+
 
-        let fieldArr = $('#markFieldSelect').val();
-        let m = {}
-        if (fieldArr.length > 0) {
-            for (const i in fields) {
-                if (fieldArr.indexOf(fields[i]["s_code"]) > -1) {
-                    m[fields[i]["s_code"]] = fields[i]["s_name"]
+        $.ajax({
+            url: "/front/user/task/save",
+            type: "POST",
+            data: {"grouptaskid": grouptaskid},
+            success: function (r) {
+                if (r.data.length > 0) {
+                    console.log(r.data)
+                    ttable.fnClearTable();
+                    ttable.fnAddData(r.data);
                 }
             }
-        }
-        tmp["v_field"] = m
-        if (tmp !== projectmap) {
-            $.ajax({
-                url: "/front/project/save",
-                type: 'POST',
-                data: projectmap,
-                success: function (r) {
-                    if (r.rep) {
-                        ttable.api().ajax.reload();
-                    } else {
-                        showTip("保存失败");
-                    }
-                }
-            })
-        } else {
-            showTip("未做修改");
-        }
+        })
     }
-
 </script>