KindController.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * Created by zhouy on 2018/10/18.
  3. */
  4. Ext.define('saas.view.document.kind.KindController', {
  5. extend: 'Ext.app.ViewController',
  6. alias: 'controller.document-kind',
  7. //工具类
  8. FormUtil: Ext.create('saas.util.FormUtil'),
  9. BaseUtil: Ext.create('saas.util.BaseUtil'),
  10. loadDefualt:function(grid){
  11. var me=this,view = me.getView(),vm = me.getViewModel(),defaultKind;
  12. if(view.defaultType!=''){
  13. defaultKind = view.defaultType //其他单表界面
  14. vm.setData({'dataKind':{'value':defaultKind}});
  15. }else{
  16. defaultKind=vm.getData()['dataKind'].value //类别合并界面
  17. }
  18. var etc = view.etc[defaultKind];
  19. grid.reconfigure(vm.getStore(defaultKind), me.insertActionColumn(etc.columns));
  20. },
  21. onKindToggle:function(container, button, pressed){
  22. var me = this,
  23. name = button.value,
  24. view = me.getView(),
  25. grid = me.lookup('document-kind-Grid'),
  26. vm = me.getViewModel(),
  27. etc = view.etc[name],
  28. store=vm.getStore(name);
  29. var columns=me.insertActionColumn(etc.columns);
  30. grid.reconfigure(store, columns);
  31. if(store) store.reload();
  32. vm.set('title', button.text);
  33. },
  34. onAdd:function(){
  35. var me=this,
  36. dataKind=me.getViewModel().getData()['dataKind'].value;
  37. me.createDialog(dataKind);
  38. },
  39. onRefresh:function(){
  40. },
  41. insertActionColumn:function(columns){
  42. var me=this;
  43. if(columns.length>0 && columns[0].xtype!='actioncolumn'){
  44. return Ext.Array.insert(columns,0,[{
  45. xtype:'actioncolumn',
  46. items: [{
  47. tooltip: '编辑',
  48. iconCls: 'x-fa fa-pencil fa-fw',
  49. handler: me.onEdit,
  50. scope:this
  51. },{
  52. text:'删除',
  53. iconCls:'x-fa fa-trash-o fa-fw',
  54. tooltip: '删除',
  55. handler: me.onDelete,
  56. scope:this
  57. }]
  58. }]);
  59. }
  60. return columns;
  61. },
  62. onEdit:function(grid,row,col){
  63. var me=this,
  64. view=me.getView(),
  65. dataKind=me.getViewModel().getData()['dataKind'].value;
  66. rec = grid.getStore().getAt(row);
  67. var keyField=rec.get(view.etc[dataKind].keyField);
  68. this.createDialog(dataKind,rec);
  69. },
  70. onDelete:function(grid,row,col){
  71. var me=this,
  72. view=me.getView(),
  73. dataKind=me.getViewModel().getData()['dataKind'].value;
  74. rec = grid.getStore().getAt(row);
  75. var keyV=rec.get(view.etc[dataKind].keyField);
  76. //删除接口
  77. this.BaseUtil.request({
  78. url: view.etc[dataKind].delUrl+'/'+keyV,
  79. method: 'POST'
  80. })
  81. .then(function(res) {
  82. var localJson = new Ext.decode(res.responseText);
  83. if(localJson.success){
  84. Ext.Msg.alert('提示','删除成功');
  85. grid.store.load();
  86. }
  87. })
  88. .catch(function() {
  89. Ext.Msg.alert('提示','删除失败');
  90. });
  91. },
  92. createDialog: function(dataKind,record) {
  93. var view = this.getView();var me=this;
  94. this.isEdit = !!record;
  95. this.dialog = view.add({
  96. xtype: 'document-kind-childwin',
  97. bind: {
  98. title: record ? '修改{title}类型' : '新增{title}类型'
  99. },
  100. dataKind:dataKind,
  101. belong:this.getView().etc[dataKind],
  102. _parent:this.getView(),
  103. record:record,
  104. session: true
  105. });
  106. this.dialog.show();
  107. }
  108. });