AssKindDetail.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.fa.ars.AssKindDetail', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. GridUtil: Ext.create('erp.util.GridUtil'),
  6. BaseUtil: Ext.create('erp.util.BaseUtil'),
  7. views:[
  8. 'core.form.Panel','fa.ars.AssKindDetail','core.grid.Panel2','core.toolbar.Toolbar',
  9. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit',
  11. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: this.onGridItemClick
  18. },
  19. 'erpSaveButton': {
  20. click: function(btn){
  21. var form = me.getForm(btn);
  22. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  23. me.BaseUtil.getRandomNumber();//自动添加编号
  24. }
  25. this.beforeSave(this);
  26. }
  27. },
  28. 'erpDeleteButton' : {
  29. click: function(btn){
  30. me.FormUtil.onDelete(Ext.getCmp('ak_id').value);
  31. }
  32. },
  33. 'erpUpdateButton': {
  34. click: function(btn){
  35. this.FormUtil.onUpdate(this);
  36. }
  37. },
  38. 'erpAddButton': {
  39. click: function(){
  40. me.FormUtil.onAdd('addAssKindDetail', '新增核算项值', 'jsps/fa/ars/assKindDetail.jsp');
  41. }
  42. },
  43. 'erpCloseButton': {
  44. click: function(btn){
  45. me.FormUtil.beforeClose(me);
  46. }
  47. }
  48. });
  49. },
  50. onGridItemClick: function(selModel, record){//grid行选择
  51. this.GridUtil.onGridItemClick(selModel, record);
  52. },
  53. getForm: function(btn){
  54. return btn.ownerCt.ownerCt;
  55. },
  56. beforeSave: function(){
  57. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  58. var bool = true, codes = {}, t = new Array();
  59. //判断核算编码是否重复
  60. Ext.each(items, function(item){
  61. var v = item.get('akd_asscode');
  62. if(!codes[v]) {
  63. codes[v] = [item.get('akd_detno')];
  64. } else {
  65. codes[v] = codes[v].push(item.get('akd_detno'));
  66. t.push(v);
  67. }
  68. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  69. if(item.data['akd_asscode'] == null){
  70. bool = false;
  71. showError('明细表第' + item.data['akd_detno'] + '行,核算编码已经存在!');return;
  72. }
  73. }
  74. });
  75. if(t.length > 0) {
  76. return;
  77. }
  78. if(bool)
  79. this.FormUtil.beforeSave(this);
  80. }
  81. });