Release.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /**
  2. * 作业发布
  3. */
  4. Ext.define('school.view.interaction.homework.Release', {
  5. extend: 'school.view.core.form.FormPanel',
  6. xtype: 'interaction-homework-release',
  7. controller: 'interaction-homework-release',
  8. viewModel: 'interaction-homework-release',
  9. //字段属性
  10. _title: '作业发布',
  11. _idField: 'task_id',
  12. _codeField: null,
  13. // _readUrl: 'http://10.1.80.180:9520/api/school/homework/read',
  14. _readUrl: '/api/school/homework/read',
  15. // _saveUrl: 'http://10.1.80.180:9520/api/school/homework/save',
  16. _saveUrl: '/api/school/homework/save',
  17. _deleteUrl: '/api/school/homework/delete',
  18. initId: 0,
  19. initComponent: function () {
  20. Ext.apply(this, {
  21. defaultItems: [{
  22. xtype: 'hidden',
  23. name: 'task_id',
  24. fieldLabel: 'id'
  25. }, {
  26. xtype: "textfield",
  27. name: "task_creator",
  28. fieldLabel: "发布人id",
  29. defaultValue: school.util.BaseUtil.getCurrentUser().id,
  30. hidden: true
  31. }, {
  32. xtype: "textfield",
  33. name: "creator",
  34. fieldLabel: "发布人",
  35. defaultValue: school.util.BaseUtil.getCurrentUser().username,
  36. readOnly: true
  37. }, {
  38. xtype: 'gradecombo',
  39. name: 'grade_name',
  40. fieldLabel: '年级',
  41. listeners: {
  42. select: function (combo, record, eOpts) {
  43. combo.up('form').getForm().findField('classz_name').setValue(null);
  44. }
  45. },
  46. allowBlank: false
  47. }, {
  48. xtype: 'classcombo',
  49. name: 'classz_name',
  50. fieldLabel: '班级',
  51. listeners: {
  52. expand: function (combo, eOpts) {
  53. combo.store.clearFilter();
  54. var gradeCombo = combo.up('form').getForm().findField('grade_name');
  55. var gradeName = gradeCombo.getValue();
  56. var filter = new Ext.util.Filter({
  57. property: 'clazz_grade',
  58. value: gradeName
  59. });
  60. if (!!gradeName) {
  61. combo.store.setFilters([filter]);
  62. }
  63. },
  64. select: function (combo, record, eOpts) {
  65. combo.up('form').getForm().findField('grade_name').setValue(record.get('clazz_grade'));
  66. }
  67. },
  68. allowBlank: false
  69. }, {
  70. xtype: 'datefield',
  71. name: 'start_date',
  72. fieldLabel: '开始时间',
  73. defaultValue: new Date()
  74. }, {
  75. xtype: 'datefield',
  76. name: 'end_date',
  77. fieldLabel: '截止时间',
  78. allowBlank: false
  79. }, {
  80. xtype: 'combobox',
  81. name: 'task_status',
  82. fieldLabel: '发布状态',
  83. displayField: 'name',
  84. valueField: 'value',
  85. editable: false,
  86. readOnly: true,
  87. defaultValue: 2,
  88. store: Ext.create('Ext.data.ArrayStore', {
  89. fields: ['name', 'value'],
  90. data: [['未发布', 2], ['已发布', 1]]
  91. }),
  92. minChars: 0,
  93. queryMode: 'local'
  94. }, {
  95. xtype: 'datefield',
  96. name: 'publish_date',
  97. fieldLabel: '发布时间',
  98. readOnly: true,
  99. format: 'Y-m-d H:i:s',
  100. readOnly: true
  101. }, {
  102. xtype: "textfield",
  103. name: "task_title",
  104. fieldLabel: "标题",
  105. columnWidth: 1,
  106. allowBlank: false
  107. }, {
  108. xtype: "textareafield",
  109. name: 'task_context',
  110. fieldLabel: "内容",
  111. columnWidth: 1,
  112. height: 250,
  113. allowBlank: false
  114. }, {
  115. xtype: 'mfilefield',
  116. name: 'accessory',
  117. fieldLabel: '附件'
  118. }],
  119. applyBtns: [{
  120. apply: true,
  121. text: '删除',
  122. bind: {
  123. hidden: '{!showDeleteBtn || !task_id || task_status == 1}'
  124. },
  125. }, {
  126. apply: true,
  127. text: '保存',
  128. bind: {
  129. hidden: '{!showSaveBtn || task_status == 1}',
  130. disabled: '{!base.valid}'
  131. }
  132. }],
  133. toolBtns: [{
  134. xtype: 'button',
  135. text: '发布',
  136. hidden: true,
  137. bind: {
  138. hidden: '{!task_id || task_status == 1}'
  139. },
  140. handler: 'onPublish'
  141. }]
  142. });
  143. this.callParent();
  144. },
  145. listeners: {
  146. load: function(form, data) {
  147. let fileField = form.down('mfilefield');
  148. fileField.value = data.main.accessory
  149. fileField.renderMF(fileField);
  150. }
  151. },
  152. refresh: function() {
  153. Ext.StoreMgr.get('store_grade').load();
  154. Ext.StoreMgr.get('store_class').load();
  155. }
  156. });