StudentDetail.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. Ext.define('school.view.basic.student.StudentDetail', {
  2. extend: 'school.view.core.form.FormPanel',
  3. xtype: 'basic-student-studentdetail',
  4. controller: 'basic-student-studentdetail',
  5. // viewModel: 'sale-b2b-purchasedetail',
  6. //字段属性
  7. _title: '学生信息',
  8. _idField: 'stu_id',
  9. _codeField: 'stu_number',
  10. _statusField: null,
  11. _statusCodeField: null,
  12. _auditmanField: null,
  13. _auditdateField: null,
  14. // _readUrl: 'http://10.1.80.47:9560/student/read',
  15. _readUrl: '/api/school/student/read',
  16. // _saveUrl: 'http://10.1.80.47:9560/student/save',
  17. _saveUrl: '/api/school/student/save',
  18. // _deleteUrl: 'http://10.1.80.47:9560/student/delete',
  19. _deleteUrl: '/api/school/student/delete',
  20. initId: 0,
  21. initComponent: function () {
  22. Ext.apply(this, {
  23. defaultItems: [{
  24. xtype: 'hidden',
  25. name: 'stu_id',
  26. fieldLabel: 'id',
  27. }, {
  28. xtype: 'textfield',
  29. name: 'stu_number',
  30. fieldLabel: '学号',
  31. allowBlank: false
  32. }, {
  33. xtype: 'textfield',
  34. name: 'stu_name',
  35. fieldLabel: '姓名',
  36. allowBlank: false
  37. }, {
  38. xtype: 'combobox',
  39. name: 'stu_sex',
  40. fieldLabel: '性别',
  41. displayField: 'name',
  42. valueField: 'value',
  43. editable: false,
  44. store: {
  45. type: 'store_gender'
  46. },
  47. minChars: 0,
  48. queryMode: 'local',
  49. allowBlank: false
  50. }, {
  51. xtype: 'textfield',
  52. name: 'stu_native',
  53. fieldLabel: '籍贯'
  54. }, {
  55. xtype: 'ethnicitycombobox',
  56. name: 'stu_nation',
  57. fieldLabel: '民族',
  58. }, {
  59. xtype: 'combobox',
  60. name: 'stu_political',
  61. fieldLabel: '政治面貌',
  62. displayField: 'name',
  63. valueField: 'name',
  64. editable: false,
  65. store: Ext.create('Ext.data.ArrayStore', {
  66. fields: ['name'],
  67. data: [
  68. ['中共党员'],
  69. ['中共预备党员'],
  70. ['共青团员'],
  71. ['群众']
  72. ]
  73. }),
  74. minChars: 0,
  75. queryMode: 'local'
  76. }, {
  77. xtype: 'datefield',
  78. name: 'stu_birthday',
  79. fieldLabel: '出生日期',
  80. allowBlank: false
  81. }, {
  82. xtype: 'numberfield',
  83. name: 'stu_age',
  84. fieldLabel: '年龄'
  85. }, {
  86. xtype: "textfield",
  87. name: "stu_address",
  88. fieldLabel: "家庭住址",
  89. columnWidth: 0.5,
  90. allowBlank: false
  91. }, {
  92. xtype: 'datefield',
  93. name: 'stu_enroll_date',
  94. fieldLabel: '入学日期',
  95. allowBlank: false
  96. }, {
  97. xtype: 'gradecombo',
  98. name: 'stu_grade',
  99. fieldLabel: '年级',
  100. listeners: {
  101. select: function (combo, record, eOpts) {
  102. combo.up('form').getForm().findField('clazz_id').setValue(null);
  103. combo.up('form').getForm().findField('stu_class').setValue(null);
  104. }
  105. },
  106. allowBlank: false
  107. }, {
  108. xtype: 'textfield',
  109. name: 'clazz_id',
  110. fieldLabel: '班级id',
  111. hidden: true,
  112. allowBlank: false
  113. }, {
  114. xtype: 'classcombo',
  115. name: 'stu_class',
  116. fieldLabel: '班级',
  117. listeners: {
  118. expand: function (combo, eOpts) {
  119. combo.store.clearFilter();
  120. var gradeCombo = combo.up('form').getForm().findField('stu_grade');
  121. var gradeName = gradeCombo.getValue();
  122. var filter = new Ext.util.Filter({
  123. property: 'clazz_grade',
  124. value: gradeName
  125. });
  126. if (!!gradeName) {
  127. combo.store.setFilters([filter]);
  128. }
  129. },
  130. select: function (combo, record, eOpts) {
  131. combo.up('form').getForm().findField('clazz_id').setValue(record.get('clazz_id'));
  132. combo.up('form').getForm().findField('stu_grade').setValue(record.get('clazz_grade'));
  133. }
  134. },
  135. allowBlank: false
  136. }, {
  137. name: "parent",
  138. xtype: "detailGridField",
  139. idColumn: 'parent_stu_id',
  140. detnoColumn: 'sd_detno',
  141. storeModel: 'school.model.basic.StudentParents',
  142. // deleteDetailUrl: 'http://10.1.80.47:9560/student/deleteDetail',
  143. deleteDetailUrl: '/api/school/student/deleteDetail',
  144. allowEmpty: true,
  145. showCount: false,
  146. columns: [{
  147. text: '关系id',
  148. dataIndex: 'parent_stu_id',
  149. hidden: true
  150. }, {
  151. text: '家长id',
  152. dataIndex: 'parent_id',
  153. hidden: true
  154. }, {
  155. text: '家长姓名',
  156. dataIndex: 'parents_name',
  157. editor: {
  158. xtype: 'textfield'
  159. }
  160. }, {
  161. text: '联系电话',
  162. dataIndex: 'pa_phone',
  163. editor: {
  164. xtype: 'numberfield'
  165. }
  166. }, {
  167. text: '关系',
  168. dataIndex: 'ps_relation',
  169. editor: {
  170. xtype: 'combobox',
  171. displayField: 'name',
  172. valueField: 'name',
  173. editable: true,
  174. store: Ext.create('Ext.data.ArrayStore', {
  175. fields: ['name'],
  176. data: [['父子'], ['母子'], ['兄弟'], ['兄妹'], ['姐弟'], ['姐妹'], ['祖孙'], ['其他']]
  177. }),
  178. queryMode: 'local'
  179. },
  180. }]
  181. }],
  182. });
  183. this.callParent();
  184. },
  185. refresh: function() {
  186. Ext.StoreMgr.get('store_grade').load();
  187. Ext.StoreMgr.get('store_class').load();
  188. }
  189. });