VmDetailGrid.js 13 KB

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