Ext.namespace('DsTruck'); var C_feeid = ""; var C_contractno = ""; //用于存储当前选定的合同号/ch_fee.id var C_Customer = ""; //结算对象 var C_CustomerRef = ""; var M_contractno = ""; //用于存储当前选定的合同号/ch_fee.id var M_Customer = ""; //结算对象 //var array = [0]; DsTruck.FinanceOut = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.DsTruck.FinanceOut.superclass.constructor.call(this); }; Ext.extend(DsTruck.FinanceOut, Ext.Panel, { PageSize: 6, OprationStatus: null, //仅当弹出界面时使用 SelectedRecord: null, OpStatus: null, ChangePage: false, //array: new Array(), initUIComponents: function () { this.FOBodyDel = []; this.array = []; //#region formSearch //#region formSearch枚举参照相关 //#endregion //枚举参照 this.storeport = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeport.load({ params: { enumTypeId: 10} }); this.comboxport = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '目的港', store: this.storeport, name: 'port' }); this.storeMainstate = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeMainstate.load({ params: { enumTypeId: 3} }); this.comboxMainstate = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '合同状态', store: this.storeMainstate, name: 'Mainstate' }); //表参照 this.storeCountry = Ext.create('DsExt.ux.RefTableStore', { model: 'ConutryRef', proxy: { url: '/CommMng/BasicDataRef/GetCountryRefList' } }); this.storeCountry.load({ params: { condition: ""} }); this.comboxCountry = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '进口国', store: this.storeCountry, name: 'countryid', valueField: 'countryid', displayField: 'country_idandname' }); this.storeCompany = Ext.create('DsExt.ux.RefTableStore', { model: 'companymb', proxy: { url: '/CommMng/BasicDataRef/GetcompanyList' } }); this.storeCompany.load({ params: { condition: ""} }); this.comboxCompany = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '用证公司', store: this.storeCompany, name: 'company', valueField: 'gid', displayField: 'name' }); this.storeRemind = Ext.create('DsExt.ux.RefTableStore', { model: 'remind', proxy: { url: '/CommMng/BasicDataRef/Getimportremind' } }); this.storeRemind.load({ params: { condition: ""} }); this.comboxRemind = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '业务提醒', store: this.storeRemind, name: 'Remind', valueField: 'RemindSql', displayField: 'RemindName', triggerAction: 'all', selectOnFocus: true, listeners: { change: function (field, newValue, oldValue) { this.onGetremind(field, newValue, oldValue); }, scope: this } }); this.formSearch = Ext.widget('form', { frame: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [{ //fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [/*{ fieldLabel: '合同序列号', name: 'ContractNo' },*/ { fieldLabel: '合同号', name: 'HTH' }, { fieldLabel: '客户', name: 'buyer' }//, this.comboxRemind //this.comboxCompany ] }] }, //end items(fieldset 1) { //fieldset 2 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //this.comboxCountry, /*{ fieldLabel: '贸易商', name: 'seller' }, { fieldLabel: '客户', name: 'buyer' }*/ ] }] }, //end fieldset 2 { //fieldset 5 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //this.comboxport, { fieldLabel: '到港日起日期', format: 'Y-m-d', xtype: 'datefield', name: 'ExpDateBgn' }, { fieldLabel: '到港日至日期', format: 'Y-m-d', xtype: 'datefield', name: 'ExpDateEnd' }, { fieldLabel: '备注中包含', name: 'remark' }] }] } //end items(fieldset 5) ] //end root items }); ///////////查询条件 //单票融资使用的合同列表 //定义数据集 this.storeList = Ext.create('Ext.data.Store', { model: 'Mainmb', remoteSort: false, pageSize: this.PageSize, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetMainList', reader: { idProperty: 'ContractNo' + 'HTH', root: 'data', totalProperty: 'totalCount' } } }); this.MainGridCheckBoxModel = new Ext.selection.CheckboxModel({ id: 'MainGridCheckBoxModel', checkOnly: true }); //定义Grid this.gridList = new Ext.grid.GridPanel({ id: 'gridList', store: this.storeList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, //selModel: this.MainGridCheckBoxModel, stripeRows: true, //height: 150, viewConfig: { autoFill: true, enableTextSelection: true, getRowClass: function (record, rowIndex, rowParams, store) { var FinanceStatus = record.get('FinanceStatus'); return DsTruck.FinanceGetRowClass(FinanceStatus); } }, columns: [ { sortable: true, dataIndex: 'ContractNo', header: '合同序列号', hidden: true, width: 80 }, { sortable: true, dataIndex: 'Seller', header: '贸易商', width: 80 }, { sortable: true, dataIndex: 'Buyer', header: '客户(购货方)', width: 80 },{ sortable: true, dataIndex: 'HTH', header: '合同号', width: 80 }, { sortable: true, dataIndex: 'FinanceStatusRef', header: '融资状态', width: 80 }, { sortable: true, dataIndex: 'FinanceStatus', header: 'FinanceStatus', hidden: true, width: 80 }, { sortable: true, dataIndex: 'Country', header: '进口国', width: 80 },{ sortable: true, dataIndex: 'portRef', header: '目的港', width: 80 },{ sortable: true, dataIndex: 'boxcount', header: '箱/件数', width: 80 },{ sortable: true, dataIndex: 'price', header: '单价', width: 80 },{ sortable: true, dataIndex: 'weight', header: '净重', width: 80 },{ sortable: true, dataIndex: 'amount', header: '金额', width: 80 },{ sortable: true, dataIndex: 'codename', header: '币别', width: 80 },{ sortable: true, dataIndex: 'MainStateRef', header: '合同状态', width: 80 },{ sortable: true, dataIndex: 'arrivalDate', header: '到港日', width: 80 }], bbar: Ext.create('Ext.PagingToolbar', { store: this.storeList, pageSize: this.PageSize, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); ///////////////////////////////////////////////////////// //用于多票融资的合同列表 //定义数据集 this.store_M = Ext.create('Ext.data.Store', { model: 'Mainmb', remoteSort: false, pageSize: this.PageSize, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetMainList', reader: { idProperty: 'ContractNo' + 'HTH', root: 'data', totalProperty: 'totalCount' } } }); this.CB_M = new Ext.selection.CheckboxModel({ id: 'CB_M', checkOnly: true }); //定义Grid this.grid_M = new Ext.grid.GridPanel({ id: 'grid_M', store: this.store_M, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, selModel: this.CB_M, stripeRows: true, //height: 150, viewConfig: { autoFill: true, enableTextSelection: true, getRowClass: function (record, rowIndex, rowParams, store) { var FinanceStatus = record.get('FinanceStatus'); return DsTruck.FinanceGetRowClass(FinanceStatus); } }, columns: [ { sortable: true, dataIndex: 'ContractNo', header: '合同序列号', hidden: true, width: 80 }, { sortable: true, dataIndex: 'Seller', header: '贸易商', width: 80 }, { sortable: true, dataIndex: 'Buyer', header: '客户(购货方)', width: 80 }, { sortable: true, dataIndex: 'HTH', header: '合同号', width: 80 }, { sortable: true, dataIndex: 'FinanceStatusRef', header: '融资状态', width: 80 }, { sortable: true, dataIndex: 'FinanceStatus', header: 'FinanceStatus', hidden: true, width: 80 }, { sortable: true, dataIndex: 'Country', header: '进口国', width: 80 }, { sortable: true, dataIndex: 'portRef', header: '目的港', width: 80 }, { sortable: true, dataIndex: 'boxcount', header: '箱/件数', width: 80 }, { sortable: true, dataIndex: 'price', header: '单价', width: 80 }, { sortable: true, dataIndex: 'weight', header: '净重', width: 80 }, { sortable: true, dataIndex: 'amount', header: '金额', width: 80 }, { sortable: true, dataIndex: 'codename', header: '币别', width: 80 }, { sortable: true, dataIndex: 'MainStateRef', header: '合同状态', width: 80 }, { sortable: true, dataIndex: 'arrivalDate', header: '到港日', width: 80 }], bbar: Ext.create('Ext.PagingToolbar', { store: this.store_M, pageSize: this.PageSize, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); ///////////////////////////////////////////// //#endregion formSearch //货物列表---------------------------------------- //#region 货物列表 //明细表表格相关 //枚举参照 //Financestatus //明细表 Cargo 数据集 this.storeCargo = Ext.create('Ext.data.Store', { model: 'Cargomb', remoteSort: true, proxy: { type: 'ajax', url: '/Import/XXH/GetCargoList', reader: { id: 'id', root: 'data', totalProperty: 'totalCount' } } }); //明细表 cargo 用于选择进行融资的货物 //表格 this.cellEditingCargo = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.cargoCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.formCargo = new Ext.grid.GridPanel({ store: this.storeCargo, enableHdMenu: false, region: 'north', //height: 160, //title: '商品信息', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingCargo], tbar: [{ text: '生成新融资记录', tooltip: '新建', id: 'btnAdd', iconCls: "btnadd", disabled: true, handler: function (button, event) { this.onNewClick(button, event); }, scope: this }, { text: '保存', tooltip: '保存', id: 'btnSave', iconCls: "btnsave", disabled: true, handler: function (button, event) { this.onSaveClick(button, event); }, scope: this }], columns: [{ dataIndex: 'id', header: '自增序列号', width: 80, hidden: true, editor: { xtype: 'textfield' } }, { dataIndex: 'ContractNo', header: '合同号', width: 80, hidden: true, editor: { xtype: 'textfield' } }, { dataIndex: 'name', header: '货名', width: 80 }, { dataIndex: 'cicodeandname', header: 'HS代码', hidden: true, width: 140 }, { dataIndex: 'price', header: '单价(kg/$)', width: 50 }, { dataIndex: 'weight', header: '净重(kg)', width: 50 }, { dataIndex: 'Amount', header: '合同金额', width: 80 }, { dataIndex: 'Exchangerate', header: '汇率', width: 80 }, { dataIndex: 'codename', header: '币别', width: 60 }] }); //明细表 cargo over---------------------------------------------- //--------------------------------------over //查询工具条 this.panelBtn = new Ext.Panel({ region: "north", tbar: [{ text: "执行查询", iconCls: "btnrefresh", handler: function (button, event) { this.onRefreshClick(button, event); }, scope: this }, { text: "重置条件", iconCls: "btnreset", handler: function (button, event) { }, scope: this }] }); //单纯融入资金列表 this.panelBtn_I = new Ext.Panel({ region: "north", tbar: [ { text: "新建", iconCls: "btnadd", handler: function (button, event) { this.OprationStatus = 'add'; DsOpenEditWin("/Import/XXH/Edit", "新建合同", "700", "900"); }, scope: this }, { text: "删除", iconCls: "btndelete", handler: function (button, event) { this.onDeleteClick(button, event); }, scope: this }, '-', { text: "执行查询", iconCls: "btnrefresh_I", handler: function (button, event) { this.onRefreshClick_FI(button, event); }, scope: this }, { text: "重置条件", iconCls: "btnreset_I", handler: function (button, event) { this.onResetClick_FI(button, event); }, scope: this } ] }); //以下是单纯融入资金的数据集和列表 this.storeFI = Ext.create('Ext.data.Store', { model: 'FinanceInmb', remoteSort: false, pageSize: 100, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetFInList', reader: { idProperty: 'gid', root: 'data', totalProperty: 'totalCount' } } }); //定义Grid this.gridFI = new Ext.grid.GridPanel({ store: this.storeFI, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, stripeRows: true, columns: [ { sortable: true, dataIndex: 'Bank', header: '银行', width: 80 }, { sortable: true, dataIndex: 'RMBAmount', header: '人民币金额', width: 80 }, { sortable: true, dataIndex: 'Starttime', header: '开始时间', width: 80 }, { sortable: true, dataIndex: 'Endtime', header: '结束时间', width: 80 }, { sortable: true, dataIndex: 'Days', header: '天数', width: 80 }, { sortable: true, dataIndex: 'InterestRate', header: '月利率 (%)', width: 80 }, { sortable: true, dataIndex: 'Interest', header: '利息', width: 80 }, { sortable: true, dataIndex: 'PI', header: '本息合计', width: 80 }], bbar: Ext.create('Ext.PagingToolbar', { store: this.storeFI, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); //融资 融出---------------------------------------- //明细表表格相关 //枚举参照 this.storeFStatus = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeFStatus.load({ params: { enumTypeId: 16} }); this.comboxFStatus = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '融资状态', store: this.storeFStatus, name: 'FinanceStatus' }); this.storeCurrency = Ext.create('DsExt.ux.RefTableStore', { model: 'currRef', proxy: { url: '/CommMng/BasicDataRef/GetcurrRefList' } }); this.storeCurrency.load({ params: { condition: ""} }); this.comboxCurrency = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCurrency, name: 'Currency', fieldLabel: '币别', valueField: 'codename', displayField: 'codename' //币别 }); //定义数据集 this.storeFinanceOut = Ext.create('Ext.data.Store', { model: '', remoteSort: true, proxy: { type: 'ajax', url: 'Import/Finance/GetFOut', reader: { id: 'id', root: 'data', totalProperty: 'totalCount' } } }); //编辑form:formFinanceOut this.formFinanceOut = Ext.widget('form', { frame: true, hidden: true, region: 'north', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [{ //fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ //container_1 xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融资序列号', name: 'gid', //flex: 0, hidden: true, disabled: true //,margins: '5' }, { fieldLabel: 'ContractNo', name: 'ContractNo', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '融出资金 客户', name: 'Customer', //flex: 0, disabled: true //,margins: '5' }, this.comboxFStatus, this.comboxCurrency ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融出汇率', name: 'ExchangeRate', //flex: 0, //margins: '0', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetAmount(); } } }, { fieldLabel: '金额', name: 'Amount', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetAmount(); } } }, { fieldLabel: '本币金额', name: 'RMBAmount', //enableKeyEvents: true, // 要有 listeners: { change: function () { //panelIndex.SetAmount(); panelIndex.SetInterest(); } } }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融资开始时间', id: 'Starttime1', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'Starttime', allowBlank: false, blankText: "不能为空" }, { fieldLabel: '预计还款日期', id: 'Endtime1', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'Endtime', listeners: { change: function () { var e = Ext.util.Format.date(Ext.getCmp('Endtime1').getValue(), 'Y-m-d'); //格式化日期控件值 var s = Ext.util.Format.date(Ext.getCmp('Starttime1').getValue(), 'Y-m-d'); //格式化日期控件值 var end = new Date(e); var start = new Date(s); var elapsed = Math.round((end.getTime() - start.getTime()) / (86400000)) + 1; // 计算间隔日数 //alert(elapsed); panelIndex.formFinanceOut.getForm().findField('Days').setValue(elapsed); panelIndex.SetInterest(); } } }, { fieldLabel: '天数', name: 'Days', enableKeyEvents: true, // 要有 listeners: { keyup: function () { //alert('days'); panelIndex.SetInterest(); } } }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '月利率(%)', name: 'InterestRate', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetInterest(); } } }, { fieldLabel: '利息', name: 'Interest' }, { fieldLabel: '手续费', name: 'Shouxu' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '本息合计', name: 'PI' }, { fieldLabel: '备注', name: 'Remark' }, { fieldLabel: '时间戳', name: 'TimeMark', flex: 0, hidden: true, margins: '0' }] }] }] }); //end this.formFinanceOut //融资信息 over---------------------------------------- //融资 融出---------------------------------------- //明细表表格相关 //枚举参照 this.comboxFStatus_2 = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '融资状态', store: this.storeFStatus, name: 'FinanceStatus' }); this.comboxCurrency_2 = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCurrency, name: 'Currency', fieldLabel: '币别', valueField: 'codename', displayField: 'codename' //币别 }); this.storeBank = Ext.create('DsExt.ux.RefTableStore', { model: 'Bankmb', proxy: { url: '/CommMng/BasicDataRef/GetBank' } }); this.storeBank.load({ params: { condition: ""} }); this.comboxBank = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeBank, name: 'Bank', fieldLabel: '融入资金 银行', valueField: 'bankname', displayField: 'bankname' //币别 }); //定义数据集 this.storeFinanceIn = Ext.create('Ext.data.Store', { model: '', remoteSort: true, proxy: { type: 'ajax', url: 'Import/Finance/GetFIn', reader: { id: 'id', root: 'data', totalProperty: 'totalCount' } } }); //编辑form:formFinanceOut this.formFinanceIn = Ext.widget('form', { frame: true, hidden: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [{ //fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ //container_1 xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融资序列号', name: 'gid', //flex: 0, hidden: true //disabled: true //,margins: '5' }, { fieldLabel: 'ContractNo', name: 'ContractNo', flex: 0, hidden: true, margins: '0' }, this.comboxBank , this.comboxFStatus_2, this.comboxCurrency_2 ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融入汇率', name: 'ExchangeRate', //flex: 0, //margins: '0', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetAmountIn(); } } }, { fieldLabel: '金额', name: 'Amount', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetAmountIn(); } } }, { fieldLabel: '本币金额', name: 'RMBAmount', //enableKeyEvents: true, // 要有 listeners: { change: function () { //panelIndex.SetAmount(); panelIndex.SetInterestIn(); } } }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '融资开始时间', id: 'Starttime2', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'Starttime', allowBlank: false, blankText: "不能为空" }, { fieldLabel: '预计还款日期', id: 'Endtime2', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'Endtime', listeners: { change: function () { var e = Ext.util.Format.date(Ext.getCmp('Endtime2').getValue(), 'Y-m-d'); //格式化日期控件值 var s = Ext.util.Format.date(Ext.getCmp('Starttime2').getValue(), 'Y-m-d'); //格式化日期控件值 var end = new Date(e); var start = new Date(s); var elapsed = Math.round((end.getTime() - start.getTime()) / (86400000)) + 1; // 计算间隔日数 //alert(elapsed); panelIndex.formFinanceIn.getForm().findField('Days').setValue(elapsed); panelIndex.SetInterestIn(); } } }, { fieldLabel: '天数', name: 'Days', enableKeyEvents: true, // 要有 listeners: { keyup: function () { //alert('days'); panelIndex.SetInterestIn(); } } }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '月利率(%)', name: 'InterestRate', enableKeyEvents: true, // 要有 listeners: { keyup: function () { panelIndex.SetInterestIn(); } } }, { fieldLabel: '利息', name: 'Interest' }, { fieldLabel: '本息合计息', name: 'PI' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '备注', name: 'Remark' }, { fieldLabel: '时间戳', name: 'TimeMark', flex: 0, hidden: true, margins: '0' }] }] }] }); //end this.formFinanceOut //融资信息 融入 over---------------------------------------- //////////////////////////////////////////////// //明细<<<< 融资还款明细 >>>> //枚举参照 //还款明细 数据集 this.storeFOBody = Ext.create('Ext.data.Store', { model: 'FOBodymb', remoteSort: true, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetFOBodyList', reader: { id: 'id', root: 'data', totalProperty: 'totalCount' } } }); //明细表 cargo 用于选择进行融资的货物 //表格 this.cellEditingFOBody = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); // this.cargoCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.formFOBody = new Ext.grid.GridPanel({ store: this.storeFOBody, enableHdMenu: false, region: 'north', //height: 160, //title: '商品信息', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingFOBody], // selModel: this.cargoCheckBoxModel, // selType: 'cellmodel', tbar: [{ id: 'addFOBody', text: '增加明细', tooltip: '增加明细', iconCls: "btnadddetail", disabled: true, handler: function (button, event) { this.onaddFOBody(); }, scope: this }, '-', { id: 'delFOBody', text: '删除明细', tooltip: '删除明细', iconCls: "btndeletedetail", disabled: true, handler: function (button, event) { this.onDelFOBody(); }, scope: this }], columns: [{ dataIndex: 'id', header: '自增序列号', width: 80, hidden: true }, { dataIndex: 'ContractNo', header: 'ContractNo', width: 80, hidden: true }, { dataIndex: 'Repaymentdate', header: '还款时间', width: 110, renderer: Ext.util.Format.dateRenderer('Y-m-d'), editor: { xtype: 'datefield', selectOnFocus: true } }, { dataIndex: 'Amount', header: '金额', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'Remark', header: '备注', width: 140, editor: { xtype: 'textfield', selectOnFocus: true } }] }); //#endregion ///////---------------------------------/明细 <<<< 还款明细表 >>>> over //绑定事件 this.formCargo.on('edit', function (editor, e, eOpts) { this.CargoAfterEdit(editor, e, eOpts); }, this); //选择load this.gridList.getSelectionModel().on('select', function (model, record, index) { this.C_contractno = record.data.ContractNo; this.C_Customer = record.data.Buyer; this.storeCargo.load({ //载入货物列表 params: { condition: this.C_contractno } }); /* if (Ext.Array.indexOf(this.array, this.C_contractno, 0) == -1) { //grid.selModel.select(i, true, false); this.array.push(this.C_contractno); }*/ Ext.Ajax.request({ waitMsg: '正载入融资数据...', url: '/Import/FinanceOut/GetFOut', params: { condition: this.C_contractno }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } this.formFinanceOut.getForm().reset(); var data = result.data; this.storeFOBody.removeAll(); /* var data = result.data; this.formEdit.getForm().reset(); if (data.OilLrDate == "") { data.OilLrDate = currdate.format('yyyy-MM-dd') }; if (data.OilUser == "") { data.OilUser = str };*/ // this.formFinanceOut.getForm().setValues(data); //alert(data.Financestatus); if (data.FinanceStatus == "" || data.FinanceStatus == undefined) { this.formFinanceOut.hide(); this.formFinanceIn.hide(); Ext.getCmp('btnAdd').enable(); Ext.getCmp('btnSave').disable(); Ext.getCmp('addFOBody').disable(); Ext.getCmp('delFOBody').disable(); this.formFinanceOut.getForm().findField('Customer').setValue(this.C_Customer); this.formFinanceOut.getForm().findField('ContractNo').setValue(this.C_contractno); //this.formFinanceIn.getForm().findField('Customer').setValue(this.C_Customer); //this.formFinanceIn.getForm().findField('ContractNo').setValue(this.C_contractno); this.OpStatus = 'add'; } else { this.formFinanceOut.show(); this.formFinanceIn.show(); Ext.getCmp('btnAdd').disable(); Ext.getCmp('btnSave').enable(); Ext.getCmp('addFOBody').enable(); Ext.getCmp('delFOBody').enable(); this.OpStatus = 'edit'; this.storeFOBody.load({ params: { condition: this.C_contractno } }); } //this.formFinanceOut.getForm().setValue("Customer", this.C_Customer); //if (data.creator == "") { data.creator = usercode }; } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); //request over Ext.Ajax.request({ waitMsg: '正载入融资数据...', url: '/Import/FinanceOut/GetFIn', params: { condition: this.C_contractno }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } this.formFinanceIn.getForm().reset(); var data = result.data; this.formFinanceIn.getForm().setValues(data); //this.formFinanceOut.getForm().setValue("Customer", this.C_Customer); //if (data.creator == "") { data.creator = usercode }; } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); //request over }, this); var _this = this; /* this.grid_M.on('cellclick', function (button, event) { this.onSelectContractNo(button, event); }, this);*/ this.grid_M.getSelectionModel().on('deselect', function (sm, rec) { //alert('取消勾选的name:'+record.data.ContractNo); //alert(Ext.Array.include(this.array, '100')); undifine if (!_this.ChangePage) { Ext.Array.remove(this.array, rec.data.ContractNo); } }, this); this.grid_M.getSelectionModel().on('select', function (model, record, index) { this.C_contractno = record.data.ContractNo; this.C_Customer = record.data.Buyer; if (Ext.Array.indexOf(this.array, this.C_contractno, 0) == -1) { //grid.selModel.select(i, true, false); this.array.push(this.C_contractno); } }, this); //保存复选列表值 this.store_M.addListener('load', function (store, rds, opts) { var grid = Ext.getCmp('grid_M'); var sm = _this.CB_M; var total = store.getCount(); //数据行数 for (var i = 0; i < total; i++) { var row = store.getAt(i); var contractno = row.get('ContractNo'); if (Ext.Array.indexOf(_this.array, contractno, 0) > -1) { grid.selModel.select(i, true, false); } } grid.getSelectionModel().addListener('deselect', sm, this); //添加checkboxModel的deselect事件,第三个参数this 可不写,下同 _this.ChangePage = false; }); this.store_M.addListener('beforeload', function () { var grid = Ext.getCmp('grid_M'); var sm = _this.CB_M; _this.ChangePage = true; grid.getSelectionModel().removeListener('deselect', sm, this); }); //-----------融出列表-------- //定义数据集 this.storeFOutList = Ext.create('Ext.data.Store', { model: 'FOutListmb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetFOutList', reader: { idProperty: 'gid', root: 'data', totalProperty: 'totalCount' } } }); //定义Grid this.FOutList = new Ext.grid.GridPanel({ store: this.storeFOutList, enableHdMenu: false, region: 'north', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, stripeRows: true, //height: 150, columns: [ { sortable: true, dataIndex: 'gid', header: 'gid', width: 80, hidden: true }, /* { sortable: true, dataIndex: 'contractno', header: 'contractno', width: 80, hidden: true },*/ { sortable: true, dataIndex: 'HTH', header: '合同号', width: 80 }, { sortable: true, dataIndex: 'Starttime', header: '融资时间', width: 80 }, { sortable: true, dataIndex: 'Endtime', header: '还款时间', width: 80 }, { sortable: true, dataIndex: 'Customer', header: '融资人', width: 80 }, { sortable: true, dataIndex: 'FinanceStatus', header: '状态', width: 80 }, { sortable: true, dataIndex: 'Amount', header: '金额', width: 80 }, { sortable: true, dataIndex: 'ExchangeRate', header: '汇率', width: 80 }, { sortable: true, dataIndex: 'RMBAmount', header: 'RMB金额', width: 80 }, { sortable: true, dataIndex: 'InterestRate', header: '月利率', width: 80 }, { sortable: true, dataIndex: 'PI', header: '应还本息', width: 80 }, { sortable: true, dataIndex: 'Interest', header: '实际还款', width: 80 }, { sortable: true, dataIndex: 'Remark', header: '备注', width: 80 } ] }); //-------------------------- //布局 this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 100, //split: true, items: [this.formSearch, this.panelBtn] }); this.panelContract = new Ext.Panel({ layout: "border", region: "north", height: 180, //split: true, items: [this.gridList] }); this.panelMain = new Ext.Panel({ layout: "border", region: "north", height: 100, //split: true, items: [this.panelTop] }); //合同查询和结果 this.panelCargo = new Ext.Panel({ //title: '选择融资货物', layout: "border", region: 'west', width: 600, margin: '1 2', split: true, items: [ this.formCargo, this.formFinanceOut, this.formFinanceIn] }); this.panelChFeeSettlement = new Ext.Panel({ title: '还款明细', layout: "border", region: 'center', margin: '1 2', items: [this.formFOBody] }); this.panelFinanceOut = new Ext.Panel({ id: "page_1", layout: "border", region: "north", title: "融出资金管理", items: [this.panelContract, this.panelCargo , this.panelChFeeSettlement ] }); this.panelFinanceOut_M = new Ext.Panel({ id: "page_2", layout: "border", region: "north", title: "融出资金管理(复选)", items: [this.grid_M] }); this.page_3 = new Ext.Panel({ id: "page_3", title: "融入资金管理", items: [] }); this.page_4 = new Ext.Panel({ id: "page_4", title: "融出资金一览", items: [this.FOutList] }); this.page_5 = new Ext.Panel({ id: "page_5", title: "融入资金一览", items: [] }); this.MainTab = new Ext.tab.Panel({ layout: "border", region: "center", items: [this.panelFinanceOut, this.panelFinanceOut_M, this.page_2, this.page_3, this.page_4, this.page_5] }); Ext.apply(this, { items: [this.panelMain, this.MainTab] }); this.storeList.on('beforeload', function (store) { var sql = this.getCondition(); Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); this.store_M.on('beforeload', function (store) { var sql = this.getCondition(); Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); }, //end initUIComponents onNewClick: function (button, event) { this.formFinanceOut.show(); this.formFinanceIn.show(); Ext.getCmp('btnAdd').disable(); Ext.getCmp('btnSave').enable(); //alert(this.storeCargo.getCount()); var num = this.storeCargo.getCount(); var Amount = 0; for (var i = 0; i < num; i++) { Amount = this.storeCargo.getAt(i).get('Amount'); } var BB = this.storeCargo.getAt(0).get('codename'); //alert(Amount); this.formFinanceOut.getForm().findField('gid').setValue(NewGuid()); this.formFinanceOut.getForm().findField('ContractNo').setValue(this.C_contractno); this.formFinanceOut.getForm().findField('Customer').setValue(this.C_Customer); this.formFinanceOut.getForm().findField('TimeMark').setValue('0'); this.formFinanceOut.getForm().findField('Amount').setValue(Amount); this.formFinanceOut.getForm().findField('RMBAmount').setValue('0'); this.formFinanceOut.getForm().findField('ExchangeRate').setValue('1'); this.formFinanceOut.getForm().findField('Days').setValue('0'); this.formFinanceOut.getForm().findField('Interest').setValue('0'); this.formFinanceOut.getForm().findField('InterestRate').setValue('0'); this.formFinanceOut.getForm().findField('PI').setValue('0'); this.formFinanceOut.getForm().findField('Shouxu').setValue('0'); this.formFinanceOut.getForm().findField('Currency').setValue(BB); this.formFinanceIn.getForm().findField('gid').setValue(NewGuid()); this.formFinanceIn.getForm().findField('ContractNo').setValue(this.C_contractno); this.formFinanceIn.getForm().findField('TimeMark').setValue('0'); this.formFinanceIn.getForm().findField('Amount').setValue(Amount); this.formFinanceIn.getForm().findField('RMBAmount').setValue('0'); this.formFinanceIn.getForm().findField('ExchangeRate').setValue('1'); this.formFinanceIn.getForm().findField('Days').setValue('0'); this.formFinanceIn.getForm().findField('Interest').setValue('0'); this.formFinanceIn.getForm().findField('InterestRate').setValue('0'); this.formFinanceIn.getForm().findField('PI').setValue('0'); this.formFinanceIn.getForm().findField('Currency').setValue(BB); }, onSaveClick: function (button, event) { this.Save("0"); }, CargoAfterEdit: function (editor, e, eOpts) { if (e.field == 'Financestatus') { var Financestatusrecords = DsStoreQueryBy(this.storeFStatus, 'EnumValueId', e.value); if (Financestatusrecords.getCount() > 0) { var Financestatusdata = Financestatusrecords.getAt(0).data; e.record.set('FinancestatusRef', Financestatusdata.EnumValueName); } else { e.record.set('FinancestatusRef', ''); } } }, onaddFOBody: function () { // var newSerialno = DsGetNewSerialNo(this.storeBodyList, this.serialNo); // this.serialNo = newSerialno; var record = Ext.create('FOBodymb', { 'id': '', 'ContractNo': '', 'Repaymentdate': '', 'Amount': '0', 'Remark': '' }); this.storeFOBody.add(record); var n = this.storeFOBody.getCount(); this.cellEditingFOBody.startEditByPosition({ row: n - 1, column: 2 }); }, onDelFOBody: function (button, event) { var selectedRecords = this.formFOBody.selModel.getSelection(); Ext.MessageBox.confirm('提示', '确定删除记录吗?', function (btn) { if (btn == 'yes') { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; //alert(rec.gid); if (rec.gid != "" || rec.gid != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.FOBodyDel.push(rec); } this.storeFOBody.remove(selectedRecords[i]); } } }, this); }, onRefreshClick: function (button, event) { var _p = this.MainTab.getActiveTab().id; //alert(this.MainTab.getActiveTab().id); if (_p == "page_1") { var sql = this.getCondition(); this.storeList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, waitMsg: "正在查询数据...", scope: this }); } if (_p == "page_2") { var sql = this.getCondition(); this.store_M.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, waitMsg: "正在查询数据...", scope: this }); } if (_p == "page_3") { var sql = this.getCondition(); this.storeFOutList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, waitMsg: "正在查询数据...", scope: this }); } }, getCondition: function () { var form = this.formSearch.getForm(); if (!form.isValid()) { Ext.Msg.alert('提示', '查询条件赋值错误,请检查。'); return ''; } var sql = ''; var Mainstate = " (select distinct bsno from ch_fee where (feename in('购货款','预付款','尾款')) and feestatus<8 )"; sql = sql + getAndConSql(sql, Mainstate, "m.contractno in " + Mainstate + " "); //合同状态在审单之后,完成之前的。 /* var ContractNo = form.findField('ContractNo').getValue(); sql = sql + getAndConSql(sql, ContractNo, "M.ContractNo like '%" + ContractNo + "%'");*/ var HTH = form.findField('HTH').getValue(); sql = sql + getAndConSql(sql, HTH, "M.HTH like '%" + HTH + "%'"); /* var company = form.findField('company').getValue(); sql = sql + getAndConSql(sql, company, "M.company = '" + company + "'"); var countryid = form.findField('countryid').getValue(); sql = sql + getAndConSql(sql, countryid, "m.countryid like '%" + countryid + "%'"); var seller = form.findField('seller').getRawValue(); sql = sql + getAndConSql(sql, seller, "M.seller like '%" + seller + "%'");*/ var buyer = form.findField('buyer').getRawValue(); sql = sql + getAndConSql(sql, buyer, "M.buyer like '%" + buyer + "%'"); var _p = this.MainTab.getActiveTab().id; //alert(this.MainTab.getActiveTab().id); if (_p == "page_1" || _p == "page_2") { var custDate_Min = form.findField('ExpDateBgn').getRawValue(); sql = sql + getAndConSql(sql, custDate_Min, "M.ArrivalDate >= '" + custDate_Min + "'"); var custDate_Max = form.findField('ExpDateEnd').getRawValue(); sql = sql + getAndConSql(sql, custDate_Max, "M.ArrivalDate <= '" + custDate_Max + " 23:59:59'"); } if (_p == "page_3") { } /* var port = form.findField('port').getValue(); sql = sql + getAndConSql(sql, port, "m.port = " + port + ""); */ var remark = form.findField('remark').getValue(); sql = sql + getAndConSql(sql, remark, "m.remark like '%" + remark + "%'"); /* var Remind = form.findField('Remind').getValue(); sql = sql + getAndConSql(sql, Remind, Remind); */ return sql; }, onGetremind: function (field, newValue, oldValue) { if (newValue != null) { this.storeList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: newValue }, waitMsg: "正在查询数据...", scope: this }); } }, OprationSwap: function () { var ret = new Array(); ret[0] = this.OprationStatus; ret[1] = this.storeList; ret[2] = this.SelectedRecord; return ret; }, // alert(this.OprationStatus.ToString()); // alert(this.storeList.toString()); // alert(this.SelectedRecord.toString()); onAuditPassClick: function (button, event) { var records = this.feeGridCheckBoxModel.selected.items; DsTruck.MsChFeeAudit(records, 0, '正在审核数据, 请稍侯..'); }, //通过 onAuditRefuseClick: function (button, event) { var records = this.feeGridCheckBoxModel.selected.items; DsTruck.MsChFeeAudit(records, 6, '正在审核数据, 请稍侯..'); }, //驳回提交 onSettlementClick: function (button, event) { var records = this.feeGridCheckBoxModel.selected.items; DsTruck.MsChFeeAudit(records, 8, '正在审核数据, 请稍侯..'); }, //部分结算 onSettlementAllClick: function (button, event) { var records = this.feeGridCheckBoxModel.selected.items; DsTruck.MsChFeeAudit(records, 9, '正在审核数据, 请稍侯..'); }, //全部结算 SetAmount: function () { var Amount = panelIndex.formFinanceOut.getForm().findField('Amount').getValue(); //rll = rll.toFixed(4); var ExchangeRate = panelIndex.formFinanceOut.getForm().findField('ExchangeRate').getValue(); var RMBAmount = Amount * ExchangeRate; panelIndex.formFinanceOut.getForm().findField('RMBAmount').setValue(RMBAmount.toFixed(2)); }, SetAmountIn: function () { var Amount = panelIndex.formFinanceIn.getForm().findField('Amount').getValue(); //rll = rll.toFixed(4); var ExchangeRate = panelIndex.formFinanceIn.getForm().findField('ExchangeRate').getValue(); var RMBAmount = Amount * ExchangeRate; panelIndex.formFinanceIn.getForm().findField('RMBAmount').setValue(RMBAmount.toFixed(2)); }, SetInterest: function () { var InterestRate = panelIndex.formFinanceOut.getForm().findField('InterestRate').getValue() / 30; InterestRate = InterestRate.toFixed(20); var Interest = parseFloat(panelIndex.formFinanceOut.getForm().findField('RMBAmount').getValue()); var days = parseFloat(panelIndex.formFinanceOut.getForm().findField('Days').getValue()); var PI = parseFloat(Interest.toFixed(2)) + parseFloat((Interest * InterestRate / 100) * days); Interest = /*parseFloat(Interest.toFixed(2)) + */parseFloat((Interest * InterestRate / 100) * days); //alert(Interest + '__' + InterestRate + '__' + days); panelIndex.formFinanceOut.getForm().findField('Interest').setValue(Interest.toFixed(6)); panelIndex.formFinanceOut.getForm().findField('PI').setValue(PI.toFixed(6)); }, SetInterestIn: function () { var InterestRate = panelIndex.formFinanceIn.getForm().findField('InterestRate').getValue() / 30; InterestRate = InterestRate.toFixed(20); var Interest = parseFloat(panelIndex.formFinanceIn.getForm().findField('RMBAmount').getValue()); var days = parseFloat(panelIndex.formFinanceIn.getForm().findField('Days').getValue()); var PI = parseFloat(Interest.toFixed(2)) + parseFloat((Interest * InterestRate / 100) * days); Interest = /*parseFloat(Interest.toFixed(2)) + */parseFloat((Interest * InterestRate / 100) * days); //alert(Interest + '__' + InterestRate + '__' + days); panelIndex.formFinanceIn.getForm().findField('Interest').setValue(Interest.toFixed(6)); panelIndex.formFinanceIn.getForm().findField('PI').setValue(PI.toFixed(6)); }, Save: function (type) { //alert(this.opStatus); var basicForm = this.formFinanceOut.getForm(); if (!basicForm.isValid()) { return; } basicForm.findField('gid').setDisabled(false); basicForm.findField('Customer').setDisabled(false); var data = this.formFinanceOut.getForm().getValues(); basicForm.findField('gid').setDisabled(true); basicForm.findField('Customer').setDisabled(true); var FOBodydatas = []; for (var i = 0; i < this.storeFOBody.getCount(); i += 1) { var member = this.storeFOBody.getAt(i); FOBodydatas.push(member); } //还款明细 var jsonFOBody = ConvertRecordsToJson(FOBodydatas); var jsonFODelBody = ConvertRecordsToJsonAll(this.FOBodyDel); //alert(this.OpStatus); Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/Import/FinanceOut/Save', scope: this, params: { opstatus: this.OpStatus, data: Ext.JSON.encode(data), FOBody: jsonFOBody, FODelBody: jsonFODelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeFOBody.commitChanges(); var returnData = jsonresult.Data; this.formFinanceOut.getForm().setValues(returnData); if (this.OpStatus == 'add') { //var arrNewRecords = this.StoreList.add(returnData); //this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); /////this.opStatus = 'edit'; } else if (this.OpStatus == 'edit') { /* var editp = Ext.create('FOutListmb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'id') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit();*/ } } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); var dataIn = this.formFinanceIn.getForm().getValues(); //alert(this.OpStatus); Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/Import/FinanceOut/SaveIn', scope: this, params: { opstatus: this.OpStatus, data: Ext.JSON.encode(dataIn) }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData_2 = jsonresult.Data; //alert(returnData_2[0].TimeMark); this.formFinanceIn.getForm().setValues(returnData_2); this.formFinanceIn.getForm().findField('TimeMark').setValue(returnData_2[0].TimeMark); if (this.OpStatus == 'add') { //var arrNewRecords = this.StoreList.add(returnData); //this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); /////this.opStatus = 'edit'; } else if (this.OpStatus == 'edit') { /* var editp = Ext.create('FOutListmb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'id') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit();*/ } } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); } //end save });