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

Web服务器

开发平台:

Java

  1. // 科目管理
  2. var Subject = Ext.data.Record.create([{
  3. name : 'subjectId',
  4. mapping : 'subjectId',
  5. type : 'int'
  6. }, {
  7. name : 'subjectName',
  8. mapping : 'subjectName',
  9. type : 'string'
  10. }, {
  11. name : 'remark',
  12. mapping : 'remark',
  13. type : 'string'
  14. }]);
  15. var cm_subject = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
  16. header : '科目名称',
  17. sortable : true,
  18. menuDisabled : true,
  19. width : 90,
  20. dataIndex : 'subjectName',
  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_subject.defaultSortable = false;
  35. var window_add_subject = 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('subject.subjectName').ownerCt.form.reset();
  47. }
  48. },
  49. items : [new Ext.FormPanel({
  50. labelWidth : 70,
  51. labelAlign : 'right',
  52. url : 'saveSubject.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 : 'subject.subjectName',
  65. name : 'subject.subjectName',
  66. allowBlank : false,
  67. maxLength : 20
  68. }, {
  69. fieldLabel : '备注',
  70. name : 'subject.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('subject.subjectName');
  83. frm.submit({
  84. waitTitle : '请稍候',
  85. waitMsg : '正在提交表单数据,请稍候...',
  86. success : function(form, action) {
  87. var store = grid_subject.getStore();
  88. var subject = new Subject({
  89. subjectId : action.result.subjectId,
  90. subjectName : cnfield.getValue(),
  91. remark : form.findField('subject.remark').getValue()
  92. });
  93. store.insert(0, [subject]);
  94. window_add_subject.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_subject = new Ext.Button({
  127. text : '添加科目',
  128. iconCls : 'icon-add',
  129. handler : function() {
  130. window_add_subject.show();
  131. }
  132. });
  133. var btn_del_subject = new Ext.Button({
  134. text : '删除科目',
  135. iconCls : 'icon-del',
  136. handler : function() {
  137. var record = grid_subject.getSelectionModel().getSelected();
  138. if (record) {
  139. Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
  140. if (btn == 'yes') {
  141. Ext.Ajax.request({
  142. url : 'deleteSubject.action',
  143. params : {
  144. subjectId : record.data.subjectId
  145. },
  146. success : function() {
  147. grid_subject.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_subject = new Ext.Button({
  164. text : '查询',
  165. iconCls : 'icon-search',
  166. handler : function() {
  167. ds_subject.load();
  168. }
  169. });
  170. var ds_subject = new Ext.data.Store({
  171. proxy : new Ext.data.HttpProxy({
  172. url : 'findAllSubject.action'
  173. }),
  174. reader : new Ext.data.JsonReader({
  175. root : 'root'
  176. }, [{
  177. name : 'subjectId',
  178. type : 'int'
  179. }, {
  180. name : 'subjectName',
  181. type : 'string'
  182. }, {
  183. name : 'remark',
  184. type : 'string'
  185. }])
  186. });
  187. var grid_subject = new Ext.grid.EditorGridPanel({
  188. title : '科目管理',
  189. iconCls : 'icon-grid',
  190. loadMask : {
  191. msg : '数据加载中...'
  192. },
  193. region : 'center',
  194. cm : cm_subject,
  195. ds : ds_subject,
  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_subject, '-', btn_del_subject, '-', btn_search_subject],
  205. listeners : {
  206. 'afteredit' : function(e) {
  207. Ext.Ajax.request({
  208. url : 'updateSubject.action',
  209. params : {
  210. fieldName : e.field,
  211. fieldValue : e.value,
  212. subjectId : e.record.data.subjectId
  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_subject = {
  230. id : 'subject-panel',
  231. border : false,
  232. layout : 'border',
  233. items : [grid_subject]
  234. };