/** * Created by zhouy on 2018/10/18. */ Ext.define('saas.view.document.kind.KindController', { extend: 'Ext.app.ViewController', alias: 'controller.document-kind', loadDefualt:function(grid){ var me=this,view = me.getView(),vm = me.getViewModel(),defaultKind; if(view.defaultType!=''){ defaultKind = view.defaultType //其他单表界面 vm.setData({'dataKind':{'value':defaultKind}}); }else{ defaultKind=vm.getData()['dataKind'].value //类别合并界面 } var etc = view.etc[defaultKind]; var store = vm.getStore(defaultKind); store.load(); grid.reconfigure(store, me.insertActionColumn(etc.columns)); }, onKindToggle:function(container, button, pressed){ var me = this, name = button.value, view = me.getView(), grid = me.lookup('document-kind-Grid'), vm = me.getViewModel(), etc = view.etc[name], store=vm.getStore(name); var columns=me.insertActionColumn(etc.columns); grid.reconfigure(store, columns); if(store) store.reload(); vm.set('title', button.typeText); }, onAdd:function(){ var me=this, dataKind=me.getViewModel().getData()['dataKind'].value; me.createDialog(dataKind); }, onRefresh:function(){ var me = this; me.view.items.items[0].store.load(); }, insertActionColumn:function(columns){ var me=this; if(columns.length>0 && columns[0].xtype!='actioncolumn'){ return Ext.Array.insert(columns,0,[{ xtype:'actioncolumn', text:'操作', items: [{ tooltip: '编辑', iconCls: 'x-fa fa-pencil fa-fw', handler: me.onEdit, scope:this },{ text:'删除', iconCls:'x-fa fa-trash-o fa-fw', tooltip: '删除', handler: me.onDelete, scope:this }] }]); } return columns; }, onEdit:function(grid,row,col){ var me=this, dataKind=me.getViewModel().getData()['dataKind'].value; rec = grid.getStore().getAt(row); this.createDialog(dataKind,rec); }, onDelete:function(grid,row,col){ var me=this, view=me.getView(), dataKind=me.getViewModel().getData()['dataKind'].value; rec = grid.getStore().getAt(row); var keyV=rec.get(view.etc[dataKind].keyField); //删除接口 saas.util.BaseUtil.request({ url: view.etc[dataKind].delUrl+'/'+keyV, method: 'POST' }) .then(function(localJson) { if(localJson.success){ saas.util.BaseUtil.showToast('删除成功'); grid.store.load(); } }) .catch(function(res) { console.error(res); saas.util.BaseUtil.showToast('删除失败: ' + res.message); }); }, createDialog: function(dataKind,record) { var view = this.getView();var me=this; this.isEdit = !!record; this.dialog = view.add({ autoScroll:true, xtype: 'document-kind-childwin', bind: { title: record ? '修改{title}' : '新增{title}' }, dataKind:dataKind, belong:this.getView().etc[dataKind], _parent:this.getView(), record:record, session: true }); this.dialog.show(); } });