Release.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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. var me = this;
  21. Ext.apply(this, {
  22. defaultItems: [{
  23. xtype: 'hidden',
  24. name: 'task_id',
  25. fieldLabel: 'id'
  26. }, {
  27. xtype: "textfield",
  28. name: "task_creator",
  29. fieldLabel: "发布人id",
  30. defaultValue: school.util.BaseUtil.getCurrentUser().teacher_id,
  31. hidden: true
  32. }, {
  33. xtype: "textfield",
  34. name: "creator",
  35. fieldLabel: "发布人",
  36. defaultValue: school.util.BaseUtil.getCurrentUser().username,
  37. readOnly: true
  38. }, {
  39. xtype: 'hidden',
  40. name: 'task_gradeid',
  41. fieldLabel: '年级ID'
  42. }, {
  43. xtype: 'gradecombo',
  44. name: 'grade_name',
  45. fieldLabel: '年级',
  46. listeners: {
  47. select: function (combo, record, eOpts) {
  48. let viewModel = me.getViewModel();
  49. viewModel.set('task_gradeid', record.get('grade_id'));
  50. viewModel.set('task_classid', null);
  51. viewModel.set('classz_name', null);
  52. }
  53. },
  54. allowBlank: false
  55. }, {
  56. xtype: 'hidden',
  57. name: 'task_classid',
  58. fieldLabel: '班级ID'
  59. }, {
  60. xtype: 'classcombo',
  61. name: 'classz_name',
  62. fieldLabel: '班级',
  63. listeners: {
  64. expand: function (combo, eOpts) {
  65. combo.store.clearFilter();
  66. var gradeCombo = combo.up('form').getForm().findField('grade_name');
  67. var gradeName = gradeCombo.getValue();
  68. var filter = new Ext.util.Filter({
  69. property: 'clazz_grade',
  70. value: gradeName
  71. });
  72. if (!!gradeName) {
  73. combo.store.setFilters([filter]);
  74. }
  75. },
  76. select: function (combo, record, eOpts) {
  77. let viewModel = me.getViewModel();
  78. viewModel.set('task_classid', record.get('clazz_id'));
  79. viewModel.set('task_gradeid', record.get('grade_id'));
  80. viewModel.set('grade_name', record.get('clazz_grade'));
  81. }
  82. },
  83. allowBlank: false
  84. }, {
  85. xtype: 'subjectcombo',
  86. name: 'subject_id',
  87. fieldLabel: '学科'
  88. }, {
  89. xtype: 'datefield',
  90. name: 'start_date',
  91. fieldLabel: '开始时间',
  92. defaultValue: new Date()
  93. }, {
  94. xtype: 'datefield',
  95. name: 'end_date',
  96. fieldLabel: '截止时间',
  97. allowBlank: false
  98. }, {
  99. xtype: 'combobox',
  100. name: 'task_status',
  101. fieldLabel: '发布状态',
  102. displayField: 'name',
  103. valueField: 'value',
  104. editable: false,
  105. readOnly: true,
  106. defaultValue: 2,
  107. store: Ext.create('Ext.data.ArrayStore', {
  108. fields: ['name', 'value'],
  109. data: [['未发布', 2], ['已发布', 1]]
  110. }),
  111. minChars: 0,
  112. queryMode: 'local'
  113. }, {
  114. xtype: 'datefield',
  115. name: 'publish_date',
  116. fieldLabel: '发布时间',
  117. readOnly: true,
  118. format: 'Y-m-d H:i:s',
  119. readOnly: true
  120. }, {
  121. xtype: "textfield",
  122. name: "task_title",
  123. fieldLabel: "标题",
  124. columnWidth: 1,
  125. allowBlank: false
  126. }, {
  127. xtype: "textareafield",
  128. name: 'task_context',
  129. fieldLabel: "内容",
  130. columnWidth: 1,
  131. height: 250,
  132. allowBlank: false
  133. }, {
  134. xtype: 'mfilefield',
  135. name: 'accessory',
  136. fieldLabel: '附件'
  137. }],
  138. applyBtns: [{
  139. apply: true,
  140. text: '删除',
  141. bind: {
  142. hidden: '{!showDeleteBtn || !task_id || task_status == 1}'
  143. },
  144. }, {
  145. apply: true,
  146. text: '保存',
  147. bind: {
  148. hidden: '{!showSaveBtn || task_status == 1}',
  149. disabled: '{!base.valid}'
  150. }
  151. }],
  152. toolBtns: [{
  153. xtype: 'button',
  154. text: '发布',
  155. hidden: true,
  156. bind: {
  157. hidden: '{!task_id || task_status == 1}'
  158. },
  159. handler: 'onPublish'
  160. }]
  161. });
  162. this.callParent();
  163. },
  164. listeners: {
  165. load: function(form, data) {
  166. let fileField = form.down('mfilefield');
  167. fileField.value = data.main.accessory
  168. fileField.renderMF(fileField);
  169. }
  170. },
  171. refresh: function() {
  172. Ext.StoreMgr.get('store_subject').load();
  173. Ext.StoreMgr.get('store_grade').load();
  174. Ext.StoreMgr.get('store_class').load();
  175. }
  176. });