SchoolNoticeModel.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. Ext.define('school.view.interaction.notice.SchoolNoticeModel', {
  2. extend: 'school.view.core.form.FormPanelModel',
  3. alias: 'viewmodel.interaction-notice-schoolnotice',
  4. formulas: {
  5. notify_status_change: {
  6. bind: '{notify_status}',
  7. get: function(v) {
  8. let view = this.getView();
  9. view.setEditable(v != 1);
  10. }
  11. },
  12. classId_change: {
  13. bind: '{classId}',
  14. get: function(v) {
  15. if(!v) {
  16. return;
  17. }
  18. let form = this.getView();
  19. let gradeIdField = form.getForm().findField('gradeId');
  20. let gradeNameCombo = form.getForm().findField('gradeName');
  21. let classNameCombo = form.getForm().findField('classzName');
  22. let record = classNameCombo.store.data.items.find(item => item.get('clazz_id') == v);
  23. gradeIdField.setValue(record.get('grade_id'));
  24. gradeNameCombo.setValue(record.get('clazz_grade'));
  25. classNameCombo.setValue(record.get('clazz_name'));
  26. }
  27. },
  28. gradeId_change: {
  29. bind: '{gradeId}',
  30. get: function(v) {
  31. if(!v) {
  32. return;
  33. }
  34. let form = this.getView();
  35. let gradeNameCombo = form.getForm().findField('gradeName');
  36. let record = gradeNameCombo.store.data.items.find(item => item.get('grade_id') == v);
  37. gradeNameCombo.setValue(record.get('grade_name'));
  38. }
  39. }
  40. }
  41. });