VmDetailGrid.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. /**
  2. *
  3. */
  4. Ext.define('erp.view.fa.arp.vmCopQuery.VmDetailGrid',{
  5. extend: 'Ext.grid.Panel',
  6. alias: 'widget.vmcopdetailgrid',
  7. layout : 'fit',
  8. id: 'vmcopdetailgrid',
  9. emptyText : $I18N.common.grid.emptyText,
  10. columnLines : true,
  11. autoScroll : true,
  12. dockedItems : [{
  13. xtype: 'toolbar',
  14. dock: 'top',
  15. items: [{
  16. name: 'query',
  17. text: $I18N.common.button.erpQueryButton,
  18. iconCls: 'x-button-icon-query',
  19. cls: 'x-btn-gray'
  20. },'->',{
  21. name: 'export',
  22. text: $I18N.common.button.erpExportButton,
  23. iconCls: 'x-button-icon-excel',
  24. cls: 'x-btn-gray',
  25. margin: '0 4 0 0'
  26. },'-',{
  27. name: 'print',
  28. text: $I18N.common.button.erpPrintButton,
  29. iconCls: 'x-button-icon-print',
  30. margin: '0 4 0 0',
  31. cls: 'x-btn-gray'
  32. },'-',{
  33. text: $I18N.common.button.erpCloseButton,
  34. iconCls: 'x-button-icon-close',
  35. id:'close',
  36. cls: 'x-btn-gray',
  37. margin: '0 4 0 0',
  38. handler: function(){
  39. var main = parent.Ext.getCmp("content-panel");
  40. main.getActiveTab().close();
  41. }
  42. }]
  43. },{
  44. xtype: 'toolbar',
  45. dock: 'top',
  46. items: [{
  47. xtype: 'displayfield',
  48. fieldLabel: '供应商名称',
  49. value:'供应商名称:    '+vendname,
  50. hideLabel:true,
  51. labelWidth:'100'
  52. },'',{
  53. xtype: 'displayfield',
  54. fieldLabel: '公司名',
  55. value:'公司名:    '+cop,
  56. hideLabel:true,
  57. labelWidth:'100'
  58. },'',{
  59. xtype: 'displayfield',
  60. name: 'vm_currency',
  61. id: 'vm_currency',
  62. fieldLabel: '币别',
  63. hideLabel:true,
  64. value:'币别:    '+currency,
  65. labelWidth:'50'
  66. },'','','','',{
  67. xtype: 'displayfield',
  68. name: 'vm_yearmonth',
  69. id: 'vm_yearmonth',
  70. labelAlign:'left',
  71. hideLabel:true,
  72. labelWidth:'50',
  73. fieldLabel:'期间',
  74. value:'期间:    '+yearmonth
  75. }]
  76. }],
  77. store: Ext.create('Ext.data.Store', {
  78. fields:[{
  79. name: 'tb_code',
  80. type: 'string'
  81. },{
  82. name: 'tb_kind',
  83. type: 'string'
  84. },{
  85. name: 'tb_remark',
  86. type: 'string'
  87. },{
  88. name: 'tb_date',
  89. type: 'string'
  90. },{
  91. name: 'tb_apamount',
  92. type: 'string'
  93. },{
  94. name: 'tb_inoutno',
  95. type: 'string'
  96. },{
  97. name: 'tb_pdno',
  98. type: 'string'
  99. },{
  100. name: 'tb_ordercode',
  101. type: 'string'
  102. },{
  103. name: 'tb_prodcode',
  104. type: 'string'
  105. },{
  106. name: 'tb_qty',
  107. type: 'string'
  108. },{
  109. name: 'tb_price',
  110. type: 'string'
  111. },{
  112. name: 'tb_pbamount',
  113. type: 'string'
  114. },{
  115. name: 'tb_balance',
  116. type: 'string'
  117. },{
  118. name: 'tb_index',
  119. type: 'number'
  120. },{
  121. name: 'tb_id',
  122. type:'number'
  123. }],
  124. data: []
  125. }),
  126. /*
  127. * 备注:
  128. *tb_index
  129. *value = 1 应收明细 ,发出商品 第一行期初余额详情
  130. *value = 2 应收明细,发出商品 中间的信息详情
  131. *value = 3 应收明细,发出商品 最后一行期余额详情
  132. *value = 4 第二 三张表的表头
  133. *value = 5 空白行
  134. *value = 6 发货单明细
  135. *
  136. */
  137. defaultColumns: [{
  138. dataIndex: 'tb_date',
  139. cls: 'x-grid-header-1',
  140. text: '日期',
  141. width: 100,
  142. renderer:function(val, meta, record){
  143. if(record.data['tb_index']==4||record.data['tb_index']==5){
  144. val = '<div style="text-align:center">'+val+'</div>';
  145. return val;
  146. }else{
  147. return val;
  148. }
  149. }
  150. },{
  151. dataIndex: 'tb_kind',
  152. cls: 'x-grid-header-1',
  153. text: '单据类型',
  154. width: 120,
  155. renderer:function(val, meta, record){
  156. if(record.data['tb_index']==4||record.data['tb_index']==5){
  157. val = '<div style="text-align:center">'+val+'</div>';
  158. return val;
  159. }else{
  160. return val;
  161. }
  162. }
  163. },{
  164. dataIndex: 'tb_code',
  165. cls: 'x-grid-header-1',
  166. text: '单据编号',
  167. width: 150,
  168. renderer:function(val, meta, record){
  169. if(record.data['tb_index']==4||record.data['tb_index']==5){
  170. val = '<div style="text-align:center">'+val+'</div>';
  171. return val;
  172. }else{
  173. return val;
  174. }
  175. }
  176. },{
  177. dataIndex: 'tb_remark',
  178. cls: 'x-grid-header-1',
  179. text: '描述',
  180. width: 200,
  181. renderer:function(val, meta, record){
  182. if(record.data['tb_index']==4||record.data['tb_index']==5){
  183. val = '<div style="text-align:center">'+val+'</div>';
  184. return val;
  185. }else{
  186. return val;
  187. }
  188. }
  189. },{
  190. dataIndex: 'tb_apamount',
  191. cls: 'x-grid-header-1',
  192. text: '应付金额',
  193. width: 120,
  194. align:'right',
  195. xtype:'numbercolumn',
  196. renderer:function(val, meta, record, x, y, s){
  197. if(record.data['tb_index']==4||record.data['tb_index']==5){
  198. val = '<div style="text-align:center">'+val+'</div>';
  199. return val;
  200. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  201. if(val==0||val=='0'){
  202. return '';
  203. }else{
  204. val = Ext.util.Format.number(val,'0,000.00');
  205. return val;
  206. }
  207. /*
  208. if (record.get('tb_index') == 3) {// 期末余额
  209. var d = 0;
  210. s.data.each(function(i){
  211. if(i.get('tb_index') == 1 || i.get('tb_index') == 2) {
  212. d += Number(i.get('tb_apamount'));
  213. }
  214. });
  215. val = d;
  216. }
  217. if(val==0||val=='0'){
  218. return '';
  219. }else{
  220. val = Ext.util.Format.number(val,'0,000.00');
  221. return val;
  222. }
  223. */}else if(record.data['tb_index']==2){
  224. val = Ext.util.Format.number(val,'0,000.00');
  225. return val;
  226. }
  227. }
  228. },{
  229. dataIndex: 'tb_pbamount',
  230. cls: 'x-grid-header-1',
  231. text: '付款金额',
  232. width: 120,
  233. align:'right',
  234. xtype:'numbercolumn',
  235. renderer:function(val, meta, record, x, y, s){
  236. if(record.data['tb_index']==4||record.data['tb_index']==5){
  237. val = '<div style="text-align:center;">'+val+'</div>';
  238. return val;
  239. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  240. if(val==0||val=='0'){
  241. return '';
  242. }else{
  243. val = Ext.util.Format.number(val,'0,000.00');
  244. return val;
  245. }
  246. /*
  247. if (record.get('tb_index') == 3) {// 期末余额
  248. var d = 0;
  249. s.data.each(function(i){
  250. if(i.get('tb_index') == 1 || i.get('tb_index') == 2) {
  251. d += Number(i.get('tb_pbamount'));
  252. }
  253. });
  254. val = d;
  255. }
  256. if(val==0||val=='0'){
  257. return '';
  258. }else{
  259. val = Ext.util.Format.number(val,'0,000.00');
  260. return val;
  261. }
  262. */}else if(record.data['tb_index']==2){
  263. val = Ext.util.Format.number(val,'0,000.00');
  264. return val;
  265. }
  266. }
  267. },{
  268. dataIndex: 'tb_balance',
  269. cls: 'x-grid-header-1',
  270. text: '余额',
  271. width: 120,
  272. align:'right',
  273. xtype:'numbercolumn',
  274. renderer:function(val, meta, record){
  275. if(record.data['tb_index']==4||record.data['tb_index']==5){
  276. val = '<div style="text-align:center">'+val+'</div>';
  277. return val;
  278. }else if(record.data['tb_index']==6){
  279. return '';
  280. }else{
  281. val = Ext.util.Format.number(val,'0,000.00');
  282. return val;
  283. }
  284. }
  285. }],
  286. detailColumns: [{
  287. dataIndex: 'tb_date',
  288. cls: 'x-grid-header-1',
  289. text: '日期',
  290. width: 100,
  291. renderer:function(val, meta, record){
  292. if(record.data['tb_index']==4||record.data['tb_index']==5){
  293. val = '<div style="text-align:center">'+val+'</div>';
  294. return val;
  295. }else{
  296. return val;
  297. }
  298. }
  299. },{
  300. dataIndex: 'tb_kind',
  301. cls: 'x-grid-header-1',
  302. text: '单据类型',
  303. width: 120,
  304. renderer:function(val, meta, record){
  305. if(record.data['tb_index']==4||record.data['tb_index']==5){
  306. val = '<div style="text-align:center">'+val+'</div>';
  307. return val;
  308. }else{
  309. return val;
  310. }
  311. }
  312. },{
  313. dataIndex: 'tb_code',
  314. cls: 'x-grid-header-1',
  315. text: '单据编号',
  316. width: 150,
  317. renderer:function(val, meta, record){
  318. if(record.data['tb_index']==4||record.data['tb_index']==5){
  319. val = '<div style="text-align:center">'+val+'</div>';
  320. return val;
  321. }else{
  322. return val;
  323. }
  324. }
  325. },{
  326. dataIndex: 'tb_remark',
  327. cls: 'x-grid-header-1',
  328. text: '描述',
  329. width: 100,
  330. renderer:function(val, meta, record){
  331. if(record.data['tb_index']==4||record.data['tb_index']==5){
  332. val = '<div style="text-align:center">'+val+'</div>';
  333. return val;
  334. }else{
  335. return val;
  336. }
  337. }
  338. },{
  339. dataIndex: 'tb_inoutno',
  340. cls: 'x-grid-header-1',
  341. text: '出入库单号',
  342. width: 130,
  343. renderer:function(val, meta, record){
  344. if(record.data['tb_index']==4||record.data['tb_index']==5){
  345. val = '<div style="text-align:center">'+val+'</div>';
  346. return val;
  347. }else{
  348. return val;
  349. }
  350. }
  351. },{
  352. dataIndex: 'tb_pdno',
  353. cls: 'x-grid-header-1',
  354. text: '出入库序号',
  355. width: 100,
  356. align: 'center',
  357. renderer:function(val, meta, record){
  358. if(record.data['tb_index']==4||record.data['tb_index']==5){
  359. val = '<div style="text-align:center">'+val+'</div>';
  360. return val;
  361. }else{
  362. if (val == 0)
  363. return '';
  364. return val;
  365. }
  366. }
  367. },{
  368. dataIndex: 'tb_ordercode',
  369. cls: 'x-grid-header-1',
  370. text: '采购单号',
  371. width: 150,
  372. renderer:function(val, meta, record){
  373. if(record.data['tb_index']==4||record.data['tb_index']==5){
  374. val = '<div style="text-align:center">'+val+'</div>';
  375. return val;
  376. }else{
  377. return val;
  378. }
  379. }
  380. },{
  381. dataIndex: 'tb_prodcode',
  382. cls: 'x-grid-header-1',
  383. text: '物料编号',
  384. width: 150,
  385. renderer:function(val, meta, record){
  386. if(record.data['tb_index']==4||record.data['tb_index']==5){
  387. val = '<div style="text-align:center">'+val+'</div>';
  388. return val;
  389. }else{
  390. return val;
  391. }
  392. }
  393. },{
  394. dataIndex: 'tb_qty',
  395. cls: 'x-grid-header-1',
  396. text: '数量',
  397. width: 100,
  398. align:'right',
  399. renderer:function(val, meta, record){
  400. if(record.data['tb_index']==4||record.data['tb_index']==5){
  401. val = '<div style="text-align:center">'+val+'</div>';
  402. return val;
  403. }else if(record.data['tb_index']==1||record.data['tb_index']==3){
  404. if(val==0||val=='0'){
  405. return '';
  406. }else{
  407. val = Ext.util.Format.number(val,'0');
  408. return val;
  409. }
  410. }else if(record.data['tb_index']==2||record.data['tb_index']==6){
  411. val = Ext.util.Format.number(val,'0');
  412. return val;
  413. }
  414. }
  415. },{
  416. dataIndex: 'tb_price',
  417. cls: 'x-grid-header-1',
  418. text: '单价',
  419. width: 100,
  420. align:'right',
  421. renderer:function(val, meta, record){
  422. if(record.data['tb_index']==4||record.data['tb_index']==5){
  423. val = '<div style="text-align:center">'+val+'</div>';
  424. return val;
  425. }else if(record.data['tb_index']==1||record.data['tb_index']==3){
  426. if(val==0||val=='0'){
  427. return '';
  428. }else{
  429. val = Ext.util.Format.number(val,'0,000.00');
  430. return val;
  431. }
  432. }else if(record.data['tb_index']==2||record.data['tb_index']==6){
  433. val = Ext.util.Format.number(val,'0,000.00');
  434. return val;
  435. }
  436. }
  437. },{
  438. dataIndex: 'tb_apamount',
  439. cls: 'x-grid-header-1',
  440. text: '应付金额',
  441. width: 120,
  442. align:'right',
  443. xtype:'numbercolumn',
  444. renderer:function(val, meta, record){
  445. if(record.data['tb_index']==4||record.data['tb_index']==5){
  446. val = '<div style="text-align:center">'+val+'</div>';
  447. return val;
  448. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  449. if(val==0||val=='0'){
  450. return '';
  451. }else{
  452. val = Ext.util.Format.number(val,'0,000.00');
  453. return val;
  454. }
  455. }else if(record.data['tb_index']==2){
  456. val = Ext.util.Format.number(val,'0,000.00');
  457. return val;
  458. }
  459. }
  460. },{
  461. dataIndex: 'tb_pbamount',
  462. cls: 'x-grid-header-1',
  463. text: '付款金额',
  464. width: 120,
  465. align:'right',
  466. xtype:'numbercolumn',
  467. renderer:function(val, meta, record){
  468. if(record.data['tb_index']==4||record.data['tb_index']==5){
  469. val = '<div style="text-align:center;">'+val+'</div>';
  470. return val;
  471. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  472. if(val==0||val=='0'){
  473. return '';
  474. }else{
  475. val = Ext.util.Format.number(val,'0,000.00');
  476. return val;
  477. }
  478. }else if(record.data['tb_index']==2){
  479. val = Ext.util.Format.number(val,'0,000.00');
  480. return val;
  481. }
  482. }
  483. },{
  484. dataIndex: 'tb_balance',
  485. cls: 'x-grid-header-1',
  486. text: '余额',
  487. width: 120,
  488. align:'right',
  489. xtype:'numbercolumn',
  490. renderer:function(val, meta, record){
  491. if(record.data['tb_index']==4||record.data['tb_index']==5){
  492. val = '<div style="text-align:center">'+val+'</div>';
  493. return val;
  494. }else if(record.data['tb_index']==6){
  495. return '';
  496. }else{
  497. val = Ext.util.Format.number(val,'0,000.00');
  498. return val;
  499. }
  500. }
  501. }],
  502. // bodyStyle:'background-color:#f1f1f1;',
  503. GridUtil: Ext.create('erp.util.GridUtil'),
  504. RenderUtil: Ext.create('erp.util.RenderUtil'),
  505. initComponent : function(){
  506. this.columns = this.defaultColumns;
  507. this.callParent(arguments);
  508. },
  509. viewConfig: {
  510. getRowClass: function(record) {
  511. // return record.get('isCount') ? 'isCount' : null;
  512. if(record.get('tb_index')=='4'){
  513. return 'custom-total';
  514. }
  515. }
  516. }
  517. });