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', 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: "vendorDbfindTrigger", 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'), width : 110.0 }, { text: '结算账户ID', dataIndex: 'pd_bankid', hidden: true }, { text: '资金账户', dataIndex: 'pd_bankname', width : 200.0, allowBlank : false, editor:{ xtype:'bandinfoDbfindTrigger' } },{ text: '资金账户编号', dataIndex: 'pd_bankcode', hidden: true }, { text: "付款金额", xtype: 'numbercolumn', dataIndex: "pd_amount", width : 110.0, editor : { xtype : "numberfield", decimalPrecision: 2 }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : 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 > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "结算方式", dataIndex: "pd_paymethod", width :200.0, 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", width : 150.0, 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', width : 150, editor:{ displayField : "display", editable : true, format : "", hideTrigger : false, maxLength : 100.0, minValue : null, positiveNum : false, queryMode : "local", store : null, valueField : "value", xtype : "oriOrderMutiDbfindTrigger", listeners:{ beforetriggerclick:'vendnamechange' } }, }, { text: "业务类型", dataIndex: "pbd_slkind", width : 110 }, { text: "单据日期", dataIndex: "pbd_sldate", xtype: 'datecolumn', width : 110 }, { text: "单据金额", xtype: 'numbercolumn', dataIndex: "pbd_amount", width : 110, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : 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 > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "已核销金额", xtype: 'numbercolumn', dataIndex: "sl_yamount", width : 110, ignore:true, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : 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 > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "未核销金额", xtype: 'numbercolumn', dataIndex: "sl_namount", ignore:true, width : 110, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : 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 > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: "本次核销金额", xtype: 'numbercolumn', dataIndex: "pbd_nowbalance", width: 120, editor : { xtype : "numberfield", decimalPrecision: 2 }, allowBlank : false, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : 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 > 2 ? 2 : 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: 'textfield', name: 'pb_remark', columnWidth: 1, fieldLabel: '备注' }, { xtype : "hidden", name : "creatorId", fieldLabel : "录入人ID", readOnly:true }, { xtype : "textfield", name : "creatorName", fieldLabel : "录入人", readOnly:true }, { xtype : "datefield", name : "createTime", fieldLabel : "录入日期", readOnly:true, defaultValue: new Date() },{ xtype : "hidden", name : "updaterId", fieldLabel : "更新人ID", readOnly:true },{ xtype : "hidden", name : "updaterName", fieldLabel : "更新人", readOnly:true }, { xtype : "hidden", name : "updateTime", fieldLabel : "更新日期", readOnly:true, defaultValue: new Date() },{ xtype: 'textfield', name: 'pb_auditman', fieldLabel: '审核人', readOnly: true },{ xtype: "datefield", name: "pb_auditdate", fieldLabel: "审核日期", readOnly: true }, { 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 ? '大' : '小'; saas.util.BaseUtil.showConfirm('提示', '付款金额' + t + '于本次折扣后核销金额,是否仍要保存并审核?') .then(function(y) { if(y == 'yes') { controller.audit(); } }); }else { controller.audit(); } return false; } });