Pārlūkot izejas kodu

权限分配完成

yf_zd 5 gadi atpakaļ
vecāks
revīzija
61acd8a400

+ 25 - 2
templates/backstageNet/limit/limitUserManage.html

@@ -30,6 +30,20 @@
 			padding-left: 5px;
 			width: 200px;
 		}
+		.layui-form-checked[lay-skin=primary] i{
+			border-color: #008bf3!important;
+			background-color: #1e9fff;
+			color: #fff;
+		}
+		.layui-form-checkbox[lay-skin=primary]:hover i{
+			border-color: #008bf3;
+		}
+		.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{
+			color: #008bf3;
+		}
+		#limitPop{
+			display: none;
+		}
 	</style>
 
 	<body>
@@ -79,8 +93,16 @@
 					</div>
 				</div>
 			</div>
-			<input type="hidden" id="gobackuname" value="{{uname|default:''}}">
-			<input type="hidden" id="gobackpage" value="{{page|default:''}}">
+		</div>
+
+		<!-- 权限弹框 -->
+		<div id="limitPop">
+			<input type="hidden" value="" id="hiduname">
+			<div class="qx">
+				<div id="test1">
+					
+				</div>
+			</div>
 		</div>
 
 		<script src="{% static '/lib/js/jquery-2.1.4.min.js' %}"></script>
@@ -90,6 +112,7 @@
 				data: { csrfmiddlewaretoken: '{{ csrf_token }}' },
 			});
 		</script>
+		<script src="{% static '/js/limit/limit.js' %}?versions=0.2.3" type="text/javascript"></script>
 		<script src="{% static '/js/limit/limitUserManage.js' %}?versions=0.2.3" type="text/javascript"></script>
 	</body>
 

+ 27 - 307
templates/backstageNet/limit/limit_user_list.html

