hjg
2023-10-14 f6c2f15c37aef4675dda01fb5ec17cde4e141c3f
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
window.I = {}
var basic = getpath();
pagesize = 20;
var modelview = function() {
    var self = this;
    self.filter = ko.observable();
    self.role = ko.observable(parseInt($('#roleid').val()));
    self.role1 = ko.observable(parseInt($('#roleid').val()));
    self.roles = ko.observableArray();
    self.users = ko.observableArray();
    self.user = ko.observable({
        id : ko.observable(0),
        username : ko.observable(),
        email : ko.observable(),
        role : ko.observable({
            id : ko.observable(0),
            name : ko.observable()
        })
    });
    self.edittitle = ko.observable('编辑账户');
    self.change = function(item) {
        var roleid = self.role();
        // 更新users
        users(0, 1, 0, md.filter(), roleid);
    };
    self.valid = function(item) {
        jQuery.post(basic + '/admin/usercon/valid.htm', {
            id : item.id
        }, function(data, textStatus, xhr) {
            if (data == null)
                return;
            if (data.valid == 1 || data.valid == true)
                item.valid(true);
            else
                item.valid(false);
 
        }, 'json');
    };
    self.rm = function(item) {
        if (confirm("确认要删除吗?")) {
            jQuery.post(basic + '/admin/usercon/rm.htm', {
                id : item.id
            }, function(data, textStatus, xhr) {
                if (data == null)
                    return;
                if (data.code == 0) {
                    self.users.remove(item);
                } else {
                    alert(data.errmsg);
                }
            }, 'json');
        }
    };
    self.rstpwd = function(item) {
        jQuery.post(basic + '/admin/usercon/rstpwd.htm', {
            id : item.id
        }, function(data, textStatus, xhr) {
            if (data == null)
                return;
            if (data.code == 0) {
                alert('密码修改成功,新密码为:' + data.npwd);
            } else {
                alert(data.errmsg);
            }
        }, 'json');
    };
    self.edit = function(item) {
        if (item.role() != null) {
            self.role1(item.role().id());
        }
        self.user(item);
        self.edittitle('编辑账户');
        $('#modal1').modal('show');
    }
}
jQuery(document).ready(
        function($) {
            window.mtype = $('#mtype').val();
            var md = window.md = new modelview();
            ko.applyBindings(md);
            
            var tid = $('#tid').val();
            users(0, 1, tid, md.filter(), md.role());
            roleinit(md.role());
            $('#searcha').click(function() {
                users(0, 1, 0, md.filter(), md.role());
            });
            $('#ctbtn').click(function() {
                window.md.edittitle('新建账户');
                // window.open(basic+'/administrate/system/user.jsf?roleid='+md.role());
                md.user({
                    id : ko.observable(0),
                    username : ko.observable(),
                    email : ko.observable(),
                    role : ko.observable({
                        id : ko.observable(0),
                        name : ko.observable()
                    })
                });
                $('#modal1').modal('show');
            });
            var fm1 = $('#fm1');
            fm1.validate({
                rules : {
                    username : {
                        required : true,
                        remote : {
                            url : basic + '/admin/usercon/username.htm',
                            type : 'post',
                            data : {
                                username : function() {
                                    return $('#username').val();
                                },
                                id : function() {
                                    return $('#id').val()
                                }
                            }
                        }
                    },
                    email : {
                        required : true,
                        remote : {
                            url : basic + '/admin/usercon/email.htm',
                            type : 'post',
                            data : {
                                email : function() {
                                    return $('#email').val();
                                },
                                id : function() {
                                    return $('#id').val();
                                }
                            }
                        }
                    }
                },
                messages : {
                    username : {
                        required : '不能为空',
                        remote : '不能重复',
                        maxlength : 30,
                        minlength : 6
                    },
                    email : {
                        required : '不能为空',
                        maxlength : '最大长度不能超过30',
                        minlength : '最小长度不能小于6',
                        remote : '不能重复'
                    }
                }
            });
            $('#tjbtn').click(
                    function() {
                        if (fm1.valid() == false)
                            return;
                        if (window.save == 1)
                            return;
                        window.save = 1;
                        var tt = md.user();
                        var index = md.users().indexOf(tt);
                        var obj = ko.mapping.toJS(tt);
                        obj.role = {};
                        obj.role.id = md.role1();
                        if(obj.role.id<=0)
                        {
                            window.save=0;
                            alert('角色不能选所有角色!');
                            return;
                        }
                        jQuery.post(basic + '/admin/usercon/save.htm', obj,
                                function(data, textStatus, xhr) {
                                    window.save=0;
                                    $('#modal1').modal('hide');
                                    if (data == null)
                                        return;
                                    if (data.code == 1) {
                                        alert(data.errmsg);
                                    } else {
                                        var val = data.user;
                                        var role = val.role;
                                        val = ko.mapping.fromJS(val);
                                        if (role != null
                                                && typeof (role) == 'object')
                                            val.role = ko.observable(val.role);
                                        if (tt.id() == 0) {
                                            md.users.push(val);
                                        } else
                                            md.users.splice(index, 1, val);
                                    }
                                }, 'json');
                    });
        });
function users(page, pages, tid, filter, roleid) {
    jQuery.post(basic + '/admin/usercon/users.htm', {
        page : page,
        pagesize : pagesize,
        pages : pages,
        tid : tid,
        filter : filter,
        roleid : roleid
    }, function(data, textStatus, xhr) {
        if (data == null)
            return;
        if (data.page != null)
            page = data.page;
        if (pages > 0) {
            $('#pagdiv').unbind('page').empty();
            if (data.pages > 1) {
                $('#pagdiv').bootpag({
                    total : data.pages,
                    maxVisible : 10,
                    page : page + 1
                }).on('page', function(event, num) {
                    users(num - 1, 0, 0, filter, roleid);
                });
            }
        }
        window.md.users.removeAll();
        if (data.items != null) {
            jQuery.each(data.items, function(index, val) {
                var role = val.role;
                val = ko.mapping.fromJS(val);
                if (role != null && typeof (role) == 'object')
                    val.role = ko.observable(val.role);
                window.md.users.push(val);
            });
        }
    }, 'json');
}
function roleinit(roleid) {
    jQuery.post(basic + '/admin/usercon/roleinit.htm', {
        roleid : roleid
    }, function(data, textStatus, xhr) {
        if (data == null)
            return;
        window.md.roles.removeAll();
        window.md.roles.push({id:0,name:'所有角色'});
        if (!!data.items) {
            jQuery.each(data.items, function(index, val) {
                window.md.roles.push(val);
            });
        }
    }, 'json');
}