IcomRoleNaturePage.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. var grid="";
  2. var dataModel="";
  3. var ds="";
  4. var record_start=0;
  5. var start=0;
  6. var limit=getLimitNum();
  7. Ext.onReady(function(){
  8. //ext准备方法开始
  9. Ext.QuickTips.init();
  10. //定义读取数据的模版
  11. dataModel = Ext.data.Record.create([
  12. { name:'roleid',mapping:'roleid'},
  13. { name:'rolename',mapping:'rolename'},
  14. { name:'rolestate',mapping:'rolestate'}
  15. ]);
  16. //定义列模板
  17. var colModel = new Ext.grid.ColumnModel([
  18. new Ext.grid.RowNumberer(),
  19. {
  20. id:'roleid',
  21. header:"角色内码",
  22. dataIndex:'roleid',
  23. hidden:true,
  24. width:80,
  25. sortable: true,
  26. align:'left' },
  27. {
  28. id:'rolename',
  29. header:"角色名称",
  30. dataIndex:'rolename',
  31. hidden:false,
  32. width:200,
  33. fixed:false,
  34. sortable: true,
  35. align:'left' ,
  36. editor: new Ext.form.TextField({allowBlank: false,allowNegative: true}) },
  37. {
  38. id:'rolestate',
  39. header:"角色状态",
  40. dataIndex:'rolestate',
  41. hidden:false,
  42. width:150,
  43. fixed:true,
  44. sortable: true,
  45. align:'left' ,
  46. editor: new Ext.form.ComboBox({
  47. store:Ideal.ComboBoxR.getStore(parent.dicContainer[104].childrenJson),//store:carTypeStore
  48. displayField:'name',
  49. typeAhead: false,
  50. valueField:'value',
  51. forceSelection:true,
  52. hiddenName :'ILocked',
  53. lazyRender :true,
  54. readOnly : true,
  55. mode: 'local',
  56. triggerAction: 'all',
  57. listClass: 'x-combo-list-small'
  58. }),
  59. renderer:Ideal.ComboBoxR.getRenderer}
  60. ]);
  61. //定义存储器,从后台读取json数据
  62. ds = new Ext.data.Store({
  63. proxy: new Ext.data.HttpProxy({url: projectPath+'/roleAction!query.action'}),
  64. reader: new Ext.data.JsonReader({totalProperty:'total',root: 'data'},dataModel)
  65. });
  66. var pagingBar = new Ext.PagingToolbar({
  67. pageSize: limit,
  68. store: ds,
  69. autoWidth: true,
  70. displayInfo: true,
  71. beforePageText: "第",
  72.   afterPageText: "页,共{0}页",
  73.   firstText: "首页",
  74.   prevText: "上一页",
  75.   nextText: "下一页",
  76.   lastText: "尾页",
  77. refreshText: "刷新",
  78. displayMsg: "当前显示记录从{0}-{1} 总{2}条记录",
  79. emptyMsg: "没有相关记录!",
  80. doLoad:function(start){
  81. record_start=start;
  82.     var o = {}, pn = this.paramNames;
  83. o[pn.start] = start;
  84. o[pn.limit] = this.pageSize;
  85. if(this.fireEvent('beforechange', this, o) !== false){
  86. ds.load({params:o});
  87. }
  88.        }
  89. });
  90. //定义列表对象
  91. grid = new Ext.grid.EditorGridPanel({
  92. ds: ds,
  93. clicksToEdit:1,
  94. selModel: new Ext.grid.RowSelectionModel(),
  95. cm: colModel,
  96. frame:false,
  97. border:false,
  98. bbar: pagingBar
  99. });
  100. grid.render('grid-role');
  101. ds.load({params:{start:start,limit:limit}});
  102. //ext准备方法结束
  103. });
  104. /****************************************** 自定义函数 ********************************************************************************/
  105. var winHandle;
  106. function fireResize(setHeight,setWidth){
  107. grid.setSize(setHeight,setWidth);
  108. }
  109. /**
  110. * 新建一行记录
  111. */function addNewRow(){
  112. var p = new dataModel({
  113. roleid:'',
  114. rolename:'',
  115. rolestate:''
  116. });
  117. grid.stopEditing();
  118. ds.insert(0, p);
  119. grid.startEditing(0, 0);
  120. }
  121. //add或是save后的保存
  122. function saveIcomPersonNature() {
  123. var m = ds.modified.slice(0);
  124. if(m.length == 0){
  125. setMessage('没有需要保存的条目!');
  126. return;
  127. }
  128. for(var j=0;j<m.length;j++){
  129. var rolename = m[j].data['rolename'];
  130. if(trim(rolename) == ''){
  131. setMessage('请填写角色名称!');
  132. return;
  133. }
  134. }
  135. var jsonData = "[";
  136. for ( var i = 0, len = m.length; i < len; i++ ){
  137. var ss = Ext.util.JSON.encode(m[i].data);
  138. if ( i==0 )
  139. jsonData = jsonData + ss;
  140. else
  141. jsonData = jsonData + "," + ss;
  142. }
  143. jsonData = jsonData + "]";
  144. if(jsonData == '[]'){
  145. setMessage('请填写完整信息!');
  146. return;
  147. }
  148. //end
  149. Ext.Ajax.request({
  150. url : prjContextPath+'/roleAction!updateBatch.action',
  151. params:{data:jsonData},
  152. method: 'post',
  153. success: function ( result, request) {
  154. //如果失败 捕获后台自定义的异常
  155. if (isScript(result.responseText))return;
  156. ds.modified = []; //将修改过的记录置为空,如果不清空,则修改过的数据会一直保留
  157. extMessage('保存成功!');
  158. ds.reload();
  159. },
  160. failure: function ( result, request) {
  161. }
  162. });
  163. }
  164. //删除提示操作
  165. function deleteCarManager(){
  166. var m = grid.getSelections();
  167. if(m.length== 0){
  168. setMessage('请选择要删除的数据!');
  169. return;
  170. }
  171. for(i=0;i<m.length;i++){
  172. var roleid = m[i].data['roleid'];
  173. }
  174. if(m.length > 0)
  175. {
  176. parent._confirm_msg_show( '确定要删除选中的数据吗?' , this.window.name+'.deleteCarManagerCall(1)');
  177. }
  178. }
  179. //编辑单条数据
  180. //删除操作,用户做选择后回调函数
  181. function deleteCarManagerCall(btn){
  182. //如果点击确定
  183. if(btn == '1')
  184. {
  185. var m = grid.getSelections();
  186. var roleid = new Array();
  187. for(i=0;i<m.length;i++){
  188. roleid[roleid.length]=m[i].data['roleid'];
  189. }
  190. if(roleid.length == 0)
  191. return;
  192. Ext.Ajax.request({
  193. url : projectPath+'/roleAction!delete.action',
  194. method: 'POST',
  195. params:{idArray:roleid},
  196. success: function ( result, request ) {
  197. //如果失败 捕获后台自定义的异常
  198. if (isScript(result.responseText))return;
  199. grid.modified = [];
  200. loadingMessage(ds);
  201. ds.reload();
  202. extMessage('删除成功!');
  203. },
  204. failure: function ( result, request) {
  205. }
  206. });
  207. }else{
  208. return;
  209. }
  210. }
  211. //编辑单条数据
  212. function updateNewRow(){
  213. var m = grid.getSelections();
  214. if(m.length == 0){
  215. setMessage('请选择要维护的数据!');
  216. return;
  217. }
  218. if(m.length == 1){
  219. var id=m[0].data['roleid'];
  220. if(id!=''){
  221. var url='/system/role/roleModule.jsp?roleid='+id;
  222. winHandle=parent.openWindow(projectPath+url,420,320,'设置角色模块',this.window);
  223. }
  224. }
  225. }
  226. function closeWindow(){
  227. if(winHandle!=null){
  228. winHandle.reset();
  229. }
  230. ds.load({params:{start:start,limit:limit}});
  231. }