@@ -1,307 +1,27 @@
-<script>
-	var navList = [
-            {
-                "id": 1,
-                "title": "首页",
-                "icon": "&#xe626;",
-                "url": "map",
-                "children": []
-            },
-            {
-                "id": 2,
-                "title": "设备分配",
-                "icon": "&#xe609;",
-                "url": "equipallot",
-                "disabled": "true",
-                "children": []
-            },
-            {
-                "id": 3,
-                "title": "信息发布",
-                "icon": "&#xe765;",
-                "url": "",
-                "children": [
-                    {
-                        "id": 3.1,
-                        "title": "新闻资讯",
-                        "url": "news_pub",
-                    },
-                    {
-                        "id": 3.2,
-                        "title": "视频资讯",
-                        "url": "video_pub",
-                    },
-                    {
-                        "id": 3.2,
-                        "title": "产品展厅",
-                        "url": "equip_pub",
-                    },
-                    {
-                        "id": 3.3,
-                        "title": "四季采摘",
-                        "url": "garden_pub",
-                    },
-                    {
-                        "id": 3.4,
-                        "title": "民宿导览",
-                        "url": "dorm_pub",
-                    },
-                    {
-                        "id": 3.5,
-                        "title": "旅游景点",
-                        "url": "sightsee_pub",
-                    },
-                ]
-            },
-            {
-                "id": 4,
-                "title": "我的发布",
-                "icon": "&#xe609;",
-                "url": "my_pub",
-                "disabled": "true",
-                "children": []
-            },
-            {
-                "id": 5,
-                "title": "视频监控",
-                "icon": "&#xe610;",
-                "url": "jkview",
-                "children": []
-            },
-            {
-                "id": 6,
-                "title": "传感及控制",
-                "icon": "&#xe654;",
-                "url": "",
-                "children": [
-                    {
-                        "id": 6.1,
-                        "title": "控制模块",
-                        "url": "qxzcontrol",
-                    },
-                    {
-                        "id": 6.2,
-                        "title": "趋势分析",
-                        "url": "qxzchart",
-                    },
-                    {
-                        "id": 6.3,
-                        "title": "数据统计",
-                        "url": "qxz_status",
-                    }
-                ]
-            },
-            {
-                "id": 7,
-                "title": "预警中心",
-                "icon": "&#xe634;",
-                "url": "",
-                "children": [
-                    {
-                        "id": 7.1,
-                        "title": "阈值设置",
-                        "url": "qxz_warning_view",
-                    },
-                    {
-                        "id": 7.2,
-                        "title": "生产方式设置",
-                        "url": "productionset",
-                    },
-                    {
-                        "id": 7.3,
-                        "title": "预警记录",
-                        "url": "qxz_warning_list",
-                    },
-                ]
-            },
-            {
-                "id": 8,
-                "title": "开心农场",
-                "icon": "&#xe603;",
-                "url": "",
-                "children": [
-                    {
-                        "id": 8.1,
-                        "title": "我的农场",
-                        "url": "person_farm_edit",
-                    },
-                    {
-                        "id": 8.2,
-                        "title": "农场管理",
-                        "url": "garden_manage_view",
-                    },
-                    {
-                        "id": 8.3,
-                        "title": "人员管理",
-                        "url": "garden_user_view",
-                    },
-                    {
-                        "id": 8.4,
-                        "title": "库存管理",
-                        "url": "repertory_view",  //物料管理    
-                    },
-                    {
-                        "id": 8.5,
-                        "title": "种植管理",
-                        "url": "cropcount",
-                    },
-                    {
-                        "id": 8.6,
-                        "title": "入库管理",
-                        "url": "pick",
-                    },
-                    {
-                        "id": 8.7,
-                        "title": "销售管理",
-                        "url": "sell_view",
-                    }
-                ]
-            },
-            {
-                "id": 9,
-                "title": "数据中心",
-                "icon": "&#xe603;",
-                "url": "",
-                "children": [
-                    {
-                        "id": 9.1,
-                        "title": "产业数据",
-                        "url": "industrydata",
-                    },
-                    {
-                        "id": 9.2,
-                        "title": "类型分析",
-                        "url": "type",
-                    },
-                    {
-                        "id": 9.3,
-                        "title": "对比分析",
-                        "url": "contrast",
-                    },
-                ]
-            },
-            {
-                "id": 10,
-                "title": "通知公告",
-                "icon": "&#xe765;",
-                "url": "",
-                "disabled": "true",
-                "children": [
-                    {
-                        "id": 10.1,
-                        "title": "发布公告",
-                        "url": "policy_pub",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 10.2,
-                        "title": "查看公告",
-                        "url": "policy_list_view",
-                        "disabled": "true",
-                    },
-                ]
-            },
-            {
-                "id": 11,
-                "title": "信息审核",
-                "icon": "&#xe765;",
-                "url": "",
-                "disabled": "true",
-                "children": [
-                    {
-                        "id": 11.1,
-                        "title": "新闻资讯",
-                        "url": "news_check",
-                        "disabled": "true",
-                    },
-
-                    {
-                        "id": 11.2,
-                        "title": "视频资讯",
-                        "url": "video_check",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 11.3,
-                        "title": "产品展厅",
-                        "url": "equip_check",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 11.4,
-                        "title": "四季采摘",
-                        "url": "garden_check",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 11.5,
-                        "title": "民宿导览",
-                        "url": "dorm_check",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 11.6,
-                        "title": "旅游景点",
-                        "url": "sightsee_check",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 11.7,
-                        "title": "个人农场",
-                        "url": "farm_check",
-                        "disabled": "true",
-                    },
-                ]
-            },
-            {
-                "id": 12,
-                "title": "权限",
-                "icon": "&#xe765;",
-                "url": "limit_view",
-                "disabled": "true",
-                "children": []
-            },
-            {
-                "id": 13,
-                "title": "系统设置",
-                "icon": "&#xe765;",
-                "url": "",
-                "disabled": "true",
-                "children": [
-                    {
-                        "id": 13.1,
-                        "title": "用户管理",
-                        "url": "person_view",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 13.2,
-                        "title": "修改密码",
-                        "url": "policy_list_view",
-                        "disabled": "true",
-                    }
-                ]
-            },
-			{
-                "id": 14,
-                "title": "专家诊断",
-                "icon": "&#xe765;",
-                "url": "",
-                "disabled": "true",
-                "children": [
-                    {
-                        "id": 14.1,
-                        "title": "在线专家",
-                        "url": "expert",
-                        "disabled": "true",
-                    },
-                    {
-                        "id": 14.2,
-                        "title": "知识库",
-                        "url": "learning_depot",
-                        "disabled": "true",
-                    }
-                ]
-            },
-        ]
-</script>
+{% if user_list|length %} {% for user in user_list %}
+<tr>
+   <td>{{ user.username }}</td>
+   <td>{{ user.email }}</td>
+   <td>{% if user.user_phone == "" %} 无 {% else %} {{user.user_phone}} {% endif %}</td>
+   <td>
+   	{% if user.is_superuser == 1 %} 超级管理员 {% elif user.is_staff == 1 %} 管理员 {% else %} 用户 {% endif %}
+   </td>
+   <!-- <td>{% if user.user_remark == "" %} 无 {% else %} {{user.user_remark}} {% endif %}</td> -->
+   <td>{% if user.is_active == True %} 可用 {% else %} 不可用 {% endif %}</td>
+   <td>{{ user.date_joined }}</td>
+   <td>
+   	<!-- <a class="fpsb-link" href="allot?uname={{ user.username }}" style="display: inline-block;"> -->
+   		{% if user.username == 'admin' %} 
+   			暂无权限
+   		{% else %} 
+   			<button class="layui-btn layui-btn-sm layui-btn-normal btn-shaixuan" onclick="allotEquipPage('{{ user.username }}')">权限分配</button>
+   		{% endif %}
+   	<!-- </a> -->
+   </td>
+</tr>
+{% endfor %} {% else %}
+<tr>
+    <td colspan="7" style="text-align:center;">暂无数据</td>
+</tr>
+{% endif %}
+<input type="hidden" value="{{nums}}" id="totalPage">

