fuwencai 4 tahun lalu
induk
melakukan
5c1373e956

+ 9 - 5
src/client/client.go

@@ -34,40 +34,44 @@ type Client struct {
 func (this *Client) AdminIndex() {
 	user := this.GetSession("user").(map[string]interface{})
 	entId := qu.IntAll(user["ent_id"])
+	// entId = 1869
+	log.Println(user)
 	// entUserId := qu.IntAll(user["id"])
 	// appid := qu.ObjToString(user["appid"])
 	// phone := qu.ObjToString(user["phone"])
-	entUserArr := JyMysql.Find("entniche_user", map[string]interface{}{"ent_id": entId}, "", "id desc", 0, 10)
+	entUserArr := JyMysql.Find("entniche_user", map[string]interface{}{"ent_id": entId}, "", "id desc", -1, -1)
 	if entUserArr != nil && *entUserArr != nil && len(*entUserArr) > 0 {
 		for _, v := range *entUserArr {
 			userId := qu.IntAll(v["id"])
 			deptmentUser := JyMysql.FindOne("entniche_department_user", map[string]interface{}{"user_id": userId}, "dept_id", "")
 			if deptmentUser != nil && *deptmentUser != nil {
 				dId := qu.IntAll((*deptmentUser)["dept_id"])
-				v["depeatId"] = dId
+				v["departId"] = dId
 				deptment := JyMysql.FindOne("entniche_department", map[string]interface{}{"id": dId}, "name", "")
 				if deptment != nil && *deptment != nil {
 					dName := qu.ObjToString((*deptment)["name"])
-					v["depeatName"] = dName
+					v["departName"] = dName
 				}
 			}
 		}
 		this.T["entUserArr"] = *entUserArr
 	}
-	this.Render("/client/index.html")
+	this.Render("/client/adminIndex.html")
 }
 
 func (this *Client) PersonnelIndex() {
 	user := this.GetSession("user").(map[string]interface{})
 	entId := qu.IntAll(user["ent_id"])
 	entUserId := qu.IntAll(user["id"])
+	// entId = 1686
+	// entUserId = 2520
 	// appid := qu.ObjToString(user["appid"])
 	// phone := qu.ObjToString(user["phone"])
 	entRuleArr, ok := Mgo.Find("entniche_rule", map[string]interface{}{"entId": entId, "entUserId": entUserId}, `{"_id":-1}`, nil, false, 0, 10)
 	if ok && entRuleArr != nil && *entRuleArr != nil && len(*entRuleArr) > 0 {
 		this.T["entRuleArr"] = *entRuleArr
 	}
-	this.Render("/client/index.html")
+	this.Render("/client/personnelIndex.html")
 }
 
 func (this *Client) Index() {

+ 7 - 5
src/front/front.go

@@ -1,10 +1,6 @@
 package front
 
 import (
-	"github.com/dchest/captcha"
-	"github.com/go-xweb/xweb"
-	"github.com/gorilla/sessions"
-	"gopkg.in/mgo.v2/bson"
 	"log"
 	mongoutil "qfw/mongodb"
 	qu "qfw/util"
@@ -14,6 +10,11 @@ import (
 	"strings"
 	"time"
 	. "util"
+
+	"github.com/dchest/captcha"
+	"github.com/go-xweb/xweb"
+	"github.com/gorilla/sessions"
+	"gopkg.in/mgo.v2/bson"
 )
 
 var UserMenu map[string][]map[string]interface{} //存储菜单
@@ -451,7 +452,8 @@ func SendPhoneCode(f *Front, phone string) {
 	//发送短信
 	param := map[string]string{"code": s_ranNum}
 	log.Println("短信验证码", phone, s_ranNum)
-	SendSMS("2828060", phone, param)
+	log.Println(param)
+	// SendSMS("2828060", phone, param)
 }
 
 //第三个参数是可变参数,可以传入多个,但要和模板相匹配

+ 182 - 0
src/web/templates/client/adminIndex.html

@@ -0,0 +1,182 @@
+{{include "com/inc.html"}}
+<!-- Main Header -->
+{{include "com/header.html"}}
+<div class="content-wrapper">
+    
+    <!-- Main content -->
+    <section class="content">
+        <div class="tab-content">
+            <div class="nav-tabs-custom">
+               
+                <div class="tab-content">
+
+                    <div class="tab-pane active" id="tab_1">
+                        <form class="form-horizontal">
+                            <div class="box box-primary">
+
+                                <div class="box-body">
+                                    
+                                    <!-- <div class="box-header with-border">
+                                        <i class="fa fa-tag"></i>
+                                        <h3 class="box-title">部门信息</h3>
+                                    </div> -->
+                                    <table id="departTable" class="table table-bordered">
+                                        <thead>
+                                        <!-- <div style="margin: 10px 10px 0px;">
+                                            <a class="btn btn-default" onclick="showDepart()">新增</a>
+                                            <a class="btn btn-default" onclick="modify_Depart()">修改</a>
+                                            <a class="btn btn-default" onclick="del_Depart()">删除</a>
+                                        </div> -->
+                                        <tr>
+                                            <th></th>
+                                            <th>编号</th>
+                                            <th>部门名称</th>
+                                            <th>姓名</th>
+                                            <!-- <th>修改时间</th> -->
+                                            <!-- <th>是否启用</th> -->
+                                            <th>功能</th>
+                                        </tr>
+                                        </thead>
+                                    </table>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                    <!-- <div class="tab-pane" id="tab_2">
+                        <div class="box box-primary">
+                            <div class="box-header with-border">
+                                <i class="fa fa-bookmark"></i>
+                                <h3 class="box-title">私有标签</h3>
+                                <a class="btn btn-primary btn-sm"
+                                   style="float: right;margin-top: 7px;margin-right: 10px"
+                                   href="/client/customer/tag/edit?cid={{.T.data._id}}"><i
+                                            class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
+                            </div>
+                            <table id="tagrule" class="table table-bordered">
+                                <thead>
+                                <tr>
+                                    <th>编号</th>
+                                    <th>标签规则名称</th>
+                                    <th>修改时间</th>
+                                    <th>启用状态</th>
+                                    <th>操作</th>
+                                    <th>功能</th>
+                                </tr>
+                                </thead>
+                            </table>
+                        </div>
+                    </div> -->
+                </div>
+            </div>
+        </div>
+    </section>
+</div>
+
+{{include "com/footer.html"}}
+<script>
+    // menuActive("/customer/list");
+    var entUserArr = {{.T.entUserArr}};
+    console.log(entUserArr);
+
+    $(document).ready(function () {
+        $('#departTable').DataTable({
+            "paging": true,
+            "lengthChange": true,
+            "searching": true,
+            "ordering": true,
+            "info": true,
+            "autoWidth": true,
+            "language": {
+                "url": "/dist/js/dataTables.chinese.lang"
+            },
+            "data": entUserArr,
+            "fnDrawCallback": function () {
+                this.api().column(1).nodes().each(function (cell, i) {
+                    cell.innerHTML = i + 1;
+                });
+            },
+            "columns": [
+                {
+                    "data": function () {
+                        return `<input type="checkbox" name="ckb-depart" onclick="singleSelect1(this)" style="text-align: center">`
+                    }, width: "5%"
+                },
+                {"data": null, width: "5%"},
+                {
+                    "data": "departName", width: "30%"
+                },
+                {
+                    "data": "name", width: "30%"
+                },
+                // {
+                //     "data": "i_updatetime", render: function (val) {
+                //         var dt = new Date();
+                //         dt.setTime(parseInt(val) * 1000);
+                //         return dt.format("yyyy-MM-dd hh:mm:ss")
+                //     }, width: "20%"
+                // },
+                // {
+                //     "data": "i_isuse", render: function (val, a, row) {
+                //         tmp = ""
+                //         if (val == 1) {
+                //             tmp = "<a href='#' title='停用' onclick='setup(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
+                //         } else {
+                //             tmp = "<a href='#' title='启用' onclick='setup(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
+                //         }
+                //         return tmp
+                //     }, width: "10%"
+                // },
+                {
+                    "data": "_id", width: "20%", render: function (val, a, row, pos) {
+                        tmp = '<div>' +
+                            '<a class="btn btn-sm btn-primary" href="">规则列表</a>&nbsp&nbsp'+
+                            '<a class="btn btn-sm btn-primary" href="">导出日志</a>&nbsp&nbsp'+
+                        '</div>';
+                        return tmp
+                    }
+                }
+            ],
+        });
+        
+    })
+    
+    function singleSelect1(obj) {
+        var tag = true;
+        selectIndex.length = 0;
+        $('input[name="ckb-depart"]').each(function () {
+            if (this.checked) {
+                keyTableChecked = true;
+                selectIndex.push($(this).parents("tr").index() + 1);
+            } else {
+                tag = false
+            }
+        });
+        if (tag) {
+            keyTableAllChecked = true;
+            $('#allCheckbox').prop("checked", true);
+        } else {
+            keyTableAllChecked = false;
+            $('#allCheckbox').prop("checked", false);
+        }
+    }
+    
+
+    // function saveCuser() {
+    //     $.ajax({
+    //         url: "/client/customer/save",
+    //         type: 'POST',
+    //         contentType: "application/json",
+    //         data: JSON.stringify(dataMap),
+    //         dataType: "json",
+    //         success: function (r) {
+    //             console.log(r.rep)
+    //             if (r.rep) {
+    //                 showTip("保存成功", 500);
+    //                 window.location.reload()
+    //             } else {
+    //                 showTip("保存失败", 500);
+    //             }
+    //         }
+    //     })
+    // }
+</script>

+ 1 - 1
src/web/templates/client/index.html → src/web/templates/client/index1.html

@@ -867,4 +867,4 @@
             })
         })
     }
