CmDetailGrid.js 16 KB

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