FormPanel.js 40 KB

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