FormPanelController.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
  2. extend: 'saas.view.core.form.FormPanelController',
  3. alias: 'controller.purchase-purchasein-formpanel',
  4. init: function (form) {
  5. var me = this;
  6. this.control({
  7. /**放大镜新增demo*/
  8. "field[name=combo]":{
  9. beforerender:function(f){
  10. f.addHandler=me.addCombo;
  11. }
  12. },
  13. //放大镜赋值关系 以及 tpl模板
  14. 'dbfindtrigger[name=pi_vendname]':{
  15. beforerender:function(f){
  16. Ext.apply(f,{
  17. dbfinds:[{
  18. from:'id',to:'pi_vendid',ignore:true
  19. },{
  20. from:'ve_code',to:'pi_vendcode'
  21. },{
  22. from:'ve_name',to:'pi_vendname'
  23. },{
  24. from:'ve_buyerid',to:'pi_buyerid'
  25. },{
  26. from:'ve_buyercode',to:'pi_buyercode'
  27. },{
  28. from:'ve_buyername',to:'pi_buyername'
  29. },{
  30. from:'ve_currency',to:'pi_currency'
  31. },{
  32. from:'cr_rate',to:'pi_rate'
  33. }],
  34. }) ;
  35. }
  36. },
  37. //放大镜赋值关系 以及 tpl模板
  38. 'multidbfindtrigger[name=pd_prodcode]':{
  39. beforerender:function(f){
  40. Ext.apply(f,{
  41. dbfinds:[{
  42. from:'id',to:'pd_prodid',ignore:true
  43. },{
  44. from:'pr_code',to:'pd_prodcode'
  45. },{
  46. from:'pr_detail',to:'pr_detail'
  47. },{
  48. from:'pr_spec',to:'pr_spec'
  49. },{
  50. from: 'pr_brand', to: 'pr_brand'
  51. },{
  52. from: 'pr_orispeccode', to: 'pr_orispeccode'
  53. },{
  54. from: 'pr_unit', to: 'pr_unit'
  55. }, {
  56. from:'pr_whid',to:'pd_whid'
  57. },{
  58. from:'pr_whcode',to:'pd_whcode'
  59. },{
  60. from:'pr_whname',to:'pd_whname'
  61. },{
  62. from:'pr_purcprice',to:'pd_orderprice'
  63. }],
  64. });
  65. }
  66. },
  67. //放大镜赋值关系 以及 tpl模板
  68. 'dbfindtrigger[name=pd_whname]':{
  69. beforerender:function(f){
  70. Ext.apply(f,{
  71. dbfinds:[{
  72. from:'id',to:'pd_whid',ignore:true
  73. },{
  74. from:'wh_code',to:'pd_whcode'
  75. },{
  76. from:'wh_description',to:'pd_whname'
  77. }],
  78. }) ;
  79. }
  80. } , // 主表-采购员名称
  81. 'dbfindtrigger[name=pi_buyername]':{
  82. beforerender:function(f){
  83. Ext.apply(f,{
  84. //赋值
  85. dbfinds:[{
  86. from:'id',to:'pi_buyerid',ignore:true
  87. },{
  88. from:'em_code',to:'pi_buyercode'
  89. },{
  90. from:'em_name',to:'pi_buyername'
  91. }]
  92. }) ;
  93. }
  94. },
  95. // 'currencyDbfindTrigger[name=pi_currency]':{
  96. // beforerender:function(f){
  97. // Ext.apply(f,{
  98. // dbfinds:[{
  99. // from:'cr_name',to:'pi_currency'
  100. // },{
  101. // from:'cr_rate',to:'pi_rate'
  102. // }],
  103. // }) ;
  104. // }
  105. // },
  106. });
  107. },
  108. addCombo:function(){
  109. var combo=this.ownerCmp;
  110. Ext.create('Ext.window.Window',{
  111. layout:'vbox',
  112. bodyPadding: 15,
  113. width:500,
  114. items:[{
  115. fieldLabel:'实际值',
  116. xtype:'textfield'
  117. },{
  118. fieldLabel:'显示值',
  119. xtype:'textfield'
  120. }],
  121. buttons:[{
  122. text:'确认',
  123. handler:function(b){
  124. combo.setValue('ok');
  125. b.up('window').close();
  126. }
  127. }],
  128. renderTo:this.ownerCmp.ownerCt.getEl()
  129. }).show();
  130. },
  131. initCopyData: function(formData) {
  132. var me = this;
  133. var form = this.getView();
  134. var detailCount = form.detailCount;
  135. var main = formData.main;
  136. var auditTexts = form.auditTexts;
  137. // 单号、id清空
  138. main[form._idField] = 0;
  139. main[form._codeField] = '';
  140. //采购单id,采购单号清空
  141. main['pi_puid'] = 0;
  142. main['pi_pucode'] = '';
  143. // 单据状态为录入状态(未审核)
  144. main[form._statusCodeField] = auditTexts.unAuditCode;
  145. main[form._statusField] = auditTexts.unAuditText;
  146. //重设录入人,录入日期,审核人,审核日期
  147. main['creatorId'] = saas.util.BaseUtil.getCurrentUser().id;
  148. main['creatorName'] = saas.util.BaseUtil.getCurrentUser().realname;
  149. main['createTime'] = Ext.Date.format(new Date(), 'Y-m-d H:i:s');
  150. main['updaterId'] = saas.util.BaseUtil.getCurrentUser().id;
  151. main['updaterName'] = saas.util.BaseUtil.getCurrentUser().realname;
  152. main['updateTime'] = Ext.Date.format(new Date(), 'Y-m-d H:i:s');
  153. main[form._auditmanField] = undefined;
  154. main[form._auditdateField] = undefined;
  155. for(var k in main) {
  156. // 主表日期改为当前日期
  157. if(saas.util.BaseUtil.isDateString(main[k])) {
  158. main[k] = Ext.Date.format(new Date, 'Y-m-d H:i:s');
  159. }
  160. }
  161. for(var j = 0; j < detailCount; j++) {
  162. var detail = formData['detail' + j];
  163. for(var x = 0; x < detail.length; x ++) {
  164. var d = detail[x];
  165. for(var k in d) {
  166. // 从表id清空
  167. delete d['id'];
  168. //采购单号清空
  169. delete d['pd_orderid'];
  170. delete d['pd_ordercode'];
  171. delete d['pd_orderdetno'];
  172. // 从表日期清空
  173. if(saas.util.BaseUtil.isDateString(d[k])) {
  174. d[k] = '';
  175. }
  176. }
  177. }
  178. }
  179. return me.myInitCopyData(formData);;
  180. },
  181. turnOut: function() {
  182. var me = this,
  183. form = me.getView(),
  184. id = form.getForm().findField(form._idField);
  185. form.setLoading(true);
  186. saas.util.BaseUtil.request({
  187. url: form._turnOutUrl+'/'+id.value,
  188. method: 'POST',
  189. })
  190. .then(function(localJson) {
  191. form.setLoading(false);
  192. if(localJson.success){
  193. var intValue = localJson.data.id,
  194. codeValue= localJson.data.code,
  195. name = localJson.data.name;
  196. saas.util.BaseUtil.openTab('purchase-purchaseout-formpanel',name+"("+codeValue+")",codeValue+intValue, {
  197. initId: intValue
  198. });
  199. saas.util.BaseUtil.showSuccessToast('转单成功');
  200. }
  201. })
  202. .catch(function(e) {
  203. form.setLoading(false);
  204. saas.util.BaseUtil.showErrorToast('转单失败: ' + e.message);
  205. });
  206. }
  207. });