CmDetailGrid.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. /**
  2. *
  3. */
  4. Ext.define('erp.view.fa.ars.cmQuery.CmDetailGrid',{
  5. extend: 'Ext.grid.Panel',
  6. alias: 'widget.cmdetailgrid',
  7. layout : 'fit',
  8. id: 'cmdetailgrid',
  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. },/*'<div style="font-size:1">显示销售发票明细</div>',*/'->',{
  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:'客户名称:&nbsp;&nbsp;&nbsp;&nbsp;'+custname,
  50. hideLabel:true,
  51. labelWidth:'100'
  52. },'','','','',{
  53. xtype: 'displayfield',
  54. name: 'cm_currency',
  55. id: 'cm_currency',
  56. fieldLabel: '币别',
  57. hideLabel:true,
  58. value:'币别:&nbsp;&nbsp;&nbsp;&nbsp;'+currency,
  59. labelWidth:'50'
  60. },'','','','',{
  61. xtype: 'displayfield',
  62. name: 'cm_yearmonth',
  63. id: 'cm_yearmonth',
  64. labelAlign:'left',
  65. hideLabel:true,
  66. labelWidth:'50',
  67. fieldLabel:'期间',
  68. value:'期间:&nbsp;&nbsp;&nbsp;&nbsp;'+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_vouc',
  83. type: 'string'
  84. },{
  85. name: 'tb_date',
  86. type: 'string'
  87. },{
  88. name: 'tb_aramount',
  89. type: 'string'
  90. },{
  91. name: 'tb_inoutno',
  92. type: 'string'
  93. },{
  94. name: 'tb_pdno',
  95. type: 'string'
  96. },{
  97. name: 'tb_ordercode',
  98. type: 'string'
  99. },{
  100. name: 'tb_prodcode',
  101. type: 'string'
  102. },{
  103. name: 'tb_qty',
  104. type: 'string'
  105. },{
  106. name: 'tb_price',
  107. type: 'string'
  108. },{
  109. name: 'tb_rbamount',
  110. type: 'string'
  111. },{
  112. name: 'tb_rbamounts',
  113. type: 'string'
  114. },{
  115. name: 'tb_aramounts',
  116. type: 'string'
  117. },{
  118. name: 'tb_balance',
  119. type: 'string'
  120. },{
  121. name: 'tb_index',
  122. type: 'number'
  123. },{
  124. name: 'tb_id',
  125. type:'number'
  126. }],
  127. data: []
  128. }),
  129. /*
  130. * 备注:
  131. *tb_index
  132. *value = 1 应收明细 ,发出商品 第一行期初余额详情
  133. *value = 2 应收明细,发出商品 中间的信息详情
  134. *value = 3 应收明细,发出商品 最后一行期余额详情
  135. *value = 4 第二 三张表的表头
  136. *value = 5 空白行
  137. *value = 6 发货单明细
  138. *
  139. */
  140. defaultColumns: [{
  141. dataIndex: 'tb_date',
  142. cls: 'x-grid-header-1',
  143. text: '日期',
  144. width: 100,
  145. renderer:function(val, meta, record){
  146. if(record.data['tb_index']==4||record.data['tb_index']==5){
  147. val = '<div style="text-align:center">'+val+'</div>';
  148. return val;
  149. }else{
  150. return val;
  151. }
  152. }
  153. },{
  154. dataIndex: 'tb_kind',
  155. cls: 'x-grid-header-1',
  156. text: '单据类型',
  157. width: 120,
  158. renderer:function(val, meta, record){
  159. if(record.data['tb_index']==4||record.data['tb_index']==5){
  160. val = '<div style="text-align:center">'+val+'</div>';
  161. return val;
  162. }else{
  163. return val;
  164. }
  165. }
  166. },{
  167. dataIndex: 'tb_code',
  168. cls: 'x-grid-header-1',
  169. text: '单据编号',
  170. width: 150,
  171. renderer:function(val, meta, record){
  172. if(record.data['tb_index']==4||record.data['tb_index']==5){
  173. val = '<div style="text-align:center">'+val+'</div>';
  174. return val;
  175. }else{
  176. return val;
  177. }
  178. }
  179. },{
  180. dataIndex: 'tb_remark',
  181. cls: 'x-grid-header-1',
  182. text: '描述',
  183. width: 200,
  184. renderer:function(val, meta, record){
  185. if(record.data['tb_index']==4||record.data['tb_index']==5){
  186. val = '<div style="text-align:center">'+val+'</div>';
  187. return val;
  188. }else{
  189. return val;
  190. }
  191. }
  192. },{
  193. dataIndex: 'tb_vouc',
  194. cls: 'x-grid-header-1',
  195. text: '凭证号',
  196. width: 150,
  197. renderer:function(val, meta, record){
  198. if(record.data['tb_index']==4||record.data['tb_index']==5){
  199. val = '<div style="text-align:center">'+val+'</div>';
  200. return val;
  201. }else{
  202. return val;
  203. }
  204. }
  205. },{
  206. dataIndex: 'tb_aramount',
  207. cls: 'x-grid-header-1',
  208. text: '应收金额',
  209. width: 120,
  210. align:'right',
  211. xtype:'numbercolumn',
  212. renderer:function(val, meta, record){
  213. if(record.data['tb_index']==4||record.data['tb_index']==5){
  214. val = '<div style="text-align:center">'+val+'</div>';
  215. return val;
  216. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  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_rbamount',
  230. cls: 'x-grid-header-1',
  231. text: '收款金额',
  232. width: 120,
  233. align:'right',
  234. xtype:'numbercolumn',
  235. renderer:function(val, meta, record){
  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. }else if(record.data['tb_index']==2){
  247. val = Ext.util.Format.number(val,'0,000.00');
  248. return val;
  249. }
  250. }
  251. },{
  252. dataIndex: 'tb_aramounts',
  253. cls: 'x-grid-header-1',
  254. text: '(销售)应收金额',
  255. width: 120,
  256. align:'right',
  257. xtype:'numbercolumn',
  258. renderer:function(val, meta, record){
  259. if(record.data['tb_index']==4||record.data['tb_index']==5){
  260. val = '<div style="text-align:center">'+val+'</div>';
  261. return val;
  262. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  263. if(val==0||val=='0'){
  264. return '';
  265. }else{
  266. val = Ext.util.Format.number(val,'0,000.00');
  267. return val;
  268. }
  269. }else if(record.data['tb_index']==2){
  270. val = Ext.util.Format.number(val,'0,000.00');
  271. return val;
  272. }
  273. }
  274. },{
  275. dataIndex: 'tb_rbamounts',
  276. cls: 'x-grid-header-1',
  277. text: '(销售)收款金额',
  278. width: 120,
  279. align:'right',
  280. xtype:'numbercolumn',
  281. renderer:function(val, meta, record){
  282. if(record.data['tb_index']==4||record.data['tb_index']==5){
  283. val = '<div style="text-align:center;">'+val+'</div>';
  284. return val;
  285. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  286. if(val==0||val=='0'){
  287. return '';
  288. }else{
  289. val = Ext.util.Format.number(val,'0,000.00');
  290. return val;
  291. }
  292. }else if(record.data['tb_index']==2){
  293. val = Ext.util.Format.number(val,'0,000.00');
  294. return val;
  295. }
  296. }
  297. },{
  298. dataIndex: 'tb_balance',
  299. cls: 'x-grid-header-1',
  300. text: '余额',
  301. width: 120,
  302. align:'right',
  303. xtype:'numbercolumn',
  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 if(record.data['tb_index']==6){
  309. return '';
  310. }else{
  311. val = Ext.util.Format.number(val,'0,000.00');
  312. return val;
  313. }
  314. }
  315. }],
  316. detailColumns: [{
  317. dataIndex: 'tb_date',
  318. cls: 'x-grid-header-1',
  319. text: '日期',
  320. width: 100,
  321. renderer:function(val, meta, record){
  322. if(record.data['tb_index']==4||record.data['tb_index']==5){
  323. val = '<div style="text-align:center">'+val+'</div>';
  324. return val;
  325. }else{
  326. return val;
  327. }
  328. }
  329. },{
  330. dataIndex: 'tb_kind',
  331. cls: 'x-grid-header-1',
  332. text: '单据类型',
  333. width: 120,
  334. renderer:function(val, meta, record){
  335. if(record.data['tb_index']==4||record.data['tb_index']==5){
  336. val = '<div style="text-align:center">'+val+'</div>';
  337. return val;
  338. }else{
  339. return val;
  340. }
  341. }
  342. },{
  343. dataIndex: 'tb_code',
  344. cls: 'x-grid-header-1',
  345. text: '单据编号',
  346. width: 150,
  347. renderer:function(val, meta, record){
  348. if(record.data['tb_index']==4||record.data['tb_index']==5){
  349. val = '<div style="text-align:center">'+val+'</div>';
  350. return val;
  351. }else{
  352. return val;
  353. }
  354. }
  355. },{
  356. dataIndex: 'tb_remark',
  357. cls: 'x-grid-header-1',
  358. text: '描述',
  359. width: 100,
  360. renderer:function(val, meta, record){
  361. if(record.data['tb_index']==4||record.data['tb_index']==5){
  362. val = '<div style="text-align:center">'+val+'</div>';
  363. return val;
  364. }else{
  365. return val;
  366. }
  367. }
  368. },{
  369. dataIndex: 'tb_vouc',
  370. cls: 'x-grid-header-1',
  371. text: '凭证号',
  372. width: 150,
  373. renderer:function(val, meta, record){
  374. if(record.data['tb_index']==4||record.data['tb_index']==5){
  375. val = '<div style="text-align:center">'+val+'</div>';
  376. return val;
  377. }else{
  378. return val;
  379. }
  380. }
  381. },{
  382. dataIndex: 'tb_inoutno',
  383. cls: 'x-grid-header-1',
  384. text: '出入库单号',
  385. width: 130,
  386. renderer:function(val, meta, record){
  387. if(record.data['tb_index']==4||record.data['tb_index']==5){
  388. val = '<div style="text-align:center">'+val+'</div>';
  389. return val;
  390. }else{
  391. return val;
  392. }
  393. }
  394. },{
  395. dataIndex: 'tb_pdno',
  396. cls: 'x-grid-header-1',
  397. text: '出入库序号',
  398. width: 100,
  399. align: 'center',
  400. renderer:function(val, meta, record){
  401. if(record.data['tb_index']==4||record.data['tb_index']==5){
  402. val = '<div style="text-align:center">'+val+'</div>';
  403. return val;
  404. }else{
  405. if (val == 0)
  406. return '';
  407. return val;
  408. }
  409. }
  410. },{
  411. dataIndex: 'tb_ordercode',
  412. cls: 'x-grid-header-1',
  413. text: '订单号',
  414. width: 150,
  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{
  420. return val;
  421. }
  422. }
  423. },{
  424. dataIndex: 'tb_prodcode',
  425. cls: 'x-grid-header-1',
  426. text: '物料编号',
  427. width: 150,
  428. renderer:function(val, meta, record){
  429. if(record.data['tb_index']==4||record.data['tb_index']==5){
  430. val = '<div style="text-align:center">'+val+'</div>';
  431. return val;
  432. }else{
  433. return val;
  434. }
  435. }
  436. },{
  437. dataIndex: 'tb_qty',
  438. cls: 'x-grid-header-1',
  439. text: '数量',
  440. width: 100,
  441. align:'right',
  442. renderer:function(val, meta, record){
  443. if(record.data['tb_index']==4||record.data['tb_index']==5){
  444. val = '<div style="text-align:center">'+val+'</div>';
  445. return val;
  446. }else if(record.data['tb_index']==1||record.data['tb_index']==3){
  447. if(val==0||val=='0'){
  448. return '';
  449. }else{
  450. val = Ext.util.Format.number(val,'0');
  451. return val;
  452. }
  453. }else if(record.data['tb_index']==2||record.data['tb_index']==6){
  454. val = Ext.util.Format.number(val,'0');
  455. return val;
  456. }
  457. }
  458. },{
  459. dataIndex: 'tb_price',
  460. cls: 'x-grid-header-1',
  461. text: '单价',
  462. width: 100,
  463. align:'right',
  464. renderer:function(val, meta, record){
  465. if(record.data['tb_index']==4||record.data['tb_index']==5){
  466. val = '<div style="text-align:center">'+val+'</div>';
  467. return val;
  468. }else if(record.data['tb_index']==1||record.data['tb_index']==3){
  469. if(val==0||val=='0'){
  470. return '';
  471. }else{
  472. val = Ext.util.Format.number(val,'0,000.00');
  473. return val;
  474. }
  475. }else if(record.data['tb_index']==2||record.data['tb_index']==6){
  476. val = Ext.util.Format.number(val,'0,000.00');
  477. return val;
  478. }
  479. }
  480. },{
  481. dataIndex: 'tb_aramount',
  482. cls: 'x-grid-header-1',
  483. text: '应收金额',
  484. width: 120,
  485. align:'right',
  486. xtype:'numbercolumn',
  487. renderer:function(val, meta, record, x, y, s){
  488. if(record.data['tb_index']==4||record.data['tb_index']==5){
  489. val = '<div style="text-align:center">'+val+'</div>';
  490. return val;
  491. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  492. if(val==0||val=='0'){
  493. return '';
  494. }else{
  495. val = Ext.util.Format.number(val,'0,000.00');
  496. return val;
  497. }
  498. }else if(record.data['tb_index']==2){
  499. val = Ext.util.Format.number(val,'0,000.00');
  500. return val;
  501. }
  502. }
  503. },{
  504. dataIndex: 'tb_rbamount',
  505. cls: 'x-grid-header-1',
  506. text: '收款金额',
  507. width: 120,
  508. align:'right',
  509. xtype:'numbercolumn',
  510. renderer:function(val, meta, record, x, y, s){
  511. if(record.data['tb_index']==4||record.data['tb_index']==5){
  512. val = '<div style="text-align:center;">'+val+'</div>';
  513. return val;
  514. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  515. if(val==0||val=='0'){
  516. return '';
  517. }else{
  518. val = Ext.util.Format.number(val,'0,000.00');
  519. return val;
  520. }
  521. }else if(record.data['tb_index']==2){
  522. val = Ext.util.Format.number(val,'0,000.00');
  523. return val;
  524. }
  525. }
  526. },{
  527. dataIndex: 'tb_aramounts',
  528. cls: 'x-grid-header-1',
  529. text: '(销售)应收金额',
  530. width: 120,
  531. align:'right',
  532. xtype:'numbercolumn',
  533. renderer:function(val, meta, record){
  534. if(record.data['tb_index']==4||record.data['tb_index']==5){
  535. val = '<div style="text-align:center">'+val+'</div>';
  536. return val;
  537. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  538. if(val==0||val=='0'){
  539. return '';
  540. }else{
  541. val = Ext.util.Format.number(val,'0,000.00');
  542. return val;
  543. }
  544. }else if(record.data['tb_index']==2){
  545. val = Ext.util.Format.number(val,'0,000.00');
  546. return val;
  547. }
  548. }
  549. },{
  550. dataIndex: 'tb_rbamounts',
  551. cls: 'x-grid-header-1',
  552. text: '(销售)收款金额',
  553. width: 120,
  554. align:'right',
  555. xtype:'numbercolumn',
  556. renderer:function(val, meta, record){
  557. if(record.data['tb_index']==4||record.data['tb_index']==5){
  558. val = '<div style="text-align:center;">'+val+'</div>';
  559. return val;
  560. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  561. if(val==0||val=='0'){
  562. return '';
  563. }else{
  564. val = Ext.util.Format.number(val,'0,000.00');
  565. return val;
  566. }
  567. }else if(record.data['tb_index']==2){
  568. val = Ext.util.Format.number(val,'0,000.00');
  569. return val;
  570. }
  571. }
  572. },{
  573. dataIndex: 'tb_balance',
  574. cls: 'x-grid-header-1',
  575. text: '余额',
  576. width: 120,
  577. align:'right',
  578. xtype:'numbercolumn',
  579. renderer:function(val, meta, record){
  580. if(record.data['tb_index']==4||record.data['tb_index']==5){
  581. val = '<div style="text-align:center">'+val+'</div>';
  582. return val;
  583. }else if(record.data['tb_index']==6){
  584. return '';
  585. }else{
  586. val = Ext.util.Format.number(val,'0,000.00');
  587. return val;
  588. }
  589. }
  590. }],
  591. // bodyStyle:'background-color:#f1f1f1;',
  592. GridUtil: Ext.create('erp.util.GridUtil'),
  593. RenderUtil: Ext.create('erp.util.RenderUtil'),
  594. initComponent : function(){
  595. this.columns = this.defaultColumns;
  596. this.callParent(arguments);
  597. },
  598. viewConfig: {
  599. getRowClass: function(record) {
  600. // return record.get('isCount') ? 'isCount' : null;
  601. if(record.get('tb_index')=='4'){
  602. return 'custom-total';
  603. }
  604. }
  605. }
  606. });