IntegratePanelController.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. Ext.define('make.view.make.bomComposite.IntegratePanelController', {
  2. extend: 'Ext.app.ViewController',
  3. alias: 'controller.make-bomcomposite-integratepanel',
  4. onMenuChange: function (view, record, item, index) {
  5. var itemId = view.up('panel').xtype + '-' + (index + 1);
  6. this.changeCls(view, index);
  7. this.changeCard(itemId);
  8. },
  9. changeCls: function (view, index) {
  10. Ext.Array.each(view.getEl().query('li', false), function (c, i) {
  11. if (Ext.isEmpty(index)) {
  12. if (c.hasCls('x-item-selected')) {
  13. c.removeCls('x-item-selected');
  14. }
  15. }
  16. else { //存在初始样式处理
  17. if (index != i) {
  18. c.removeCls("x-item-selected");
  19. } else if (index == i) { //首页二次点击进入后赋予样式
  20. c.addCls('x-item-selected');
  21. }
  22. }
  23. });
  24. },
  25. changeCard: function (itemId) {
  26. this.getView().getLayout().setActiveItem(itemId);
  27. },
  28. doActivate: function (card) {
  29. card.getStore().reload()
  30. },
  31. onExport: function () {
  32. var me = this,
  33. view = me.getView(),
  34. li = view.down('[xtype="dataview"]').getEl().dom.getElementsByClassName('x-item-selected')[0],
  35. gridName = li.textContent,
  36. grid = view.down('[text=' + gridName + ']');
  37. grid.store.exportPageSize = 5000;
  38. grid.store.exportNumber = 1;
  39. grid.saveDocumentAs({
  40. type: 'xlsx',
  41. title: gridName,
  42. fileName: gridName + '.xlsx'
  43. });
  44. grid.store.exportPageSize = null;
  45. grid.store.exportNumber = null;
  46. }
  47. });