ViewportModel.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. Ext.define('school.view.viewport.ViewportModel', {
  2. extend: 'Ext.app.ViewModel',
  3. alias: 'viewmodel.viewport',
  4. data: {
  5. account: null
  6. },
  7. formulas: {
  8. avatarUrl: function (get) {
  9. var account = get('account');
  10. return (account && account.avatarUrl) || 'resources/images/default/user-icon.png'
  11. }
  12. },
  13. stores: {
  14. store_navigationMenu: {
  15. autoLoad: true,
  16. fields: ['text', 'iconCls'],
  17. proxy: {
  18. type: 'ajax',
  19. url: 'resources/json/navigation.json',
  20. reader: {
  21. type: 'json'
  22. }
  23. }
  24. },
  25. store_grade: {
  26. type: 'tree',
  27. autoLoad: true,
  28. // model: 'school.model.Grade',
  29. fields: [{
  30. name: 'text'
  31. }],
  32. proxy: {
  33. type: 'ajax',
  34. // url: 'http://10.1.80.35:9520/grade/read/1',
  35. url: '/api/school/grade/read/1',
  36. reader: {
  37. transform: {
  38. fn: function(data) {
  39. let schools = data.data.children;
  40. schools.map(function(s) {
  41. s.id = 'school-' + s.id;
  42. let classes = s.children;
  43. classes.map(function(c) {
  44. c._id = c.id;
  45. c.id = 'class-' + c.id;
  46. return c;
  47. });
  48. return s;
  49. });
  50. return schools;
  51. },
  52. scope: this
  53. }
  54. }
  55. },
  56. root: {
  57. text: '全年级',
  58. type: 'SCHOOL',
  59. expanded: true
  60. },
  61. }
  62. }
  63. });