BaseData.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.ma.group.BaseData', {
  3. extend: 'Ext.app.Controller',
  4. views: ['ma.group.BaseData'],
  5. requires: ['erp.util.BaseUtil'],
  6. refs : [ {
  7. ref : 'form',
  8. selector : 'form'
  9. }],
  10. init:function(){
  11. this.BaseUtil = Ext.create('erp.util.BaseUtil');
  12. this.control({
  13. 'form': {
  14. afterrender: function() {
  15. this.getBaseDataSet();
  16. }
  17. },
  18. '#confirm': {
  19. click: function() {
  20. this.saveBaseDataSet();
  21. }
  22. },
  23. '#close': {
  24. click: function() {
  25. this.BaseUtil.getActiveTab().close();
  26. }
  27. },
  28. '#selectall': {
  29. change: function(f) {
  30. var form = this.getForm();
  31. form.getForm().getFields().each(function(a){
  32. if(a.id != f.id) {
  33. a.setValue(f.value);
  34. }
  35. });
  36. }
  37. }
  38. });
  39. },
  40. getBaseDataSet: function() {
  41. var form = this.getForm(), tab = this.BaseUtil.getActiveTab();
  42. tab.setLoading(true);
  43. Ext.Ajax.request({
  44. url : basePath + 'common/getFieldsDatas.action',
  45. params: {
  46. caller: 'BaseDataSet',
  47. fields: 'bds_caller,bds_desc,bds_editable',
  48. condition: '1=1'
  49. },
  50. method : 'post',
  51. callback : function(opt, s, res){
  52. tab.setLoading(false);
  53. var r = new Ext.decode(res.responseText);
  54. if(r.exceptionInfo){
  55. showError(r.exceptionInfo);return;
  56. }
  57. if(r.success){
  58. var data = Ext.decode(r.data), items = new Array();
  59. for(var i in data) {
  60. var d = data[i];
  61. var o = {boxLabel: d.BDS_DESC, checked: d.BDS_EDITABLE != 0, caller: d.BDS_CALLER};
  62. items.push(o);
  63. }
  64. form.add(items);
  65. }
  66. }
  67. });
  68. },
  69. saveBaseDataSet: function() {
  70. var form = this.getForm(),
  71. items = form.query('checkbox[checked=true]'),
  72. data = new Array();
  73. Ext.each(items, function(item){
  74. if (item.caller)
  75. data.push("'" + item.caller + "'");
  76. });
  77. Ext.Ajax.request({
  78. url: basePath + 'ma/group/updateBaseDataSet.action?caller=' + caller,
  79. params: {
  80. data: data.join(',')
  81. },
  82. callback: function(opt, s, res) {
  83. var r = new Ext.decode(res.responseText);
  84. if(r.exceptionInfo){
  85. showError(r.exceptionInfo);return;
  86. }
  87. if(r.success){
  88. alert('设置成功!');
  89. }
  90. }
  91. });
  92. }
  93. });