-</script>
+</script>

+ 184 - 0
src/web/templates/client/personnelIndex.html

@@ -0,0 +1,184 @@
+{{include "com/inc.html"}}
+<!-- Main Header -->
+{{include "com/header.html"}}
+<!-- Left side column. 权限菜单 -->
+{{/*<!--{{include "com/menu.html"}}-->*/}}
+<div class="content-wrapper" id="showbtn">
+    <section class="content-header">
+        <h1>
+            <small><a id="addTag" class="btn btn-primary opr">新增规则</a></small>
+        </h1>
+    </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>
+<div class="modal fade" id="modal-preview-href" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog">
+        <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-form">
+                        <div class="edit-info">
+                            <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
+                            <span class="info">链接地址</span>
+                        </div>
+                        <a id="preview-href" target="_blank" style="word-wrap: break-word"></a>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <input type="button" id="copy" data-clipboard-target="#preview-href" class="btn btn-primary saveBtn"
+                       value="复制">
+                <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
+            </div>
+        </div>
+    </div><!-- /.modal -->
+</div>
+{{include "com/footer.html"}}
+<script>
+    // menuActive("/customer/list");
+    var entRuleArr = {{.T.entRuleArr}};
+    console.log(entRuleArr);
+    $('#addTag').attr("href", "/customerRule/cuser/rule/create")
+    $(function () {
+        ttable = $('#dataTable').DataTable({
+            "paging": true,
+            "lengthChange": true,
+            "searching": true,
+            "ordering": true,
+            "info": true,
+            "autoWidth": true,
+            "language": {
+                "url": "/dist/js/dataTables.chinese.lang"
+            },
+            "data": entRuleArr,
+            "fnDrawCallback": function () {
+                $("ul.pagination").prepend("&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='changePage'   style='width:20px;'> 页    <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
+                $('#dataTable-btn').click(function (e) {
+                    var redirectpage = 0
+                    if ($("#changePage").val() && $("#changePage").val() > 0) {
+                        var redirectpage = $("#changePage").val() - 1;
+                    }
+                    ttable.page(redirectpage).draw(false);
+                });
+                this.api().column(0).nodes().each(function (cell, i) {
+                    cell.innerHTML = i + 1;
+                });
+            },
+            "columns": [
+                {"data": null, width: "5%"},
+                {"data": "s_name", width: "20%"},
+                {
+                    "data": "i_updatetime", width: "10%", render: function (val) {
+                        var dt = new Date()
+                        dt.setTime(parseInt(val) * 1000);
+                        return dt.format("yyyy-MM-dd")
+                    }
+                },
+                // {
+                //     "data": "i_isuse", render: function (val, a, row) {
+                //         tmp = ""
+                //         if (val == 1) {
+                //             tmp = "<a href='#' title='停用' onclick='setupRule(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
+                //         } else {
+                //             tmp = "<a href='#' title='启用' onclick='setupRule(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
+                //         }
+                //         return tmp
+                //     }, width: "10%"
+                // },
+                {
+                    "data": "_id", width: "10%", render: function (val, a, row, pos) {
+                        tmp = '<div>' +
+                            '<a class="btn btn-sm btn-primary" href="/client/cuser/rule/Edit">编辑</a>&nbsp;&nbsp;' +
+                            '<a class="btn btn-sm btn-danger" onclick="del(\'' + val + '\',\'' + row.i_isuse + '\')">删除</a>' +
+                            '</div>';
+                        return tmp
+                    }
+                },
+                <!--                {"data": "_id", width:"26%",render: function (val, a, row, pos) {-->
+                <!--                    var s = [val, row.s_dataid];-->
+                <!--                      tmp = '<div>' +-->
+                /*<!--                          '<a class="btn btn-sm btn-primary" href="/service/cuser/rule/downloadrule?id='+val+'">导出标签</a>&nbsp;&nbsp;'+-->
+                <!--                          '<a class="btn btn-sm btn-info" href="/service/cuser/rule/downloadata?s_dataid='+val+'">导出数据</a>&nbsp;&nbsp;'+-->
+                <!--                          '<a class="btn btn-sm btn-warning" onclick="archive(\'' + val + '\')">存档</a>&nbsp;&nbsp;'+-->
+                <!--                          '</div>';-->
+                <!--                      return tmp-->
+                <!--                }},-->*/
+                {
+                    "data": "_id", width: "15%", render: function (val, a, row, pos) {
+                        tmp = '<div xmlns="http://www.w3.org/1999/html">' +
+                            '<button class="btn btn-sm btn-instagram" onclick="preview(\'' + row.s_dataid + '\')">链接地址</button>&nbsp;&nbsp;' +
+                            // <!--                      '<a class="btn btn-sm btn-success" href="/service/rule/history?tagid='+val+'">变更历史</a>'+-->
+                            '</div>';
+                        return tmp
+                    }
+                }
+            ]
+        });
+    });
+
+    // function del(val, i_isuse) {
+    //     if (i_isuse == 1) {
+    //         showTip("请先把规则状态修改为关闭。", 2000);
+    //     } else if (i_isuse == 0) {
+    //         showConfirm("确定删除?", function () {
+    //             $.ajax({
+    //                 url: "/client/cuser/rule/Del",
+    //                 type: "post",
+    //                 data: {"_id": val},
+    //                 success: function (r) {
+    //                     if (r.rep) {
+    //                         ttable.ajax.reload();
+    //                     } else {
+    //                         alert("删除失败");
+    //                     }
+    //                 }
+    //             })
+    //         });
+    //     }
+    // }
+
+    function preview(s_dataid) {
+        var href = {{.T.preview_href}} +"?type=private" + "&key=" + s_dataid;
+        $('#preview-href').html(href);
+        $('#preview-href').attr("href", href);
+        $('#modal-preview-href').modal("show")
+    }
+
+    function cancelModel() {
+        $('#modal-preview-href').modal("hide");
+    }
+
+    var clipboard = new ClipboardJS('#copy');
+    clipboard.on('success', function () {
+        alert("复制成功!")
+    });
+    clipboard.on('error', function () {
+        alert("复制失败!")
+    });
+</script>