linzhijie
2021-03-11 c33914ba0a98c823c4b4d7da21cdd476906c9924
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('角色列表')" />
</head>
<body class="gray-bg">
    <div class="container-div">
        <div class="row">
            <div class="col-sm-12 search-collapse">
                <form id="role-form">
                    <div class="select-list">
                        <ul>
                            <li>
                                [[#{jsp.system.role.001}]]:<input type="text" name="roleName"/>
                            </li>
                            <li>
                                [[#{jsp.system.role.002}]]:<input type="text" name="roleKey"/>
                            </li>
                            <li>
                                [[#{basis.state}]]:<select name="status" th:with="type=${@dict.getType('sys_normal_disable')}">
                                    <option value="">ALL</option>
                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                                </select>
                            </li>
                            <li class="select-time">
                                <label>[[#{basis.createTime}]]: </label>
                                <input type="text" class="time-input" id="startTime" th:placeholder="#{jsp.system.user.profile.027}" name="params[beginTime]"/>
                                <span>-</span>
                                <input type="text" class="time-input" id="endTime" th:placeholder="#{jsp.system.user.profile.028}" name="params[endTime]"/>
                            </li>
                            <li>
                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;[[#{basis.search}]]</a>
                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;[[#{basis.reset}]]</a>
                            </li>
                        </ul>
                    </div>
                </form>
            </div>
        
            <div class="btn-group-sm" id="toolbar" role="group">
                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:role:add">
                    <i class="fa fa-plus"></i>[[#{basis.add}]]
                </a>
                <a style="background-color: #7b76b7;border-color: #7b76b7;color: #FFFFFF"
                   class="btn single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:role:edit">
                    <i class="fa fa-edit"></i> [[#{basis.edit}]]
                </a>
                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:role:remove">
                    <i class="fa fa-remove"></i> [[#{basis.del}]]
                </a>
                <a style="background-color: #a87242;border-color: #a87242;color: #FFFFFF"
                    class="btn" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export">
                    <i class="fa fa-download"></i> [[#{basis.export}]]
                </a>
            </div>
            
            <div class="col-sm-12 select-table table-striped">
                <table id="bootstrap-table" data-mobile-responsive="true"></table>
            </div>
        </div>
    </div>
    <th:block th:include="include :: footer" />
    <script th:inline="javascript">
        var editFlag = [[${@permission.hasPermi('system:role:edit')}]];
        var removeFlag = [[${@permission.hasPermi('system:role:remove')}]];
        var prefix = ctx + "system/role";
        
 
        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                exportUrl: prefix + "/export",
                sortName: "roleSort",
                modalName: "role",
                columns: [{
                    checkbox: true
                },
                {
                    field: 'roleId',
                    title: 'ID'
                },
                {
                    field: 'roleName',
                    title: [[#{jsp.system.role.001}]],
                    sortable: true
                },
                {
                    field: 'roleKey',
                    title: [[#{jsp.system.role.002}]],
                    sortable: true
                },
                {
                    field: 'roleSort',
                    title: [[#{jsp.exam.demographyParam.sort}]],
                    sortable: true
                },
                {
                    visible: editFlag == 'hidden' ? false : true,
                    title: [[#{basis.state}]],
                    align: 'center',
                    formatter: function (value, row, index) {
                        return statusTools(row);
                    }
                },
                {
                    field: 'createTime',
                    title: [[#{basis.createTime}]],
                    sortable: true
                },
                {
                    title: [[#{basis.operate}]],
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> ');
                        actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authDataScope(\'' + row.roleId + '\')"><i class="fa fa-check-square-o"></i>'+[[#{data.permission}]]+'</a> ');
                        actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.roleId + '\')"><i class="fa fa-user"></i>'+[[#{jsp.system.role.015}]]+'</a> ');
                        // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> ');
                        return actions.join('');
                    }
                }]
            };
            $.table.init(options);
        });
        
        /* 角色管理-分配数据权限 */
        function authDataScope(roleId) {
            var url = prefix + '/authDataScope/' + roleId;
            $.modal.open([[#{jsp.system.role.014}]], url);
        }
        
        /* 角色管理-分配用户 */
        function authUser(roleId) {
            var url = prefix + '/authUser/' + roleId;
            $.modal.openTab([[#{jsp.system.role.015}]], url);
        }
        
        /* 角色状态显示 */
        function statusTools(row) {
            if (row.status == 1) {
                return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.roleId + '\')"></i> ';
            } else {
                return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.roleId + '\')"></i> ';
            }
        }
        
        /* 角色管理-停用 */
        function disable(roleId) {
            $.modal.confirm([[#{jsp.system.role.016}]], function() {
                $.operate.post(prefix + "/changeStatus", { "roleId": roleId, "status": 1 });
            })
        }
 
        /* 角色管理启用 */
        function enable(roleId) {
            $.modal.confirm([[#{jsp.system.role.017}]], function() {
                $.operate.post(prefix + "/changeStatus", { "roleId": roleId, "status": 0 });
            })
        }
    </script>
</body>
</html>