FormPanel.js 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  1. Ext.define('saas.view.money.verification.FormPanel', {
  2. extend: 'saas.view.core.form.FormPanel',
  3. xtype: 'money-verification-formpanel',
  4. controller: 'money-verification-formpanel',
  5. viewModel: 'money-verification-formpanel',
  6. viewName: 'money-verification-formpanel',
  7. caller: 'Verification',
  8. //字段属性
  9. _title: '核销单',
  10. _idField: 'id',
  11. _codeField: 'vc_code',
  12. _statusField: 'vc_status',
  13. _statusCodeField: 'vc_statuscode',
  14. _auditmanField: 'vc_auditman',
  15. _auditdateField: 'vc_auditdate',
  16. _readUrl: '/api/money/verification/read',
  17. _saveUrl: '/api/money/verification/save',
  18. _auditUrl: '/api/money/verification/audit',
  19. _unAuditUrl: '/api/money/verification/unAudit',
  20. _deleteUrl: '/api/money/verification/delete',
  21. defatulType: 'receipts_offset_receivable',
  22. initComponent: function () {
  23. this.initEtcConfig();
  24. this.callParent(arguments);
  25. },
  26. initFormItems: function () {
  27. this.initEtcConfig();
  28. var me = this,
  29. defaultItems = me.getAcitveItems(),
  30. FormUtil = saas.util.FormUtil;
  31. me.defaultItems = Ext.Array.clone(defaultItems);
  32. me.detailCount = 0;
  33. saas.util.ViewUtil.getViewConfig(me.viewName)
  34. .then(function (cfg) {
  35. let items = defaultItems || [];
  36. me.cusCfg = cfg;
  37. items = FormUtil.initItems(items);
  38. items = FormUtil.applyCusMainItemConfig(items, cfg);
  39. items = FormUtil.applyCusDetailItemConfig(items, cfg);
  40. me.configItems = items;
  41. items = FormUtil.applyDefaultItems(me, items);
  42. me.removeAll();
  43. return me.addItems(items);
  44. })
  45. .then(function (items) {
  46. me.fireEvent('afterSetItems', me, items);
  47. })
  48. .then(function () {
  49. FormUtil.loadData(me);
  50. })
  51. },
  52. getAcitveItems: function () {
  53. var me = this,
  54. acitveType = me.acitveType || me.defatulType,
  55. etc = me.etc,
  56. acitveEtc = etc[acitveType],
  57. mainItems = acitveEtc.main,
  58. details = acitveEtc.details,
  59. base = etc.base,
  60. detail1 = etc.detail1,
  61. detail2 = etc.detail2,
  62. other = etc.other,
  63. items = [];
  64. base[0].defaultValue = acitveType;
  65. items = Ext.Array.merge(base, mainItems, (details[0] ? [detail1] : []), (details[1] ? [detail2] : []), other);
  66. me.viewName = 'money-verification-formpanel-' + acitveType;
  67. return items;
  68. },
  69. listeners: {
  70. afterSetItems: function (form) {
  71. var viewModel = form.getViewModel();
  72. var init_vc_kind = form.init_vc_kind;
  73. if (init_vc_kind) {
  74. viewModel.set('vc_kind', init_vc_kind);
  75. form.init_vc_kind = null;
  76. }
  77. }
  78. },
  79. initEtcConfig: function () {
  80. Ext.apply(this, {
  81. etc: {
  82. /**
  83. * 预收:receipts
  84. * 预付:prepaid
  85. * 应收:receivable
  86. * 应付:payable
  87. */
  88. // base
  89. base: [{
  90. xtype: 'combo',
  91. name: 'vc_kind',
  92. fieldLabel: '业务类型',
  93. allowBlank: false,
  94. editable: false,
  95. store: [
  96. ['receipts_offset_receivable', '预收冲应收'],
  97. ['prepaid_offset_payable', '预付冲应付'],
  98. ['receivable_offset_payable', '应收冲应付'],
  99. ['receivable_to_receivable', '应收转应收'],
  100. ['payable_to_payable', '应付转应付']
  101. ],
  102. listeners: {
  103. beforerender: function (f) {
  104. f.firstLoad = true;
  105. if (f.ownerCt.initId != 0) {
  106. f.setReadOnly(true);
  107. f.setDisabled(true);
  108. }
  109. }
  110. }
  111. }],
  112. detail1: {
  113. xtype: "detailGridField",
  114. name: 'detail1',
  115. storeModel: 'saas.model.money.Verification1',
  116. detnoColumn: 'vd_detno',
  117. deleteDetailUrl: '/api/money/verification/deleteDetail1',
  118. columnWidth: 1,
  119. columns: [{
  120. text: 'ID',
  121. dataIndex: 'id',
  122. hidden: true
  123. }, {
  124. text: '来源ID',
  125. dataIndex: 'vd_slid',
  126. hidden: true
  127. }, {
  128. text: '来源单号',
  129. dataIndex: 'vd_slcode',
  130. width: 150,
  131. allowBlank: false,
  132. editor: {
  133. displayField: "display",
  134. editable: true,
  135. format: "",
  136. hideTrigger: false,
  137. maxLength: 100.0,
  138. minValue: null,
  139. positiveNum: false,
  140. queryMode: "local",
  141. store: null,
  142. valueField: "value",
  143. xtype: "oriOrderMutiDbfindTrigger"
  144. }
  145. }, {
  146. text: '业务类型',
  147. dataIndex: "vd_slkind",
  148. width: 110
  149. }, {
  150. text: "单据日期",
  151. dataIndex: "vd_sldate",
  152. xtype: 'datecolumn',
  153. width: 110
  154. }, {
  155. text: "单据金额(元)",
  156. xtype: 'numbercolumn',
  157. dataIndex: "vd_amount",
  158. width: 110,
  159. renderer: function (v, m, r) {
  160. return saas.util.BaseUtil.numberFormat(v, 2, true);
  161. },
  162. summaryType: 'sum',
  163. summaryRenderer: function (v, d, f, m) {
  164. return saas.util.BaseUtil.numberFormat(v, 2, true);
  165. }
  166. }, {
  167. text: "已核销金额(元)",
  168. xtype: 'numbercolumn',
  169. dataIndex: "sl_yamount",
  170. width: 120,
  171. ignore: true,
  172. renderer: function (v, m, r) {
  173. return saas.util.BaseUtil.numberFormat(v, 2, true);
  174. },
  175. summaryType: 'sum',
  176. summaryRenderer: function (v, d, f, m) {
  177. return saas.util.BaseUtil.numberFormat(v, 2, true);
  178. }
  179. }, {
  180. text: "未核销金额(元)",
  181. xtype: 'numbercolumn',
  182. dataIndex: "sl_namount",
  183. width: 120,
  184. ignore: true,
  185. renderer: function (v, m, r) {
  186. return saas.util.BaseUtil.numberFormat(v, 2, true);
  187. },
  188. summaryType: 'sum',
  189. summaryRenderer: function (v, d, f, m) {
  190. return saas.util.BaseUtil.numberFormat(v, 2, true);
  191. }
  192. }, {
  193. text: "本次核销金额(元)",
  194. xtype: 'numbercolumn',
  195. dataIndex: "vd_nowbalance",
  196. width: 150,
  197. editor: {
  198. xtype: "numberfield",
  199. decimalPrecision: 2
  200. },
  201. allowBlank: false,
  202. renderer: function (v, m, r) {
  203. return saas.util.BaseUtil.numberFormat(v, 2, true);
  204. },
  205. summaryType: 'sum',
  206. summaryRenderer: function (v, d, f, m) {
  207. return saas.util.BaseUtil.numberFormat(v, 2, true);
  208. }
  209. }, {
  210. dataIndex: "vd_text1",
  211. text: "自定义字段1",
  212. width: 100,
  213. hidden: true,
  214. initHidden: false,
  215. editor: {
  216. xtype: "textfield"
  217. },
  218. }, {
  219. dataIndex: "vd_text2",
  220. text: "自定义字段2",
  221. width: 100,
  222. hidden: true,
  223. initHidden: false,
  224. editor: {
  225. xtype: "textfield"
  226. },
  227. }, {
  228. dataIndex: "vd_text3",
  229. text: "自定义字段3",
  230. width: 100,
  231. hidden: true,
  232. initHidden: false,
  233. editor: {
  234. xtype: "textfield"
  235. },
  236. }, {
  237. dataIndex: "vd_text4",
  238. text: "自定义字段4",
  239. width: 100,
  240. hidden: true,
  241. initHidden: false,
  242. editor: {
  243. xtype: "textfield"
  244. },
  245. }, {
  246. dataIndex: "vd_text5",
  247. text: "自定义字段5",
  248. width: 100,
  249. hidden: true,
  250. initHidden: false,
  251. editor: {
  252. xtype: "textfield"
  253. },
  254. }]
  255. },
  256. detail2: {
  257. xtype: "detailGridField",
  258. name: 'detail2',
  259. storeModel: 'saas.model.money.Verification2',
  260. detnoColumn: 'vcd_detno',
  261. deleteDetailUrl: '/api/money/verification/deleteDetail2',
  262. columnWidth: 1,
  263. columns: [{
  264. text: 'ID',
  265. dataIndex: 'id',
  266. hidden: true
  267. }, {
  268. text: '来源ID',
  269. dataIndex: 'vcd_slid',
  270. hidden: true
  271. }, {
  272. text: '来源单号',
  273. dataIndex: 'vcd_slcode',
  274. width: 150,
  275. allowBlank: false,
  276. editor: {
  277. displayField: "display",
  278. editable: true,
  279. format: "",
  280. hideTrigger: false,
  281. maxLength: 100.0,
  282. minValue: null,
  283. positiveNum: false,
  284. queryMode: "local",
  285. store: null,
  286. valueField: "value",
  287. xtype: "oriOrderMutiDbfindTrigger"
  288. }
  289. }, {
  290. text: '业务类型',
  291. dataIndex: "vcd_slkind",
  292. width: 110
  293. }, {
  294. text: "单据日期",
  295. dataIndex: "vcd_sldate",
  296. xtype: 'datecolumn',
  297. width: 110
  298. }, {
  299. text: "单据金额(元)",
  300. xtype: 'numbercolumn',
  301. dataIndex: "vcd_amount",
  302. width: 110,
  303. renderer: function (v, m, r) {
  304. return saas.util.BaseUtil.numberFormat(v, 2, true);
  305. },
  306. summaryType: 'sum',
  307. summaryRenderer: function (v, d, f, m) {
  308. return saas.util.BaseUtil.numberFormat(v, 2, true);
  309. }
  310. }, {
  311. text: "已核销金额(元)",
  312. xtype: 'numbercolumn',
  313. dataIndex: "sl_yamount",
  314. width: 120,
  315. ignore: true,
  316. renderer: function (v, m, r) {
  317. return saas.util.BaseUtil.numberFormat(v, 2, true);
  318. },
  319. summaryType: 'sum',
  320. summaryRenderer: function (v, d, f, m) {
  321. return saas.util.BaseUtil.numberFormat(v, 2, true);
  322. }
  323. }, {
  324. text: "未核销金额(元)",
  325. xtype: 'numbercolumn',
  326. dataIndex: "sl_namount",
  327. width: 120,
  328. ignore: true,
  329. renderer: function (v, m, r) {
  330. return saas.util.BaseUtil.numberFormat(v, 2, true);
  331. },
  332. summaryType: 'sum',
  333. summaryRenderer: function (v, d, f, m) {
  334. return saas.util.BaseUtil.numberFormat(v, 2, true);
  335. }
  336. }, {
  337. text: "本次核销金额(元)",
  338. dataIndex: "vcd_nowbalance",
  339. xtype: 'numbercolumn',
  340. width: 150,
  341. allowBlank: false,
  342. editor: {
  343. xtype: "numberfield",
  344. decimalPrecision: 2
  345. },
  346. renderer: function (v, m, r) {
  347. return saas.util.BaseUtil.numberFormat(v, 2, true);
  348. },
  349. summaryType: 'sum',
  350. summaryRenderer: function (v, d, f, m) {
  351. return saas.util.BaseUtil.numberFormat(v, 2, true);
  352. }
  353. }, {
  354. dataIndex: "vcdtext1",
  355. text: "自定义字段1",
  356. width: 100,
  357. hidden: true,
  358. initHidden: false,
  359. editor: {
  360. xtype: "textfield"
  361. },
  362. }, {
  363. dataIndex: "vcdtext2",
  364. text: "自定义字段2",
  365. width: 100,
  366. hidden: true,
  367. initHidden: false,
  368. editor: {
  369. xtype: "textfield"
  370. },
  371. }, {
  372. dataIndex: "vcdtext3",
  373. text: "自定义字段3",
  374. width: 100,
  375. hidden: true,
  376. initHidden: false,
  377. editor: {
  378. xtype: "textfield"
  379. },
  380. }, {
  381. dataIndex: "vcdtext4",
  382. text: "自定义字段4",
  383. width: 100,
  384. hidden: true,
  385. initHidden: false,
  386. editor: {
  387. xtype: "textfield"
  388. },
  389. }, {
  390. dataIndex: "vcdtext5",
  391. text: "自定义字段5",
  392. width: 100,
  393. hidden: true,
  394. initHidden: false,
  395. editor: {
  396. xtype: "textfield"
  397. },
  398. }]
  399. },
  400. other: [{
  401. xtype: 'textfield',
  402. name: 'vc_remark',
  403. columnWidth: 1,
  404. fieldLabel: '备注'
  405. }, {
  406. xtype: "hidden",
  407. name: "creatorId",
  408. fieldLabel: "录入人ID",
  409. readOnly: true
  410. }, {
  411. xtype: "textfield",
  412. name: "creatorName",
  413. fieldLabel: "录入人",
  414. readOnly: true
  415. }, {
  416. xtype: "datefield",
  417. name: "createTime",
  418. fieldLabel: "录入日期",
  419. readOnly: true,
  420. defaultValue: new Date()
  421. }, {
  422. xtype: "hidden",
  423. name: "updaterId",
  424. fieldLabel: "更新人ID",
  425. readOnly: true
  426. }, {
  427. xtype: "hidden",
  428. name: "updaterName",
  429. fieldLabel: "更新人",
  430. readOnly: true
  431. }, {
  432. xtype: "hidden",
  433. name: "updateTime",
  434. fieldLabel: "更新日期",
  435. readOnly: true,
  436. defaultValue: new Date()
  437. }, {
  438. xtype: 'textfield',
  439. name: 'vc_auditman',
  440. fieldLabel: '审核人',
  441. readOnly: true
  442. }, {
  443. xtype: "datefield",
  444. name: "vc_auditdate",
  445. fieldLabel: "审核日期",
  446. readOnly: true
  447. }, {
  448. xtype: "textfield",
  449. name: "vc_text1",
  450. fieldLabel: "自定义字段1",
  451. hidden: true,
  452. initHidden: false
  453. }, {
  454. xtype: "textfield",
  455. name: "vc_text2",
  456. fieldLabel: "自定义字段2",
  457. hidden: true,
  458. initHidden: false
  459. }, {
  460. xtype: "textfield",
  461. name: "vc_text3",
  462. fieldLabel: "自定义字段3",
  463. hidden: true,
  464. initHidden: false
  465. }, {
  466. xtype: "textfield",
  467. name: "vc_text4",
  468. fieldLabel: "自定义字段4",
  469. hidden: true,
  470. initHidden: false
  471. }, {
  472. xtype: "textfield",
  473. name: "vc_text5",
  474. fieldLabel: "自定义字段5",
  475. hidden: true,
  476. initHidden: false
  477. }],
  478. // 预收冲应收
  479. receipts_offset_receivable: {
  480. main: [{
  481. xtype: 'hidden',
  482. fieldLabel: '客户名称',
  483. name: 'vc_custid',
  484. allowBlank: false,
  485. listeners: {
  486. change: 'clearDetails'
  487. }
  488. }, {
  489. fieldLabel: '客户编号',
  490. xtype: 'hidden',
  491. name: 'vc_custcode',
  492. }, {
  493. fieldLabel: '客户名称',
  494. xtype: 'customerDbfindTrigger',
  495. name: 'vc_custname',
  496. allowBlank: false
  497. }, {
  498. xtype: 'condbfindtrigger',
  499. fieldLabel: '币别汇率',
  500. allowBlank: false,
  501. dbType: 'currencyDbfindTrigger',
  502. dbfinds: [{
  503. from: 'cr_name',
  504. to: 'vc_currency'
  505. }, {
  506. from: 'cr_rate',
  507. to: 'vc_rate'
  508. }],
  509. // listeners: {
  510. // change: 'clearDetails'
  511. // },
  512. supFieldConfig: {
  513. xtype: 'numberfield',
  514. readOnly: false,
  515. defaultReadOnly: false,
  516. decimalPrecision: 6,
  517. vtype: 'positiveNumber',
  518. listeners: {
  519. change: function(f, v) {
  520. var defaultCurrency = Ext.getCmp('mainView').getViewModel().get('defaultCurrency');
  521. f.setReadOnly(f.ownerCt.items.items[0].value == defaultCurrency);
  522. }
  523. }
  524. },
  525. }, {
  526. fieldLabel: '日期',
  527. xtype: 'datefield',
  528. defaultValue: new Date(),
  529. allowBlank: false,
  530. name: 'vc_date'
  531. },{
  532. xtype: 'hidden',
  533. name: 'vc_amount1',
  534. thousandSeparator: ',',
  535. fieldLabel: '核销金额(元)'
  536. }, {
  537. xtype: "hidden",
  538. name: "vc_amount2",
  539. thousandSeparator: ',',
  540. fieldLabel: "未核销金额(元)"
  541. }],
  542. details: ['detail1', 'detail2'],
  543. other: ['other']
  544. },
  545. // 预付冲应付
  546. prepaid_offset_payable: {
  547. main: [{
  548. xtype: 'hidden',
  549. name: 'vc_vendid',
  550. fieldLabel: '供应商名称',
  551. allowBlank: false,
  552. listeners: {
  553. change: 'clearDetails'
  554. }
  555. }, {
  556. xtype: "hidden",
  557. name: "vc_vendcode",
  558. fieldLabel: "供应商编号"
  559. }, {
  560. xtype: "vendorDbfindTrigger",
  561. name: "vc_vendname",
  562. fieldLabel: "供应商名称",
  563. allowBlank: false
  564. }, {
  565. xtype: 'condbfindtrigger',
  566. fieldLabel: '币别汇率',
  567. allowBlank: false,
  568. dbType: 'currencyDbfindTrigger',
  569. dbfinds: [{
  570. from: 'cr_name',
  571. to: 'vc_currency'
  572. }, {
  573. from: 'cr_rate',
  574. to: 'vc_rate'
  575. }],
  576. // listeners: {
  577. // change: 'clearDetails'
  578. // },
  579. supFieldConfig: {
  580. xtype: 'numberfield',
  581. readOnly: false,
  582. defaultReadOnly: false,
  583. decimalPrecision: 6,
  584. vtype: 'positiveNumber',
  585. listeners: {
  586. change: function(f, v) {
  587. var defaultCurrency = Ext.getCmp('mainView').getViewModel().get('defaultCurrency');
  588. f.setReadOnly(f.ownerCt.items.items[0].value == defaultCurrency);
  589. }
  590. }
  591. },
  592. }, {
  593. fieldLabel: '日期',
  594. xtype: 'datefield',
  595. defaultValue: new Date(),
  596. allowBlank: false,
  597. name: 'vc_date'
  598. }, {
  599. xtype: 'hidden',
  600. name: 'vc_amount1',
  601. thousandSeparator: ',',
  602. fieldLabel: '核销金额(元)'
  603. }, {
  604. xtype: "hidden",
  605. name: "vc_amount2",
  606. thousandSeparator: ',',
  607. fieldLabel: "未核销金额(元)"
  608. }],
  609. details: ['detail1', 'detail2'],
  610. other: ['other']
  611. },
  612. // 应收冲应付
  613. receivable_offset_payable: {
  614. main: [{
  615. fieldLabel: '客户名称',
  616. xtype: 'textfield',
  617. name: 'vc_custid',
  618. hidden: true,
  619. listeners: {
  620. change: 'clearDetail0'
  621. }
  622. }, {
  623. fieldLabel: '客户编号',
  624. xtype: 'textfield',
  625. name: 'vc_custcode',
  626. hidden: true
  627. }, {
  628. fieldLabel: '客户名称',
  629. xtype: 'customerDbfindTrigger',
  630. name: 'vc_custname',
  631. allowBlank: false
  632. }, {
  633. xtype: 'hidden',
  634. name: 'vc_vendid',
  635. fieldLabel: '供应商',
  636. listeners: {
  637. change: 'clearDetail1'
  638. }
  639. }, {
  640. xtype: "hidden",
  641. name: "vc_vendcode",
  642. fieldLabel: "供应商编号"
  643. }, {
  644. xtype: "vendorDbfindTrigger",
  645. name: "vc_vendname",
  646. fieldLabel: "供应商名称",
  647. allowBlank: false,
  648. dbfinds: [{
  649. from: 'id',
  650. to: 'vc_vendid',
  651. ignore: true
  652. }, {
  653. from: 've_code',
  654. to: 'vc_vendcode'
  655. }, {
  656. from: 've_name',
  657. to: 'vc_vendname'
  658. }],
  659. }, {
  660. xtype: 'condbfindtrigger',
  661. fieldLabel: '币别汇率',
  662. allowBlank: false,
  663. dbType: 'currencyDbfindTrigger',
  664. dbfinds: [{
  665. from: 'cr_name',
  666. to: 'vc_currency'
  667. }, {
  668. from: 'cr_rate',
  669. to: 'vc_rate'
  670. }],
  671. // listeners: {
  672. // change: 'clearDetails'
  673. // },
  674. supFieldConfig: {
  675. xtype: 'numberfield',
  676. readOnly: false,
  677. defaultReadOnly: false,
  678. decimalPrecision: 6,
  679. vtype: 'positiveNumber',
  680. listeners: {
  681. change: function(f, v) {
  682. var defaultCurrency = Ext.getCmp('mainView').getViewModel().get('defaultCurrency');
  683. f.setReadOnly(f.ownerCt.items.items[0].value == defaultCurrency);
  684. }
  685. }
  686. },
  687. }, {
  688. fieldLabel: '日期',
  689. xtype: 'datefield',
  690. defaultValue: new Date(),
  691. allowBlank: false,
  692. name: 'vc_date'
  693. },{
  694. xtype: 'hidden',
  695. name: 'vc_amount1',
  696. thousandSeparator: ',',
  697. fieldLabel: '核销金额(元)'
  698. }, {
  699. xtype: "hidden",
  700. name: "vc_amount2",
  701. thousandSeparator: ',',
  702. fieldLabel: "未核销金额(元)"
  703. }],
  704. details: ['detail1', 'detail2'],
  705. other: ['other']
  706. },
  707. // 应收转应收
  708. receivable_to_receivable: {
  709. main: [{
  710. fieldLabel: '转出客户',
  711. xtype: 'textfield',
  712. name: 'vc_custid',
  713. hidden: true,
  714. listeners: {
  715. change: 'clearDetail0'
  716. }
  717. }, {
  718. fieldLabel: '转出客户编号',
  719. xtype: 'textfield',
  720. name: 'vc_custcode',
  721. hidden: true
  722. }, {
  723. fieldLabel: '转出客户',
  724. xtype: 'customerDbfindTrigger',
  725. name: 'vc_custname',
  726. allowBlank: false,
  727. }, {
  728. fieldLabel: '转入客户id',
  729. xtype: 'textfield',
  730. name: 'vc_turncustid',
  731. hidden: true
  732. }, {
  733. fieldLabel: '转入客户编号',
  734. xtype: 'textfield',
  735. name: 'vc_turncustcode',
  736. hidden: true
  737. }, {
  738. fieldLabel: '转入客户',
  739. xtype: 'customerDbfindTrigger',
  740. name: 'vc_turncustname',
  741. allowBlank: false,
  742. }, {
  743. xtype: 'condbfindtrigger',
  744. fieldLabel: '币别汇率',
  745. allowBlank: false,
  746. dbType: 'currencyDbfindTrigger',
  747. dbfinds: [{
  748. from: 'cr_name',
  749. to: 'vc_currency'
  750. }, {
  751. from: 'cr_rate',
  752. to: 'vc_rate'
  753. }],
  754. // listeners: {
  755. // change: 'clearDetails'
  756. // },
  757. supFieldConfig: {
  758. xtype: 'numberfield',
  759. readOnly: false,
  760. defaultReadOnly: false,
  761. decimalPrecision: 6,
  762. vtype: 'positiveNumber',
  763. listeners: {
  764. change: function(f, v) {
  765. var defaultCurrency = Ext.getCmp('mainView').getViewModel().get('defaultCurrency');
  766. f.setReadOnly(f.ownerCt.items.items[0].value == defaultCurrency);
  767. }
  768. }
  769. },
  770. }, {
  771. fieldLabel: '日期',
  772. xtype: 'datefield',
  773. defaultValue: new Date(),
  774. allowBlank: false,
  775. name: 'vc_date'
  776. },{
  777. xtype: 'hidden',
  778. name: 'vc_amount1',
  779. thousandSeparator: ',',
  780. fieldLabel: '核销金额(元)'
  781. }, {
  782. xtype: "hidden",
  783. name: "vc_amount2",
  784. thousandSeparator: ',',
  785. fieldLabel: "未核销金额(元)"
  786. }],
  787. details: ['detail1'],
  788. other: ['other']
  789. },
  790. // 应付转应付
  791. payable_to_payable: {
  792. main: [{
  793. fieldLabel: '转出供应商',
  794. xtype: 'textfield',
  795. name: 'vc_vendid',
  796. hidden: true,
  797. listeners: {
  798. change: 'clearDetail0'
  799. }
  800. }, {
  801. fieldLabel: '转出供应商编号',
  802. xtype: 'textfield',
  803. name: 'vc_vendcode',
  804. hidden: true
  805. }, {
  806. fieldLabel: '转出供应商',
  807. xtype: 'vendorDbfindTrigger',
  808. name: 'vc_vendname',
  809. allowBlank: false,
  810. }, {
  811. fieldLabel: '转入供应商id',
  812. xtype: 'textfield',
  813. name: 'vc_turnvendid',
  814. hidden: true
  815. }, {
  816. fieldLabel: '转入供应商编号',
  817. xtype: 'textfield',
  818. name: 'vc_turnvendcode',
  819. hidden: true
  820. }, {
  821. fieldLabel: '转入供应商',
  822. xtype: 'vendorDbfindTrigger',
  823. name: 'vc_turnvendname',
  824. allowBlank: false,
  825. }, {
  826. xtype: 'condbfindtrigger',
  827. fieldLabel: '币别汇率',
  828. allowBlank: false,
  829. dbType: 'currencyDbfindTrigger',
  830. dbfinds: [{
  831. from: 'cr_name',
  832. to: 'vc_currency'
  833. }, {
  834. from: 'cr_rate',
  835. to: 'vc_rate'
  836. }],
  837. // listeners: {
  838. // change: 'clearDetails'
  839. // },
  840. supFieldConfig: {
  841. xtype: 'numberfield',
  842. readOnly: false,
  843. defaultReadOnly: false,
  844. decimalPrecision: 6,
  845. vtype: 'positiveNumber',
  846. listeners: {
  847. change: function(f, v) {
  848. var defaultCurrency = Ext.getCmp('mainView').getViewModel().get('defaultCurrency');
  849. f.setReadOnly(f.ownerCt.items.items[0].value == defaultCurrency);
  850. }
  851. }
  852. },
  853. },{
  854. fieldLabel: '日期',
  855. xtype: 'datefield',
  856. defaultValue: new Date(),
  857. allowBlank: false,
  858. name: 'vc_date'
  859. }, {
  860. xtype: 'hidden',
  861. name: 'vc_amount1',
  862. thousandSeparator: ',',
  863. fieldLabel: '核销金额(元)'
  864. }, {
  865. xtype: "hidden",
  866. name: "vc_amount2",
  867. thousandSeparator: ',',
  868. fieldLabel: "未核销金额(元)"
  869. }],
  870. details: ['detail1'],
  871. other: ['other']
  872. },
  873. defaultConditions: {
  874. receipts_offset_receivable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0 ' +
  875. ' and ((sl_kind=\'收款单\') or (sl_kind=\'期初余额\' and sl_ym=' +
  876. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))',
  877. 'ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
  878. ' and (sl_kind in (\'出货单\',\'销售退货单\') or (sl_kind in (\'期初余额\') and sl_ym=' +
  879. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))'
  880. ],
  881. prepaid_offset_payable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0 ' +
  882. ' and ((sl_kind=\'付款单\') or (sl_kind=\'期初余额\' and sl_ym=' +
  883. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))',
  884. 'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
  885. ' and (sl_kind in (\'采购验收单\',\'采购验退单\') or (sl_kind in (\'期初余额\') and sl_ym=' +
  886. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))'
  887. ],
  888. receivable_offset_payable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
  889. ' and ((sl_kind in (\'出货单\',\'销售退货单\')) or (sl_kind=\'期初余额\' and sl_ym=' +
  890. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))',
  891. 'ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
  892. ' and (sl_kind in (\'采购验收单\',\'采购验退单\') or (sl_kind in (\'期初余额\') and sl_ym=' +
  893. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))'
  894. ],
  895. receivable_to_receivable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
  896. ' and ((sl_kind in (\'出货单\',\'销售退货单\')) or (sl_kind=\'期初余额\' and sl_ym=' +
  897. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))'
  898. ],
  899. payable_to_payable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
  900. ' and (sl_kind in (\'采购验收单\',\'采购验退单\') or (sl_kind in (\'期初余额\') and sl_ym=' +
  901. '(select min(pd_detno) from periodsdetail where pd_status=0 and periodsdetail.companyid=subledger.companyid)))'
  902. ]
  903. }
  904. },
  905. });
  906. }
  907. });