duty.js
上传用户:ouhalaa
上传日期:2016-03-17
资源大小:10210k
文件大小:5k
源码类别:

Web服务器

开发平台:

Java

  1. // 职务管理
  2. var Duty = Ext.data.Record.create([{
  3. name : 'dutyId',
  4. mapping : 'dutyId',
  5. type : 'int'
  6. }, {
  7. name : 'dutyName',
  8. mapping : 'dutyName',
  9. type : 'string'
  10. }, {
  11. name : 'remark',
  12. mapping : 'remark',
  13. type : 'string'
  14. }]);
  15. var cm_duty = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
  16. header : '职务名称',
  17. sortable : true,
  18. menuDisabled : true,
  19. width : 90,
  20. dataIndex : 'dutyName',
  21. editor : new Ext.form.TextField({
  22. allowBlank : false,
  23. maxLength : 20
  24. })
  25. }, {
  26. header : '备注',
  27. id : 'remark',
  28. dataIndex : 'remark',
  29. menuDisabled : true,
  30. editor : new Ext.form.TextField({
  31. maxLength : 100
  32. })
  33. }]);
  34. cm_duty.defaultSortable = false;
  35. var window_add_duty = new Ext.Window({
  36. title : '添加职务',
  37. width : 350,
  38. height : 440,
  39. resizable : false,
  40. autoHeight : true,
  41. modal : true,
  42. closeAction : 'hide',
  43. listeners : {
  44. 'hide' : function() {
  45. this.setTitle('添加职务');
  46. this.findById('duty.dutyName').ownerCt.form.reset();
  47. }
  48. },
  49. items : [new Ext.FormPanel({
  50. labelWidth : 70,
  51. labelAlign : 'right',
  52. url : 'saveDuty.action',
  53. border : false,
  54. baseCls : 'x-plain',
  55. bodyStyle : 'padding:5px 5px 0',
  56. anchor : '100%',
  57. defaults : {
  58. width : 233,
  59. msgTarget : 'side' // 验证信息显示右边
  60. },
  61. defaultType : 'textfield',
  62. items : [{
  63. fieldLabel : '职务名称',
  64. id : 'duty.dutyName',
  65. name : 'duty.dutyName',
  66. allowBlank : false,
  67. maxLength : 20
  68. }, {
  69. fieldLabel : '备注',
  70. name : 'duty.remark',
  71. xtype : 'textarea',
  72. maxLength : 100
  73. }],
  74. buttonAlign : 'right',
  75. minButtonWidth : 60,
  76. buttons : [{
  77. text : '添加',
  78. handler : function(btn) {
  79. var frm = this.ownerCt.form;
  80. if (frm.isValid()) {
  81. btn.disable();
  82. var cnfield = frm.findField('duty.dutyName');
  83. frm.submit({
  84. waitTitle : '请稍候',
  85. waitMsg : '正在提交表单数据,请稍候...',
  86. success : function(form, action) {
  87. var store = grid_duty.getStore();
  88. var duty = new Duty({
  89. dutyId : action.result.dutyId,
  90. dutyName : cnfield.getValue(),
  91. remark : form.findField('duty.remark').getValue()
  92. });
  93. store.insert(0, [duty]);
  94. window_add_duty.setTitle('[ ' + cnfield.getValue() + ' ]   添加成功!!');
  95. cnfield.reset();
  96. btn.enable();
  97. },
  98. failure : function() {
  99. Ext.Msg.show({
  100. title : '错误提示',
  101. msg : '"' + cnfield.getValue() + '" ' + '名称可能已经存在!',
  102. buttons : Ext.Msg.OK,
  103. fn : function() {
  104. cnfield.focus(true);
  105. btn.enable();
  106. },
  107. icon : Ext.Msg.ERROR
  108. });
  109. }
  110. });
  111. }
  112. }
  113. }, {
  114. text : '重置',
  115. handler : function() {
  116. this.ownerCt.form.reset();
  117. }
  118. }, {
  119. text : '取消',
  120. handler : function() {
  121. this.ownerCt.ownerCt.hide();
  122. }
  123. }]
  124. })]
  125. });
  126. var btn_add_duty = new Ext.Button({
  127. text : '添加职务',
  128. iconCls : 'icon-add',
  129. handler : function() {
  130. window_add_duty.show();
  131. }
  132. });
  133. var btn_del_duty = new Ext.Button({
  134. text : '删除职务',
  135. iconCls : 'icon-del',
  136. handler : function() {
  137. var record = grid_duty.getSelectionModel().getSelected();
  138. if (record) {
  139. Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
  140. if (btn == 'yes') {
  141. Ext.Ajax.request({
  142. url : 'deleteDuty.action',
  143. params : {
  144. dutyId : record.data.dutyId
  145. },
  146. success : function() {
  147. grid_duty.getStore().remove(record);
  148. },
  149. failure : function() {
  150. Ext.Msg.show({
  151. title : '错误提示',
  152. msg : '删除时发生错误!',
  153. buttons : Ext.Msg.OK,
  154. icon : Ext.Msg.ERROR
  155. });
  156. }
  157. });
  158. }
  159. });
  160. }
  161. }
  162. });
  163. var btn_search_duty = new Ext.Button({
  164. text : '查询',
  165. iconCls : 'icon-search',
  166. handler : function() {
  167. ds_duty.load();
  168. }
  169. });
  170. var ds_duty = new Ext.data.Store({
  171. proxy : new Ext.data.HttpProxy({
  172. url : 'findAllDuty.action'
  173. }),
  174. reader : new Ext.data.JsonReader({
  175. root : 'root'
  176. }, [{
  177. name : 'dutyId',
  178. type : 'int'
  179. }, {
  180. name : 'dutyName',
  181. type : 'string'
  182. }, {
  183. name : 'remark',
  184. type : 'string'
  185. }])
  186. });
  187. var grid_duty = new Ext.grid.EditorGridPanel({
  188. title : '职务管理',
  189. iconCls : 'icon-grid',
  190. loadMask : {
  191. msg : '数据加载中...'
  192. },
  193. region : 'center',
  194. cm : cm_duty,
  195. ds : ds_duty,
  196. sm : new Ext.grid.RowSelectionModel({
  197. singleSelect : true
  198. }),
  199. enableColumnMove : false,
  200. trackMouseOver : false,
  201. frame : true,
  202. autoExpandColumn : 'remark',
  203. clicksToEdit : 1,
  204. tbar : [btn_add_duty, '-', btn_del_duty, '-', btn_search_duty],
  205. listeners : {
  206. 'afteredit' : function(e) {
  207. Ext.Ajax.request({
  208. url : 'updateDuty.action',
  209. params : {
  210. fieldName : e.field,
  211. fieldValue : e.value,
  212. dutyId : e.record.data.dutyId
  213. },
  214. failure : function() {
  215. Ext.Msg.show({
  216. title : '错误提示',
  217. msg : '修改数据发生错误,操作将被回滚!',
  218. fn : function() {
  219. e.record.set(e.field, e.originalValue);
  220. },
  221. buttons : Ext.Msg.OK,
  222. icon : Ext.Msg.ERROR
  223. });
  224. }
  225. });
  226. }
  227. }
  228. });
  229. var p_duty = {
  230. id : 'duty-panel',
  231. border : false,
  232. layout : 'border',
  233. items : [grid_duty]
  234. };