KindController.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. loadDefualt:function(grid){
  8. var me=this,
  9. view = me.getView(),
  10. vm = me.getViewModel(),
  11. defaultKind=vm.getData()['dataKind'].value,
  12. etc = view.etc[defaultKind];
  13. grid.reconfigure(vm.getStore(defaultKind), me.insertActionColumn(etc.columns));
  14. },
  15. onKindToggle:function(container, button, pressed){
  16. var me = this,
  17. name = button.value,
  18. view = me.getView(),
  19. grid = me.lookup('document-kind-Grid'),
  20. vm = me.getViewModel(),
  21. etc = view.etc[name],
  22. store=vm.getStore(name);
  23. var columns=me.insertActionColumn(etc.columns);
  24. grid.reconfigure(store, columns);
  25. if(store) store.reload();
  26. vm.set('title', button.text);
  27. },
  28. onAdd:function(){
  29. var me=this,
  30. dataKind=me.getViewModel().getData()['dataKind'].value;
  31. me.createDialog(dataKind);
  32. },
  33. onRefresh:function(){
  34. },
  35. insertActionColumn:function(columns){
  36. var me=this;
  37. if(columns.length>0 && columns[0].xtype!='actioncolumn'){
  38. return Ext.Array.insert(columns,0,[{
  39. xtype:'actioncolumn',
  40. items: [{
  41. tooltip: '编辑',
  42. iconCls: 'x-fa fa-pencil fa-fw',
  43. handler: me.onEdit,
  44. scope:this
  45. },{
  46. text:'删除',
  47. iconCls:'x-fa fa-trash-o fa-fw',
  48. tooltip: '删除',
  49. handler: me.onDelete,
  50. scope:this
  51. }]
  52. }]);
  53. }
  54. return columns;
  55. },
  56. onEdit:function(grid,row,col){
  57. var me=this,
  58. view=me.getView(),
  59. dataKind=me.getViewModel().getData()['dataKind'].value;
  60. rec = grid.getStore().getAt(row);
  61. var keyField=rec.get(view.etc[dataKind].keyField);
  62. this.createDialog(dataKind,rec);
  63. },
  64. onDelete:function(grid,row,col){
  65. var me=this,
  66. view=me.getView(),
  67. dataKind=me.getViewModel().getData()['dataKind'].value;
  68. rec = grid.getStore().getAt(row);
  69. var keyV=rec.get(view.etc[dataKind].keyField);
  70. alert('删除ID:'+keyV);
  71. },
  72. createDialog: function(dataKind,record) {
  73. var view = this.getView();var me=this;
  74. this.isEdit = !!record;
  75. this.dialog = view.add({
  76. xtype: 'document-kind-childwin',
  77. bind: {
  78. title: record ? '修改{title}类型' : '新增{title}类型'
  79. },
  80. dataKind:dataKind,
  81. belong:this.getView().etc[dataKind],
  82. _parent:this.getView(),
  83. record:record,
  84. session: true
  85. });
  86. this.dialog.show();
  87. }
  88. });