/** * 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); grid.ownerCt.ownerCt.setTitle(button.typeText); }, onAdd:function(b){ var dk = b.ownerCt.ownerCt; var dataKind=dk.getViewModel().getData()['dataKind'].value; this.createDialog(dataKind,null,dk); }, 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:'操作', align: 'center', 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 dk = grid.ownerCt.ownerCt; var dataKind=dk.getViewModel().getData()['dataKind'].value, rec = grid.getStore().getAt(row); this.createDialog(dataKind,rec,dk); }, onDelete:function(grid,row,col){ var dk = grid.ownerCt.ownerCt; var dataKind=dk.getViewModel().getData()['dataKind'].value, rec = grid.getStore().getAt(row); var keyV=rec.get(dk.etc[dataKind].keyField); var deleteMsg = '删除的'+dk.getViewModel().getData()['title']+'将不能恢复,请确认是否删除?'; saas.util.BaseUtil.deleteWarn(deleteMsg,function(btn){ if(btn == 'yes'){ //删除接口 saas.util.BaseUtil.request({ url: dk.etc[dataKind].delUrl+'/'+keyV, method: 'POST' }) .then(function(localJson) { if(localJson.success){ saas.util.BaseUtil.showSuccessToast('删除成功'); grid.store.load(); } }) .catch(function(e) { saas.util.BaseUtil.showErrorToast('删除失败: ' + e.message); }); } }); }, createDialog: function(dataKind,record,dk) { var view = dk; this.isEdit = !!record; this.dialog = view.add({ autoScroll:true, xtype: view.windowType?view.windowType:'document-kind-childwin', bind: { title: record ? '修改{title}' : '新增{title}' }, dataKind:dataKind, belong:view.etc[dataKind], _parent:view, record:record, session: true }); this.dialog.show(); } });