FormPanel.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. Ext.define('saas.view.sale.saleout.FormPanel', {
  2. extend: 'saas.view.core.form.FormPanel',
  3. xtype: 'sale-saleout-formpanel',
  4. controller: 'sale-saleout-formpanel',
  5. viewModel: 'sale-saleout-formpanel',
  6. viewName: 'sale-saleout-formpanel',
  7. caller:'SaleOut',
  8. //字段属性
  9. _title:'出货单',
  10. _idField: 'id',
  11. _codeField: 'pi_inoutno',
  12. _statusField: 'pi_status',
  13. _statusCodeField: 'pi_statuscode',
  14. _relationColumn: 'pd_piid',
  15. _readUrl:'/api/sale/prodinout/read/',
  16. _saveUrl:'/api/sale/prodinout/save/',
  17. _auditUrl:'/api/sale/prodinout/audit/',
  18. _unAuditUrl:'/api/sale/prodinout/unAudit/',
  19. _deleteUrl:'/api/sale/prodinout/delete/',
  20. _turnInUrl:'/api/sale/prodinout/turnProdIn/',
  21. initId:0,
  22. toolBtns: [{
  23. xtype: 'button',
  24. text: '转销售退货',
  25. handler: 'turnProdIn',
  26. bind: {
  27. hidden: '{pi_statuscode!="AUDITED"}'
  28. }
  29. }],
  30. defaultItems: [{
  31. xtype: 'hidden',
  32. name: 'id',
  33. fieldLabel: 'id'
  34. }, {
  35. xtype : "textfield",
  36. name : "pi_class",
  37. fieldLabel : "单据类型",
  38. readOnly:true,
  39. allowBlank : false,
  40. defaultValue:'出货单'
  41. }, {
  42. xtype : "hidden",
  43. name : "pi_custid",
  44. fieldLabel : "客户ID"
  45. }, {
  46. xtype : "hidden",
  47. name : "pi_custcode",
  48. fieldLabel : "客户编号"
  49. }, {
  50. xtype : "dbfindtrigger",
  51. name : "pi_custname",
  52. fieldLabel : "客户名称",
  53. allowBlank:false,
  54. }, {
  55. xtype : "textfield",
  56. name : "pi_address",
  57. fieldLabel : "交货地址",
  58. columnWidth : 0.5
  59. }, {
  60. name : "detailGridField",
  61. xtype : "detailGridField",
  62. detnoColumn: 'pd_pdno',
  63. storeModel:'saas.model.sale.ProdIODetail',
  64. deleteDetailUrl:'/api/sale/prodinout/deleteDetail/',
  65. columns : [
  66. {
  67. text : "id",
  68. dataIndex : "id",
  69. xtype : "numbercolumn",
  70. width:0
  71. }, {
  72. text : "物料id",
  73. dataIndex : "pd_prodid",
  74. width : 0
  75. }, {
  76. text : "物料编号",
  77. width : 200.0,
  78. dataIndex : "pd_prodcode",
  79. xtype : "",
  80. items : null,
  81. allowBlank:false,
  82. editor : {
  83. displayField : "display",
  84. editable : true,
  85. format : "",
  86. hideTrigger : false,
  87. maxLength : 100.0,
  88. minValue : null,
  89. positiveNum : false,
  90. queryMode : "local",
  91. store : null,
  92. valueField : "value",
  93. xtype : "multidbfindtrigger"
  94. }
  95. }, {
  96. text : "名称",
  97. dataIndex : "pr_detail",
  98. ignore:true,
  99. width : 150.0,
  100. renderer: function (v, m, r) {
  101. return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v;
  102. }
  103. }, {
  104. text : "规格",
  105. dataIndex : "pr_spec",
  106. ignore:true,
  107. width : 150.0,
  108. renderer: function (v, m, r) {
  109. return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v;
  110. }
  111. }, {
  112. text : "出货数量",
  113. dataIndex : "pd_outqty",
  114. width : 120.0,
  115. allowBlank:false,
  116. editor : {
  117. xtype : "numberfield",
  118. decimalPrecision: 8,
  119. minValue:0
  120. },
  121. renderer : function(v) {
  122. var arr = (v + '.').split('.');
  123. var xr = (new Array(arr[1].length)).fill('0');
  124. var format = '0.' + xr.join();
  125. return Ext.util.Format.number(v, format);
  126. },
  127. summaryType: 'sum',
  128. summaryRenderer: function(v) {
  129. var arr = (v + '.').split('.');
  130. var xr = (new Array(arr[1].length)).fill('0');
  131. var format = '0.' + xr.join();
  132. return Ext.util.Format.number(v, format);
  133. }
  134. }, {
  135. text : "仓库ID",
  136. dataIndex : "pd_whid",
  137. width : 0
  138. }, {
  139. text : "仓库",
  140. dataIndex : "pd_whcode",
  141. hidden :true
  142. }, {
  143. text : "仓库",
  144. dataIndex : "pd_whname",
  145. width : 120.0,
  146. items : null,
  147. allowBlank:false,
  148. editor : {
  149. displayField : "display",
  150. editable : true,
  151. format : "",
  152. hideTrigger : false,
  153. maxLength : 100.0,
  154. minValue : null,
  155. positiveNum : false,
  156. queryMode : "local",
  157. store : null,
  158. valueField : "value",
  159. xtype : "dbfindtrigger"
  160. }
  161. },
  162. {
  163. text : "单价",
  164. dataIndex : "pd_sendprice",
  165. width : 120.0,
  166. editor : {
  167. xtype : "numberfield",
  168. decimalPrecision: 8,
  169. minValue:0
  170. },
  171. renderer : function(v) {
  172. var arr = (v + '.').split('.');
  173. var xr = (new Array(arr[1].length)).fill('0');
  174. var format = '0,000.' + xr.join();
  175. return Ext.util.Format.number(v, format);
  176. },
  177. },
  178. {
  179. text : "含税金额",
  180. dataIndex : "pd_total",
  181. width : 120.0,
  182. editor : {
  183. xtype : "numberfield",
  184. decimalPrecision: 2
  185. },
  186. renderer : function(v) {
  187. var arr = (v + '.').split('.');
  188. var xr = (new Array(arr[1].length)).fill('0');
  189. var format = '0,000.' + xr.join();
  190. return Ext.util.Format.number(v, format);
  191. },
  192. summaryType: 'sum',
  193. summaryRenderer: function(v) {
  194. var arr = (v + '.').split('.');
  195. var xr = (new Array(arr[1].length)).fill('0');
  196. var format = '0,000.' + xr.join();
  197. return Ext.util.Format.number(v, format);
  198. }
  199. }, {
  200. text : "税率",
  201. dataIndex : "pd_taxrate",
  202. width : 120.0,
  203. editor : {
  204. xtype : "numberfield",
  205. decimalPrecision: 0,
  206. minValue: 0,
  207. maxValue: 100
  208. }
  209. },
  210. {
  211. text : "未税金额",
  212. dataIndex : "pd_nettotal",
  213. editor : {
  214. xtype : "numberfield",
  215. decimalPrecision: 2
  216. },
  217. renderer : function(v) {
  218. var arr = (v + '.').split('.');
  219. var xr = (new Array(arr[1].length)).fill('0');
  220. var format = '0,000.' + xr.join();
  221. return Ext.util.Format.number(v, format);
  222. },
  223. summaryType: 'sum',
  224. summaryRenderer: function(v) {
  225. var arr = (v + '.').split('.');
  226. var xr = (new Array(arr[1].length)).fill('0');
  227. var format = '0,000.' + xr.join();
  228. return Ext.util.Format.number(v, format);
  229. }
  230. },
  231. {
  232. text : "销售单号",
  233. dataIndex : "pd_ordercode",
  234. width : 200.0
  235. },{
  236. text : "销售序号",
  237. dataIndex : "pd_orderdetno",
  238. xtype : "numbercolumn",
  239. width : 120.0,
  240. format: '0',
  241. renderer: function(v) {
  242. return v ? v : null;
  243. }
  244. }
  245. ]
  246. }, {
  247. xtype : "textfield",
  248. name : "pi_total",
  249. fieldLabel : "总额",
  250. readOnly: true
  251. }, {
  252. xtype : "textfield",
  253. name : "pi_recordman",
  254. fieldLabel : "录入人",
  255. readOnly:true
  256. }, {
  257. xtype : "datefield",
  258. name : "pi_recorddate",
  259. fieldLabel : "录入日期",
  260. readOnly:true
  261. }, {
  262. xtype : "textfield",
  263. name : "pi_auditman",
  264. fieldLabel : "审核人",
  265. readOnly:true
  266. }, {
  267. xtype : "datefield",
  268. name : "pi_auditdate",
  269. fieldLabel : "审核日期",
  270. readOnly:true
  271. }]
  272. });