CmDetailGrid.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  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. name: 'tb_table',
  128. type:'string'
  129. }],
  130. data: []
  131. }),
  132. /*
  133. * 备注:
  134. *tb_index
  135. *value = 1 应收明细 ,发出商品 第一行期初余额详情
  136. *value = 2 应收明细,发出商品 中间的信息详情
  137. *value = 3 应收明细,发出商品 最后一行期余额详情
  138. *value = 4 第二 三张表的表头
  139. *value = 5 空白行
  140. *value = 6 发货单明细
  141. *
  142. */
  143. defaultColumns: [{
  144. dataIndex: 'tb_date',
  145. cls: 'x-grid-header-1',
  146. text: '日期',
  147. width: 100,
  148. renderer:function(val, meta, record){
  149. if(record.data['tb_index']==4||record.data['tb_index']==5){
  150. val = '<div style="text-align:center">'+val+'</div>';
  151. return val;
  152. }else{
  153. return val;
  154. }
  155. }
  156. },{
  157. dataIndex: 'tb_kind',
  158. cls: 'x-grid-header-1',
  159. text: '单据类型',
  160. width: 120,
  161. renderer:function(val, meta, record){
  162. if(record.data['tb_index']==4||record.data['tb_index']==5){
  163. val = '<div style="text-align:center">'+val+'</div>';
  164. return val;
  165. }else{
  166. return val;
  167. }
  168. }
  169. },{
  170. dataIndex: 'tb_code',
  171. cls: 'x-grid-header-1',
  172. text: '单据编号',
  173. width: 150,
  174. renderer:function(val, meta, record){
  175. if(record.data['tb_index']==4||record.data['tb_index']==5){
  176. val = '<div style="text-align:center">'+val+'</div>';
  177. return val;
  178. }else{
  179. return val;
  180. }
  181. }
  182. },{
  183. dataIndex: 'tb_remark',
  184. cls: 'x-grid-header-1',
  185. text: '描述',
  186. width: 200,
  187. renderer:function(val, meta, record){
  188. if(record.data['tb_index']==4||record.data['tb_index']==5){
  189. val = '<div style="text-align:center">'+val+'</div>';
  190. return val;
  191. }else{
  192. return val;
  193. }
  194. }
  195. },{
  196. dataIndex: 'tb_vouc',
  197. cls: 'x-grid-header-1',
  198. text: '凭证号',
  199. width: 150,
  200. renderer:function(val, meta, record){
  201. if(record.data['tb_index']==4||record.data['tb_index']==5){
  202. val = '<div style="text-align:center">'+val+'</div>';
  203. return val;
  204. }else{
  205. return val;
  206. }
  207. }
  208. },{
  209. dataIndex: 'tb_aramount',
  210. cls: 'x-grid-header-1',
  211. text: '应收金额',
  212. width: 120,
  213. align:'right',
  214. xtype:'numbercolumn',
  215. renderer:function(val, meta, record){
  216. if(record.data['tb_index']==4||record.data['tb_index']==5){
  217. val = '<div style="text-align:center">'+val+'</div>';
  218. return val;
  219. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  220. if(val==0||val=='0'){
  221. return '';
  222. }else{
  223. val = Ext.util.Format.number(val,'0,000.00');
  224. return val;
  225. }
  226. }else if(record.data['tb_index']==2){
  227. val = Ext.util.Format.number(val,'0,000.00');
  228. return val;
  229. }
  230. }
  231. },{
  232. dataIndex: 'tb_rbamount',
  233. cls: 'x-grid-header-1',
  234. text: '收款金额',
  235. width: 120,
  236. align:'right',
  237. xtype:'numbercolumn',
  238. renderer:function(val, meta, record){
  239. if(record.data['tb_index']==4||record.data['tb_index']==5){
  240. val = '<div style="text-align:center;">'+val+'</div>';
  241. return val;
  242. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  243. if(val==0||val=='0'){
  244. return '';
  245. }else{
  246. val = Ext.util.Format.number(val,'0,000.00');
  247. return val;
  248. }
  249. }else if(record.data['tb_index']==2){
  250. val = Ext.util.Format.number(val,'0,000.00');
  251. return val;
  252. }
  253. }
  254. },{
  255. dataIndex: 'tb_aramounts',
  256. cls: 'x-grid-header-1',
  257. text: '(销售)应收金额',
  258. width: 120,
  259. align:'right',
  260. xtype:'numbercolumn',
  261. renderer:function(val, meta, record){
  262. if(record.data['tb_index']==4||record.data['tb_index']==5){
  263. val = '<div style="text-align:center">'+val+'</div>';
  264. return val;
  265. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  266. if(val==0||val=='0'){
  267. return '';
  268. }else{
  269. val = Ext.util.Format.number(val,'0,000.00');
  270. return val;
  271. }
  272. }else if(record.data['tb_index']==2){
  273. val = Ext.util.Format.number(val,'0,000.00');
  274. return val;
  275. }
  276. }
  277. },{
  278. dataIndex: 'tb_rbamounts',
  279. cls: 'x-grid-header-1',
  280. text: '(销售)收款金额',
  281. width: 120,
  282. align:'right',
  283. xtype:'numbercolumn',
  284. renderer:function(val, meta, record){
  285. if(record.data['tb_index']==4||record.data['tb_index']==5){
  286. val = '<div style="text-align:center;">'+val+'</div>';
  287. return val;
  288. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  289. if(val==0||val=='0'){
  290. return '';
  291. }else{
  292. val = Ext.util.Format.number(val,'0,000.00');
  293. return val;
  294. }
  295. }else if(record.data['tb_index']==2){
  296. val = Ext.util.Format.number(val,'0,000.00');
  297. return val;
  298. }
  299. }
  300. },{
  301. dataIndex: 'tb_balance',
  302. cls: 'x-grid-header-1',
  303. text: '余额',
  304. width: 120,
  305. align:'right',
  306. xtype:'numbercolumn',
  307. renderer:function(val, meta, record){
  308. if(record.data['tb_index']==4||record.data['tb_index']==5){
  309. val = '<div style="text-align:center">'+val+'</div>';
  310. return val;
  311. }else if(record.data['tb_index']==6){
  312. return '';
  313. }else{
  314. val = Ext.util.Format.number(val,'0,000.00');
  315. return val;
  316. }
  317. }
  318. }],
  319. detailColumns: [{
  320. dataIndex: 'tb_date',
  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_kind',
  334. cls: 'x-grid-header-1',
  335. text: '单据类型',
  336. width: 120,
  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_code',
  347. cls: 'x-grid-header-1',
  348. text: '单据编号',
  349. width: 150,
  350. renderer:function(val, meta, record){
  351. if(record.data['tb_index']==4||record.data['tb_index']==5){
  352. val = '<div style="text-align:center">'+val+'</div>';
  353. return val;
  354. }else{
  355. return val;
  356. }
  357. }
  358. },{
  359. dataIndex: 'tb_remark',
  360. cls: 'x-grid-header-1',
  361. text: '描述',
  362. width: 100,
  363. renderer:function(val, meta, record){
  364. if(record.data['tb_index']==4||record.data['tb_index']==5){
  365. val = '<div style="text-align:center">'+val+'</div>';
  366. return val;
  367. }else{
  368. return val;
  369. }
  370. }
  371. },{
  372. dataIndex: 'tb_vouc',
  373. cls: 'x-grid-header-1',
  374. text: '凭证号',
  375. width: 150,
  376. renderer:function(val, meta, record){
  377. if(record.data['tb_index']==4||record.data['tb_index']==5){
  378. val = '<div style="text-align:center">'+val+'</div>';
  379. return val;
  380. }else{
  381. return val;
  382. }
  383. }
  384. },{
  385. dataIndex: 'tb_inoutno',
  386. cls: 'x-grid-header-1',
  387. text: '出入库单号',
  388. width: 130,
  389. renderer:function(val, meta, record){
  390. if(record.data['tb_index']==4||record.data['tb_index']==5){
  391. val = '<div style="text-align:center">'+val+'</div>';
  392. return val;
  393. }else{
  394. return val;
  395. }
  396. }
  397. },{
  398. dataIndex: 'tb_pdno',
  399. cls: 'x-grid-header-1',
  400. text: '出入库序号',
  401. width: 100,
  402. align: 'center',
  403. renderer:function(val, meta, record){
  404. if(record.data['tb_index']==4||record.data['tb_index']==5){
  405. val = '<div style="text-align:center">'+val+'</div>';
  406. return val;
  407. }else{
  408. if (val == 0)
  409. return '';
  410. return val;
  411. }
  412. }
  413. },{
  414. dataIndex: 'tb_ordercode',
  415. cls: 'x-grid-header-1',
  416. text: '订单号',
  417. width: 150,
  418. renderer:function(val, meta, record){
  419. if(record.data['tb_index']==4||record.data['tb_index']==5){
  420. val = '<div style="text-align:center">'+val+'</div>';
  421. return val;
  422. }else{
  423. return val;
  424. }
  425. }
  426. },{
  427. dataIndex: 'tb_prodcode',
  428. cls: 'x-grid-header-1',
  429. text: '物料编号',
  430. width: 150,
  431. renderer:function(val, meta, record){
  432. if(record.data['tb_index']==4||record.data['tb_index']==5){
  433. val = '<div style="text-align:center">'+val+'</div>';
  434. return val;
  435. }else{
  436. return val;
  437. }
  438. }
  439. },{
  440. dataIndex: 'tb_qty',
  441. cls: 'x-grid-header-1',
  442. text: '数量',
  443. width: 100,
  444. align:'right',
  445. renderer:function(val, meta, record){
  446. if(record.data['tb_index']==4||record.data['tb_index']==5){
  447. val = '<div style="text-align:center">'+val+'</div>';
  448. return val;
  449. }else if(record.data['tb_index']==1||record.data['tb_index']==3){
  450. if(val==0||val=='0'){
  451. return '';
  452. }else{
  453. val = Ext.util.Format.number(val,'0');
  454. return val;
  455. }
  456. }else if(record.data['tb_index']==2||record.data['tb_index']==6){
  457. val = Ext.util.Format.number(val,'0');
  458. return val;
  459. }
  460. }
  461. },{
  462. dataIndex: 'tb_price',
  463. cls: 'x-grid-header-1',
  464. text: '单价',
  465. width: 100,
  466. align:'right',
  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){
  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||record.data['tb_index']==6){
  479. val = Ext.util.Format.number(val,'0,000.00');
  480. return val;
  481. }
  482. }
  483. },{
  484. dataIndex: 'tb_aramount',
  485. cls: 'x-grid-header-1',
  486. text: '应收金额',
  487. width: 120,
  488. align:'right',
  489. xtype:'numbercolumn',
  490. renderer:function(val, meta, record, x, y, s){
  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']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  495. if(val==0||val=='0'){
  496. return '';
  497. }else{
  498. val = Ext.util.Format.number(val,'0,000.00');
  499. return val;
  500. }
  501. }else if(record.data['tb_index']==2){
  502. val = Ext.util.Format.number(val,'0,000.00');
  503. return val;
  504. }
  505. }
  506. },{
  507. dataIndex: 'tb_rbamount',
  508. cls: 'x-grid-header-1',
  509. text: '收款金额',
  510. width: 120,
  511. align:'right',
  512. xtype:'numbercolumn',
  513. renderer:function(val, meta, record, x, y, s){
  514. if(record.data['tb_index']==4||record.data['tb_index']==5){
  515. val = '<div style="text-align:center;">'+val+'</div>';
  516. return val;
  517. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  518. if(val==0||val=='0'){
  519. return '';
  520. }else{
  521. val = Ext.util.Format.number(val,'0,000.00');
  522. return val;
  523. }
  524. }else if(record.data['tb_index']==2){
  525. val = Ext.util.Format.number(val,'0,000.00');
  526. return val;
  527. }
  528. }
  529. },{
  530. dataIndex: 'tb_aramounts',
  531. cls: 'x-grid-header-1',
  532. text: '(销售)应收金额',
  533. width: 120,
  534. align:'right',
  535. xtype:'numbercolumn',
  536. renderer:function(val, meta, record){
  537. if(record.data['tb_index']==4||record.data['tb_index']==5){
  538. val = '<div style="text-align:center">'+val+'</div>';
  539. return val;
  540. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  541. if(val==0||val=='0'){
  542. return '';
  543. }else{
  544. val = Ext.util.Format.number(val,'0,000.00');
  545. return val;
  546. }
  547. }else if(record.data['tb_index']==2){
  548. val = Ext.util.Format.number(val,'0,000.00');
  549. return val;
  550. }
  551. }
  552. },{
  553. dataIndex: 'tb_rbamounts',
  554. cls: 'x-grid-header-1',
  555. text: '(销售)收款金额',
  556. width: 120,
  557. align:'right',
  558. xtype:'numbercolumn',
  559. renderer:function(val, meta, record){
  560. if(record.data['tb_index']==4||record.data['tb_index']==5){
  561. val = '<div style="text-align:center;">'+val+'</div>';
  562. return val;
  563. }else if(record.data['tb_index']==1||record.data['tb_index']==3||record.data['tb_index']==6){
  564. if(val==0||val=='0'){
  565. return '';
  566. }else{
  567. val = Ext.util.Format.number(val,'0,000.00');
  568. return val;
  569. }
  570. }else if(record.data['tb_index']==2){
  571. val = Ext.util.Format.number(val,'0,000.00');
  572. return val;
  573. }
  574. }
  575. },{
  576. dataIndex: 'tb_balance',
  577. cls: 'x-grid-header-1',
  578. text: '余额',
  579. width: 120,
  580. align:'right',
  581. xtype:'numbercolumn',
  582. renderer:function(val, meta, record){
  583. if(record.data['tb_index']==4||record.data['tb_index']==5){
  584. val = '<div style="text-align:center">'+val+'</div>';
  585. return val;
  586. }else if(record.data['tb_index']==6){
  587. return '';
  588. }else{
  589. val = Ext.util.Format.number(val,'0,000.00');
  590. return val;
  591. }
  592. }
  593. }],
  594. // bodyStyle:'background-color:#f1f1f1;',
  595. GridUtil: Ext.create('erp.util.GridUtil'),
  596. RenderUtil: Ext.create('erp.util.RenderUtil'),
  597. initComponent : function(){
  598. this.columns = this.defaultColumns;
  599. this.callParent(arguments);
  600. },
  601. viewConfig: {
  602. getRowClass: function(record) {
  603. // return record.get('isCount') ? 'isCount' : null;
  604. if(record.get('tb_index')=='4'){
  605. return 'custom-total';
  606. }
  607. }
  608. }
  609. });