通過上一篇文章,我們講解了如何使用EasyUI中的tree、datagrid、linkbutton等常用UI元件、元件的特殊應用方法、資料加載技巧等等。
這一篇文章我們來分享一下使用EasyUI開發的使用者管理子產品的核心代碼,使用者管理子產品主要是對可登入系統的使用者進行管理。後續的工作如:使用者歸屬角色、權限的配置設定、使用者所擁有的相應功能子產品、各業務系統權限的配置設定等都是以此為基礎。使用者管理的主要操作有:新增使用者、修改使用者、删除使用者、設定使用者的預設角色、設定使用者密碼、設定使用者的有效性、使用者排序等。在使用者管理主界面,有使用者管理相應操作權限的登入使用者可以添加、修改、删除(單個或批量删除)、設定密碼、查詢使用者。此子產品一般配置設定給具有系統管理者角色的使用者,以防誤操作,超級管理者使用者不允許被修改與删除。當然,對于架構核心資料删除操作都是邏輯删除而非實體删除。即删除是在相應記錄上打上了删除标志。若要恢複誤删的資料,可以聯系具有操作資料庫的使用者(如:DBA)進行資料恢複。使用者管理的主界面如下圖所示:

首先是使用者管理的UI界面aspx代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<code><%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"CodeBehind="UserAdmin.aspx.cs" Inherits="RDIFramework.WebApp.Modules.UserAdmin" %></code>
<code><</code><code>asp:Content</code> <code>ID</code><code>=</code><code>"Content2"</code> <code>ContentPlaceHolderID</code><code>=</code><code>"head"</code> <code>runat</code><code>=</code><code>"server"</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/jquery-checkbox.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>> </code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/date.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/jquery-checkbox.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/jQuery.Select.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/jquery.easyListSplitter.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/Business/UserAdmin.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>src</code><code>=</code><code>"../Scripts/easyui/plugins/jquery.linkbutton.js"</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>/></code>
<code></</code><code>asp:Content</code><code>></code>
<code><</code><code>asp:Content</code> <code>ID</code><code>=</code><code>"Content1"</code> <code>runat</code><code>=</code><code>"server"</code> <code>contentplaceholderid</code><code>=</code><code>"ContentPlaceHolder1"</code><code>></code>
<code> </code><code><</code><code>div</code> <code>class</code><code>=</code><code>"toolbar"</code><code>><%=base.BuildToolBarButtons() %></</code><code>div</code><code>></code>
<code> </code><code><</code><code>table</code> <code>id</code><code>=</code><code>"list"</code> <code>class</code><code>=</code><code>"scroll"</code> <code>cellpadding</code><code>=</code><code>"0"</code> <code>cellspacing</code><code>=</code><code>"0"</code><code>></</code><code>table</code><code>> </code>
<code> </code><code><</code><code>div</code> <code>id</code><code>=</code><code>"w"</code><code>></</code><code>div</code><code>></code>
<code> </code><code><</code><code>div</code> <code>id</code><code>=</code><code>"d"</code><code>></</code><code>div</code><code>></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></code>
<code> </code><code>var curUserinfo = { "id": <%=base.UserInfo.Id %>, "name": '<%=base.UserInfo.RealName %>', "username": '<%=base.UserInfo.UserName %>' }; </code>
<code> </code><code>var varPermission = { "varPermissionAdd": '<%=permissionAdd %>', "varPermissionEdit": '<%=permissionEdit %>', "varPermissionDelete": '<%=permissionDelete %>' };</code>
<code> </code><code>$(function () {</code>
<code> </code><code>$('#a1').linkbutton('disable');</code>
<code> </code><code>});</code>
<code> </code><code></</code><code>script</code><code>></code>
綁定目前登入使用者所擁有的功能按鈕清單代碼如下:
24
25
26
27
28
<code>/// <summary></code>
<code>/// 獲得權限</code>
<code>/// </summary></code>
<code>private</code> <code>void</code> <code>GetPermission()</code>
<code>{</code>
<code> </code><code>this</code><code>.permissionAdd = </code><code>this</code><code>.IsAuthorized(</code><code>"UserManagement.Add"</code><code>);</code>
<code> </code><code>this</code><code>.permissionEdit = </code><code>this</code><code>.IsAuthorized(</code><code>"UserManagement.Edit"</code><code>);</code>
<code> </code><code>this</code><code>.permissionSetPassword = </code><code>this</code><code>.IsAuthorized(</code><code>"UserManagement.SetUserPassword"</code><code>);</code>
<code> </code><code>this</code><code>.permissionDelete = </code><code>this</code><code>.IsAuthorized(</code><code>"UserManagement.Delete"</code><code>);</code>
<code>}</code>
<code>/// 綁定頁面功能按鈕清單</code>
<code>public</code> <code>override</code> <code>string</code> <code>BuildToolBarButtons()</code>
<code> </code><code>StringBuilder sb = </code><code>new</code> <code>StringBuilder();</code>
<code> </code><code>string</code> <code>linkbtn_template = </code><code>"<a id=\"a_{0}\" class=\"easyui-linkbutton\" style=\"float:left\" plain=\"true\" href=\"javascript:;\" icon=\"{1}\" {2} title=\"{3}\">{4}</a>"</code><code>;</code>
<code> </code><code>sb.Append(</code><code>"<a id=\"a_refresh\" class=\"easyui-linkbutton\" style=\"float:left\" plain=\"true\" href=\"javascript:;\" icon=\"icon-reload\" title=\"重新加載\">重新整理</a> "</code><code>);</code>
<code> </code><code>sb.Append(</code><code>"<div class='datagrid-btn-separator'></div> "</code><code>);</code>
<code> </code><code>sb.Append(</code><code>string</code><code>.Format(linkbtn_template, </code><code>"add"</code><code>, </code><code>"icon-user_add"</code><code>, permissionAdd ? </code><code>""</code> <code>: </code><code>"disabled=\"True\""</code><code>, </code><code>"添加使用者"</code><code>, </code><code>"添加"</code><code>));</code>
<code> </code><code>sb.Append(</code><code>string</code><code>.Format(linkbtn_template, </code><code>"edit"</code><code>, </code><code>"icon-user_edit"</code><code>, permissionEdit ? </code><code>""</code> <code>: </code><code>"disabled=\"True\""</code><code>, </code><code>"修改使用者"</code><code>, </code><code>"修改"</code><code>));</code>
<code> </code><code>sb.Append(</code><code>string</code><code>.Format(linkbtn_template, </code><code>"delete"</code><code>, </code><code>"icon-user_delete"</code><code>, permissionDelete ? </code><code>""</code> <code>: </code><code>"disabled=\"True\""</code><code>, </code><code>"删除使用者"</code><code>, </code><code>"删除"</code><code>));</code>
<code> </code><code>sb.Append(</code><code>string</code><code>.Format(linkbtn_template, </code><code>"editpassword"</code><code>, </code><code>"icon-user_key"</code><code>, permissionSetPassword ? </code><code>""</code> <code>: </code><code>"disabled=\"True\""</code><code>, </code><code>"設定選中使用者密碼"</code><code>, </code><code>"設定密碼"</code><code>));</code>
<code> </code><code>sb.Append(</code><code>string</code><code>.Format(linkbtn_template, </code><code>"export"</code><code>, </code><code>"icon-user_go"</code><code>, permissionExport ? </code><code>""</code> <code>: </code><code>"disabled=\"True\""</code><code>, </code><code>"導出使用者資料"</code><code>, </code><code>"導出"</code><code>));</code>
<code> </code><code>return</code> <code>sb.ToString();</code>
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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<code>$(</code><code>function</code> <code>() {</code>
<code> </code><code>grid.bind();</code>
<code> </code><code>AddUser(); </code><code>//添加使用者</code>
<code> </code><code>EditUser(); </code><code>//編輯使用者</code>
<code> </code><code>DeleteUser(); </code><code>//删除使用者</code>
<code> </code><code>SetUserPassword(); </code><code>//設定使用者密碼</code>
<code> </code><code>$(</code><code>'#a_refresh'</code><code>).click(</code><code>function</code> <code>() {</code>
<code> </code><code>$(</code><code>'#list'</code><code>).datagrid(</code><code>'reload'</code><code>);</code>
<code> </code><code>});</code>
<code>});</code>
<code>/* 方法一綁定資料</code>
<code>var initList = function () {</code>
<code> </code><code>var winSize = { width: $(window).width() - 4, height: $(window).height() - 40 };</code>
<code> </code><code>$('#list').datagrid({</code>
<code> </code><code>url: "handler/UserAdminHandler.ashx",</code>
<code> </code><code>title: "系統使用者清單",</code>
<code> </code><code>iconCls: 'icon icon-list',</code>
<code> </code><code>width: winSize.width,</code>
<code> </code><code>height: winSize.height,</code>
<code> </code><code>nowrap: false, //折行</code>
<code> </code><code>rownumbers: true, //行号</code>
<code> </code><code>striped: true, //隔行變色</code>
<code> </code><code>idField: 'Id', //主鍵</code>
<code> </code><code>singleSelect: true, //單選</code>
<code> </code><code>checkOnSelect: true,</code>
<code> </code><code>frozenColumns: [[]],</code>
<code> </code><code>columns: [[</code>
<code> </code><code>{ title: '主鍵', field: 'Id', hidden: true },</code>
<code> </code><code>{ title: '編号', field: 'Code', width: 150 },</code>
<code> </code><code>{ title: '登入名', field: 'UserName', width: 150, sortable: true },</code>
<code> </code><code>{ title: '使用者名', field: 'RealName', width: 150 },</code>
<code> </code><code>{ title: '部門', field: 'DepartmentName', width: 150 },</code>
<code> </code><code>{ title: '角色主鍵', field: 'RoleId', hidden: true },</code>
<code> </code><code>{ title: '有效', field: 'Enabled', width: 50, formatter: imgcheckbox },</code>
<code> </code><code>{ title: '郵箱位址', field: 'Email', width: 150 },</code>
<code> </code><code>{ title: '手機号碼', field: 'Mobile', width: 150 },</code>
<code> </code><code>{ title: '描述', field: 'Description', width: 200 }</code>
<code> </code><code>]]</code>
<code>*/</code>
<code>var</code> <code>grid = {</code>
<code> </code><code>bind: </code><code>function</code> <code>() {</code>
<code> </code><code>var</code> <code>winSize = { width: $(window).width() - 4, height: $(window).height() - 40 };</code>
<code> </code><code>$(</code><code>'#list'</code><code>).datagrid({</code>
<code> </code><code>url: </code><code>"handler/UserAdminHandler.ashx"</code><code>,</code>
<code> </code><code>title: </code><code>"系統使用者清單"</code><code>,</code>
<code> </code><code>iconCls: </code><code>'icon icon-list'</code><code>,</code>
<code> </code><code>width: winSize.width,</code>
<code> </code><code>height: winSize.height,</code>
<code> </code><code>nowrap: </code><code>true</code><code>, </code><code>//false:折行</code>
<code> </code><code>rownumbers: </code><code>true</code><code>, </code><code>//行号</code>
<code> </code><code>striped: </code><code>true</code><code>, </code><code>//隔行變色</code>
<code> </code><code>idField: </code><code>'Id'</code><code>, </code><code>//主鍵</code>
<code> </code><code>singleSelect: </code><code>true</code><code>, </code><code>//單選</code>
<code> </code><code>checkOnSelect: </code><code>true</code><code>,</code>
<code> </code><code>//frozenColumns: [[]],</code>
<code> </code><code>columns: [[</code>
<code> </code><code>{ title: </code><code>'主鍵'</code><code>, field: </code><code>'Id'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'編号'</code><code>, field: </code><code>'Code'</code><code>, width: 150 },</code>
<code> </code><code>{ title: </code><code>'登入名'</code><code>, field: </code><code>'UserName'</code><code>, width: 150, sortable: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'使用者名'</code><code>, field: </code><code>'RealName'</code><code>, width: 150 },</code>
<code> </code><code>{ title: </code><code>'部門'</code><code>, field: </code><code>'DepartmentName'</code><code>, width: 150 },</code>
<code> </code><code>{ title: </code><code>'角色主鍵'</code><code>, field: </code><code>'RoleId'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'有效'</code><code>, field: </code><code>'Enabled'</code><code>, width: 50, formatter: imgcheckbox },</code>
<code> </code><code>{ title: </code><code>'郵箱位址'</code><code>, field: </code><code>'Email'</code><code>, width: 150 },</code>
<code> </code><code>{ title: </code><code>'手機号碼'</code><code>, field: </code><code>'Mobile'</code><code>, width: 150 },</code>
<code> </code><code>{ title: </code><code>'描述'</code><code>, field: </code><code>'Description'</code><code>, width: 200 },</code>
<code> </code><code>{ title: </code><code>'Enabled'</code><code>, field: </code><code>'Enabled'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'Gender'</code><code>, field: </code><code>'Gender'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'UserPassword'</code><code>, field: </code><code>'UserPassword'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'Birthday'</code><code>, field: </code><code>'Birthday'</code><code>, formatter: date2str, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'Telephone'</code><code>, field: </code><code>'Telephone'</code><code>, width: 200, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'Duty'</code><code>, field: </code><code>'Duty'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'QICQ'</code><code>, field: </code><code>'QICQ'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'Title'</code><code>, field: </code><code>'Title'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'RoleId'</code><code>, field: </code><code>'RoleId'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'CompanyId'</code><code>, field: </code><code>'CompanyId'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'CompanyName'</code><code>, field: </code><code>'CompanyName'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'DepartmentId'</code><code>, field: </code><code>'DepartmentId'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'DepartmentName'</code><code>, field: </code><code>'DepartmentName'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'WorkgroupId'</code><code>, field: </code><code>'WorkgroupId'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'WorkgroupName'</code><code>, field: </code><code>'WorkgroupName'</code><code>, hidden: </code><code>true</code> <code>},</code>
<code> </code><code>{ title: </code><code>'HomeAddress'</code><code>, field: </code><code>'HomeAddress'</code><code>, hidden: </code><code>true</code> <code>}</code>
<code> </code><code>]]</code>
<code> </code><code>});</code>
<code> </code><code>},</code>
<code> </code><code>getSelectedRow: </code><code>function</code> <code>() {</code>
<code> </code><code>return</code> <code>$(</code><code>'#list'</code><code>).datagrid(</code><code>'getSelected'</code><code>);</code>
<code> </code><code>}</code>
<code>var</code> <code>imgcheckbox = </code><code>function</code> <code>(cellvalue, options, rowObject) {</code>
<code> </code><code>return</code> <code>cellvalue ? </code><code>'<img src="/css/icon/ok.png" alt="正常" title="正常" />'</code> <code>: </code><code>'<img src="/css/icon/stop.png" alt="禁用" title="禁用" />'</code><code>;</code>
<code>var</code> <code>date2str = </code><code>function</code> <code>(cellvalue, options, rowObject) {</code>
<code> </code><code>if</code> <code>(cellvalue)</code>
<code> </code><code>return</code> <code>$D(cellvalue).strftime(</code><code>"%Y-%m-%d"</code><code>);</code>
<code> </code><code>else</code>
<code> </code><code>return</code> <code>''</code><code>;</code>
<code>var</code> <code>initUIform = </code><code>function</code> <code>() {</code>
<code> </code><code>top.$(</code><code>'#w'</code><code>).hWindow({ html: pform, width: 640, height: 520, title: </code><code>'添加使用者'</code><code>, iconCls: </code><code>'icon-add'</code><code>, submit: </code><code>function</code> <code>() {</code>
<code> </code><code>var</code> <code>flag = </code><code>true</code><code>;</code>
<code> </code><code>top.$(</code><code>'#uiform input'</code><code>).each(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>($(</code><code>this</code><code>).attr(</code><code>'required'</code><code>) || $(</code><code>this</code><code>).attr(</code><code>'validType'</code><code>)) {</code>
<code> </code><code>if</code> <code>(!top.$(</code><code>this</code><code>).validatebox(</code><code>'isValid'</code><code>)) {</code>
<code> </code><code>flag = </code><code>false</code><code>;</code>
<code> </code><code>return</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>var</code> <code>vRoleId = top.$(</code><code>'#txtRoleId'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vCompanyId = top.$(</code><code>'#txtCompanyName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vDepartmentId = top.$(</code><code>'#txtDepartmentName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vWorkgroupId = top.$(</code><code>'#txtWorkgroupName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vCompanyName = top.$(</code><code>'#txtCompanyName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>vDepartmentName = top.$(</code><code>'#txtDepartmentName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>vWorkgroupName = top.$(</code><code>'#txtWorkgroupName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>queryString = top.$(</code><code>'#uiform'</code><code>).serialize() + </code><code>'&action=add'</code><code>;</code>
<code> </code><code>queryString = queryString + </code><code>'&vRoleId='</code> <code>+ vRoleId + </code><code>'&vCompanyId='</code> <code>+ vCompanyId + </code><code>'&vDepartmentId='</code> <code>+ vDepartmentId + </code><code>'&vWorkgroupId='</code> <code>+ vWorkgroupId;</code>
<code> </code><code>queryString = queryString + </code><code>'&vCompanyName='</code> <code>+ vCompanyName + </code><code>'&vDepartmentName='</code> <code>+ vDepartmentName + </code><code>'&vWorkgroupName='</code> <code>+ vWorkgroupName;</code>
<code> </code><code>$.ajaxtext(</code><code>'handler/UserAdminHandler.ashx'</code><code>, queryString, </code><code>function</code> <code>(msg) {</code>
<code> </code><code>if</code> <code>(msg == </code><code>"1"</code><code>) {</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'添加成功.'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'message'</code> <code>});</code>
<code> </code><code>top.$(</code><code>'#w'</code><code>).window(</code><code>'close'</code><code>);</code>
<code> </code><code>$(</code><code>'#list'</code><code>).datagrid(</code><code>'reload'</code><code>);</code>
<code> </code><code>else</code> <code>if</code> <code>(msg == </code><code>"0"</code><code>) {</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'使用者名已存,請更換使用者名.'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'warning'</code> <code>});</code>
<code> </code><code>top.$(</code><code>'#txtUsername'</code><code>).select();</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code> </code><code>else</code> <code>{</code>
<code> </code><code>alert(msg);</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code> </code><code>top.$(</code><code>'#uiform input'</code><code>).each(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>($(</code><code>this</code><code>).attr(</code><code>'required'</code><code>) || $(</code><code>this</code><code>).attr(</code><code>'validType'</code><code>))</code>
<code> </code><code>top.$(</code><code>this</code><code>).validatebox();</code>
<code> </code><code>top.$(</code><code>'#txtBirthday'</code><code>).datebox();</code>
<code>//添加使用者</code>
<code>var</code> <code>AddUser = </code><code>function</code> <code>() {</code>
<code> </code><code>$(</code><code>'#a_add'</code><code>).click(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>($(</code><code>this</code><code>).linkbutton(</code><code>'options'</code><code>).disabled == </code><code>true</code><code>) {</code>
<code> </code><code>return</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>initUIform();</code>
<code> </code><code>//綁定各資料字典</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtGender'</code><code>, </code><code>'Gender'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtRoleId'</code><code>, </code><code>'null'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtCompanyName'</code><code>, </code><code>'Company'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtDepartmentName'</code><code>, </code><code>'Department'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtWorkgroupName'</code><code>, </code><code>'Workgroup'</code><code>);</code>
<code> </code><code>top.$(</code><code>'#chkEnabled'</code><code>).attr(</code><code>"checked"</code><code>, </code><code>true</code><code>);</code>
<code> </code><code>top.$(</code><code>'#txtUserName'</code><code>).focus();</code>
<code> </code><code>top.$(</code><code>'#txtDescription'</code><code>).val(</code><code>""</code><code>);</code>
<code>//修改使用者</code>
<code>var</code> <code>EditUser = </code><code>function</code> <code>() {</code>
<code> </code><code>$(</code><code>'#a_edit'</code><code>).click(</code><code>function</code> <code>() {</code>
<code> </code><code>var</code> <code>selectRow = grid.getSelectedRow();</code>
<code> </code><code>if</code> <code>(selectRow != </code><code>null</code><code>) {</code>
<code> </code><code>if</code> <code>(selectRow.UserName != </code><code>''</code> <code>&& selectRow.UserName == </code><code>'Administrator'</code> <code>&& curUserinfo.username != </code><code>'Administrator'</code><code>) {</code>
<code> </code><code>$.messager.alert(</code><code>'警告提示'</code><code>, </code><code>'你不能修改超級管理者使用者!'</code><code>, </code><code>'warning'</code><code>);</code>
<code> </code><code>//彈窗</code>
<code> </code><code>top.$(</code><code>'#w'</code><code>).hWindow({ html: pform, width: 640, height: 520, title: </code><code>'修改使用者'</code><code>, iconCls: </code><code>'icon-edit'</code><code>, submit: </code><code>function</code> <code>() {</code>
<code> </code><code>var</code> <code>flag = </code><code>true</code><code>;</code>
<code> </code><code>top.$(</code><code>'#uiform input'</code><code>).each(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>($(</code><code>this</code><code>).attr(</code><code>'required'</code><code>) || $(</code><code>this</code><code>).attr(</code><code>'validType'</code><code>)) {</code>
<code> </code><code>if</code> <code>(!top.$(</code><code>this</code><code>).validatebox(</code><code>'isValid'</code><code>)) {</code>
<code> </code><code>flag = </code><code>false</code><code>;</code>
<code> </code><code>return</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>});</code>
<code> </code><code>var</code> <code>vRoleId = top.$(</code><code>'#txtRoleId'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vCompanyId = top.$(</code><code>'#txtCompanyName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vDepartmentId = top.$(</code><code>'#txtDepartmentName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vWorkgroupId = top.$(</code><code>'#txtWorkgroupName'</code><code>).combobox(</code><code>'getValue'</code><code>);</code>
<code> </code><code>var</code> <code>vCompanyName = top.$(</code><code>'#txtCompanyName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>vDepartmentName = top.$(</code><code>'#txtDepartmentName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>vWorkgroupName = top.$(</code><code>'#txtWorkgroupName'</code><code>).combobox(</code><code>'getText'</code><code>);</code>
<code> </code><code>var</code> <code>queryString = top.$(</code><code>'#uiform'</code><code>).serialize() + </code><code>'&action=edit&id='</code> <code>+ selectRow.Id;</code>
<code> </code><code>queryString = queryString + </code><code>'&vRoleId='</code> <code>+ vRoleId + </code><code>'&vCompanyId='</code> <code>+ vCompanyId + </code><code>'&vDepartmentId='</code> <code>+ vDepartmentId + </code><code>'&vWorkgroupId='</code> <code>+ vWorkgroupId;</code>
<code> </code><code>queryString = queryString + </code><code>'&vCompanyName='</code> <code>+ vCompanyName + </code><code>'&vDepartmentName='</code> <code>+ vDepartmentName + </code><code>'&vWorkgroupName='</code> <code>+ vWorkgroupName;</code>
<code> </code><code>$.ajaxtext(</code><code>'handler/UserAdminHandler.ashx'</code><code>, queryString, </code><code>function</code> <code>(msg) {</code>
<code> </code><code>if</code> <code>(msg == </code><code>"1"</code><code>) {</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'修改成功.'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'message'</code> <code>});</code>
<code> </code><code>top.$(</code><code>'#w'</code><code>).window(</code><code>'close'</code><code>);</code>
<code> </code><code>$(</code><code>'#list'</code><code>).datagrid(</code><code>'reload'</code><code>);</code>
<code> </code><code>else</code>
<code> </code><code>alert(msg);</code>
<code> </code>
<code> </code><code>});</code>
<code> </code><code>top.$(</code><code>'#uiform input'</code><code>).each(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>($(</code><code>this</code><code>).attr(</code><code>'required'</code><code>) || $(</code><code>this</code><code>).attr(</code><code>'validType'</code><code>))</code>
<code> </code><code>top.$(</code><code>this</code><code>).validatebox();</code>
<code> </code><code>//綁定各資料字典</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtGender'</code><code>, </code><code>'Gender'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtRoleId'</code><code>, </code><code>'null'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtCompanyName'</code><code>, </code><code>'Company'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtDepartmentName'</code><code>, </code><code>'Department'</code><code>);</code>
<code> </code><code>pubMethod.bindCategory(</code><code>'txtWorkgroupName'</code><code>, </code><code>'Workgroup'</code><code>);</code>
<code> </code><code>//初始化相關資料</code>
<code> </code><code>top.$(</code><code>'#txtUserName'</code><code>).val(selectRow.UserName);</code>
<code> </code><code>top.$(</code><code>'#txtRealName'</code><code>).val(selectRow.RealName);</code>
<code> </code><code>top.$(</code><code>'#txtCode'</code><code>).val(selectRow.Code);</code>
<code> </code><code>top.$(</code><code>'#txtUserPassword'</code><code>).after(</code><code>'******'</code><code>).remove();</code>
<code> </code><code>top.$(</code><code>'#txtGender'</code><code>).combobox(</code><code>'setValue'</code><code>, selectRow.Gender);</code>
<code> </code><code>top.$(</code><code>'#txtMobile'</code><code>).val(selectRow.Mobile);</code>
<code> </code><code>top.$(</code><code>'#txtBirthday'</code><code>).val(selectRow.Birthday);</code>
<code> </code><code>top.$(</code><code>'#txtTelephone'</code><code>).val(selectRow.Telephone);</code>
<code> </code><code>top.$(</code><code>'#txtDuty'</code><code>).val(selectRow.Duty);</code>
<code> </code><code>top.$(</code><code>'#txtQICQ'</code><code>).val(selectRow.QICQ);</code>
<code> </code><code>top.$(</code><code>'#txtTitle'</code><code>).val(selectRow.Title);</code>
<code> </code><code>top.$(</code><code>'#txtEmail'</code><code>).val(selectRow.Email);</code>
<code> </code><code>top.$(</code><code>'#txtRoleId'</code><code>).combobox(</code><code>'setValue'</code><code>, selectRow.RoleId);</code>
<code> </code><code>top.$(</code><code>'#txtCompanyName'</code><code>).combobox(</code><code>'setValue'</code><code>, selectRow.CompanyId);</code>
<code> </code><code>top.$(</code><code>'#txtDepartmentName'</code><code>).combobox(</code><code>'setValue'</code><code>, selectRow.DepartmentId);</code>
<code> </code><code>top.$(</code><code>'#txtWorkgroupName'</code><code>).combobox(</code><code>'setValue'</code><code>, selectRow.WorkgroupId);</code>
<code> </code><code>top.$(</code><code>'#txtHomeAddress'</code><code>).val(selectRow.HomeAddress);</code>
<code> </code><code>top.$(</code><code>'#txtDescription'</code><code>).val(selectRow.Description);</code>
<code> </code><code>top.$(</code><code>'#chkEnabled'</code><code>).attr(</code><code>"checked"</code><code>, selectRow.Enabled == </code><code>"1"</code><code>);</code>
<code> </code><code>} </code><code>else</code> <code>{</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'請選擇要修改的使用者.'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'warning'</code> <code>});</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code>//删除使用者</code>
<code>var</code> <code>DeleteUser = </code><code>function</code> <code>() {</code>
<code> </code><code>$(</code><code>'#a_delete'</code><code>).click(</code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>(selectRow) {</code>
<code> </code><code>if</code> <code>(selectRow.Id != </code><code>''</code> <code>&& selectRow.Id == curUserinfo.id) {</code>
<code> </code><code>$.messager.alert(</code><code>'警告提示'</code><code>, </code><code>'不能删除目前登入使用者!'</code><code>, </code><code>'warning'</code><code>);</code>
<code> </code><code>if</code><code>(selectRow.UserName != </code><code>''</code> <code>&& selectRow.UserName == </code><code>'Administrator'</code><code>)</code>
<code> </code><code>{</code>
<code> </code><code>$.messager.alert(</code><code>'警告提示'</code><code>, </code><code>'不能删除超級管理者使用者!'</code><code>, </code><code>'warning'</code><code>);</code>
<code> </code><code>$.messager.confirm(</code><code>'詢問提示'</code><code>, </code><code>'确認要删除所選使用者嗎?'</code><code>, </code><code>function</code> <code>(data) {</code>
<code> </code><code>if</code> <code>(data) { </code>
<code> </code><code>$.ajaxtext(</code><code>'handler/UserAdminHandler.ashx'</code><code>, </code><code>'action=delete&id='</code> <code>+ selectRow.Id, </code><code>function</code> <code>(msg) {</code>
<code> </code><code>if</code> <code>(msg == </code><code>'1'</code><code>) {</code>
<code> </code><code>$.messager.alert(</code><code>'成功提示'</code><code>, </code><code>'所選使用者删除成功!'</code><code>);</code>
<code> </code><code>$(</code><code>'#list'</code><code>).datagrid(</code><code>'reload'</code><code>);</code>
<code> </code><code>} </code><code>else</code> <code>{</code>
<code> </code><code>$.messager.alert(</code><code>'錯誤提示'</code><code>, msg, </code><code>'error'</code><code>);</code>
<code> </code><code>});</code>
<code> </code><code>else</code> <code>{</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'請選擇要删除的使用者。'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'warning'</code> <code>});</code>
<code>//設定使用者密碼</code>
<code>var</code> <code>SetUserPassword = </code><code>function</code> <code>() {</code>
<code> </code><code>$(</code><code>'#a_editpassword'</code><code>).click(</code><code>function</code> <code>() {</code>
<code> </code><code>top.$(</code><code>'#d'</code><code>).hDialog({ width: 300, height: 160, title: </code><code>'設定使用者密碼'</code><code>, iconCls: </code><code>'icon-key'</code><code>, html: formeditpass, submit: </code><code>function</code> <code>() {</code>
<code> </code><code>if</code> <code>(top.$(</code><code>'#txtNewPassword'</code><code>).validatebox(</code><code>'isValid'</code><code>)) {</code>
<code> </code><code>$.ajaxtext(</code><code>'handler/UserAdminHandler.ashx'</code><code>, </code><code>"action=setpassword&id="</code> <code>+ selectRow.Id + </code><code>'&password='</code> <code>+ top.$(</code><code>'#txtNewPassword'</code><code>).val(), </code><code>function</code> <code>(msg) {</code>
<code> </code><code>if</code> <code>(msg == </code><code>"1"</code><code>) {</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'密碼修改成功!請牢記新密碼。'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'warning'</code> <code>});</code>
<code> </code><code>top.$(</code><code>'#d'</code><code>).dialog(</code><code>'close'</code><code>);</code>
<code> </code><code>} </code><code>else</code>
<code> </code><code>alert(msg);</code>
<code> </code><code>})</code>
<code> </code><code>top.$(</code><code>'#loginname'</code><code>).text(selectRow.UserName + </code><code>' | '</code> <code>+ selectRow.RealName);</code>
<code> </code><code>top.$(</code><code>'#txtNewPassword'</code><code>).validatebox();</code>
<code> </code><code>top.$(</code><code>'#notity'</code><code>).jnotifyAddMessage({ text: </code><code>'請選擇要修改密碼的使用者。'</code><code>, permanent: </code><code>false</code><code>, type: </code><code>'warning'</code> <code>});</code>
<code>//公共方法</code>
<code>var</code> <code>pubMethod = {</code>
<code> </code><code>bindCategory: </code><code>function</code> <code>(categoryControl, categoryCode) {</code>
<code> </code><code>if</code> <code>(categoryControl == </code><code>''</code> <code>|| categoryCode == </code><code>''</code><code>) {</code>
<code> </code><code>if</code> <code>(categoryControl == </code><code>'txtGender'</code><code>) {</code>
<code> </code><code>top.$(</code><code>'#'</code> <code>+ categoryControl).combobox({</code>
<code> </code><code>url: </code><code>'Modules/handler/DataItemAdminHandler.ashx?action=GetCategory&categorycode='</code> <code>+ categoryCode,</code>
<code> </code><code>method: </code><code>'get'</code><code>,</code>
<code> </code><code>valueField: </code><code>'ItemValue'</code><code>,</code>
<code> </code><code>textField: </code><code>'ItemName'</code><code>,</code>
<code> </code><code>editable: </code><code>false</code><code>,</code>
<code> </code><code>panelHeight: </code><code>'auto'</code>
<code> </code><code>if</code> <code>(categoryControl == </code><code>'txtRoleId'</code><code>) {</code>
<code> </code><code>url: </code><code>'Modules/handler/RoleAdminHandler.ashx?action=GetEnabledRoleList'</code><code>,</code>
<code> </code><code>valueField: </code><code>'Id'</code><code>,</code>
<code> </code><code>textField: </code><code>'RealName'</code><code>,</code>
<code> </code><code>if</code> <code>(categoryControl == </code><code>'txtCompanyName'</code> <code>|| categoryControl == </code><code>'txtDepartmentName'</code> <code>|| categoryControl == </code><code>'txtWorkgroupName'</code><code>) {</code>
<code> </code><code>url: </code><code>'Modules/handler/OrganizeAdminHander.ashx?action=GetOrganizeByCategory&OrganizeCategory='</code> <code>+ categoryCode,</code>
<code> </code><code>textField: </code><code>'FullName'</code><code>,</code>
<code>var</code> <code>pform = </code><code>'<form id="uiform"><table cellpadding=5 cellspacing=0 width=100% align="center" class="grid2" border=0><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'登入使用者名:</td><td><input name="UserName" id="txtUserName" validType="length[2,40]" required="true" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'姓名:</td><td><input name="RealName" id="txtRealName" validType="length[2,40]" required="true" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'編号:</td><td><input name="Code" id="txtCode" validType="length[2,40]" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'使用者密碼:</td><td><input validType="safepass" required="true" name="UserPassword" id="txtUserPassword" type="password" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'性别:</td><td><input name="Gender" id="txtGender" required="true" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'手機号碼:</td><td><input name="Mobile" id="txtMobile" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'出生日期:</td><td><input name="Birthday" id="txtBirthday" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'固定電話:</td><td><input name="Telephone" id="txtTelephone" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'崗位:</td><td><input name="Duty" id="txtDuty" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'QQ号碼:</td><td><input name="QICQ" id="txtQICQ" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'職稱:</td><td><input name="Title" id="txtTitle" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'郵箱位址:</td><td><input name="Email" id="txtEmail" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'預設角色:</td><td><input name="RoleId" id="txtRoleId" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'公司名稱:</td><td><input name="CompanyName" id="txtCompanyName" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'部門名稱:</td><td><input name="DepartmentName" id="txtDepartmentName" type="text" class="txt03" ></td><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'工作組:</td><td><input name="WorkgroupName" id="txtWorkgroupName" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'家庭位址:</td><td colspan="3"><input name="HomeAddress" style="width:470px;" id="txtHomeAddress" type="text" class="txt03" ></td></tr><tr><td align="right">'</code><code>;</code>
<code> </code><code>pform += </code><code>'有效性:</td><td colspan="3"><input id="chkEnabled" type="checkbox" name="Enabled" /><label>有效</label>&nbsp;&nbsp;<span style="color:#666;padding-left:20px;">注:使用者無效(禁用該使用者)後,該使用者将不能登入。</span></td></tr><tr><td align="right"> '</code><code>;</code>
<code> </code><code>pform += </code><code>'描述:</td><td colspan =3><textarea id="txtDescription" name="Description" rows="3" style="width:470px;height:50px;" class="txt03"></td></tr></table></form>'</code><code>;</code>
<code>var</code> <code>formeditpass = </code><code>'<table class="grid" id="epform">'</code><code>;</code>
<code> </code><code>formeditpass += </code><code>'<tr><td>登入名:</td><td><span id="loginname"></span></td></tr>'</code><code>;</code>
<code> </code><code>formeditpass += </code><code>'<tr><td>新密碼:</td><td><input validType="safepass" required="true" id="txtNewPassword" name="password" type="password" class="txt03" /></td></tr>'</code><code>;</code>
<code> </code><code>formeditpass += </code><code>'</table>'</code><code>;</code>
添加使用者界面如下:
修改使用者界面如下:
設定使用者密碼:
使用者管理一般處理程式:
本文轉自yonghu86 51CTO部落格,原文連結:http://blog.51cto.com/yonghu/1321304,如需轉載請自行聯系原作者