/** * 年级班级卡片列表 */ Ext.define('school.view.basic.class.ListCard', { extend: 'Ext.view.View', xtype: 'listcard', controller: 'listcard', cls: 'listcard', tpl: ['
', '', '
', ' {itemCls}', '', '">', '
', ' {textCls}', '', '">{text}
', '
', '
', '
'], bind: { store: '{currentlist}' }, trackOver: true, overItemCls: 'item-over', selectedItemCls: 'item-selected', singleSelect: true, itemSelector: '.item', listeners: { itemclick: 'cardItemClick', beforeRender: 'onBeforeRender' }, showNode: function(node) { var me = this, classInfo = me.up('basic-class-classinfo'), viewModel = classInfo.getViewModel(), currentlist = viewModel.get('currentlist'), currentDetail = viewModel.get('currentDetail'), refs = classInfo.getReferences(), treeList = refs.treelist, listCard = refs.listcard, classDetail = refs.classdetail, list, cardList; if(node.data.type == 'CLASS') { currentlist.removeAll(); listCard.setVisible(false); classDetail.setVisible(true); viewModel.set('currentDetail', { id: node.data.id, name: node.data.text, grade: node.parentNode.data.text, }) }else { node.expand(); listCard.setVisible(true); classDetail.setVisible(false); list = node.childNodes.map(function(c) { return c.data }); cardList = Ext.Array.merge(list, [{ addBtn: true, id: node.data.id, type: node.data.type, itemCls: 'item-add', textCls: 'text-add x-ss ss-add' }]); currentlist.loadData(cardList); } viewModel.set('currentNodeData', node.data); treeList.setSelection(node); } });