|
|
|
|
Ext.namespace('DsTruck');
|
|
|
|
|
|
|
|
|
|
DsTruck.FinanceEdit = function (config) {
|
|
|
|
|
Ext.applyIf(this, config);
|
|
|
|
|
this.initUIComponents();
|
|
|
|
|
window.DsTruck.FinanceEdit.superclass.constructor.call(this);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Ext.extend(DsTruck.FinanceEdit, Ext.Panel, {
|
|
|
|
|
|
|
|
|
|
ParentWin: null,
|
|
|
|
|
OpStatus: 'add',
|
|
|
|
|
StoreList: null,
|
|
|
|
|
EditRecord: null,
|
|
|
|
|
|
|
|
|
|
initUIComponents: function () {
|
|
|
|
|
this.serialNo = 0;
|
|
|
|
|
this.FinanceFeeDel = [];
|
|
|
|
|
|
|
|
|
|
this.CONTRACTNO = "";
|
|
|
|
|
|
|
|
|
|
//#region 编辑form
|
|
|
|
|
this.storeBuyer_F = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
|
|
model: 'Tradermb',
|
|
|
|
|
proxy: { url: '/CommMng/BasicDataRef/GetTrader' }
|
|
|
|
|
});
|
|
|
|
|
this.storeBuyer_F.load({ params: { condition: " 1=1 "} });
|
|
|
|
|
this.comboxBuyer_F = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
fieldLabel: '融资客户',
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
store: this.storeBuyer_F,
|
|
|
|
|
name: 'CUSTOMER',
|
|
|
|
|
valueField: 'name',
|
|
|
|
|
displayField: 'codename',
|
|
|
|
|
listeners: {
|
|
|
|
|
change: function (obj, newValue, oldValue, eOpts) {
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
url: '/Import/Finance/GetRmModel',
|
|
|
|
|
params: {
|
|
|
|
|
name: newValue
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
try {
|
|
|
|
|
var data = eval(response.responseText);
|
|
|
|
|
var arr = [];
|
|
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
|
|
arr.push((i + 1) + "、超期天数:" + data[i].ExtendedDays + "天 日利率:" + data[i].Rate);
|
|
|
|
|
}
|
|
|
|
|
document.getElementById("CustStatus").innerText = "客户利率标准:" + (arr.length > 0 ? arr.join(';') : "未配置");
|
|
|
|
|
} catch (e) { }
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
Ext.define('MsFeeCurr', {
|
|
|
|
|
extend: 'Ext.data.Model',
|
|
|
|
|
idProperty: 'CURR',
|
|
|
|
|
fields: [
|
|
|
|
|
{ name: 'CURR', type: 'string' },
|
|
|
|
|
{ name: 'DEFRATE', type: 'number' }
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
|
|
model: 'MsFeeCurr',
|
|
|
|
|
proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' }
|
|
|
|
|
});
|
|
|
|
|
this.StoreCurr.load({ params: { condition: ""} });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
fieldLabel: '融资币别',
|
|
|
|
|
store: this.StoreCurr,
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
allowBlank: false,
|
|
|
|
|
name: 'F_CURRENCY',
|
|
|
|
|
valueField: 'CURR',
|
|
|
|
|
displayField: 'CURR'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_this = this;
|
|
|
|
|
//编辑form
|
|
|
|
|
this.formEdit = Ext.widget('form', {
|
|
|
|
|
region: 'north',
|
|
|
|
|
//height:150,
|
|
|
|
|
frame: true,
|
|
|
|
|
bodyPadding: 5,
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
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: [{
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [
|
|
|
|
|
{
|
|
|
|
|
fieldLabel: '融资业务编号',
|
|
|
|
|
name: 'F_NO', readOnly: true, hidden: false
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '业务编号',
|
|
|
|
|
name: 'MAINNO', readOnly: true, hidden: true
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '操作',
|
|
|
|
|
name: 'OP', readOnly: true, hidden: true
|
|
|
|
|
}, this.comboxBuyer_F, this.comboxCurr, {
|
|
|
|
|
fieldLabel: '融资金额',
|
|
|
|
|
name: 'F_AMOUNT', value: 0
|
|
|
|
|
}]
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '融资汇率',
|
|
|
|
|
readOnly:true,
|
|
|
|
|
name: 'F_Rate'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '折合人民币金额',
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'F_RMB'
|
|
|
|
|
},{
|
|
|
|
|
fieldLabel: '融资时间',
|
|
|
|
|
id: 'STARTDATE',
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
name: 'STARTDATE',
|
|
|
|
|
listeners: {
|
|
|
|
|
change: function () {
|
|
|
|
|
var basicForm = _this.formEdit.getForm();
|
|
|
|
|
var STARTDATE = basicForm.findField('STARTDATE').getRawValue();
|
|
|
|
|
var newValue = basicForm.findField('DAYS').getValue();
|
|
|
|
|
newValue = newValue - 1;
|
|
|
|
|
var ENDATE = getNewDay(STARTDATE, newValue);
|
|
|
|
|
basicForm.findField('ENDDATE').setValue(ENDATE);
|
|
|
|
|
var BANKENDATE = getNewDay(STARTDATE, 90);
|
|
|
|
|
basicForm.findField('BANKENDDATE').setValue(BANKENDATE);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '融资天数',
|
|
|
|
|
name: 'DAYS', value: 0,
|
|
|
|
|
listeners: {
|
|
|
|
|
blur: function (field, eOpts) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var STARTDATE = basicForm.findField('STARTDATE').getRawValue();
|
|
|
|
|
var newValue = field.value;
|
|
|
|
|
newValue = newValue - 1;
|
|
|
|
|
var ENDATE = getNewDay(STARTDATE, newValue);
|
|
|
|
|
basicForm.findField('ENDDATE').setValue(ENDATE);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [ {
|
|
|
|
|
fieldLabel: '客户还款日期',
|
|
|
|
|
id: 'ENDDATE',
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
name: 'ENDDATE',
|
|
|
|
|
listeners: {
|
|
|
|
|
change: function () {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
fieldLabel: '银行还款日期',
|
|
|
|
|
id: 'BANKENDDATE',
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
name: 'BANKENDDATE',
|
|
|
|
|
listeners: {
|
|
|
|
|
change: function () {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},{
|
|
|
|
|
fieldLabel: '客户还款金额',
|
|
|
|
|
readOnly: true, flex: 1,
|
|
|
|
|
name: 'CUSTSTLAMOUNT'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '客户未还金额',
|
|
|
|
|
readOnly: true, flex: 1,
|
|
|
|
|
name: 'CUSTBALAMOUNT'
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '银行还款金额',
|
|
|
|
|
readOnly: true, flex: 1,
|
|
|
|
|
name: 'BANKSTLAMOUNT'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '银行未还金额',
|
|
|
|
|
readOnly: true, flex: 1,
|
|
|
|
|
name: 'BANKBALAMOUNT'
|
|
|
|
|
},{
|
|
|
|
|
fieldLabel: '融资状态',
|
|
|
|
|
name: 'F_STATUS', readOnly: true, hidden: false
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '操作人',
|
|
|
|
|
readOnly: true, flex: 1,
|
|
|
|
|
name: 'OPREF'
|
|
|
|
|
}]
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '建立时间',
|
|
|
|
|
format: 'Y-m-d H:i:s',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
|
|
|
|
|
name: 'ENTERDATE'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '备注', flex: 1,
|
|
|
|
|
name: 'REMARK'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}, {
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'label',
|
|
|
|
|
padding: '0 0 0 15',
|
|
|
|
|
items: [
|
|
|
|
|
{
|
|
|
|
|
text: '客户利率标准:0.00',
|
|
|
|
|
id: 'CustStatus'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]//end items(fieldset 1)
|
|
|
|
|
}//end fieldset 1
|
|
|
|
|
]//end root items
|
|
|
|
|
}); //end this.formEdit
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var menu1 = new Ext.menu.Menu({
|
|
|
|
|
id: 'basicMenu',
|
|
|
|
|
items: [{
|
|
|
|
|
text: "还款通知单",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.Print();
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
//#region 按钮Toolbar
|
|
|
|
|
this.panelBtn = new Ext.Panel({
|
|
|
|
|
region: "north",
|
|
|
|
|
tbar: [{
|
|
|
|
|
text: "确认融资",
|
|
|
|
|
iconCls: "btnadd",
|
|
|
|
|
id: "btnAudit",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.FinanceWin();
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
text: "取消融资",
|
|
|
|
|
iconCls: "btnreset",
|
|
|
|
|
id: "btnCancelAudit",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.CancelFinancel();
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
|
|
|
|
|
}, '-',
|
|
|
|
|
{
|
|
|
|
|
text: "保存",
|
|
|
|
|
iconCls: "btnsave",
|
|
|
|
|
id: "btnSave",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.Save('0');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-',
|
|
|
|
|
{
|
|
|
|
|
text: "保存并关闭",
|
|
|
|
|
id: "btnSaveClose",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.Save('1');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-',
|
|
|
|
|
{
|
|
|
|
|
text: "打印", menu: menu1, scope: this
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}); //end 按钮Toolbar
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#region 明细表
|
|
|
|
|
|
|
|
|
|
//#region 银行列表
|
|
|
|
|
|
|
|
|
|
this.comboxBank = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
store: this.storeBuyer_F,
|
|
|
|
|
valueField: 'name',
|
|
|
|
|
displayField: 'codename'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.storeListBank = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'FinanceBank',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/Finance/GetBankList',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GID',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.cellEditingBank = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
|
|
clicksToEdit: 1
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.BankGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
this.gridListBank = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeListBank,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
plugins: [this.cellEditingBank],
|
|
|
|
|
selModel: this.BankGridCheckBoxModel,
|
|
|
|
|
tbar: [{
|
|
|
|
|
text: '添加融资银行',
|
|
|
|
|
tooltip: '添加融资银行',
|
|
|
|
|
iconCls: "btnadddetail",
|
|
|
|
|
id: "btnaddBank",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAddBankClick(button, event);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '删除融资银行',
|
|
|
|
|
tooltip: '删除融资银行',
|
|
|
|
|
id: "btndelBank",
|
|
|
|
|
iconCls: "btndeletedetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onDelBankClick(button, event);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}],
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
sortable: true, hidden: true,
|
|
|
|
|
dataIndex: 'GID',
|
|
|
|
|
header: 'GID',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true, hidden: true,
|
|
|
|
|
dataIndex: 'F_NO',
|
|
|
|
|
header: 'F_NO',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BANK',
|
|
|
|
|
header: '融资银行',
|
|
|
|
|
editor: this.comboxBank,
|
|
|
|
|
width: 120
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'AMOUNT',
|
|
|
|
|
header: '融资金额',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DOAMOUNT',
|
|
|
|
|
header: '还款金额',
|
|
|
|
|
width: 120
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#region 融资明细
|
|
|
|
|
this.storeDetailList = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'FinanceTradeBody',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/Finance/GetBodyList',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GID',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.gridListDetail = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeDetailList,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
layout: 'border',
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
columns: [{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'F_NO',
|
|
|
|
|
header: 'F_NO',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 100
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'GID',
|
|
|
|
|
header: 'GID',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 100
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CONTRACTNO',
|
|
|
|
|
header: '合同序号',
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'HTH',
|
|
|
|
|
header: '合同号',
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BILLNO',
|
|
|
|
|
header: '提单号',
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'SELLER',
|
|
|
|
|
header: '贸易商',
|
|
|
|
|
width: 100
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BUYER',
|
|
|
|
|
header: '购货方',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'COMPANYNAME',
|
|
|
|
|
header: '用证公司',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ARRIVALDATE',
|
|
|
|
|
header: '到港日期',
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
width: 100
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'PORTREF',
|
|
|
|
|
header: '目的港',
|
|
|
|
|
width: 80
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'R_AMOUNT',
|
|
|
|
|
header: '申请金额',
|
|
|
|
|
width: 80
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// #region 进行融资的业务还款
|
|
|
|
|
|
|
|
|
|
this.comboxCurrBody = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
store: this.StoreCurr,
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
allowBlank: false,
|
|
|
|
|
valueField: 'CURR',
|
|
|
|
|
displayField: 'CURR'
|
|
|
|
|
});
|
|
|
|
|
this.comboxCust = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
store: this.storeBuyer_F,
|
|
|
|
|
valueField: 'name',
|
|
|
|
|
displayField: 'codename'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.comboxCustBank = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
store: this.storeListBank,
|
|
|
|
|
valueField: 'BANK',
|
|
|
|
|
displayField: 'BANK'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storeBodyList = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'FinanceBodymb',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/Finance/GetFinanceBody',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GID',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.BodyGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
this.cellEditingBodyGrid = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
|
|
clicksToEdit: 1
|
|
|
|
|
});
|
|
|
|
|
this.fr_columns = [
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
hidden: true,
|
|
|
|
|
dataIndex: 'GID',
|
|
|
|
|
header: 'GID',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
hidden: true,
|
|
|
|
|
dataIndex: 'F_NO',
|
|
|
|
|
header: 'F_NO',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CUSTOMER',
|
|
|
|
|
header: '还款客户',
|
|
|
|
|
editor: this.comboxCust,
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
hidden: true,
|
|
|
|
|
dataIndex: 'BSNO',
|
|
|
|
|
header: 'BSNO',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CUSTNO',
|
|
|
|
|
header: '业务编号',
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'D_INTEREST_RATE',
|
|
|
|
|
header: '日利率',
|
|
|
|
|
hidden:true,
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'INTEREST_RATE',
|
|
|
|
|
header: '月利息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Y_INTEREST_RATE',
|
|
|
|
|
header: '年利息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'F_CURRENCY',
|
|
|
|
|
header: '还款币别',
|
|
|
|
|
editor: this.comboxCurrBody,
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ENDDATE',
|
|
|
|
|
header: '还款日期',
|
|
|
|
|
width: 90,
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DAYS',
|
|
|
|
|
header: '计息天数',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'F_AMOUNT',
|
|
|
|
|
header: '还款金额(原币)',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'EXCHANGERATE',
|
|
|
|
|
header: '汇率',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'RMBVALUE',
|
|
|
|
|
header: '还款货值RMB',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'HANDFEE',
|
|
|
|
|
header: '手续费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'TELXFEE',
|
|
|
|
|
header: '电报费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'OTFEE',
|
|
|
|
|
header: '其他费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'RMBAMOUNT',
|
|
|
|
|
header: '本金RMB',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'INTEREST',
|
|
|
|
|
header: '利息合计',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FINEFEE',
|
|
|
|
|
header: '罚息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'TTLAMOUNTRMB',
|
|
|
|
|
header: '还款合计',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'REMARK',
|
|
|
|
|
header: '备注',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
this.gridBodyList = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeBodyList,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
plugins: [this.cellEditingBodyGrid],
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
selModel: this.BodyGridCheckBoxModel,
|
|
|
|
|
viewConfig: {
|
|
|
|
|
autoFill: true,
|
|
|
|
|
enableTextSelection: true,
|
|
|
|
|
getRowClass: function (record, rowIndex, rowParams, store) {
|
|
|
|
|
var F_NO = record.get('F_NO');
|
|
|
|
|
if (F_NO != "") {
|
|
|
|
|
return DsTruck.FinanceGetRowClass(1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tbar: [{
|
|
|
|
|
text: '添加还款记录',
|
|
|
|
|
tooltip: '添加还款记录',
|
|
|
|
|
iconCls: "btnadddetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAddBodyClick(button, event, 1);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '保存还款记录',
|
|
|
|
|
tooltip: '保存还款记录',
|
|
|
|
|
iconCls: "btnsave",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onPostBodyClick(button, event, 1);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '删除还款记录',
|
|
|
|
|
tooltip: '删除还款记录',
|
|
|
|
|
iconCls: "btndeletedetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onDelBodyClick(button, event, 1);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '生成费用',
|
|
|
|
|
tooltip: '生成费用',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onCreateBodyFeeClick(button, event, 1);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: "保存列表样式",
|
|
|
|
|
id: "btnsavelist1",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
var tempcolumns = _this.gridBodyList.columns;
|
|
|
|
|
DsTruck.SaveGridPanel(USERID, "Import_Finance_Rate", tempcolumns);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}],
|
|
|
|
|
columns: this.fr_columns
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.CargoColumns = DsTruck.GetGridPanel(USERID, "Import_Finance_Rate", this.fr_columns);
|
|
|
|
|
//使用者id,表名 ,中间column数组,跳过一开始的几列
|
|
|
|
|
this.gridBodyList.reconfigure(this.storeBodyList, this.CargoColumns);
|
|
|
|
|
|
|
|
|
|
this.storeBodyListBank = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'FinanceBodymb',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/Finance/GetFinanceBody',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GID',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.cellEditingBodyGridBody = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
|
|
clicksToEdit: 1
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.BodyBankGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
this.fr_columnsbank = [
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
hidden: true,
|
|
|
|
|
dataIndex: 'GID',
|
|
|
|
|
header: 'GID',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
hidden: true,
|
|
|
|
|
dataIndex: 'F_NO',
|
|
|
|
|
header: 'F_NO',
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CUSTOMER',
|
|
|
|
|
header: '还款客户',
|
|
|
|
|
editor: this.comboxCustBank,
|
|
|
|
|
width: 100
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'INTEREST_RATE',
|
|
|
|
|
header: '月利息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Y_INTEREST_RATE',
|
|
|
|
|
header: '年利息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'F_CURRENCY',
|
|
|
|
|
header: '还款币别',
|
|
|
|
|
editor: this.comboxCurrBody,
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ENDDATE',
|
|
|
|
|
header: '还款日期',
|
|
|
|
|
width: 100,
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'DAYS',
|
|
|
|
|
header: '计息天数',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'F_AMOUNT',
|
|
|
|
|
header: '还款金额',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'EXCHANGERATE',
|
|
|
|
|
header: '汇率',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'RMBVALUE',
|
|
|
|
|
header: '还款货值RMB',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'HANDFEE',
|
|
|
|
|
header: '手续费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'TELXFEE',
|
|
|
|
|
header: '电报费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'OTFEE',
|
|
|
|
|
header: '其他费',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'RMBAMOUNT',
|
|
|
|
|
header: '本金RMB',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'INTEREST',
|
|
|
|
|
header: '利息合计',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'INTERESTUSD',
|
|
|
|
|
header: '美元利息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FINEFEE',
|
|
|
|
|
header: '罚息',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'TTLAMOUNTRMB',
|
|
|
|
|
header: '还款合计',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'numberfield',
|
|
|
|
|
|
|
|
|
|
keyNavEnabled: false,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
hideTrigger: true,
|
|
|
|
|
mouseWheelEnabled: false,
|
|
|
|
|
decimalPrecision: 4,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'REMARK',
|
|
|
|
|
header: '备注',
|
|
|
|
|
width: 80,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
enableKeyEvents: true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
this.gridBodyListBank = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeBodyListBank,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
plugins: [this.cellEditingBodyGridBody],
|
|
|
|
|
selModel: this.BodyBankGridCheckBoxModel,
|
|
|
|
|
viewConfig: {
|
|
|
|
|
autoFill: true,
|
|
|
|
|
enableTextSelection: true,
|
|
|
|
|
getRowClass: function (record, rowIndex, rowParams, store) {
|
|
|
|
|
var F_NO = record.get('F_NO');
|
|
|
|
|
if (F_NO != "") {
|
|
|
|
|
return DsTruck.FinanceGetRowClass(1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tbar: [{
|
|
|
|
|
text: '添加还款记录',
|
|
|
|
|
tooltip: '添加还款记录',
|
|
|
|
|
iconCls: "btnadddetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAddBodyClick(button, event, 2);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '保存还款记录',
|
|
|
|
|
tooltip: '保存还款记录',
|
|
|
|
|
iconCls: "btnsave",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onPostBodyClick(button, event, 2);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '删除还款记录',
|
|
|
|
|
tooltip: '删除还款记录',
|
|
|
|
|
iconCls: "btndeletedetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onDelBodyClick(button, event, 2);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '生成费用',
|
|
|
|
|
tooltip: '生成费用',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onCreateBodyFeeClick(button, event, 2);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: "保存列表样式",
|
|
|
|
|
id: "btnsavelist",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
var tempcolumns = _this.gridBodyListBank.columns;
|
|
|
|
|
DsTruck.SaveGridPanel(USERID, "Import_Finance_Rate_Bank", tempcolumns);
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}],
|
|
|
|
|
columns: this.fr_columnsbank
|
|
|
|
|
});
|
|
|
|
|
this.CargoColumnsBank = DsTruck.GetGridPanel(USERID, "Import_Finance_Rate_Bank", this.fr_columnsbank);
|
|
|
|
|
//使用者id,表名 ,中间column数组,跳过一开始的几列
|
|
|
|
|
this.gridBodyListBank.reconfigure(this.storeBodyListBank, this.CargoColumnsBank);
|
|
|
|
|
|
|
|
|
|
this.gridBodyList.on('edit', function (editor, e, eOpts) {
|
|
|
|
|
this.gridListBodyAfterEdit(editor, e, eOpts);
|
|
|
|
|
}, this);
|
|
|
|
|
this.gridBodyListBank.on('edit', function (editor, e, eOpts) {
|
|
|
|
|
this.gridListBodyAfterEdit(editor, e, eOpts);
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
this.panelBodyCust = new Ext.Panel({
|
|
|
|
|
title: '客户还款记录',
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "center",
|
|
|
|
|
anchor: '100% 50%',
|
|
|
|
|
height: 260,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.gridBodyList]
|
|
|
|
|
});
|
|
|
|
|
this.panelBodyBank = new Ext.Panel({
|
|
|
|
|
title: '还款银行记录',
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "center",
|
|
|
|
|
anchor: '100% 50%',
|
|
|
|
|
height: 260,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.gridBodyListBank]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.panelBody = new Ext.Panel({
|
|
|
|
|
title: '还款记录',
|
|
|
|
|
layout: "anchor",
|
|
|
|
|
region: 'center',
|
|
|
|
|
items: [
|
|
|
|
|
this.panelBodyCust, this.panelBodyBank
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
this.panelBank = new Ext.Panel({
|
|
|
|
|
title: '融资银行',
|
|
|
|
|
layout: "anchor",
|
|
|
|
|
width: 360,
|
|
|
|
|
region: 'east',
|
|
|
|
|
items: [
|
|
|
|
|
this.gridListBank
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
/*
|
|
|
|
|
this.panelDetail = new Ext.Panel({
|
|
|
|
|
title: '融资明细',
|
|
|
|
|
layout: "border",
|
|
|
|
|
//height: 150,
|
|
|
|
|
region: 'center',
|
|
|
|
|
items: [
|
|
|
|
|
this.gridListDetail
|
|
|
|
|
]
|
|
|
|
|
});*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#endregion 明细表
|
|
|
|
|
|
|
|
|
|
//#region 费用列表
|
|
|
|
|
this.storeFeeTypeRef = Ext.create('DsExt.ux.RefEnumStore', {});
|
|
|
|
|
this.storeFeeTypeRef.load({ params: { enumTypeId: 99020} });
|
|
|
|
|
this.comboxFeeTypeRef = Ext.create('DsExt.ux.RefEnumCombox', {
|
|
|
|
|
store: this.storeFeeTypeRef,
|
|
|
|
|
name: 'FeeType'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storeFeeNameRef = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
|
|
model: 'DsTruckMng.ux.FeeTypeRefModel',
|
|
|
|
|
proxy: { url: '/CommMng/BasicDataRef/GetFeeTypeRefList' }
|
|
|
|
|
});
|
|
|
|
|
this.storeFeeNameRef.load({ params: { condition: ""} });
|
|
|
|
|
this.comboxFeeNameRef = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
store: this.storeFeeNameRef,
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
name: 'FeeName',
|
|
|
|
|
valueField: 'Name',
|
|
|
|
|
displayField: 'CodeAndName'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storeCustomerNameRef = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
|
|
model: 'DsTruckMng.ux.CustomRefModel',
|
|
|
|
|
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
|
|
|
|
|
});
|
|
|
|
|
this.storeCustomerNameRef.load({ params: { condition: ""} });
|
|
|
|
|
|
|
|
|
|
this.comboxCustomerNameRef = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
store: this.storeCustomerNameRef,
|
|
|
|
|
forceSelection: true,
|
|
|
|
|
allowBlank: false,
|
|
|
|
|
name: 'CustomerName',
|
|
|
|
|
valueField: 'CustName',
|
|
|
|
|
displayField: 'CodeAndName'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storecurr = Ext.create('DsExt.ux.RefTableStore', {
|
|
|
|
|
model: 'currRef',
|
|
|
|
|
proxy: { url: '/CommMng/BasicDataRef/GetcurrRefList' }
|
|
|
|
|
});
|
|
|
|
|
this.storecurr.load({ params: { condition: ""} });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.comboxcurr_2 = Ext.create('DsExt.ux.RefTableCombox', {
|
|
|
|
|
store: this.storecurr,
|
|
|
|
|
name: 'Currency',
|
|
|
|
|
valueField: 'codename',
|
|
|
|
|
displayField: 'codename'
|
|
|
|
|
//币别
|
|
|
|
|
});
|
|
|
|
|
//明细表-数据集
|
|
|
|
|
this.storeBodyChFee = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'MsChFee',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/XXH/GetFeeList',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GId',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.storeBodyChFee_YF = Ext.create('Ext.data.Store', {
|
|
|
|
|
model: 'MsChFee',
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
proxy: {
|
|
|
|
|
type: 'ajax',
|
|
|
|
|
url: '/Import/XXH/GetFeeList',
|
|
|
|
|
reader: {
|
|
|
|
|
id: 'GId',
|
|
|
|
|
root: 'data',
|
|
|
|
|
totalProperty: 'totalCount'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//明细表表格
|
|
|
|
|
this.cellEditingChFee = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
|
|
clicksToEdit: 1
|
|
|
|
|
});
|
|
|
|
|
this.feeGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
this.gridListChFee = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeBodyChFee,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
plugins: [this.cellEditingChFee],
|
|
|
|
|
selModel: this.feeGridCheckBoxModel,
|
|
|
|
|
selType: 'cellmodel',
|
|
|
|
|
viewConfig: {
|
|
|
|
|
autoFill: true,
|
|
|
|
|
getRowClass: function (record, rowIndex, rowParams, store) {
|
|
|
|
|
var feeStatus = record.get('FeeStatus');
|
|
|
|
|
return DsTruck.MsChFeeGetRowClass(feeStatus);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tbar: [{ xtype: 'label', id: 'label1', text: "应收费用" }, '-', {
|
|
|
|
|
text: '增加明细',
|
|
|
|
|
tooltip: '增加明细', id: "addChfee",
|
|
|
|
|
iconCls: "btnadddetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAddDetailClick(button, event, '1');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '删除明细',
|
|
|
|
|
tooltip: '删除明细', id: "delChfee",
|
|
|
|
|
iconCls: "btndeletedetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onDelDetailClick(button, event, '1');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '提交审核',
|
|
|
|
|
tooltip: '提交审核',
|
|
|
|
|
iconCls: 'btnsubmitaudit',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onSubmitAuditClick(button, event, "1");
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '撤回提交',
|
|
|
|
|
tooltip: '撤回提交',
|
|
|
|
|
iconCls: 'btncomm',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onRetractClick(button, event, "1");
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: "刷新",
|
|
|
|
|
iconCls: "btnrefresh",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
this.storeBodyChFee.load({ params: { billno: F_NO, Feetype: '1'} });
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, { xtype: "label", id: "zongshu", text: "",
|
|
|
|
|
handler: function () { ; }
|
|
|
|
|
}],
|
|
|
|
|
columns: [{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'GId',
|
|
|
|
|
header: '惟一编号',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 160
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BsNo',
|
|
|
|
|
header: '业务编号',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeStatus',
|
|
|
|
|
header: '费用状态',
|
|
|
|
|
renderer: function (value, p, record) {
|
|
|
|
|
return record.data.FeeStatus_Ref;
|
|
|
|
|
},
|
|
|
|
|
width: 66
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeName',
|
|
|
|
|
header: '费用名称',
|
|
|
|
|
editor: this.comboxFeeNameRef,
|
|
|
|
|
width: 80
|
|
|
|
|
}, /*{
|
|
|
|
|
sortable: true,hidden:true,
|
|
|
|
|
dataIndex: 'FeeType',
|
|
|
|
|
header: '收付方式',
|
|
|
|
|
renderer: function (value, p, record) {
|
|
|
|
|
if (value == null || value == '')
|
|
|
|
|
return '';
|
|
|
|
|
else
|
|
|
|
|
return value + '-' + record.data.FeeType_Ref;
|
|
|
|
|
},
|
|
|
|
|
editor: this.comboxFeeTypeRef,
|
|
|
|
|
width: 66
|
|
|
|
|
},*/{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeDescription',
|
|
|
|
|
header: '费用英文名称',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CustomerType',
|
|
|
|
|
header: '客户类别',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CustomerName',
|
|
|
|
|
header: '结算对象',
|
|
|
|
|
editor: this.comboxCustomerNameRef,
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Unit',
|
|
|
|
|
header: '单位标准',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'UnitPrice',
|
|
|
|
|
header: '单价',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield', //numberfield
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 120,
|
|
|
|
|
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
|
|
|
|
|
try {
|
|
|
|
|
var lsValue = usMoney(value, 2, '', false);
|
|
|
|
|
if (lsValue != "NaN") {
|
|
|
|
|
value = lsValue; if (parseFloat(lsValue) < 0) {
|
|
|
|
|
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Quantity',
|
|
|
|
|
header: '数量',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Amount',
|
|
|
|
|
header: '金额',
|
|
|
|
|
width: 120,
|
|
|
|
|
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
|
|
|
|
|
try {
|
|
|
|
|
var lsValue = usMoney(value, 2, '', false);
|
|
|
|
|
if (lsValue != "NaN") {
|
|
|
|
|
value = lsValue; if (parseFloat(lsValue) < 0) {
|
|
|
|
|
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Currency',
|
|
|
|
|
header: '币别',
|
|
|
|
|
editor: this.comboxcurr_2,
|
|
|
|
|
width: 50
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ExChangerate',
|
|
|
|
|
header: '汇率',
|
|
|
|
|
//hidden: true,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'EnterDate',
|
|
|
|
|
header: '时间',
|
|
|
|
|
width: 80,
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
editor: {
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Remark',
|
|
|
|
|
header: '备注',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 250
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.cellEditingChFee_YF = Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
|
|
clicksToEdit: 1
|
|
|
|
|
});
|
|
|
|
|
this.feeGridCheckBoxModel_YF = Ext.create('Ext.selection.CheckboxModel');
|
|
|
|
|
|
|
|
|
|
this.gridListChFee_YF = new Ext.grid.GridPanel({
|
|
|
|
|
store: this.storeBodyChFee_YF,
|
|
|
|
|
enableHdMenu: false,
|
|
|
|
|
region: 'center',
|
|
|
|
|
loadMask: { msg: "数据加载中,请稍等..." },
|
|
|
|
|
trackMouseOver: true,
|
|
|
|
|
disableSelection: false,
|
|
|
|
|
plugins: [this.cellEditingChFee_YF],
|
|
|
|
|
selModel: this.feeGridCheckBoxModel_YF,
|
|
|
|
|
selType: 'cellmodel',
|
|
|
|
|
viewConfig: {
|
|
|
|
|
autoFill: true,
|
|
|
|
|
getRowClass: function (record, rowIndex, rowParams, store) {
|
|
|
|
|
var feeStatus = record.get('FeeStatus');
|
|
|
|
|
return DsTruck.MsChFeeGetRowClass(feeStatus);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tbar: [{ xtype: 'label', id: 'label2', text: "应付费用" }, '-', {
|
|
|
|
|
text: '增加明细',
|
|
|
|
|
tooltip: '增加明细', id: "addChfee_YF",
|
|
|
|
|
iconCls: "btnadddetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onAddDetailClick(button, event, '2');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '删除明细',
|
|
|
|
|
tooltip: '删除明细', id: "delChfee_YF",
|
|
|
|
|
iconCls: "btndeletedetail",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onDelDetailClick(button, event, '2');
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, '-', {
|
|
|
|
|
text: '提交审核',
|
|
|
|
|
tooltip: '提交审核',
|
|
|
|
|
iconCls: 'btnsubmitaudit',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onSubmitAuditClick(button, event, "2");
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: '撤回提交',
|
|
|
|
|
tooltip: '撤回提交',
|
|
|
|
|
iconCls: 'btncomm',
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
this.onRetractClick(button, event, "2");
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}, {
|
|
|
|
|
text: "刷新",
|
|
|
|
|
iconCls: "btnrefresh",
|
|
|
|
|
handler: function (button, event) {
|
|
|
|
|
F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
this.storeBodyChFee_YF.load({ params: { billno: F_NO, Feetype: '2'} });
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
},
|
|
|
|
|
{ xtype: "label", id: "zongshu_YF", text: "",
|
|
|
|
|
handler: function () { ; }
|
|
|
|
|
}],
|
|
|
|
|
columns: [{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'GId',
|
|
|
|
|
header: '惟一编号',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 160
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'BsNo',
|
|
|
|
|
header: '业务编号',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeStatus',
|
|
|
|
|
header: '费用状态',
|
|
|
|
|
renderer: function (value, p, record) {
|
|
|
|
|
return record.data.FeeStatus_Ref;
|
|
|
|
|
},
|
|
|
|
|
width: 66
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeName',
|
|
|
|
|
header: '费用名称',
|
|
|
|
|
editor: this.comboxFeeNameRef,
|
|
|
|
|
width: 80
|
|
|
|
|
}, /*{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeType',
|
|
|
|
|
header: '收付方式',
|
|
|
|
|
renderer: function (value, p, record) {
|
|
|
|
|
if (value == null || value == '')
|
|
|
|
|
return '';
|
|
|
|
|
else
|
|
|
|
|
return value + '-' + record.data.FeeType_Ref;
|
|
|
|
|
},
|
|
|
|
|
editor: this.comboxFeeTypeRef,
|
|
|
|
|
width: 66
|
|
|
|
|
},*/{
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'FeeDescription',
|
|
|
|
|
header: '费用英文名称',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CustomerType',
|
|
|
|
|
header: '客户类别',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'CustomerName',
|
|
|
|
|
header: '结算对象',
|
|
|
|
|
editor: this.comboxCustomerNameRef,
|
|
|
|
|
width: 120
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Unit',
|
|
|
|
|
header: '单位标准',
|
|
|
|
|
hidden: true,
|
|
|
|
|
width: 200
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'UnitPrice',
|
|
|
|
|
header: '单价',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield', //xtype: 'numberfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 120,
|
|
|
|
|
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
|
|
|
|
|
try {
|
|
|
|
|
var lsValue = usMoney(value, 2, '', false);
|
|
|
|
|
if (lsValue != "NaN") {
|
|
|
|
|
value = lsValue; if (parseFloat(lsValue) < 0) {
|
|
|
|
|
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Quantity',
|
|
|
|
|
header: '数量',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield', //xtype: 'numberfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Amount',
|
|
|
|
|
header: '金额',
|
|
|
|
|
width: 120,
|
|
|
|
|
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
|
|
|
|
|
try {
|
|
|
|
|
var lsValue = usMoney(value, 2, '', false);
|
|
|
|
|
if (lsValue != "NaN") {
|
|
|
|
|
value = lsValue; if (parseFloat(lsValue) < 0) {
|
|
|
|
|
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Currency',
|
|
|
|
|
header: '币别',
|
|
|
|
|
editor: this.comboxcurr_2,
|
|
|
|
|
width: 50
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'ExChangerate',
|
|
|
|
|
header: '汇率',
|
|
|
|
|
//hidden: true,
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 60
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'EnterDate',
|
|
|
|
|
header: '时间',
|
|
|
|
|
width: 80,
|
|
|
|
|
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
|
|
|
|
|
editor: {
|
|
|
|
|
format: 'Y-m-d',
|
|
|
|
|
xtype: 'datefield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
sortable: true,
|
|
|
|
|
dataIndex: 'Remark',
|
|
|
|
|
header: '备注',
|
|
|
|
|
editor: {
|
|
|
|
|
xtype: 'textfield',
|
|
|
|
|
selectOnFocus: true
|
|
|
|
|
},
|
|
|
|
|
width: 250
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 毛利
|
|
|
|
|
this.formML = Ext.widget('form', { // layout: "border",
|
|
|
|
|
region: 'center',
|
|
|
|
|
frame: true,
|
|
|
|
|
bodyPadding: 2,
|
|
|
|
|
fieldDefaults: {
|
|
|
|
|
margins: '1 1 1 1',
|
|
|
|
|
labelAlign: 'right',
|
|
|
|
|
flex: 5,
|
|
|
|
|
//labelWidth: 90,//label标签宽度
|
|
|
|
|
msgTarget: 'qtip',
|
|
|
|
|
sourcelabelWidth: '100' //,split:true
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
items: [
|
|
|
|
|
{ //1
|
|
|
|
|
//container_1
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{//0
|
|
|
|
|
fieldLabel: '人民币应收',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'RMBYS'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '人民币应付',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'RMBYF'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '人民币毛利',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'RMBML'
|
|
|
|
|
}]//0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '美元应收',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'USDYS'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '美元应付',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'USDYF'
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '美元毛利',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'USDML'
|
|
|
|
|
}]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
xtype: 'container',
|
|
|
|
|
layout: 'hbox',
|
|
|
|
|
defaultType: 'textfield',
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '毛利',
|
|
|
|
|
// allowBlank: false,
|
|
|
|
|
readOnly: true,
|
|
|
|
|
name: 'ML'
|
|
|
|
|
}]
|
|
|
|
|
}]//container_1 //1
|
|
|
|
|
}//fieldset 1
|
|
|
|
|
); //end this.formEdit
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#region 框架
|
|
|
|
|
this.panelYS = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "center",
|
|
|
|
|
anchor: '100% 50%',
|
|
|
|
|
// height: 260,
|
|
|
|
|
split: true,
|
|
|
|
|
//autoScroll: true,
|
|
|
|
|
items: [this.gridListChFee]
|
|
|
|
|
});
|
|
|
|
|
this.panelYF = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "center",
|
|
|
|
|
anchor: '100% 50%',
|
|
|
|
|
//autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.gridListChFee_YF]
|
|
|
|
|
});
|
|
|
|
|
this.panelFEE = new Ext.Panel({
|
|
|
|
|
layout: "anchor",
|
|
|
|
|
region: "center",
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.panelYS, this.panelYF]
|
|
|
|
|
});
|
|
|
|
|
this.panelML = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: 'south',
|
|
|
|
|
height: 90,
|
|
|
|
|
margin: '1 2',
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.formML]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.page_4 = new Ext.Panel({
|
|
|
|
|
id: "page_4", split: true,
|
|
|
|
|
layout: "border",
|
|
|
|
|
title: "应收应付录入",
|
|
|
|
|
items: [this.panelFEE, this.panelML
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.MainTab = new Ext.tab.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "center",
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.panelBody, this.page_4//,this.page_5
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
this.panelEditDetail = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: 'center',
|
|
|
|
|
//autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [
|
|
|
|
|
this.formEdit,
|
|
|
|
|
this.gridListDetail
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.panelTop = new Ext.Panel({
|
|
|
|
|
layout: "border",
|
|
|
|
|
region: "north",
|
|
|
|
|
height: 280,
|
|
|
|
|
autoScroll: true,
|
|
|
|
|
split: true,
|
|
|
|
|
items: [this.panelBtn, this.panelEditDetail, this.panelBank]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Ext.apply(this, {
|
|
|
|
|
items: [this.panelTop, this.MainTab]
|
|
|
|
|
});
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//绑定查询窗体
|
|
|
|
|
this.ParentWin = window.parent.opener;
|
|
|
|
|
|
|
|
|
|
//初始化数据
|
|
|
|
|
this.InitData();
|
|
|
|
|
|
|
|
|
|
//#region 绑定事件
|
|
|
|
|
|
|
|
|
|
this.gridListChFee.on('edit', function (editor, e, eOpts) {
|
|
|
|
|
this.gridListChFeeAfterEdit(editor, e, eOpts);
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
this.gridListChFee_YF.on('edit', function (editor, e, eOpts) {
|
|
|
|
|
this.gridListChFeeAfterEdit(editor, e, eOpts);
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
this.cellEditingChFee.on('beforeedit', function (editor, e) {
|
|
|
|
|
return this.cellEditingChFeeBeforeEdit(editor, e);
|
|
|
|
|
}, this);
|
|
|
|
|
this.cellEditingChFee_YF.on('beforeedit', function (editor, e) {
|
|
|
|
|
return this.cellEditingChFeeBeforeEdit(editor, e);
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
this.gridListChFee.getSelectionModel().on('select', function (button, event) {
|
|
|
|
|
//Ext.getCmp("zongshu").setText("1234");
|
|
|
|
|
this.onSelectFee(button, event);
|
|
|
|
|
}, this);
|
|
|
|
|
this.gridListChFee_YF.getSelectionModel().on('select', function (button, event) {
|
|
|
|
|
//Ext.getCmp("zongshu").setText("1234");
|
|
|
|
|
this.onSelectFee(button, event);
|
|
|
|
|
}, this);
|
|
|
|
|
this.gridListChFee.on('cellclick', function (button, event) {
|
|
|
|
|
//Ext.getCmp("zongshu").setText("1234");
|
|
|
|
|
this.onSelectFee(button, event);
|
|
|
|
|
}, this);
|
|
|
|
|
this.gridListChFee_YF.on('cellclick', function (button, event) {
|
|
|
|
|
//Ext.getCmp("zongshu").setText("1234");
|
|
|
|
|
this.onSelectFee(button, event);
|
|
|
|
|
}, this);
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
}, //end initUIComponents
|
|
|
|
|
|
|
|
|
|
InitData: function () {
|
|
|
|
|
this.opStatus = 'add';
|
|
|
|
|
var condition = '';
|
|
|
|
|
if (this.ParentWin) {
|
|
|
|
|
var ret = this.ParentWin.OprationSwap();
|
|
|
|
|
this.opStatus = ret[0];
|
|
|
|
|
this.StoreList = ret[1];
|
|
|
|
|
this.EditRecord = ret[2];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.opStatus == 'edit') {
|
|
|
|
|
var F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
condition = " F_NO='" + F_NO + "'";
|
|
|
|
|
this.LoadData(this.opStatus, condition);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}, //end InitData
|
|
|
|
|
|
|
|
|
|
LoadData: function (opstatus, condition) {
|
|
|
|
|
this.serialNo = 0;
|
|
|
|
|
this.workSerialNo = 0;
|
|
|
|
|
this.bodyDel = [];
|
|
|
|
|
|
|
|
|
|
this.opStatus = opstatus;
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在查询主表数据...',
|
|
|
|
|
url: '/Import/Finance/GetData',
|
|
|
|
|
async: false,
|
|
|
|
|
params: {
|
|
|
|
|
handle: opstatus,
|
|
|
|
|
condition: condition
|
|
|
|
|
},
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var data = result.data;
|
|
|
|
|
this.formEdit.getForm().reset();
|
|
|
|
|
|
|
|
|
|
this.formEdit.getForm().setValues(data);
|
|
|
|
|
this.GetEditStatus();
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//this.SetInterest();
|
|
|
|
|
|
|
|
|
|
var F_NO = '*';
|
|
|
|
|
|
|
|
|
|
if (this.opStatus == 'edit') {
|
|
|
|
|
var F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
this.storeBodyList.load({ params: { start: 0, limit: 100, condition: " F_NO='" + F_NO + "' and F_TYPE='1'"} });
|
|
|
|
|
this.storeBodyListBank.load({ params: { start: 0, limit: 100, condition: " F_NO='" + F_NO + "' and F_TYPE='2'"} });
|
|
|
|
|
this.storeListBank.load({ params: { condition: " F_NO='" + F_NO + "'"} });
|
|
|
|
|
this.storeDetailList.load({ params: { condition: " c.F_NO='" + F_NO + "'"} });
|
|
|
|
|
this.LoadFee();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, // end LoadDate
|
|
|
|
|
|
|
|
|
|
LoadFee: function () {
|
|
|
|
|
var F_NO = '*';
|
|
|
|
|
F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
this.storeBodyChFee.load({ params: { billno: F_NO, Feetype: '1'} });
|
|
|
|
|
this.storeBodyChFee_YF.load({ params: { billno: F_NO, Feetype: '2'} });
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在查询毛利数据...',
|
|
|
|
|
url: '/Import/XXH/GetML',
|
|
|
|
|
params: {
|
|
|
|
|
contractno: F_NO
|
|
|
|
|
},
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var data = result.data;
|
|
|
|
|
this.formML.getForm().setValues(data);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}); //request over
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, // end LoadDate
|
|
|
|
|
|
|
|
|
|
LoadIniData: function (opstatus) {
|
|
|
|
|
|
|
|
|
|
var F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
var condition = " F_NO='" + F_NO + "'";
|
|
|
|
|
|
|
|
|
|
this.serialNo = 0;
|
|
|
|
|
this.workSerialNo = 0;
|
|
|
|
|
this.bodyDel = [];
|
|
|
|
|
|
|
|
|
|
this.opStatus = opstatus;
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在查询主表数据...',
|
|
|
|
|
url: '/Import/Finance/GetData',
|
|
|
|
|
async: false,
|
|
|
|
|
params: {
|
|
|
|
|
handle: 'edit',
|
|
|
|
|
condition: condition
|
|
|
|
|
},
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var data = result.data;
|
|
|
|
|
this.formEdit.getForm().reset();
|
|
|
|
|
|
|
|
|
|
this.formEdit.getForm().setValues(data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}, // end LoadDate
|
|
|
|
|
|
|
|
|
|
//#region 保存
|
|
|
|
|
|
|
|
|
|
Save: function (type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
|
|
|
|
|
if (!basicForm.isValid()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var data = basicForm.getValues();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var FinanceBank = [];
|
|
|
|
|
for (i = 0; i < this.storeListBank.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeListBank.getAt(i);
|
|
|
|
|
FinanceBank.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.AMOUNT;
|
|
|
|
|
|
|
|
|
|
var CustomerName = memberyf.data.BANK;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '融资银行的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '融资银行不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//费用///////////////
|
|
|
|
|
var FinanceFee = [];
|
|
|
|
|
for (i = 0; i < this.storeBodyChFee.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyChFee.getAt(i);
|
|
|
|
|
FinanceFee.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.Amount;
|
|
|
|
|
|
|
|
|
|
var CustomerName = memberyf.data.CustomerName;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '费用的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '结算对象不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
for (i = 0; i < this.storeBodyChFee_YF.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyChFee_YF.getAt(i);
|
|
|
|
|
FinanceFee.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.Amount;
|
|
|
|
|
var CustomerName = memberyf.data.CustomerName;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '费用的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '结算对象不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
var jsonFinanceFee = ConvertRecordsToJson(FinanceFee);
|
|
|
|
|
var jsonFinanceBank = ConvertRecordsToJsonAll(FinanceBank);
|
|
|
|
|
///////////////
|
|
|
|
|
|
|
|
|
|
Ext.Msg.wait('正在保存数据, 请稍侯..');
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在保存数据...',
|
|
|
|
|
url: '/Import/Finance/Save',
|
|
|
|
|
scope: this,
|
|
|
|
|
params: {
|
|
|
|
|
opstatus: this.opStatus,
|
|
|
|
|
data: Ext.JSON.encode(data),
|
|
|
|
|
FinanceFee: jsonFinanceFee,
|
|
|
|
|
FinanceBank: jsonFinanceBank
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
Ext.MessageBox.hide();
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
var returnData = jsonresult.Data;
|
|
|
|
|
this.formEdit.getForm().setValues(returnData);
|
|
|
|
|
|
|
|
|
|
if (this.opStatus == 'add') {
|
|
|
|
|
var arrNewRecords = this.StoreList.add(returnData);
|
|
|
|
|
this.EditRecord = arrNewRecords[0];
|
|
|
|
|
}
|
|
|
|
|
else if (this.opStatus == 'edit') {
|
|
|
|
|
this.EditRecord.commit();
|
|
|
|
|
}
|
|
|
|
|
if (type == '0') {
|
|
|
|
|
this.opStatus = 'edit';
|
|
|
|
|
for (var j = 0; j < this.storeListBank.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeListBank.getAt(j);
|
|
|
|
|
memberbody.set("F_NO", this.EditRecord.get('F_NO'));
|
|
|
|
|
memberbody.commit();
|
|
|
|
|
};
|
|
|
|
|
for (var j = 0; j < this.storeBodyChFee.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeBodyChFee.getAt(j);
|
|
|
|
|
memberbody.commit();
|
|
|
|
|
};
|
|
|
|
|
for (var j = 0; j < this.storeBodyChFee_YF.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeBodyChFee_YF.getAt(j);
|
|
|
|
|
memberbody.commit();
|
|
|
|
|
};
|
|
|
|
|
this.GetEditStatus();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else if (type == '1') {
|
|
|
|
|
window.close();
|
|
|
|
|
} else {
|
|
|
|
|
this.LoadData('add', '');
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} 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
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, //end save
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
FinanceWin: function () {
|
|
|
|
|
var upform = Ext.create('Ext.form.Panel', {
|
|
|
|
|
width: 500,
|
|
|
|
|
bodyPadding: '6 6 6 6',
|
|
|
|
|
id: "upform",
|
|
|
|
|
defaults: {
|
|
|
|
|
anchor: '100%',
|
|
|
|
|
allowBlank: false,
|
|
|
|
|
msgTarget: 'side',
|
|
|
|
|
labelWidth: 100
|
|
|
|
|
},
|
|
|
|
|
items: [{
|
|
|
|
|
fieldLabel: '融资汇率',
|
|
|
|
|
xtype: "numberfield",
|
|
|
|
|
name: 'F_Rate',
|
|
|
|
|
id:'F_Rate',
|
|
|
|
|
value: 0.00,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
allowDecimals: true,
|
|
|
|
|
decimalPrecision: 6,
|
|
|
|
|
listeners: {
|
|
|
|
|
blur: function (obj) {
|
|
|
|
|
var val = parseFloat(obj.value) * parseFloat(_this.formEdit.getForm().findField('F_AMOUNT').getValue());
|
|
|
|
|
Ext.getCmp("F_RMB").setValue(val);
|
|
|
|
|
_this.formEdit.getForm().findField('F_Rate').setValue(obj.value);
|
|
|
|
|
_this.formEdit.getForm().findField('F_RMB').setValue(val);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
fieldLabel: '折合人民币金额',
|
|
|
|
|
xtype: "numberfield",
|
|
|
|
|
name: 'F_RMB',
|
|
|
|
|
id:'F_RMB',
|
|
|
|
|
value: 0.00,
|
|
|
|
|
selectOnFocus: true,
|
|
|
|
|
allowDecimals: true,
|
|
|
|
|
decimalPrecision: 2
|
|
|
|
|
}],
|
|
|
|
|
buttons: [{
|
|
|
|
|
text: '确定',
|
|
|
|
|
handler: function () {
|
|
|
|
|
_this.AuditFinancel();
|
|
|
|
|
Ext.getCmp("importWin").close();
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
text: '取消',
|
|
|
|
|
handler: function () {
|
|
|
|
|
Ext.getCmp("importWin").close();
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
var win = Ext.create('Ext.window.Window',
|
|
|
|
|
{
|
|
|
|
|
title: '信息',
|
|
|
|
|
layout: 'fit',
|
|
|
|
|
id: 'importWin',
|
|
|
|
|
draggable: true, //拖动
|
|
|
|
|
x: event.clientX,
|
|
|
|
|
y: event.clientY,
|
|
|
|
|
resizable: false,
|
|
|
|
|
items: {
|
|
|
|
|
xtype: 'panel',
|
|
|
|
|
border: true,
|
|
|
|
|
items: [upform]
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
win.show();
|
|
|
|
|
},
|
|
|
|
|
//#region 确认融资
|
|
|
|
|
AuditFinancel: function () {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_STATUS = basicForm.findField('F_STATUS').getValue();
|
|
|
|
|
if (F_STATUS != '提交融资') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '当前状态不允许确认融资!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var CUSTOMER = basicForm.findField('CUSTOMER').getValue();
|
|
|
|
|
if (CUSTOMER == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '融资客户不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var F_CURRENCY = basicForm.findField('F_CURRENCY').getValue();
|
|
|
|
|
if (F_CURRENCY == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '融资币别不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var F_AMOUNT = basicForm.findField('F_AMOUNT').getValue();
|
|
|
|
|
if (F_AMOUNT == '' || F_AMOUNT == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '融资金额不能为0!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!basicForm.isValid()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var data = basicForm.getValues();
|
|
|
|
|
|
|
|
|
|
var FinanceBank = [];
|
|
|
|
|
for (i = 0; i < this.storeListBank.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeListBank.getAt(i);
|
|
|
|
|
FinanceBank.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.AMOUNT;
|
|
|
|
|
|
|
|
|
|
var CustomerName = memberyf.data.BANK;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '融资银行的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '融资银行不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//费用///////////////
|
|
|
|
|
var FinanceFee = [];
|
|
|
|
|
for (i = 0; i < this.storeBodyChFee.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyChFee.getAt(i);
|
|
|
|
|
FinanceFee.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.Amount;
|
|
|
|
|
|
|
|
|
|
var CustomerName = memberyf.data.CustomerName;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '费用的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '结算对象不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
for (i = 0; i < this.storeBodyChFee_YF.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyChFee_YF.getAt(i);
|
|
|
|
|
FinanceFee.push(memberyf);
|
|
|
|
|
|
|
|
|
|
var amount = memberyf.data.Amount;
|
|
|
|
|
var CustomerName = memberyf.data.CustomerName;
|
|
|
|
|
if (amount == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '费用的金额不允许为0,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (CustomerName == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告',
|
|
|
|
|
msg: '结算对象不能为空,请修改后再保存',
|
|
|
|
|
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
////将客户未还金额计算出来
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
////
|
|
|
|
|
var jsonFinanceFee = ConvertRecordsToJson(FinanceFee);
|
|
|
|
|
var jsonFinanceBank = ConvertRecordsToJsonAll(FinanceBank);
|
|
|
|
|
///////////////
|
|
|
|
|
|
|
|
|
|
Ext.Msg.wait('正在保存数据, 请稍侯..');
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在保存数据...',
|
|
|
|
|
url: '/Import/Finance/AuditSave',
|
|
|
|
|
scope: this,
|
|
|
|
|
params: {
|
|
|
|
|
opstatus: this.opStatus,
|
|
|
|
|
data: Ext.JSON.encode(data),
|
|
|
|
|
FinanceFee: jsonFinanceFee,
|
|
|
|
|
FinanceBank: jsonFinanceBank
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
Ext.MessageBox.hide();
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
var returnData = jsonresult.Data;
|
|
|
|
|
this.formEdit.getForm().setValues(returnData);
|
|
|
|
|
var editp = Ext.create('Financemb', returnData);
|
|
|
|
|
this.EditRecord.fields.each(function (field) {
|
|
|
|
|
if (field.persist) {
|
|
|
|
|
name = field.name;
|
|
|
|
|
if (name != 'id')
|
|
|
|
|
this.EditRecord.set(name, editp.get(name));
|
|
|
|
|
}
|
|
|
|
|
}, this);
|
|
|
|
|
this.EditRecord.commit();
|
|
|
|
|
this.opStatus = 'edit';
|
|
|
|
|
F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
this.LoadFee();
|
|
|
|
|
this.GetEditStatus();
|
|
|
|
|
for (var j = 0; j < this.storeListBank.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeListBank.getAt(j);
|
|
|
|
|
memberbody.set("F_NO", this.EditRecord.get('F_NO'));
|
|
|
|
|
memberbody.commit();
|
|
|
|
|
};
|
|
|
|
|
for (var j = 0; j < this.storeBodyChFee.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeBodyChFee.getAt(j);
|
|
|
|
|
memberbody.commit();
|
|
|
|
|
};
|
|
|
|
|
for (var j = 0; j < this.storeBodyChFee_YF.getCount(); j += 1) {
|
|
|
|
|
var memberbody = this.storeBodyChFee_YF.getAt(j);
|
|
|
|
|
memberbody.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
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, //end save
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#region 取消融资
|
|
|
|
|
CancelFinancel: function () {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_STATUS = basicForm.findField('F_STATUS').getValue();
|
|
|
|
|
if (F_STATUS != '已融出') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '当前状态不允许取消融资!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var Duino = this.formEdit.getForm().findField('F_NO').getValue();
|
|
|
|
|
|
|
|
|
|
if (!basicForm.isValid()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var data = basicForm.getValues();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在添加数据...',
|
|
|
|
|
url: '/Import/Finance/SubmitAudit',
|
|
|
|
|
params: {
|
|
|
|
|
bill: Duino
|
|
|
|
|
},
|
|
|
|
|
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;
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在查询主表数据...',
|
|
|
|
|
url: '/Import/Finance/GetData',
|
|
|
|
|
params: {
|
|
|
|
|
handle: 'edit',
|
|
|
|
|
condition: " F_NO='" + Duino + "'"
|
|
|
|
|
},
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var data = result.data;
|
|
|
|
|
_this.formEdit.getForm().reset();
|
|
|
|
|
_this.formEdit.getForm().setValues(data);
|
|
|
|
|
|
|
|
|
|
var editp = Ext.create('Financemb', data);
|
|
|
|
|
|
|
|
|
|
this.EditRecord.fields.each(function (field) {
|
|
|
|
|
if (field.persist) {
|
|
|
|
|
name = field.name;
|
|
|
|
|
if (name != 'id')
|
|
|
|
|
this.EditRecord.set(name, editp.get(name));
|
|
|
|
|
}
|
|
|
|
|
}, this);
|
|
|
|
|
this.EditRecord.commit();
|
|
|
|
|
this.GetEditStatus();
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
}, //end save
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 银行操作
|
|
|
|
|
|
|
|
|
|
onAddBankClick: function (button, event) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_STATUS = basicForm.findField('F_STATUS').getValue();
|
|
|
|
|
if (F_STATUS != '提交融资') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '只有《提交融资》状态才能添加还款记录!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var F_AMOUNT = basicForm.findField('F_AMOUNT').getValue();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var record = null;
|
|
|
|
|
record = Ext.create('FinanceBank', {
|
|
|
|
|
GID: NewGuid(),
|
|
|
|
|
F_NO: '*',
|
|
|
|
|
BANK: '',
|
|
|
|
|
AMOUNT: F_AMOUNT,
|
|
|
|
|
DOAMOUNT: 0
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.storeListBank.add(record);
|
|
|
|
|
|
|
|
|
|
var editColumnIndex = 0;
|
|
|
|
|
var cellediting = null;
|
|
|
|
|
|
|
|
|
|
cellediting = this.cellEditingBank;
|
|
|
|
|
editColumnIndex = 3;
|
|
|
|
|
|
|
|
|
|
var n = this.storeListBank.getCount();
|
|
|
|
|
cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex });
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onDelBankClick: function (button, event, type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
var feeGidSql = '';
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
selectedRecords = this.BankGridCheckBoxModel.selected.items;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (selectedRecords.length == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要删除的记录!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要删除选中的记录吗?', function (btn) {
|
|
|
|
|
if (btn == 'yes') {
|
|
|
|
|
if (selectedRecords.length > 0) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (rec.data.F_NO == "*") //如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
|
|
{
|
|
|
|
|
this.storeListBank.remove(selectedRecords[i]);
|
|
|
|
|
} else {
|
|
|
|
|
var feeGId = "'" + rec.data.GID + "'";
|
|
|
|
|
if (feeGidSql == '') {
|
|
|
|
|
feeGidSql = feeGId;
|
|
|
|
|
} else {
|
|
|
|
|
feeGidSql = feeGidSql + "," + feeGId;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_thisfee = this;
|
|
|
|
|
|
|
|
|
|
Ext.Msg.wait('正在删除数据...');
|
|
|
|
|
if (feeGidSql != '') {
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在删除数据...',
|
|
|
|
|
url: '/Import/Finance/DeleteBank',
|
|
|
|
|
params: {
|
|
|
|
|
F_NO: F_NO,
|
|
|
|
|
data: feeGidSql
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
this.storeListBank.remove(selectedRecords[i]);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
failure: function (response, options) {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
},
|
|
|
|
|
success: function (response, options) {
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}); //end Ext.Ajax.request
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
//#region 还款记录操作
|
|
|
|
|
|
|
|
|
|
onAddBodyClick: function (button, event, type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_STATUS = basicForm.findField('F_STATUS').getValue();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
if (F_STATUS != '已融出') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '只有《已融出》状态才能添加还款记录!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var store = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
store = this.storeBodyList;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
store = this.storeBodyListBank;
|
|
|
|
|
} else {
|
|
|
|
|
alert('函数(onAddDetailClick)的参数type类型设置的不对');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var custtype = '';
|
|
|
|
|
var CUSTOMER = '';
|
|
|
|
|
var BANKID = '';
|
|
|
|
|
var R_AMOUNT = 0;
|
|
|
|
|
var CUSTNO = '';
|
|
|
|
|
var BSNO = '';
|
|
|
|
|
var myDate = new Date();
|
|
|
|
|
var mydatestr = Ext.util.Format.date(myDate, 'Y-m-d');
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
custtype = 'CUSTOMER'
|
|
|
|
|
CUSTOMER = basicForm.findField(custtype).getValue();
|
|
|
|
|
if (CUSTOMER == '') {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '融资客户不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
|
|
if (this.storeListBank.getCount() > 0) {
|
|
|
|
|
var member = this.storeListBank.getAt(0);
|
|
|
|
|
CUSTOMER = member.data.BANK;
|
|
|
|
|
BANKID = member.data.GID;
|
|
|
|
|
R_AMOUNT = member.data.AMOUNT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.storeBodyList.getCount() > 0) {
|
|
|
|
|
var member = this.storeBodyList.getAt(0);
|
|
|
|
|
var ENDDATE = Ext.util.Format.date(member.data.ENDDATE, 'Y-m-d');
|
|
|
|
|
if (ENDDATE != '') {
|
|
|
|
|
mydatestr = ENDDATE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
custtype = 'FINANCE_BANK';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var F_CURRENCY = basicForm.findField('F_CURRENCY').getValue();
|
|
|
|
|
//var F_AMOUNT = basicForm.findField('F_AMOUNT').getValue();
|
|
|
|
|
var STARTDATE = basicForm.findField('STARTDATE').getRawValue();
|
|
|
|
|
|
|
|
|
|
//gridBodyList
|
|
|
|
|
// if (type == 1) {
|
|
|
|
|
var BodyRecords = this.gridListDetail.selModel.getSelection();
|
|
|
|
|
var rec = BodyRecords[0];
|
|
|
|
|
if (rec == null) {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择合同', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
R_AMOUNT = rec.data.R_AMOUNT;
|
|
|
|
|
CUSTNO = rec.data.HTH;
|
|
|
|
|
BSNO = rec.data.CONTRACTNO;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
var newSerialno = this.GetHandleSerialNo(store);
|
|
|
|
|
var newsort = store.getCount() + 1;
|
|
|
|
|
|
|
|
|
|
var days = Add(getDays(STARTDATE, mydatestr), 1, 0);
|
|
|
|
|
|
|
|
|
|
var record = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
record = Ext.create('FinanceBodymb', {
|
|
|
|
|
GID: NewGuid(),
|
|
|
|
|
F_NO: '*',
|
|
|
|
|
F_CURRENCY: F_CURRENCY,
|
|
|
|
|
ISFEE: '0',
|
|
|
|
|
F_TYPE: type,
|
|
|
|
|
CUSTOMER: CUSTOMER,
|
|
|
|
|
BANKID: BANKID,
|
|
|
|
|
F_AMOUNT: R_AMOUNT,
|
|
|
|
|
ENDDATE: mydatestr,
|
|
|
|
|
DAYS: days,
|
|
|
|
|
EXCHANGERATE: 1,
|
|
|
|
|
INTEREST_RATE: 0,
|
|
|
|
|
Y_INTEREST_RATE: 0,
|
|
|
|
|
INTEREST: 0,
|
|
|
|
|
INTERESTUSD: 0,
|
|
|
|
|
RMBVALUE: 0,
|
|
|
|
|
HANDFEE: 0,
|
|
|
|
|
TELXFEE: 0,
|
|
|
|
|
OTFEE: 0,
|
|
|
|
|
RMBAMOUNT: 0,
|
|
|
|
|
FINEFEE: 0,
|
|
|
|
|
TTLAMOUNTRMB: 0,
|
|
|
|
|
REMARK: '',
|
|
|
|
|
BSNO: BSNO,
|
|
|
|
|
CUSTNO: CUSTNO
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
record = Ext.create('FinanceBodymb', {
|
|
|
|
|
GID: NewGuid(),
|
|
|
|
|
F_NO: '*',
|
|
|
|
|
F_CURRENCY: F_CURRENCY,
|
|
|
|
|
ISFEE: '0',
|
|
|
|
|
F_TYPE: type,
|
|
|
|
|
CUSTOMER: CUSTOMER,
|
|
|
|
|
BANKID: BANKID,
|
|
|
|
|
F_AMOUNT: R_AMOUNT,
|
|
|
|
|
ENDDATE: mydatestr,
|
|
|
|
|
DAYS: days,
|
|
|
|
|
EXCHANGERATE: 1,
|
|
|
|
|
D_INTEREST_RATE: 0,
|
|
|
|
|
INTEREST_RATE: 0,
|
|
|
|
|
Y_INTEREST_RATE: 0,
|
|
|
|
|
INTEREST: 0,
|
|
|
|
|
INTERESTUSD: 0,
|
|
|
|
|
RMBVALUE: 0,
|
|
|
|
|
HANDFEE: 0,
|
|
|
|
|
TELXFEE: 0,
|
|
|
|
|
OTFEE: 0,
|
|
|
|
|
RMBAMOUNT: 0,
|
|
|
|
|
FINEFEE: 0,
|
|
|
|
|
TTLAMOUNTRMB: 0,
|
|
|
|
|
REMARK: '',
|
|
|
|
|
BSNO: BSNO,
|
|
|
|
|
CUSTNO: CUSTNO
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//触发计算
|
|
|
|
|
var days = record.data['DAYS'];
|
|
|
|
|
var F_AMOUNT = record.data['F_AMOUNT'];
|
|
|
|
|
var INTEREST_RATE = record.data['INTEREST_RATE'];
|
|
|
|
|
var EXCHANGERATE = record.data['EXCHANGERATE'];
|
|
|
|
|
var D_INTEREST_RATE = record.data['D_INTEREST_RATE'];
|
|
|
|
|
var Y_INTEREST_RATE = record.data['Y_INTEREST_RATE'];
|
|
|
|
|
var rmbvalue = Mul(F_AMOUNT, EXCHANGERATE);
|
|
|
|
|
record.set('RMBVALUE', rmbvalue);
|
|
|
|
|
var handfee = record.data['HANDFEE'];
|
|
|
|
|
var texfee = record.data['TELXFEE'];
|
|
|
|
|
var otherfee = record.data['OTFEE'];
|
|
|
|
|
var rmbamount = 0;
|
|
|
|
|
if (rmbvalue != 0)
|
|
|
|
|
rmbamount = Add(rmbvalue, Add(handfee, Add(texfee, otherfee)));
|
|
|
|
|
record.set('RMBAMOUNT', rmbamount);
|
|
|
|
|
var INTEREST = 0;
|
|
|
|
|
if (INTEREST_RATE == 0 && Y_INTEREST_RATE == 0)//日利率不等于0
|
|
|
|
|
INTEREST = this.calcDINTEREST(rmbamount, days, D_INTEREST_RATE);
|
|
|
|
|
else if (INTEREST_RATE !== 0)//月利率不等于0
|
|
|
|
|
INTEREST = this.calcINTEREST(rmbamount, days, INTEREST_RATE);
|
|
|
|
|
else
|
|
|
|
|
INTEREST = this.calcYINTEREST(rmbamount, days, Y_INTEREST_RATE);
|
|
|
|
|
record.set('INTEREST', INTEREST);
|
|
|
|
|
var finefee = record.data['FINEFEE'];
|
|
|
|
|
var ttlamountrmb = Add(rmbamount, Add(INTEREST, finefee));
|
|
|
|
|
record.set('TTLAMOUNTRMB', ttlamountrmb);
|
|
|
|
|
var INTERESTUSD = this.calcINTEREST(F_AMOUNT, days, INTEREST_RATE);
|
|
|
|
|
record.set('INTERESTUSD', INTERESTUSD);
|
|
|
|
|
//end
|
|
|
|
|
store.add(record);
|
|
|
|
|
|
|
|
|
|
var editColumnIndex = 0;
|
|
|
|
|
var cellediting = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
cellediting = this.cellEditingBodyGrid;
|
|
|
|
|
editColumnIndex = 3;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
cellediting = this.cellEditingBodyGridBody;
|
|
|
|
|
editColumnIndex = 3;
|
|
|
|
|
}
|
|
|
|
|
var n = store.getCount();
|
|
|
|
|
cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onPostBodyClick: function (button, event, type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
var bodyDrChFeeDatas = [];
|
|
|
|
|
var i;
|
|
|
|
|
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
for (i = 0; i < this.storeBodyList.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyList.getAt(i);
|
|
|
|
|
bodyDrChFeeDatas.push(memberyf);
|
|
|
|
|
};
|
|
|
|
|
var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
for (i = 0; i < this.storeBodyListBank.getCount(); i += 1) {
|
|
|
|
|
var memberyf = this.storeBodyListBank.getAt(i);
|
|
|
|
|
bodyDrChFeeDatas.push(memberyf);
|
|
|
|
|
};
|
|
|
|
|
var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
_thisfee = this;
|
|
|
|
|
Ext.Msg.wait('正在保存数据, 请稍侯..');
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在保存数据...',
|
|
|
|
|
url: '/Import/Finance/SaveBody',
|
|
|
|
|
scope: this,
|
|
|
|
|
params: {
|
|
|
|
|
F_NO: F_NO,
|
|
|
|
|
body: jsonChFeeBody
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
Ext.MessageBox.hide();
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
for (var i = 0; i < this.storeBodyList.getCount(); i += 1) {
|
|
|
|
|
var member = this.storeBodyList.getAt(i);
|
|
|
|
|
member.set("F_NO", F_NO);
|
|
|
|
|
member.commit();
|
|
|
|
|
}
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
for (var i = 0; i < this.storeBodyListBank.getCount(); i += 1) {
|
|
|
|
|
var member = this.storeBodyListBank.getAt(i);
|
|
|
|
|
member.set("F_NO", F_NO);
|
|
|
|
|
member.commit();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.LoadIniData(_thisfee.OpStatus);
|
|
|
|
|
this.storeListBank.load({ params: { condition: " F_NO='" + F_NO + "'" } });
|
|
|
|
|
|
|
|
|
|
} 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
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, //end save
|
|
|
|
|
|
|
|
|
|
onDelBodyClick: function (button, event, type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
var feeGidSql = '';
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
selectedRecords = this.BodyGridCheckBoxModel.selected.items;
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
selectedRecords = this.BodyBankGridCheckBoxModel.selected.items;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (selectedRecords.length == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择要删除的记录!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要删除选中的记录吗?', function (btn) {
|
|
|
|
|
if (btn == 'yes') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (selectedRecords.length > 0) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (rec.data.F_NO == "*") //如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
|
|
{
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
this.storeBodyList.remove(selectedRecords[i]);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
this.storeBodyListBank.remove(selectedRecords[i]);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
var feeGId = "'" + rec.data.GID + "'";
|
|
|
|
|
if (feeGidSql == '') {
|
|
|
|
|
feeGidSql = feeGId;
|
|
|
|
|
} else {
|
|
|
|
|
feeGidSql = feeGidSql + "," + feeGId;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_thisfee = this;
|
|
|
|
|
|
|
|
|
|
Ext.Msg.wait('正在删除数据...');
|
|
|
|
|
if (feeGidSql != '') {
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在删除数据...',
|
|
|
|
|
url: '/Import/Finance/DeleteBody',
|
|
|
|
|
params: {
|
|
|
|
|
F_NO: F_NO,
|
|
|
|
|
data: feeGidSql
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
this.storeBodyList.remove(selectedRecords[i]);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
this.storeBodyListBank.remove(selectedRecords[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
this.LoadIniData(_thisfee.OpStatus);
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
failure: function (response, options) {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
},
|
|
|
|
|
success: function (response, options) {
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}); //end Ext.Ajax.request
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onCreateBodyFeeClick: function (button, event, type) {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
var bodyDrChFeeDatas = [];
|
|
|
|
|
var i;
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
selectedRecords =[].concat(this.BodyGridCheckBoxModel.selected.items);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
selectedRecords = [].concat(this.BodyBankGridCheckBoxModel.selected.items);
|
|
|
|
|
}
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var startdate = basicForm.findField('STARTDATE').getRawValue();
|
|
|
|
|
for (i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var memberyf = selectedRecords[i];
|
|
|
|
|
var enddate = Ext.util.Format.date(memberyf.data.ENDDATE, 'Y-m-d');
|
|
|
|
|
if (memberyf.data.ISFEE != "1") {
|
|
|
|
|
memberyf.data.REMARK =
|
|
|
|
|
"计息日期:" + startdate + " - " + enddate + ",计息天数: " + memberyf.data.DAYS;
|
|
|
|
|
bodyDrChFeeDatas.push(memberyf);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas);
|
|
|
|
|
|
|
|
|
|
if (jsonChFeeBody == "") {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '没有要生成费用的记录!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_thisfee = this;
|
|
|
|
|
Ext.Msg.wait('正在保存数据, 请稍侯..');
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在保存数据...',
|
|
|
|
|
url: '/Import/Finance/CreateBodyFee',
|
|
|
|
|
scope: this,
|
|
|
|
|
params: {
|
|
|
|
|
F_NO: F_NO,
|
|
|
|
|
body: jsonChFeeBody
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
Ext.MessageBox.hide();
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
this.LoadFee();
|
|
|
|
|
var F_NO = this.EditRecord.get('F_NO');
|
|
|
|
|
condition = " F_NO='" + F_NO + "'";
|
|
|
|
|
this.storeBodyList.load({ params: { start: 0, limit: 100, condition: " F_NO='" + F_NO + "' and F_TYPE='1'"} });
|
|
|
|
|
this.storeBodyListBank.load({ params: { start: 0, limit: 100, condition: " F_NO='" + F_NO + "' and F_TYPE='2'"} });
|
|
|
|
|
this.LoadIniData(_thisfee.OpStatus);
|
|
|
|
|
|
|
|
|
|
} 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
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, //end save
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gridListBodyAfterEdit: function (editor, e, eOpts) {
|
|
|
|
|
|
|
|
|
|
if (e.value == e.originalValue) return;
|
|
|
|
|
//var BSNO = e.record.get('BSNO');
|
|
|
|
|
if (e.field == 'CUSTOMER') {
|
|
|
|
|
var F_TYPE = e.record.data['F_TYPE'];
|
|
|
|
|
if (F_TYPE == 2) {
|
|
|
|
|
var Cargoinforecords = DsStoreQueryBy(this.storeListBank, 'BANK', e.value);
|
|
|
|
|
if (Cargoinforecords.getCount() > 0) {
|
|
|
|
|
var Cargoinfodata = Cargoinforecords.getAt(0).data;
|
|
|
|
|
e.record.set('F_AMOUNT', Cargoinfodata.F_AMOUNT);
|
|
|
|
|
e.record.set('BANKID', Cargoinfodata.GID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (e.field == 'ENDDATE') {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var STARTDATE = basicForm.findField('STARTDATE').getRawValue();
|
|
|
|
|
if (e.value == "")
|
|
|
|
|
var days = 0;
|
|
|
|
|
else {
|
|
|
|
|
var _enddate = new Date(e.value);
|
|
|
|
|
var enddate = Ext.util.Format.date(_enddate, 'Y-m-d')
|
|
|
|
|
var days = Add(getDays(STARTDATE, enddate), 1, 0);
|
|
|
|
|
}
|
|
|
|
|
e.record.set('DAYS', days);
|
|
|
|
|
var F_AMOUNT = e.record.data['F_AMOUNT'];
|
|
|
|
|
var INTEREST_RATE = e.record.data['INTEREST_RATE'];
|
|
|
|
|
var D_INTEREST_RATE = e.record.data['D_INTEREST_RATE'];
|
|
|
|
|
var Y_INTEREST_RATE = e.record.data['Y_INTEREST_RATE'];
|
|
|
|
|
var EXCHANGERATE = e.record.data['EXCHANGERATE'];
|
|
|
|
|
var rmbvalue = Mul(F_AMOUNT, EXCHANGERATE);
|
|
|
|
|
e.record.set('RMBVALUE', rmbvalue);
|
|
|
|
|
var handfee = e.record.data['HANDFEE'];
|
|
|
|
|
var texfee = e.record.data['TELXFEE'];
|
|
|
|
|
var otherfee = e.record.data['OTFEE'];
|
|
|
|
|
var rmbamount = 0;
|
|
|
|
|
if (rmbvalue != 0)
|
|
|
|
|
rmbamount = Add(rmbvalue, Add(handfee, Add(texfee, otherfee)));
|
|
|
|
|
e.record.set('RMBAMOUNT', rmbamount);
|
|
|
|
|
var INTEREST = 0;
|
|
|
|
|
if (INTEREST_RATE == 0 && Y_INTEREST_RATE == 0)//日利率不等于0
|
|
|
|
|
INTEREST = this.calcDINTEREST(rmbamount, days, D_INTEREST_RATE);
|
|
|
|
|
else if(INTEREST_RATE !== 0)//月利率不等于0
|
|
|
|
|
INTEREST = this.calcINTEREST(rmbamount, days, INTEREST_RATE);
|
|
|
|
|
else
|
|
|
|
|
INTEREST = this.calcYINTEREST(rmbamount, days, Y_INTEREST_RATE);
|
|
|
|
|
|
|
|
|
|
e.record.set('INTEREST', INTEREST);
|
|
|
|
|
var finefee = e.record.data['FINEFEE'];
|
|
|
|
|
var ttlamountrmb = Add(rmbamount, Add(INTEREST, finefee));
|
|
|
|
|
e.record.set('TTLAMOUNTRMB', ttlamountrmb);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (e.field == 'F_AMOUNT' || e.field == 'INTEREST_RATE' || e.field == 'D_INTEREST_RATE' || e.field == 'Y_INTEREST_RATE' || e.field == 'DAYS' || e.field == 'EXCHANGERATE') {
|
|
|
|
|
|
|
|
|
|
var days = e.record.data['DAYS'];
|
|
|
|
|
var F_AMOUNT = e.record.data['F_AMOUNT'];
|
|
|
|
|
var INTEREST_RATE = e.record.data['INTEREST_RATE'];
|
|
|
|
|
var EXCHANGERATE = e.record.data['EXCHANGERATE'];
|
|
|
|
|
var D_INTEREST_RATE = e.record.data['D_INTEREST_RATE'];
|
|
|
|
|
var Y_INTEREST_RATE = e.record.data['Y_INTEREST_RATE'];
|
|
|
|
|
var rmbvalue = Mul(F_AMOUNT, EXCHANGERATE);
|
|
|
|
|
e.record.set('RMBVALUE', rmbvalue);
|
|
|
|
|
var handfee = e.record.data['HANDFEE'];
|
|
|
|
|
var texfee = e.record.data['TELXFEE'];
|
|
|
|
|
var otherfee = e.record.data['OTFEE'];
|
|
|
|
|
var rmbamount = 0;
|
|
|
|
|
if (rmbvalue != 0)
|
|
|
|
|
rmbamount = Add(rmbvalue, Add(handfee, Add(texfee, otherfee)));
|
|
|
|
|
e.record.set('RMBAMOUNT', rmbamount);
|
|
|
|
|
var INTEREST = 0;
|
|
|
|
|
if (INTEREST_RATE == 0 && Y_INTEREST_RATE == 0)//日利率不等于0
|
|
|
|
|
INTEREST = this.calcDINTEREST(rmbamount, days, D_INTEREST_RATE);
|
|
|
|
|
else if (INTEREST_RATE !== 0)//月利率不等于0
|
|
|
|
|
INTEREST = this.calcINTEREST(rmbamount, days, INTEREST_RATE);
|
|
|
|
|
else
|
|
|
|
|
INTEREST = this.calcYINTEREST(rmbamount, days, Y_INTEREST_RATE);
|
|
|
|
|
e.record.set('INTEREST', INTEREST);
|
|
|
|
|
var finefee = e.record.data['FINEFEE'];
|
|
|
|
|
var ttlamountrmb = Add(rmbamount, Add(INTEREST, finefee));
|
|
|
|
|
e.record.set('TTLAMOUNTRMB', ttlamountrmb);
|
|
|
|
|
var INTERESTUSD = this.calcINTEREST(F_AMOUNT, days, INTEREST_RATE);
|
|
|
|
|
e.record.set('INTERESTUSD', INTERESTUSD);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (e.field == 'HANDFEE' || e.field == 'OTFEE' || e.field == 'TELXFEE' || e.field == 'RMBVALUE') {
|
|
|
|
|
|
|
|
|
|
var days = e.record.data['DAYS'];
|
|
|
|
|
var F_AMOUNT = e.record.data['F_AMOUNT'];
|
|
|
|
|
var INTEREST_RATE = e.record.data['INTEREST_RATE'];
|
|
|
|
|
var D_INTEREST_RATE = e.record.data['D_INTEREST_RATE'];
|
|
|
|
|
var Y_INTEREST_RATE = e.record.data['Y_INTEREST_RATE'];
|
|
|
|
|
var rmbvalue = e.record.data['RMBVALUE'];
|
|
|
|
|
var texfee = e.record.data['TELXFEE'];
|
|
|
|
|
var handfee = e.record.data['HANDFEE'];
|
|
|
|
|
var otherfee = e.record.data['OTFEE'];
|
|
|
|
|
var rmbamount = 0;
|
|
|
|
|
if (rmbvalue != 0)
|
|
|
|
|
rmbamount = Add(rmbvalue, Add(handfee, Add(texfee, otherfee)));
|
|
|
|
|
e.record.set('RMBAMOUNT', rmbamount);
|
|
|
|
|
var INTEREST = 0;
|
|
|
|
|
if (INTEREST_RATE == 0 && Y_INTEREST_RATE == 0)//日利率不等于0
|
|
|
|
|
INTEREST = this.calcDINTEREST(rmbamount, days, D_INTEREST_RATE);
|
|
|
|
|
else if (INTEREST_RATE !== 0)//月利率不等于0
|
|
|
|
|
INTEREST = this.calcINTEREST(rmbamount, days, INTEREST_RATE);
|
|
|
|
|
else
|
|
|
|
|
INTEREST = this.calcYINTEREST(rmbamount, days, Y_INTEREST_RATE);
|
|
|
|
|
|
|
|
|
|
e.record.set('INTEREST', INTEREST);
|
|
|
|
|
var finefee = e.record.data['FINEFEE'];
|
|
|
|
|
var ttlamountrmb = Add(rmbamount, Add(INTEREST, finefee));
|
|
|
|
|
e.record.set('TTLAMOUNTRMB', ttlamountrmb);
|
|
|
|
|
} else if (e.field == 'RMBAMOUNT' || e.field == 'INTEREST' || e.field == 'FINEFEE') {
|
|
|
|
|
|
|
|
|
|
var rmbamount = e.record.data['RMBAMOUNT'];
|
|
|
|
|
var INTEREST = e.record.data['INTEREST'];
|
|
|
|
|
var finefee = e.record.data['FINEFEE'];
|
|
|
|
|
var ttlamountrmb = Add(rmbamount, Add(INTEREST, finefee));
|
|
|
|
|
e.record.set('TTLAMOUNTRMB', ttlamountrmb);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
calcDINTEREST: function (amount, days, interrestrate) {//公式:日利率*还款金额/10000*天数
|
|
|
|
|
var BodyRecords = this.gridListDetail.selModel.getSelection();
|
|
|
|
|
var rec1 = BodyRecords[0];
|
|
|
|
|
if (rec1 == null) {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '请先选择合同', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var result = 0;
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
url: '/Import/Finance/GetRmModel',
|
|
|
|
|
params: {
|
|
|
|
|
name: this.gridListDetail.selModel.getSelection()[0].data.BUYER
|
|
|
|
|
},
|
|
|
|
|
async: false,
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
try {
|
|
|
|
|
var data = eval(response.responseText);
|
|
|
|
|
var rateDaysArr = [];
|
|
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
|
|
if (data[i].ExtendedDays <= days) { //超期天数小于等于计息天数
|
|
|
|
|
if (rateDaysArr.length > 0)
|
|
|
|
|
rateDaysArr.push(data[i].ExtendedDays - data[i - 1].ExtendedDays);
|
|
|
|
|
else
|
|
|
|
|
rateDaysArr.push(data[i].ExtendedDays);
|
|
|
|
|
result += Div(Mul(Mul(amount, data[i].Rate), rateDaysArr[i]), 10000);
|
|
|
|
|
} else {//超期天数大于计息天数
|
|
|
|
|
if (rateDaysArr.length > 0)
|
|
|
|
|
rateDaysArr.push(days - data[i - 1].ExtendedDays);
|
|
|
|
|
else
|
|
|
|
|
rateDaysArr.push(days);
|
|
|
|
|
result += Div(Mul(Mul(amount, data[i].Rate), rateDaysArr[i]), 10000);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
rateDaysArr.forEach(function(item,index) {
|
|
|
|
|
days -= item;
|
|
|
|
|
});
|
|
|
|
|
if (days > 0)
|
|
|
|
|
result += Div(Mul(Mul(amount, interrestrate), days), 10000);
|
|
|
|
|
} catch (e) { }
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
});
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
calcINTEREST: function (amount, days, interrestrate) {
|
|
|
|
|
var result = 0;
|
|
|
|
|
result = Mul(amount, interrestrate);
|
|
|
|
|
result = Mul(result, days);
|
|
|
|
|
result = Div(result, 30);
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
calcYINTEREST: function (amount, days, interrestrate) {
|
|
|
|
|
var result = 0;
|
|
|
|
|
result = Mul(amount, interrestrate);
|
|
|
|
|
result = Mul(result, days);
|
|
|
|
|
result = Div(result, 360);
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
// 明细表 <<<<<<<<<<<<<费用表相关方法
|
|
|
|
|
cellEditingChFeeBeforeEdit: function (editor, e) {
|
|
|
|
|
var chfeefeeStatus = e.record.get('FeeStatus');
|
|
|
|
|
var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6;
|
|
|
|
|
|
|
|
|
|
// if (canedit == true) {
|
|
|
|
|
// var type = e.record.get('FeeType');
|
|
|
|
|
// var op = e.record.get('EnteroPerator');
|
|
|
|
|
// var opname = e.record.get('OpName');
|
|
|
|
|
// if (type == 1) {
|
|
|
|
|
// var records = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', op);
|
|
|
|
|
// if (records.getCount() > 0) {
|
|
|
|
|
// } else {
|
|
|
|
|
// Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
// canedit = false;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// } else if (type == 2) {
|
|
|
|
|
// var records = DsStoreQueryBy(this.StoreCrOpRange, 'OPID', op);
|
|
|
|
|
// if (records.getCount() > 0) {
|
|
|
|
|
// } else {
|
|
|
|
|
// Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
// canedit = false;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
return canedit;
|
|
|
|
|
},
|
|
|
|
|
//#region 费用处理
|
|
|
|
|
|
|
|
|
|
onAddDetailClick: function (button, event, type) {
|
|
|
|
|
var allow = this.getAllowOperationDetail();
|
|
|
|
|
if (allow == false) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var store = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
store = this.storeBodyChFee;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
store = this.storeBodyChFee_YF;
|
|
|
|
|
} else {
|
|
|
|
|
alert('函数(onAddDetailClick)的参数type类型设置的不对');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var newSerialno = this.GetHandleSerialNo(store, type);
|
|
|
|
|
|
|
|
|
|
var record = null;
|
|
|
|
|
|
|
|
|
|
function GetDateStr(AddDayCount) {
|
|
|
|
|
var dd = new Date();
|
|
|
|
|
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
|
|
|
|
|
var y = dd.getFullYear();
|
|
|
|
|
var m = dd.getMonth() + 1; //获取当前月份的日期
|
|
|
|
|
var d = dd.getDate();
|
|
|
|
|
return y + "-" + m + "-" + d;
|
|
|
|
|
}
|
|
|
|
|
var EnterDate = GetDateStr(0);
|
|
|
|
|
|
|
|
|
|
record = Ext.create('MsChFee', {
|
|
|
|
|
GId: NewGuid(),
|
|
|
|
|
BsNo: '*',
|
|
|
|
|
FeeStatus: 1,
|
|
|
|
|
FeeStatus_Ref: '录入状态',
|
|
|
|
|
FeeType: type,
|
|
|
|
|
FeeType_Ref: '',
|
|
|
|
|
FeeName: '',
|
|
|
|
|
FeeName_Ref: '',
|
|
|
|
|
FeeDescription: '',
|
|
|
|
|
CustomerType: '',
|
|
|
|
|
CustomerName: this.getCustName(),
|
|
|
|
|
CustomerName_Ref: '',
|
|
|
|
|
Unit: '',
|
|
|
|
|
UnitPrice: 0,
|
|
|
|
|
Quantity: 1,
|
|
|
|
|
Amount: 0,
|
|
|
|
|
Currency: 'RMB',
|
|
|
|
|
ExChangerate: 1,
|
|
|
|
|
Reason: '',
|
|
|
|
|
Remark: '',
|
|
|
|
|
Commissionrate: 0,
|
|
|
|
|
Settlement: 0,
|
|
|
|
|
Invoice: 0,
|
|
|
|
|
OrderAmount: 0,
|
|
|
|
|
OrderInvoice: 0,
|
|
|
|
|
SubmitDate: null,
|
|
|
|
|
Auditoperator: '',
|
|
|
|
|
AuditDate: null,
|
|
|
|
|
EnteroPerator: USERID,
|
|
|
|
|
EnterDate: EnterDate,
|
|
|
|
|
DebitNo: '',
|
|
|
|
|
IsDebit: "0",
|
|
|
|
|
IsOpen: "0",
|
|
|
|
|
IsAdvancedpay: "0",
|
|
|
|
|
Sort: "0",
|
|
|
|
|
IsInvoice: "0",
|
|
|
|
|
FeeFrt: 'pp',
|
|
|
|
|
IsCrmOrderFee: "0",
|
|
|
|
|
AuditStatus: 0,
|
|
|
|
|
InvoiceNum: '',
|
|
|
|
|
ChequeNum: '',
|
|
|
|
|
WmsOutBsNo: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
store.add(record);
|
|
|
|
|
|
|
|
|
|
var editColumnIndex = 0;
|
|
|
|
|
var cellediting = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
cellediting = this.cellEditingChFee;
|
|
|
|
|
editColumnIndex = 2;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
cellediting = this.cellEditingChFee_YF;
|
|
|
|
|
editColumnIndex = 4;
|
|
|
|
|
}
|
|
|
|
|
var n = store.getCount();
|
|
|
|
|
cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
GetHandleSerialNo: function (store, type) {
|
|
|
|
|
var result = 0;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
result = this.fixSerialNo;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
result = this.feeSerialNo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
for (var i = 0; i < store.getCount(); i += 1) {
|
|
|
|
|
var member = store.getAt(i);
|
|
|
|
|
if (member.data.SerialNo > result) {
|
|
|
|
|
result = member.data.SerialNo;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result = result + 1;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
this.fixSerialNo = result;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
this.feeSerialNo = result;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onDelDetailClick: function (button, event, type) {
|
|
|
|
|
var allow = this.getAllowOperationDetail();
|
|
|
|
|
if (allow == false) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var store = null;
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
store = this.storeBodyChFee;
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
store = this.storeBodyChFee_YF;
|
|
|
|
|
} else {
|
|
|
|
|
alert('函数(onAddDetailClick)的参数type类型设置的不对');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var result = 0;
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
result = this.feeSerialNo;
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
result = this.feeSerialNo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
for (var i = 0; i < store.getCount(); i += 1) {
|
|
|
|
|
var member = store.getAt(i);
|
|
|
|
|
if (member.data.SerialNo > this.giSerialNo) {
|
|
|
|
|
result = member.data.SerialNo;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
this.feeSerialNo = result;
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
this.feeSerialNo = result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
selectedRecords = this.gridListChFee.selModel.getSelection();
|
|
|
|
|
var candelete = DsTruck.CheckChFeeDelete(selectedRecords, this.StoreDrOpRange);
|
|
|
|
|
if (candelete == false)
|
|
|
|
|
return;
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
selectedRecords = this.gridListChFee_YF.selModel.getSelection();
|
|
|
|
|
var candelete = DsTruck.CheckChFeeDelete(selectedRecords, this.StoreCrOpRange);
|
|
|
|
|
if (candelete == false)
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').getValue();
|
|
|
|
|
|
|
|
|
|
Ext.MessageBox.confirm('提示', '确定要删除选中的费用吗?', function (btn) {
|
|
|
|
|
if (btn == 'yes') {
|
|
|
|
|
|
|
|
|
|
var feeGidSql = "";
|
|
|
|
|
if (selectedRecords.length > 0) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (rec.BsNo == "" || rec.BsNo == "*") //如果是新增但没有保存的数据,没有必要提交到后台
|
|
|
|
|
{
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
this.storeBodyChFee.remove(selectedRecords[i]);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
this.storeBodyChFee_YF.remove(selectedRecords[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
var feeGId = "'" + rec.data.GId + "'";
|
|
|
|
|
if (feeGidSql == '') {
|
|
|
|
|
feeGidSql = feeGId;
|
|
|
|
|
} else {
|
|
|
|
|
feeGidSql = feeGidSql + "," + feeGId;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_thisfee = this;
|
|
|
|
|
|
|
|
|
|
Ext.Msg.wait('正在删除数据...');
|
|
|
|
|
if (feeGidSql != '') {
|
|
|
|
|
Ext.Ajax.request({
|
|
|
|
|
waitMsg: '正在删除数据...',
|
|
|
|
|
url: '/MvcShipping/MsChFee/Delete',
|
|
|
|
|
params: {
|
|
|
|
|
bsno: F_NO,
|
|
|
|
|
data: feeGidSql
|
|
|
|
|
},
|
|
|
|
|
callback: function (options, success, response) {
|
|
|
|
|
if (success) {
|
|
|
|
|
var jsonresult = Ext.JSON.decode(response.responseText);
|
|
|
|
|
if (jsonresult.Success) {
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
this.storeBodyChFee.remove(selectedRecords[i]);
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
this.storeBodyChFee_YF.remove(selectedRecords[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
failure: function (response, options) {
|
|
|
|
|
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
},
|
|
|
|
|
success: function (response, options) {
|
|
|
|
|
},
|
|
|
|
|
scope: this
|
|
|
|
|
}); //end Ext.Ajax.request
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onSubmitAuditClick: function (button, event, type) {
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
var records = this.feeGridCheckBoxModel.selected.items;
|
|
|
|
|
DsTruck.MsChFeeAudit(records, 2, '正在提交审核数据, 请稍侯..', USERID, "False");
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
var selectedRecords = this.gridListChFee_YF.selModel.getSelection();
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if ((rec.get('FeeName') == "预付款" || rec.get('FeeName') == "购货款" || rec.get('FeeName') == "尾款") && (rec.get('Currency') == "RMB")) {
|
|
|
|
|
if (!confirm("货款类费用币别为RMB,确认吗?")) {
|
|
|
|
|
//点击取消
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var records = this.feeGridCheckBoxModel_YF.selected.items;
|
|
|
|
|
DsTruck.MsChFeeAudit(records, 2, '正在提交审核数据, 请稍侯..', USERID, "False");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onShenModifyClick: function (button, event, type) {
|
|
|
|
|
|
|
|
|
|
var allow = this.getAllowOperationDetail();
|
|
|
|
|
if (allow == false) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
selectedRecords = this.feeGridCheckBoxModel.selected.items;
|
|
|
|
|
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
selectedRecords = this.feeGridCheckBoxModel_YF.selected.items;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (selectedRecords.count == 0) {
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '没有选择要申请修改的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var rec = selectedRecords[0];
|
|
|
|
|
|
|
|
|
|
if (rec.data.FeeStatus != 0) {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用状态无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rec.data.Settlement != 0) {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用已结算无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rec.data.IsDebit == 'True') {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用已対帐无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rec.data.Invoice != 0) {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用已开出发票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rec.data.OrderAmount != 0) {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用已申请费用无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rec.data.OrderInvoice != 0) {
|
|
|
|
|
|
|
|
|
|
Ext.Msg.show({ title: '提示', msg: '当前费用已申请开票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.DataLoading = true;
|
|
|
|
|
this.NewFeeEdit.getForm().loadRecord(rec);
|
|
|
|
|
this.OldFee.getForm().loadRecord(rec);
|
|
|
|
|
this.DataLoading = false;
|
|
|
|
|
this.winShenModifyShow.show();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onRetractClick: function (button, event, type) {
|
|
|
|
|
var records = [];
|
|
|
|
|
if (type == '1') {
|
|
|
|
|
var selectedRecords = this.feeGridCheckBoxModel.selected.items;
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (rec.get('FeeStatus') == "2" || rec.get('FeeStatus') == "0") {
|
|
|
|
|
if (rec.get('OrderAmount') > 0) {
|
|
|
|
|
alert(rec.get('FeeName') + "还未取消申请,请撤回申请或重新加载。");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
records.push(rec);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else if (type == '2') {
|
|
|
|
|
var selectedRecords = this.feeGridCheckBoxModel_YF.selected.items;
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (rec.get('FeeStatus') == "2" || rec.get('FeeStatus') == "0") {
|
|
|
|
|
if (rec.get('OrderAmount') > 0) {
|
|
|
|
|
alert(rec.get('FeeName') + "还未取消申请,请撤回申请或重新加载。");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
records.push(rec);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (records.length > 0) {
|
|
|
|
|
DsTruck.MsChFeeAudit(records, 6, '正在提交审核数据, 请稍侯..', "False");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getCustName: function () {
|
|
|
|
|
var custName = this.formEdit.getForm().findField('buyer');
|
|
|
|
|
return custName.getValue();
|
|
|
|
|
},
|
|
|
|
|
getSellerName: function () {
|
|
|
|
|
var custName = this.formEdit.getForm().findField('seller');
|
|
|
|
|
return custName.getValue();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getAllowOperationDetail: function () {
|
|
|
|
|
/* var feeStatus = this.getFeeStatus();
|
|
|
|
|
if (feeStatus == '0')
|
|
|
|
|
return true;
|
|
|
|
|
else {
|
|
|
|
|
Ext.Msg.show({ title: '错误', msg: "费用已锁定,不允许操作费用!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
|
return false;
|
|
|
|
|
}*/
|
|
|
|
|
//var data = this.formEdit.getForm().getValues();
|
|
|
|
|
//if data.ContractStatus=="1"
|
|
|
|
|
|
|
|
|
|
// return true;
|
|
|
|
|
},
|
|
|
|
|
/* getFeeStatus: function () {
|
|
|
|
|
//var basicForm = this.formEdit.getForm();
|
|
|
|
|
//var feeStatus = basicForm.findField('FeeStatus').value;
|
|
|
|
|
//return feeStatus;
|
|
|
|
|
return 0;
|
|
|
|
|
},
|
|
|
|
|
cellEditingChFeeBeforeEdit: function (editor, e) {
|
|
|
|
|
/*var chfeefeeStatus = e.record.get('FeeStatus');
|
|
|
|
|
var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6;
|
|
|
|
|
|
|
|
|
|
if (canedit) {
|
|
|
|
|
var feeStatus = this.getFeeStatus();
|
|
|
|
|
var billStatus = this.getBillStatus();
|
|
|
|
|
canedit = feeStatus == '0' && billStatus == '0';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return canedit;*/
|
|
|
|
|
// return true;
|
|
|
|
|
//},*/
|
|
|
|
|
gridListChFeeAfterEdit: function (editor, e, eOpts) {
|
|
|
|
|
|
|
|
|
|
if (e.field == 'FeeType') {
|
|
|
|
|
var records = DsStoreQueryBy(this.storeFeeTypeRef, 'EnumValueId', e.value);
|
|
|
|
|
|
|
|
|
|
if (records.getCount() > 0) {
|
|
|
|
|
var data = records.getAt(0).data;
|
|
|
|
|
e.record.set('FeeType_Ref', data.EnumValueName);
|
|
|
|
|
} else {
|
|
|
|
|
e.record.set('FeeType_Ref', '');
|
|
|
|
|
}
|
|
|
|
|
} else if (e.field == 'UnitPrice' || e.field == 'Quantity' || e.field == 'ExChangerate') {
|
|
|
|
|
var unitPrice = e.record.data['UnitPrice'];
|
|
|
|
|
var quantity = e.record.data['Quantity'];
|
|
|
|
|
//var ExChangerate= e.record.data['ExChangerate'];
|
|
|
|
|
e.record.set('Amount', (unitPrice * quantity).toFixed(2));
|
|
|
|
|
}
|
|
|
|
|
if (e.field == 'Currency') {
|
|
|
|
|
//var ExChangerate = parseFloat(e.record.get('ExChangerate'));
|
|
|
|
|
if (e.record.get('Currency') == 'RMB') {
|
|
|
|
|
e.record.set('ExChangerate', '1');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (e.field == 'FeeName') {
|
|
|
|
|
var FeeName = e.record.get('FeeName');
|
|
|
|
|
if (FeeName == '购货款') {
|
|
|
|
|
e.record.set('Sort', '1');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '预付款') {
|
|
|
|
|
e.record.set('Sort', '2');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '尾款') {
|
|
|
|
|
e.record.set('Sort', '3');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '关税') {
|
|
|
|
|
e.record.set('Sort', '4');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '增值税') {
|
|
|
|
|
e.record.set('Sort', '5');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '电汇费') {
|
|
|
|
|
e.record.set('Sort', '6');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '手续费') {
|
|
|
|
|
e.record.set('Sort', '7');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '代理费') {
|
|
|
|
|
e.record.set('Sort', '8');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '拖车费') {
|
|
|
|
|
e.record.set('Sort', '9');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '商检验货费') {
|
|
|
|
|
e.record.set('Sort', '10');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '出入库费') {
|
|
|
|
|
e.record.set('Sort', '11');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '冷藏费') {
|
|
|
|
|
e.record.set('Sort', '12');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '超期制冷费') {
|
|
|
|
|
e.record.set('Sort', '13');
|
|
|
|
|
} else
|
|
|
|
|
if (FeeName == '看货费') {
|
|
|
|
|
e.record.set('Sort', '14');
|
|
|
|
|
} else {
|
|
|
|
|
e.record.set('Sort', '999');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onSelectFee: function (button, event) {
|
|
|
|
|
//Ext.getCmp("zongshu").setText("1234");
|
|
|
|
|
|
|
|
|
|
var selectedRecords = this.gridListChFee.selModel.getSelection();
|
|
|
|
|
var sum = 0;
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
sum = sum + rec.get("Amount");
|
|
|
|
|
}
|
|
|
|
|
sum = sum.toFixed(2);
|
|
|
|
|
Ext.getCmp("zongshu").setText(" 选中金额:" + sum);
|
|
|
|
|
|
|
|
|
|
var selectedRecords_YF = this.gridListChFee_YF.selModel.getSelection();
|
|
|
|
|
var sum_YF = 0;
|
|
|
|
|
for (var i = 0; i < selectedRecords_YF.length; i++) {
|
|
|
|
|
var rec = selectedRecords_YF[i];
|
|
|
|
|
sum_YF = sum_YF + rec.get("Amount");
|
|
|
|
|
}
|
|
|
|
|
sum_YF = sum_YF.toFixed(2);
|
|
|
|
|
Ext.getCmp("zongshu_YF").setText(" 选中金额:" + sum_YF);
|
|
|
|
|
},
|
|
|
|
|
// 明细表 费用表相关方法 end
|
|
|
|
|
|
|
|
|
|
//--------更改单相关方法
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// #region 根据权限和状态判断是否允许修改
|
|
|
|
|
|
|
|
|
|
GetEditStatus: function () {
|
|
|
|
|
var canedit = false;
|
|
|
|
|
var bsStatus = this.formEdit.getForm().findField('F_STATUS').getValue();
|
|
|
|
|
|
|
|
|
|
if (bsStatus == '提交融资') {
|
|
|
|
|
this.setSaveBtnStatus(true);
|
|
|
|
|
} else {
|
|
|
|
|
this.setSaveBtnStatus(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
setSaveBtnStatus: function (enable) {
|
|
|
|
|
var btnEAudit = Ext.getCmp('btnAudit');
|
|
|
|
|
var btnESave = Ext.getCmp('btnSave');
|
|
|
|
|
var btnESaveAndClose = Ext.getCmp('btnSaveClose');
|
|
|
|
|
var btnEAddDetail = Ext.getCmp('btnaddBank');
|
|
|
|
|
var btnEDeleteDetail = Ext.getCmp('btndelBank');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (enable) {
|
|
|
|
|
btnEAudit.enable();
|
|
|
|
|
btnESave.enable();
|
|
|
|
|
btnESaveAndClose.enable();
|
|
|
|
|
|
|
|
|
|
btnEAddDetail.enable();
|
|
|
|
|
btnEDeleteDetail.enable();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
btnEAudit.disable();
|
|
|
|
|
btnESave.disable();
|
|
|
|
|
btnESaveAndClose.disable();
|
|
|
|
|
btnEAddDetail.disable();
|
|
|
|
|
btnEDeleteDetail.disable();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
getCondition: function () {
|
|
|
|
|
var editform = this.formEdit.getForm();
|
|
|
|
|
var CUSTOMER = editform.findField("CUSTOMER").getValue();
|
|
|
|
|
|
|
|
|
|
var form = this.formSearch.getForm();
|
|
|
|
|
if (!form.isValid()) {
|
|
|
|
|
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
|
|
|
|
|
return '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var sql = '';
|
|
|
|
|
|
|
|
|
|
//var customNo = form.findField('CustomNo').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, CUSTOMER, " M.buyer='" + CUSTOMER + "'");
|
|
|
|
|
|
|
|
|
|
var FinanceStatus = form.findField('FinanceStatus').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, FinanceStatus, " M.FinanceStatus=" + FinanceStatus + " ");
|
|
|
|
|
|
|
|
|
|
var PORT = form.findField('Port').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, PORT, " M.Port=" + PORT);
|
|
|
|
|
|
|
|
|
|
var HTH = form.findField('HTH').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, HTH, "(m.HTH like '%" + HTH + "%' or M.contractno like '%" + HTH + "%')");
|
|
|
|
|
|
|
|
|
|
var BillNo = form.findField('BillNo').getValue();
|
|
|
|
|
sql = sql + getAndConSql(sql, BillNo, "m.BillNo like '%" + BillNo + "%' ");
|
|
|
|
|
|
|
|
|
|
return sql;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getCustName: function () {
|
|
|
|
|
var custName = this.formEdit.getForm().findField('CUSTOMER');
|
|
|
|
|
return custName.getValue();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
Print: function () {
|
|
|
|
|
var basicForm = this.formEdit.getForm();
|
|
|
|
|
var F_NO = basicForm.findField('F_NO').value;
|
|
|
|
|
if (F_NO == '*' || F_NO == '') {
|
|
|
|
|
Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var MainList = "";
|
|
|
|
|
|
|
|
|
|
var selectedRecords = [];
|
|
|
|
|
|
|
|
|
|
selectedRecords = this.gridBodyList.selModel.getSelection();
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < selectedRecords.length; i++) {
|
|
|
|
|
var rec = selectedRecords[i];
|
|
|
|
|
if (MainList == "") { MainList = "'" + rec.get('GID') + "'"; }
|
|
|
|
|
else {
|
|
|
|
|
MainList = MainList + ",'" + rec.get('GID') + "'";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (MainList == "") {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDateStr(AddDayCount) {
|
|
|
|
|
var dd = new Date();
|
|
|
|
|
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
|
|
|
|
|
var y = dd.getFullYear();
|
|
|
|
|
var m = dd.getMonth() + 1; //获取当前月份的日期
|
|
|
|
|
var d = dd.getDate();
|
|
|
|
|
return y + "-" + m + "-" + d;
|
|
|
|
|
}
|
|
|
|
|
//alert(GetDateStr(+5));
|
|
|
|
|
var madedate = GetDateStr(0);
|
|
|
|
|
|
|
|
|
|
//var CUSTOMERNAME = basicForm.findField('CUSTOMERNAME').value;
|
|
|
|
|
|
|
|
|
|
var printType = 'FinanceEdit_HKTZD'; //还款通知单
|
|
|
|
|
var sql1 = "SELECT *,dbo.f_financeBank(F_NO) BANKNAME FROM import_finance WHERE F_NO='" + F_NO + "'";
|
|
|
|
|
var sql2 = "SELECT b.* ";
|
|
|
|
|
//sql2 = sql2 + " ,substring(cc.country,0,(charindex('(',cc.country)) ) 进口国 ";
|
|
|
|
|
//sql2 = sql2 + " ,dbo.f_factoryno(M.contractno) 厂号,f_str(M.contractno) 产品名称,M.containerno 箱号 ";
|
|
|
|
|
sql2 = sql2 + " from import_finance_Body B ";
|
|
|
|
|
//sql2 = sql2 + " left join import_main M on M.Contractno=B.BSNO";
|
|
|
|
|
//sql2 = sql2 + " left join code_country cc on cc.countryid=m.countryid ";
|
|
|
|
|
sql2 = sql2 + " where GID in (" + MainList + ")";
|
|
|
|
|
|
|
|
|
|
// var sql3 = " select * from company where gid=(select top 1 companyid from ch_fee_do where BILLNO='" + billNo + "') ";
|
|
|
|
|
|
|
|
|
|
var sql3 = " select comp.FULLNAME ";
|
|
|
|
|
sql3 = sql3 + " ,(select top 1 REMARK from sys_bank where LINKID=M.company and bankname2 = '中国银行' and CURRENCY='RMB') bankname ";
|
|
|
|
|
sql3 = sql3 + " ,(select top 1 ACCOUNT from sys_bank where LINKID=M.company and bankname2 = '中国银行' and CURRENCY='RMB') ACCOUNT ";
|
|
|
|
|
sql3 = sql3 + " from Import_Finance_do c ";
|
|
|
|
|
sql3 = sql3 + " left join IMPORT_Main M ON M.contractno=c.contractno ";
|
|
|
|
|
sql3 = sql3 + " left join company comp ON comp.GID=M.company ";
|
|
|
|
|
sql3 = sql3 + " where c.F_NO='" + F_NO + "'";
|
|
|
|
|
|
|
|
|
|
var sql4 = "select '" + SHOWNAME + "' showname,'" + madedate + "' printdate";
|
|
|
|
|
var sql5 = "";
|
|
|
|
|
var sql6 = "";
|
|
|
|
|
|
|
|
|
|
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|