+ 135 - 13
templates/static/js/limit/limitUserManage.js

@@ -1,16 +1,11 @@
-if ($('#gobackpage').val()) {
-    var gobackpage = $('#gobackpage').val();
-} else {
-    var gobackpage = 1;
-}
-var uname = $('#gobackuname').val();
+
 
 $.ajax({
     url: 'person_limit',
     type: 'post',
     data: {
-        uname: uname,
-        page: gobackpage
+        uname: "",
+        page: 1
     },
     success: function (data) {
         $('#datatable tbody').html('');
@@ -32,7 +27,7 @@ $.ajax({
             var laypage = layui.laypage;
             laypage.render({
                 elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
-                , curr: gobackpage
+                , curr: 1
                 , count: $('#total_nums').val()
                 , theme: '#2ca9f9'
                 , layout: ['prev', 'page', 'next', 'skip']
@@ -43,7 +38,7 @@ $.ajax({
                             url: 'person_limit',
                             type: 'post',
                             data: {
-                                uname: uname,
+                                uname: "",
                                 page: obj.curr,
                             },
                             success: function (data) {
@@ -144,7 +139,134 @@ function initSearchPage(page, url, datas) {
 }
 
 function allotEquipPage(uname) {
-    var currPage = $('#page .layui-laypage-curr em').eq(1).html();
-    var f_name = $('#uname').val();
-    window.location.href = 'limit?uname=' + uname + '&currpage=' + currPage + '&f_name=' + f_name;
+    $('#hiduname').val(uname);
+    $.ajax({
+        url: 'limit',
+        type: 'post',
+        data: {
+            uname: uname
+        },
+        // dataType: "json",
+        success: function (data) {
+            if (data) {
+                var newNavList = eval('(' + data + ')');
+                layui.use(['tree'], function () {
+                    var tree = layui.tree;
+
+                    var topicId = []
+                    for (var i = 0; i < newNavList.length; i++) {
+                        if (newNavList[i].children.length) {
+                            var currChildren = newNavList[i].children;
+                            for (var j = 0; j < currChildren.length; j++) {
+                                topicId.push(currChildren[j].id);
+                                // topicId.push(parseInt(currChildren[j].id));
+                            }
+                        } else {
+                            topicId.push(newNavList[i].id);
+                            // topicId.push(parseInt(newNavList[i].id));
+                        }
+                        if (i == newNavList.length - 1) {
+                            //基本演示
+                            tree.render({
+                                elem: '#test1'
+                                , data: navList
+                                , showCheckbox: true  //是否显示复选框
+                                , id: 'demoId1'
+                                , isJump: true //是否允许点击节点时弹出新窗口跳转
+                                , click: function (obj) {
+                                    var data = obj.data;  //获取当前点击的节点数据
+                                    // layer.msg('状态:' + obj.state + '<br>节点数据:' + JSON.stringify(data));
+                                }
+                            });
+                            tree.setChecked('demoId1', topicId); //勾选指定节点
+                            console.log(topicId)
+
+                        }
+                    }
+
+
+                })
+            } else {
+                layui.use(['tree'], function () {
+                    var tree = layui.tree;
+                    tree.render({
+                        elem: '#test1'
+                        , data: navList
+                        , showCheckbox: true  //是否显示复选框
+                        , id: 'demoId1'
+                        , isJump: true //是否允许点击节点时弹出新窗口跳转
+                        , click: function (obj) {
+                            var data = obj.data;  //获取当前点击的节点数据
+                            // layer.msg('状态:' + obj.state + '<br>节点数据:' + JSON.stringify(data));
+                        }
+                    });
+                })
+            }
+        },
+        error: function (type) {
+            console.log(type)
+        }
+    })
+    // var currPage = $('#page .layui-laypage-curr em').eq(1).html();
+    // var f_name = $('#uname').val();
+    // window.location.href = 'limit?uname=' + uname + '&currpage=' + currPage + '&f_name=' + f_name;
+    layer.open({
+        type: 1,
+        id:"limitPopLayer",
+        title:"用户"+uname+" 权限分配",
+        area: ['60%', '80%'],
+        btn: ['确定', '取消'],
+        yes: function(index, layero){
+            getLimit()
+        },
+        btn2: function(index, layero){
+        //按钮【按钮二】的回调
+        
+        //return false 开启该代码可禁止点击该按钮关闭
+        },
+        scrollbar: false,
+        // skin: 'layui-layer-rim', //加上边框
+        content: $('#limitPop')
+    });
+}
+function getLimit() {
+    layui.use(['tree'], function () {
+        var tree = layui.tree;
+        var checkData = tree.getChecked('demoId1');
+        console.log(checkData)
+        if (checkData.length) {
+            $.ajax({
+                url: 'limit_view',
+                type: 'post',
+                data: {
+                    uname: $('#uname').val(),
+                    limit: JSON.stringify(checkData)
+                },
+                success: function (data) {
+                    if (data) {
+                        layui.use(['layer'], function () {
+                            var layer = layui.layer;
+                            layer.msg('设置成功!', { icon: 1, time: 500 }, function () {
+                                layer.close(layer.index);
+                            })
+                        })
+                    } else {
+                        layui.use(['layer'], function () {
+                            var layer = layui.layer;
+                            layer.msg('设置失败!', { icon: 2 })
+                        })
+                    }
+                },
+                error: function (type) {
+                    console.log(type)
+                }
+            })
+        } else {
+            layui.use(['layer'], function () {
+                var layer = layui.layer;
+                layer.msg('必须选择一项', { icon: 2 })
+            })
+        }
+
+    })
 }