SalePrice.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.sale.SalePrice', {
  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','scm.sale.SalePrice','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField','core.form.FileField',
  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.button.Scan','core.button.Abate','core.button.ResAbate','core.button.Sync'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: function(view,record){
  18. me.itemclick(view,record);
  19. }
  20. },
  21. 'erpSaveButton': {
  22. click: function(btn){
  23. var form = me.getForm(btn);
  24. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  25. me.BaseUtil.getRandomNumber();//自动添加编号
  26. }
  27. var grid = Ext.getCmp('grid');
  28. var items = grid.store.data.items;
  29. var bool = true;
  30. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(Ext.getCmp('sp_fromdate').value,'Y-m-d')){
  31. bool = false;
  32. showError('截止日期小于开始日期');return;
  33. }
  34. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  35. bool = false;
  36. showError('截止日期小于当前日期');return;
  37. }
  38. Ext.each(items, function(item){
  39. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  40. if(item.data['spd_currency'] == null || item.data['spd_currency'] == ''){
  41. bool = false;
  42. showError('明细表第' + item.data['spd_detno'] + '行的币别为空');return;
  43. }
  44. if(item.data['spd_price'] == null || item.data['spd_price'] == '' || item.data['spd_price'] == '0'
  45. || item.data['spd_price'] == 0){
  46. bool = false;
  47. showError('明细表第' + item.data['spd_detno'] + '行的价格为空或0');return;
  48. }
  49. }
  50. });
  51. if(bool){
  52. this.FormUtil.beforeSave(this);
  53. }
  54. }
  55. },
  56. 'erpDeleteButton' : {
  57. click: function(btn){
  58. me.FormUtil.onDelete(Ext.getCmp('sp_id').value);
  59. }
  60. },
  61. 'erpUpdateButton': {
  62. click: function(btn){
  63. var grid = Ext.getCmp('grid');
  64. var items = grid.store.data.items;
  65. var bool = true;
  66. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(Ext.getCmp('sp_fromdate').value,'Y-m-d')){
  67. bool = false;
  68. showError('截止日期小于开始日期');return;
  69. }
  70. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  71. bool = false;
  72. showError('截止日期小于当前日期');return;
  73. }
  74. Ext.each(items, function(item){
  75. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  76. if(item.data['spd_currency'] == null || item.data['spd_currency'] == ''){
  77. bool = false;
  78. showError('明细表第' + item.data['spd_detno'] + '行的币别为空');return;
  79. }
  80. if(item.data['spd_price'] == null || item.data['spd_price'] == '' || item.data['spd_price'] == '0'
  81. || item.data['spd_price'] == 0){
  82. bool = false;
  83. showError('明细表第' + item.data['spd_detno'] + '行的价格为空或0');return;
  84. }
  85. }
  86. });
  87. if(bool){
  88. this.FormUtil.onUpdate(this);
  89. }
  90. }
  91. },
  92. 'erpAddButton': {
  93. click: function(){
  94. me.FormUtil.onAdd('addSalePrice', '新增销售单价', 'jsps/scm/sale/salePrice.jsp?whoami=SalePrice');
  95. }
  96. },
  97. 'erpCloseButton': {
  98. click: function(btn){
  99. me.FormUtil.beforeClose(me);
  100. }
  101. },
  102. 'erpSubmitButton': {
  103. afterrender: function(btn){
  104. var status = Ext.getCmp('sp_statuscode');
  105. if(status && status.value != 'ENTERING'){
  106. btn.hide();
  107. }
  108. },
  109. click: function(btn){
  110. var grid = Ext.getCmp('grid');
  111. var items = grid.store.data.items;
  112. var bool = true;
  113. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(Ext.getCmp('sp_fromdate').value,'Y-m-d')){
  114. bool = false;
  115. showError('截止日期小于开始日期');return;
  116. }
  117. if(Ext.Date.format(Ext.getCmp('sp_todate').value,'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  118. bool = false;
  119. showError('截止日期小于当前日期');return;
  120. }
  121. Ext.each(items, function(item){
  122. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  123. if(item.data['spd_currency'] == null || item.data['spd_currency'] == ''){
  124. bool = false;
  125. showError('明细表第' + item.data['spd_detno'] + '行的币别为空');return;
  126. }
  127. if(item.data['spd_price'] == null || item.data['spd_price'] == '' || item.data['spd_price'] == '0'
  128. || item.data['spd_price'] == 0){
  129. bool = false;
  130. showError('明细表第' + item.data['spd_detno'] + '行的价格为空或0');return;
  131. }
  132. }
  133. });
  134. if(bool){
  135. me.FormUtil.onSubmit(Ext.getCmp('sp_id').value);
  136. }
  137. }
  138. },
  139. 'erpResSubmitButton': {
  140. afterrender: function(btn){
  141. var status = Ext.getCmp('sp_statuscode');
  142. if(status && status.value != 'COMMITED'){
  143. btn.hide();
  144. }
  145. },
  146. click: function(btn){
  147. me.FormUtil.onResSubmit(Ext.getCmp('sp_id').value);
  148. }
  149. },
  150. 'erpAuditButton': {
  151. afterrender: function(btn){
  152. var status = Ext.getCmp('sp_statuscode');
  153. if(status && status.value != 'COMMITED'){
  154. btn.hide();
  155. }
  156. },
  157. click: function(btn){
  158. me.FormUtil.onAudit(Ext.getCmp('sp_id').value);
  159. }
  160. },
  161. 'erpResAuditButton': {
  162. afterrender: function(btn){
  163. /*var status = Ext.getCmp('sp_statuscode');
  164. if(status && status.value != 'AUDITED'){
  165. }
  166. */
  167. btn.hide();
  168. }
  169. /*click: function(btn){
  170. me.FormUtil.onResAudit(Ext.getCmp('sp_id').value);
  171. }*/
  172. },
  173. 'erpResAbateButton':{
  174. afterrender: function(btn){
  175. Ext.getCmp('erpResAbateButton').setDisabled(true);
  176. },
  177. click: function(btn){
  178. var grid = Ext.getCmp('grid'),
  179. record = grid.selModel.lastSelected;
  180. if(!record) {
  181. return;
  182. }
  183. var ppdid = record.get('spd_id');
  184. if(ppdid == null || ppdid == 0) {
  185. return;
  186. }
  187. Ext.Ajax.request({
  188. url : basePath + "scm/sale/resabatesaleprice.action",
  189. params:{
  190. id: ppdid
  191. },
  192. method:'post',
  193. callback:function(options,success,response){
  194. var localJson = new Ext.decode(response.responseText);
  195. if(localJson.success){
  196. Ext.Msg.alert("提示","操作成功!");
  197. window.location.reload();
  198. } else {
  199. if(localJson.exceptionInfo){
  200. var str = localJson.exceptionInfo;
  201. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  202. str = str.replace('AFTERSUCCESS', '');
  203. showError(str);
  204. } else {
  205. showError(str);return;
  206. }
  207. }
  208. }
  209. }
  210. });
  211. }
  212. },
  213. 'erpAbateButton':{
  214. afterrender: function(btn){
  215. Ext.getCmp('erpAbateButton').setDisabled(true);
  216. },
  217. click: function(btn){
  218. var grid = Ext.getCmp('grid'),
  219. record = grid.selModel.lastSelected;
  220. if(!record) {
  221. return;
  222. }
  223. var ppdid = record.get('spd_id');
  224. if(ppdid == null || ppdid == 0) {
  225. return;
  226. }
  227. Ext.Ajax.request({
  228. url : basePath + "scm/sale/abatesaleprice.action",
  229. params:{
  230. id: ppdid
  231. },
  232. method:'post',
  233. callback:function(options,success,response){
  234. var localJson = new Ext.decode(response.responseText);
  235. if(localJson.success){
  236. Ext.Msg.alert("提示","操作成功!");
  237. window.location.reload();
  238. } else {
  239. if(localJson.exceptionInfo){
  240. var str = localJson.exceptionInfo;
  241. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  242. str = str.replace('AFTERSUCCESS', '');
  243. showError(str);
  244. } else {
  245. showError(str);return;
  246. }
  247. }
  248. }
  249. }
  250. });
  251. }
  252. },
  253. 'erpPrintButton': {
  254. click: function(btn){
  255. me.FormUtil.onPrint(Ext.getCmp('sp_id').value);
  256. }
  257. },
  258. 'erpSyncButton': {
  259. afterrender: function(btn) {
  260. var form = btn.ownerCt.ownerCt, s = form.down('#sp_statuscode');
  261. if (s.getValue() != 'AUDITED')
  262. btn.hide();
  263. }
  264. }
  265. });
  266. },
  267. onGridItemClick: function(selModel, record){//grid行选择
  268. this.GridUtil.onGridItemClick(selModel, record);
  269. },
  270. getForm: function(btn){
  271. return btn.ownerCt.ownerCt;
  272. },
  273. itemclick:function(view, record){
  274. this.GridUtil.onGridItemClick(view, record);
  275. var ppdid = record.get('spd_id');
  276. if(ppdid != null && ppdid != 0) {
  277. Ext.getCmp('erpAbateButton').setDisabled(false);
  278. Ext.getCmp('erpResAbateButton').setDisabled(false);
  279. }
  280. }
  281. });