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

Web服务器

开发平台:

Java

  1. var Company = Ext.data.Record.create([{
  2. name : 'companyId',
  3. mapping : 'companyId',
  4. type : 'int'
  5. }, {
  6. name : 'companyName',
  7. mapping : 'companyName',
  8. type : 'string'
  9. }, {
  10. name : 'address',
  11. mapping : 'address',
  12. type : 'string'
  13. }, {
  14. name : 'tellPhone',
  15. mapping : 'tellPhone',
  16. type : 'string'
  17. }, {
  18. name : 'leader',
  19. mapping : 'leader',
  20. type : 'string'
  21. }, {
  22. name : 'mobilePhone',
  23. mapping : 'mobilePhone',
  24. type : 'string'
  25. }, {
  26. name : 'remark',
  27. mapping : 'remark',
  28. type : 'string'
  29. }]);
  30. var cm_company = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
  31. header : '公司名称',
  32. width : 90,
  33. sortable : true,
  34. dataIndex : 'companyName',
  35. editor : new Ext.form.TextField({
  36. allowBlank : false,
  37. maxLength : 50
  38. })
  39. }, {
  40. header : '公司地址',
  41. width : 200,
  42. dataIndex : 'address',
  43. menuDisabled : true,
  44. editor : new Ext.form.TextField({
  45. maxLength : 70
  46. })
  47. }, {
  48. header : '公司电话',
  49. width : 85,
  50. dataIndex : 'tellPhone',
  51. menuDisabled : true,
  52. resizable : false,
  53. editor : new Ext.form.TextField({
  54. maxLength : 20
  55. })
  56. }, {
  57. header : '负责人',
  58. width : 60,
  59. dataIndex : 'leader',
  60. resizable : false,
  61. editor : new Ext.form.TextField({
  62. allowBlank : false,
  63. maxLength : 20
  64. })
  65. }, {
  66. header : '联系电话',
  67. width : 85,
  68. dataIndex : 'mobilePhone',
  69. resizable : false,
  70. menuDisabled : true,
  71. editor : new Ext.form.TextField({
  72. maxLength : 20
  73. })
  74. }, {
  75. header : '备注',
  76. id : 'remark',
  77. dataIndex : 'remark',
  78. menuDisabled : true,
  79. editor : new Ext.form.TextField({
  80. maxLength : 200
  81. })
  82. }]);
  83. cm_company.defaultSortable = false;
  84. var window_add_company = new Ext.Window({
  85. title : '添加分公司',
  86. width : 350,
  87. height : 440,
  88. resizable : false,
  89. autoHeight : true,
  90. modal : true,
  91. closeAction : 'hide',
  92. listeners : {
  93. 'hide' : function() {
  94. this.setTitle('添加分公司');
  95. this.findById('company.companyName').ownerCt.form.reset();
  96. }
  97. },
  98. items : [new Ext.FormPanel({
  99. labelWidth : 70,
  100. labelAlign : 'right',
  101. url : 'saveCompany.action',
  102. border : false,
  103. baseCls : 'x-plain',
  104. bodyStyle : 'padding:5px 5px 0',
  105. anchor : '100%',
  106. defaults : {
  107. width : 233,
  108. msgTarget : 'side' // 验证信息显示右边
  109. },
  110. defaultType : 'textfield',
  111. items : [{
  112. fieldLabel : '公司名称',
  113. id : 'company.companyName',
  114. name : 'company.companyName',
  115. allowBlank : false,
  116. maxLength : 50
  117. }, {
  118. fieldLabel : '公司地址',
  119. name : 'company.address',
  120. maxLength : 70
  121. }, {
  122. fieldLabel : '公司电话',
  123. name : 'company.tellPhone',
  124. maxLength : 20
  125. }, {
  126. fieldLabel : '负责人',
  127. name : 'company.leader',
  128. allowBlank : false,
  129. maxLength : 20
  130. }, {
  131. fieldLabel : '联系电话',
  132. name : 'company.mobilePhone',
  133. maxLength : 20
  134. }, {
  135. fieldLabel : '备注',
  136. name : 'company.remark',
  137. xtype : 'textarea',
  138. maxLength : 200
  139. }],
  140. buttonAlign : 'right',
  141. minButtonWidth : 60,
  142. buttons : [{
  143. text : '添加',
  144. handler : function(btn) {
  145. var frm = this.ownerCt.form;
  146. if (frm.isValid()) {
  147. btn.disable();
  148. var cnfield = frm.findField('company.companyName'); // 获得公司名称输入框
  149. frm.submit({
  150. waitTitle : '请稍候',
  151. waitMsg : '正在提交表单数据,请稍候...',
  152. success : function(form, action) {
  153. var store = grid_company.getStore();
  154. if (store.data.length <= 20) {
  155. var company = new Company({
  156. companyId : action.result.companyId,
  157. companyName : cnfield.getValue(),
  158. address : form.findField('company.address').getValue(),
  159. tellPhone : form.findField('company.tellPhone').getValue(),
  160. leader : form.findField('company.leader').getValue(),
  161. mobilePhone : form.findField('company.mobilePhone').getValue(),
  162. remark : form.findField('company.remark').getValue()
  163. });
  164. store.insert(0, [company]);
  165. if (store.data.length > 20) {
  166. store.remove(store.getAt(store.data.length - 1));
  167. }
  168. }
  169. window_add_company.setTitle('[ ' + cnfield.getValue() + ' ]   添加成功!!');
  170. cnfield.reset();
  171. btn.enable();
  172. },
  173. failure : function() {
  174. Ext.Msg.show({
  175. title : '错误提示',
  176. msg : '"' + cnfield.getValue() + '" ' + '名称可能已经存在!',
  177. buttons : Ext.Msg.OK,
  178. fn : function() {
  179. cnfield.focus(true);
  180. btn.enable();
  181. },
  182. icon : Ext.Msg.ERROR
  183. });
  184. }
  185. });
  186. }
  187. }
  188. }, {
  189. text : '重置',
  190. handler : function() {
  191. this.ownerCt.form.reset();
  192. }
  193. }, {
  194. text : '取消',
  195. handler : function() {
  196. this.ownerCt.ownerCt.hide();
  197. }
  198. }]
  199. })]
  200. });
  201. var btn_add_company = new Ext.Button({
  202. text : '添加分公司',
  203. iconCls : 'icon-add',
  204. handler : function() {
  205. window_add_company.show();
  206. }
  207. });
  208. var btn_del_company = new Ext.Button({
  209. text : '删除分公司',
  210. iconCls : 'icon-del',
  211. handler : function() {
  212. var record = grid_company.getSelectionModel().getSelected();
  213. if (record) {
  214. Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
  215. if (btn == 'yes') {
  216. Ext.Ajax.request({
  217. url : 'deleteCompany.action',
  218. params : {
  219. companyId : record.data.companyId
  220. },
  221. success : function() {
  222. grid_company.getStore().remove(record);
  223. },
  224. failure : function() {
  225. Ext.Msg.show({
  226. title : '错误提示',
  227. msg : '删除时发生错误!',
  228. buttons : Ext.Msg.OK,
  229. icon : Ext.Msg.ERROR
  230. });
  231. }
  232. });
  233. }
  234. });
  235. }
  236. }
  237. });
  238. var text_search_company = new Ext.form.TextField({
  239. name : 'textSearchCompany',
  240. width : 200,
  241. emptyText : '多条件可用逗号或者空格隔开!',
  242. listeners : {
  243. 'specialkey' : function(field, e) {
  244. if (e.getKey() == Ext.EventObject.ENTER) {
  245. searchCompany();
  246. }
  247. }
  248. }
  249. });
  250. // grid的查找方法
  251. var searchCompany = function() {
  252. // 传参数一定要用这种方式,否则翻页的时候不会根据这些参数查询
  253. ds_company.baseParams.conditions = text_search_company.getValue();
  254. ds_company.load({
  255. params : {
  256. start : 0,
  257. limit : 20
  258. }
  259. });
  260. }
  261. var btn_search_company = new Ext.Button({
  262. text : '查询',
  263. iconCls : 'icon-search',
  264. handler : searchCompany
  265. });
  266. var ds_company = new Ext.data.Store({
  267. proxy : new Ext.data.HttpProxy({
  268. url : 'findAllCompany.action'
  269. }),
  270. reader : new Ext.data.JsonReader({
  271. totalProperty : 'totalProperty',
  272. root : 'root'
  273. }, [{
  274. name : 'companyId',
  275. type : 'int'
  276. }, {
  277. name : 'companyName',
  278. type : 'string'
  279. }, {
  280. name : 'address',
  281. type : 'string'
  282. }, {
  283. name : 'tellPhone',
  284. type : 'string'
  285. }, {
  286. name : 'leader',
  287. type : 'string'
  288. }, {
  289. name : 'mobilePhone',
  290. type : 'string'
  291. }, {
  292. name : 'remark',
  293. type : 'string'
  294. }])
  295. });
  296. var grid_company = new Ext.grid.EditorGridPanel({
  297. title : '分公司管理',
  298. iconCls : 'icon-grid',
  299. loadMask : {msg : '数据加载中...'},
  300. region : 'center',
  301. cm : cm_company,
  302. ds : ds_company,
  303. sm : new Ext.grid.RowSelectionModel({singleSelect : true}),
  304. enableColumnMove : false,
  305. trackMouseOver : false,
  306. frame : true,
  307. autoExpandColumn : 'remark',
  308. clicksToEdit : 1,
  309. tbar : [btn_add_company, '-', btn_del_company, '-', text_search_company, btn_search_company],
  310. bbar : new Ext.PagingToolbar({
  311. pageSize : 20,
  312. store : ds_company,
  313. displayInfo : true,
  314. displayMsg : '第 {0} - {1} 条  共 {2} 条',
  315. emptyMsg : "没有记录"
  316. }),
  317. listeners : {
  318. 'afteredit' : function(e) {
  319. Ext.Ajax.request({
  320. url : 'updateCompany.action',
  321. params : {
  322. fieldName : e.field,
  323. fieldValue : e.value,
  324. companyId : e.record.data.companyId
  325. },
  326. success : function() {
  327. // alert("数据修改成功!");
  328. },
  329. failure : function() {
  330. Ext.Msg.show({
  331. title : '错误提示',
  332. msg : '修改数据发生错误,操作将被回滚!',
  333. fn : function() {
  334. e.record.set(e.field, e.originalValue);
  335. },
  336. buttons : Ext.Msg.OK,
  337. icon : Ext.Msg.ERROR
  338. });
  339. }
  340. });
  341. }
  342. }
  343. });
  344. var p_company = {
  345. id : 'company-panel',
  346. border : false,
  347. layout : 'border',
  348. items : [grid_company]
  349. };