Ext.define('saas.view.money.payBalance.FormPanel', { extend: 'saas.view.core.form.FormPanel', xtype: 'money-paybalance-formpanel', controller: 'money-paybalance-formpanel', viewModel: 'money-paybalance-formpanel', viewName: 'money-paybalance-formpanel', caller: 'PayBalance', //字段属性 _title: '付款单', _idField: 'id', _codeField: 'pb_code', _statusField: 'pb_status', _statusCodeField: 'pb_statuscode', _readUrl: '/api/money/paybalance/read/', _saveUrl: '/api/money/paybalance/save/', _auditUrl: '/api/money/paybalance/audit/', _unAuditUrl: '/api/money/paybalance/unAudit/', _deleteUrl: '/api/money/paybalance/delete/', // _readUrl: 'http://192.168.253.35:8880/paybalance/read/', // _saveUrl: 'http://192.168.253.129:8940/money/paybalance/save/', // _auditUrl: 'http://192.168.253.35:8880/paybalance/audit/', // _unAuditUrl: 'http://192.168.253.35:8880/paybalance/unAudit/', // _deleteUrl: 'http://192.168.253.129:8940/money/paybalance/delete/', initId: 0, toolBtns: [], defaultItems: [{ xtype: 'hidden', name: 'id', fieldLabel: 'id' }, { xtype: 'textfield', name: 'pb_kind', fieldLabel: '单据类型', defaultValue: '付款单', readOnly: true }, { xtype: 'hidden', name: 'pb_vendid', fieldLabel: '供应商ID' }, { xtype: "hidden", name: "pb_vendcode", fieldLabel: "供应商编号" }, { xtype: "dbfindtrigger", name: "pb_vendname", fieldLabel: "供应商名称", allowBlank : false },{ xtype:"numberfield", name:"ve_leftamount", fieldLabel:"总欠款", ignore:true, readOnly: true },{ xtype: "datefield", name: "pb_date", fieldLabel: "日期", defaultValue: new Date(), allowBlank : false },{ xtype: 'textfield', name: 'pb_manname', fieldLabel: '付款人' }, { xtype: 'hidden', name: 'pb_pdamount', fieldLabel: '付款金额' }, { xtype: "hidden", name: "pb_pbdamount", fieldLabel: "本次核销金额" }, { xtype: "numberfield", name: "pb_preamount", fieldLabel: "本次预付款", readOnly: true }, { xtype: 'numberfield', name: 'pb_discounts', fieldLabel: '整单折扣', hidden: true }, { xtype: 'hidden', name: 'pb_havebalance', fieldLabel: '已核销金额' }, { xtype: "detailGridField", storeModel: 'saas.model.money.PayBalance1', detnoColumn: 'pd_detno', deleteDetailUrl: '/api/money/paybalance/deleteDetail1/', columns: [{ text: 'ID', dataIndex: 'id', hidden: true }, { text: '期间', dataIndex: 'pd_ym', hidden:true, defaultValue: Ext.Date.format(new Date(), 'Ym'), // editor: { // xtype: 'hidden', // xtype: 'textfield, // xtype: 'datefield'' // } }, { text: '结算账户ID', dataIndex: 'pd_bankid', hidden: true }, { text: '资金账户', dataIndex: 'pd_bankname', editor:{ xtype:'dbfindtrigger' } },{ text: '资金账户编号', dataIndex: 'pd_bankcode', hidden: true }, { text: "付款金额", xtype: 'numbercolumn', dataIndex: "pd_amount", editor : { xtype : "numberfield", decimalPrecision: 2 }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "结算方式", dataIndex: "pd_paymethod", editor : { xtype:'combo', queryMode: 'local', displayField: 'display', valueField: 'value', store:Ext.create('Ext.data.Store', { fields: ['value', 'display'], data : [ {value:"信用卡", display:"信用卡"}, {value:"支票", display:"支票"}, {value:"汇票", display:"汇票"}, {value:"现金", display:"现金"}, {value:"银行转账", display:"银行转账"}, {value:"支付宝转账", display:"支付宝转账"}, {value:"微信转账", display:"微信转账"} ] }) } }, { text: "结算号", dataIndex: "pd_paycode", editor:{ xtype:'textfield' } }, { text: "备注", dataIndex: "pd_remark", width: 250, editor:{ xtype: 'textfield' } }] },{ xtype: "detailGridField", storeModel: 'saas.model.money.PayBalance2', detnoColumn: 'pbd_detno', allowEmpty: true, deleteDetailUrl: '/api/money/paybalance/deleteDetail2/', columns: [{ text: 'ID', dataIndex: 'id', hidden: true }, { text: '期间', dataIndex: 'pbd_ym', hidden: true }, { text: '来源ID', dataIndex: 'pbd_slid', hidden: true }, { text: '来源单号', dataIndex: 'pbd_slcode', editor:{ displayField : "display", editable : true, format : "", hideTrigger : false, maxLength : 100.0, minValue : null, positiveNum : false, queryMode : "local", store : null, valueField : "value", xtype : "multidbfindtrigger", listeners:{ beforetriggerclick:'vendnamechange' } }, }, { text: "业务类型", dataIndex: "pbd_slkind" }, { text: "单据日期", dataIndex: "pbd_sldate", xtype: 'datecolumn' }, { text: "单据金额", xtype: 'numbercolumn', dataIndex: "pbd_amount", // editor : { // xtype : "numberfield", // decimalPrecision: 2 // }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "已核销金额", xtype: 'numbercolumn', dataIndex: "sl_yamount", ignore:true, // editor : { // xtype : "numberfield", // decimalPrecision: 2 // }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "未核销金额", xtype: 'numbercolumn', dataIndex: "sl_namount", ignore:true, // editor : { // xtype : "numberfield", // decimalPrecision: 2 // }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "本次核销金额", xtype: 'numbercolumn', dataIndex: "pbd_nowbalance", width: 150, editor : { xtype : "numberfield", decimalPrecision: 2 }, allowBlank : false, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '备注', dataIndex: 'pbd_remark', width: 250, hidden: true }] }, { xtype: 'hidden', name: 'pb_remark', columnWidth: 1, fieldLabel: '备注' }, { xtype: 'hidden', name: 'pb_recorderid', fieldLabel: '创建人ID' }, { xtype: 'hidden', name: 'pb_recorder', fieldLabel: '录入人' }, { xtype: "hidden", name: "pb_recorddate", fieldLabel: "录入日期" }, { xtype: "hidden", name: "updatedate", fieldLabel: "更新日期" }, { xtype: "hidden", readOnly: true, editable: false, name: "pb_status", fieldLabel: "单据状态" }, { xtype: "hidden", readOnly: true, editable: false, name: "pb_statuscode", fieldLabel: "单据状态码" }, { xtype: 'hidden', name: 'pb_text1', fieldLabel: '自定义字段1' }, { xtype: 'hidden', name: 'pb_text2', fieldLabel: '自定义字段2' }, { xtype: 'hidden', name: 'pb_text3', fieldLabel: '自定义字段3' }, { xtype: 'hidden', name: 'pb_text4', fieldLabel: '自定义字段4' }, { xtype: 'hidden', name: 'pb_text5', fieldLabel: '自定义字段5' }], beforeAudit: function() { var form = this, idField = form._idField, controller = form.getController(), viewModel = form.getViewModel(), id = viewModel.get(idField); store1 = viewModel.get('detail0').detailStore, store2 = viewModel.get('detail1').detailStore; // 已保存过的单据不进行此项校验 if(id) { return true; } var sum_pd_amount = store1.sum('pd_amount'); // 付款金额合计 var pb_discounts = viewModel.get('pb_discounts'); // 折扣金额 var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计 var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance; viewModel.set("pb_preamount",flag); if(flag != 0) { var t = flag > 0 ? '大' : '小'; showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?') .then(function(y) { if(y == 'yes') { controller.audit(); } }); }else { controller.audit(); } return false; } });