ViewportModel.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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_gradeclass: {
  26. type: 'tree',
  27. autoLoad: false,
  28. // model: 'school.model.Grade',
  29. fields: [{
  30. name: 'text'
  31. }],
  32. proxy: {
  33. type: 'ajax',
  34. // url: 'http://10.1.80.47:9560/grade/read/1',
  35. url: '/api/school/grade/read/' + school.util.BaseUtil.getCurrentUser().school_id,
  36. reader: {
  37. transform: {
  38. fn: function(data) {
  39. let grades = data.data.children;
  40. grades.map(function(s) {
  41. s._id = s.id;
  42. s.id = 'grade-' + s.id;
  43. let classes = s.children;
  44. let d = classes.map(function(c) {
  45. c._id = c.id;
  46. c.id = 'class-' + c.id;
  47. return c;
  48. });
  49. return s;
  50. });
  51. return grades;
  52. },
  53. scope: this
  54. }
  55. }
  56. },
  57. root: {
  58. text: '全年级',
  59. type: 'SCHOOL',
  60. expanded: true
  61. }
  62. }
  63. }
  64. });