CustomerKind.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.sale.CustomerKind', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'scm.sale.CustomerKind','core.form.Panel','core.button.Save','core.button.Close',
  8. 'core.button.Update','core.button.Delete','core.button.Scan','core.button.Add',
  9. 'core.button.Banned','core.button.ResBanned',
  10. 'core.trigger.DbfindTrigger','core.form.YnField'
  11. ],
  12. init:function(){
  13. var me = this;
  14. me.datamanager = [];
  15. this.control({
  16. /*'custkindtree': {
  17. itemmousedown: function(selModel, record){
  18. me.loadTab(selModel, record);
  19. me.lastSelected = record;
  20. }
  21. },*/
  22. 'erpSaveButton': {
  23. click: function(btn){
  24. var form = me.getForm(btn);
  25. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  26. me.BaseUtil.getRandomNumber();//自动添加编号
  27. }
  28. var id = Ext.getCmp('ck_id').value;
  29. this.FormUtil.beforeSave(this);
  30. }
  31. },
  32. 'erpUpdateButton':{
  33. click: function(btn){
  34. var form = me.getForm(btn);
  35. this.FormUtil.onUpdate(this);
  36. }
  37. },
  38. 'erpDeleteButton':{
  39. click: function(btn){
  40. var form = me.getForm(btn);
  41. this.FormUtil.onDelete(Ext.getCmp('ck_id').getValue());
  42. }
  43. },
  44. 'erpBannedButton':{
  45. click: function(btn){
  46. var form = me.getForm(btn);
  47. this.FormUtil.onBanned(Ext.getCmp('ck_id').getValue());
  48. }
  49. },
  50. 'erpResBannedButton':{
  51. click: function(btn){
  52. var form = me.getForm(btn);
  53. this.FormUtil.onResBanned(Ext.getCmp('ck_id').getValue());
  54. }
  55. },
  56. 'erpCloseButton': {
  57. click: function(btn){
  58. me.FormUtil.beforeClose(me);
  59. }
  60. },
  61. 'button[name=delete]': {
  62. click: function(){
  63. var treegrid = Ext.getCmp('tree-panel');
  64. var items = treegrid.selModel.selected.items;
  65. if(items[0].data['ck_id'] != null || items[0].data['ck_id'] != ''){
  66. if(items[0].isLeaf() == true){
  67. warnMsg('确定删除节点[' + items[0].data['text'] + ']?', function(btn){
  68. if(btn == 'yes'){
  69. me.deleteNode(items[0]);
  70. } else if(btn == 'no'){
  71. return;
  72. }
  73. });
  74. } else {
  75. warnMsg('确定删除节点[' + items[0].data['text'] + ']及其子节点?', function(btn){
  76. if(btn == 'yes'){
  77. me.deleteNode(items[0]);
  78. } else if(btn == 'no'){
  79. return;
  80. }
  81. });
  82. }
  83. } else {
  84. items[0].remove(true);
  85. }
  86. }
  87. },
  88. 'button[name=add]': {
  89. click: function(){
  90. var treegrid = Ext.getCmp('tree-panel');
  91. var items = treegrid.selModel.selected.items;
  92. if(items.length > 0 && items[0].isLeaf() == true){
  93. if(items[0].data['id'] == null || items[0].data['id'] == ''){
  94. showError('请先描述该节点');
  95. } else {
  96. items[0].data['leaf'] = false;
  97. items[0].data['cls'] = 'x-tree-cls-parent';
  98. items[0].dirty = true;
  99. var o = {
  100. cls: "x-tree-cls-node",
  101. parentId: items[0].data['id'],
  102. leaf: true,
  103. allowDrag: true
  104. };
  105. items[0].appendChild(o);
  106. items[0].expand(true);
  107. }
  108. } else {
  109. var record = treegrid.getExpandItem();
  110. if(record){
  111. var o = {
  112. cls: "x-tree-cls-node",
  113. parentId: record.data['id'],
  114. leaf: true,
  115. allowDrag: true
  116. };
  117. record.appendChild(o);
  118. }
  119. }
  120. }
  121. }
  122. });
  123. },
  124. getForm: function(btn){
  125. return btn.ownerCt.ownerCt;
  126. },
  127. loadTab: function(selModel, record){
  128. var me = this;
  129. var tree = Ext.getCmp('tree-panel');
  130. if (!record.get('leaf')) {
  131. if(record.isExpanded() && record.childNodes.length > 0){//是根节点,且已展开
  132. record.collapse(true,true);//收拢
  133. } else {//未展开
  134. //看是否加载了其children
  135. if(record.childNodes.length == 0){
  136. //从后台加载
  137. tree.setLoading(true, tree.body);
  138. Ext.Ajax.request({//拿到tree数据
  139. url : basePath + 'scm/sale/getCustomerKindTree.action',
  140. params: {
  141. parentid: record.data['id']
  142. },
  143. async: false,
  144. callback : function(options,success,response){
  145. tree.setLoading(false);
  146. var res = new Ext.decode(response.responseText);
  147. if(res.tree){
  148. record.appendChild(res.tree);
  149. record.expand(false,true);//展开
  150. } else if(res.exceptionInfo){
  151. showError(res.exceptionInfo);
  152. }
  153. }
  154. });
  155. } else {
  156. record.expand(false,true);//展开
  157. }
  158. }
  159. }
  160. tree.getExpandedItems(record);
  161. var choose = '';
  162. Ext.each(tree.expandedNodes, function(){
  163. me.lastCode += this.data['qtip'];
  164. choose += '»' + this.data['text'];
  165. });
  166. Ext.getCmp('form').setTitle("<font color=blue>" + choose + "</font>");
  167. this.getFormData(record);
  168. },
  169. getFormData: function(record){
  170. var id = record.data['id'];
  171. var me = this;
  172. var form = Ext.getCmp('form');
  173. var tree = Ext.getCmp('tree-panel');
  174. if(id == null || id == ''){
  175. Ext.each(form.items.items, function(field){
  176. field.setValue(null);
  177. });
  178. Ext.getCmp('ck_subof').setValue(record.data['parentId']);
  179. Ext.getCmp('save').setText($I18N.common.button.erpSaveButton);
  180. tree.disable(true);
  181. } else {
  182. if(!me.datamanager[id]){
  183. form.setLoading(true);
  184. Ext.Ajax.request({//拿到tree数据
  185. url : basePath + 'common/singleFormItems.action',
  186. params: {
  187. caller: caller,
  188. condition: 'ck_id=' + id
  189. },
  190. callback : function(options,success,response){
  191. form.setLoading(false);
  192. var res = new Ext.decode(response.responseText);
  193. if(res.data){
  194. form.getForm().setValues(Ext.decode(res.data));
  195. me.datamanager[id] = Ext.decode(res.data);//将取到的数据保存在本地,下次点击该节点,直接从本地获取
  196. var field = Ext.getCmp('ck_id');
  197. if(field.value == null || field.value == ''){
  198. Ext.getCmp('save').setText($I18N.common.button.erpSaveButton);
  199. } else {
  200. Ext.getCmp('save').setText($I18N.common.button.erpUpdateButton);
  201. }
  202. } else if(res.exceptionInfo){
  203. showError(res.exceptionInfo);
  204. }
  205. }
  206. });
  207. } else {
  208. form.getForm().setValues(me.datamanager[id]);
  209. }
  210. }
  211. },
  212. deleteNode: function(record){
  213. var me = this;
  214. if(record.data['id'] && record.data['id'] != ''){
  215. me.FormUtil.onDelete(record.data['id']);
  216. } else {
  217. record.remove(true);
  218. }
  219. }
  220. });