You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Account/Viewsjs/Chfee_ForeignSettlement/ChRecvsettlementIndex.js

1730 lines
71 KiB
JavaScript

2 years ago
Ext.namespace('Shipping');
Shipping.MsChRecvsettlementIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsChRecvsettlementIndex.superclass.constructor.call(this);
};
Ext.extend(Shipping.MsChRecvsettlementIndex, Ext.Panel, {
PageSize: 30,
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
sqlcontext: '',
initUIComponents: function () {
this.StoreOpRange = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsOP',
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' }
});
this.StoreOpRange.load({ params: { optype: "modRecvSettleList"} });
this.StoreLockOp = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeOP',
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpIDRang' }
});
this.StoreLockOp.load({ params: { optype: "modRecvFeeSettlementLock"} });
this.StoreUnLockOp = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeOP',
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpIDRang' }
});
this.StoreUnLockOp.load({ params: { optype: "modRecvFeeSettlementUnLock"} });
//定义数据集
this.storeList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsChSettlement',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/Account/Chfee_Foreignsettlement/GetDataList',
reader: {
id: 'BILLNO',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//定义Grid
_this = this;
this.Pagenum = Ext.create('Ext.form.field.Number', {
name: 'bottles',
fieldLabel: '每页记录数',
labelAlign: 'right',
value: this.PageSize,
maxValue: 100000,
width: 180,
minValue: 0,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
//定义Grid
this.GridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
this.gridList = new Ext.grid.GridPanel({
store: this.storeList,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
selModel: this.GridCheckBoxModel,
columns: [{
sortable: true,
dataIndex: 'BILLNO',
header: '结算单号',
width: 120
}, {
sortable: true,
dataIndex: 'BILLSTATUSREF',
header: '状态',
width: 60
}, {
sortable: true,
dataIndex: 'CUSTOMERNAME',
header: '结算单位',
width: 120
}, {
sortable: true,
dataIndex: 'SETTLEMODEREF',
header: '结算类别',
width: 100
}, {
sortable: true,
dataIndex: 'SETTLETYPEREF',
header: '结算方式',
width: 100
}, {
sortable: true,
dataIndex: 'AMOUNTRMB',
header: 'RMB',
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; },
align: 'right',
width: 120
}, {
sortable: true,
dataIndex: 'AMOUNTUSD',
header: 'USD',
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; },
align: 'right',
width: 120
}, {
sortable: true,
dataIndex: 'SETTLETIME',
header: '结算日期',
width: 100
}, {
sortable: true,
dataIndex: 'SETTLEUSERREF',
header: '结算人',
width: 100
}, {
sortable: true,
dataIndex: 'ACCOUNTREF',
header: '结算账户',
width: 150
}, {
sortable: true,
dataIndex: 'ISEXPORT',
header: '是否导出凭证',
width: 120
}, {
sortable: true,
dataIndex: 'REMARK',
header: '备注',
width: 160
}, {
sortable: true,
dataIndex: 'VOUCHERNO',
header: '总账凭证号',
width: 100
}, {
sortable: true,
dataIndex: 'VOUNO',
header: '接口凭证号',
width: 100
}],
// paging bar on the bottom
bbar: [Ext.create('Ext.PagingToolbar', {
store: this.storeList,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
}), this.Pagenum]
});
this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) {
this.SelectedRecord = record;
this.OprationStatus = 'edit';
if (record.data.SETTLEMODE == 1)
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvAppEdit');
else if (record.data.SETTLEMODE == 3)
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvInvEdit');
else
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvBLEdit');
}, this);
//#region formSearch
//#region formSearch枚举参照相关
this.storeCompany = Ext.create('DsExt.ux.RefTableStore', {
model: 'companymb',
proxy: { url: '/CommMng/BasicDataRef/GetcompanyList' }
});
this.storeCompany.load({ params: { condition: " ISDISABLE=0 "} });
this.comboxCompany = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '结算公司',
store: this.storeCompany,
name: 'companyid',
valueField: 'gid',
displayField: 'name',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
this.StoreBANK = Ext.create('DsExt.ux.RefTableStore', {
model: 'BANK',
proxy: { url: '/MvcShipping/MsBaseInfo/GetAllBANKList' }
});
this.StoreBANK.load({ params: { condition: ""} });
this.comboxBANK = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '银行账号',
store: this.StoreBANK,
forceSelection: true,
name: 'ACCOUNT',
valueField: 'GID',
displayField: 'BANKNAME',
listeners: {
blur: function (field, newValue, oldValue) {
if (field.displayTplData[0].ISSTOP == "True") {
alert("该往来单位已经停用");
}
},
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
},
scope: this
}
});
Ext.define('IsLockMd', {
extend: 'Ext.data.Model',
fields: [
{ name: 'IsLock', type: 'string' },
{ name: 'IsLock_REF', type: 'string' }
]
});
var IsLockData = [{ "IsLock": "", "IsLock_REF": "全部" },
{ "IsLock": "1", "IsLock_REF": "锁定" },
{ "IsLock": "2", "IsLock_REF": "未锁定" },
{ "IsLock": "3", "IsLock_REF": "结算撤销"}];
this.storeIsLockType = Ext.create('Ext.data.Store', {
model: 'IsLockMd',
data: IsLockData
});
this.comboxIsLock = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '结算已锁定',
forceSelection: true,
store: this.storeIsLockType,
name: 'IsLock',
valueField: 'IsLock',
displayField: 'IsLock_REF',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
});
//#endregion
_this = this;
this.formSearch = Ext.widget('form', {
frame: true,
region: 'center',
bodyPadding: 5,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 90,
msgTarget: 'qtip'
},
items: [
{//fieldset 1
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '结算单号',
name: 'BillNo',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '业务单号',
name: 'BsNo',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, this.comboxCompany
, {
fieldLabel: '结算单位',
name: 'CustName',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '从结算日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDateBgn',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '到结算日期',
format: 'Y-m-d',
xtype: 'datefield',
name: 'ExpDateEnd',
enableKeyEvents: true,
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}
]
}
]//end items(fieldset 1)
}//end fieldset 1
, {//fieldset 2
xtype: 'container',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '申请单号',
name: 'AppNo',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, this.comboxBANK,
{
fieldLabel: '从..金额',
name: 'Amount_min',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, {
fieldLabel: '到..金额',
name: 'Amount_max',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
}, this.comboxIsLock
, {
fieldLabel: '银行水单号/水单备注',
name: 'CHILDNO',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == e.ENTER) {
_this.onRefreshClick();
}
}
}
},
{
xtype: 'hiddenfield', hidden: true,
flex: 1
}
]
}
]//end items(fieldset 1)
}//end fieldset 2
]//end root items
});
//#endregion formSearch
//#region 打印菜单
var menu1 = new Ext.menu.Menu({
id: 'basicMenu',
items: [{
text: '付费结算流水',
handler: clickHandler_1
}, {
text: '付费结算流水(费用组分组)',
handler: clickHandler_2
}
]
});
//#endregion
//#region 打印格式定义
var _this = this;
function clickHandler_1() {
_this.Print();
};
function clickHandler_2() {
_this.Print_FYFZ();
};
//#endregion
//查询工具条
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
text: "自由结算",
iconCls: "btnadd",
handler: function (button, event) {
this.OprationStatus = 'add';
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvBLEdit');
},
scope: this
},
'-',
{
text: "申请结算",
iconCls: "btnadd",
handler: function (button, event) {
this.OprationStatus = 'add';
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvAppEdit');
},
scope: this
},
'-',
{
text: "发票结算",
iconCls: "btnadd",
handler: function (button, event) {
this.OprationStatus = 'add';
DsOpenEditWin('/Account/Chfee_Foreignsettlement/RecvInvEdit');
},
scope: this
},
'-',
{
text: "执行查询",
id: "btnRefresh",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onRefreshClick(button, event);
},
scope: this
},
{
text: "重置条件",
iconCls: "btnreset",
handler: function (button, event) {
var form = this.formSearch.getForm();
form.reset();
},
scope: this
}, '-', {
text: '提交锁定',
tooltip: '提交锁定',
id: 'btnSubmitAudit',
handler: function (button, event) {
this.onSubmitAuditClick();
},
scope: this
}, '-', {
text: '撤销锁定',
tooltip: '撤销锁定',
id: 'btnSubmitAuditBack',
handler: function (button, event) {
this.onSubmitAuditBackClick();
},
scope: this
}, '-', {
text: "删除",
iconCls: "btndelete",
id: 'btndelete',
handler: function (button, event) {
this.onDeleteClick(button, event);
},
scope: this
}, '-',
{ text: "打印报表", menu: menu1, scope: this }
, '-', {
text: "生成总账凭证",
id: "btnAddCwVouchers",
iconCls: "btnadd",
handler: function (button, event) {
this.onAddCwVouchers();
},
scope: this
}, '-',
{
text: "生成总账凭证",
id: "btnAddCwVouchers",
iconCls: "btnadd",
handler: function (button, event) {
this.onAddCwVouchers();
},
scope: this
}, {
text: "查看总账凭证",
id: "btnSelCwVouchers",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onSelCwVouchers('');
},
scope: this
}, '-', {
text: "生成接口凭证",
id: "btnAddCwVouchersJK",
iconCls: "btnadd",
handler: function (button, event) {
this.onAddCwVouchersJK();
},
scope: this
}, {
text: "查看接口凭证",
id: "btnSelCwVouchersJK",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onSelCwVouchersJK('');
},
scope: this
}
]
});
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 100,
items: [this.formSearch, this.panelBtn]
});
Ext.apply(this, {
items: [this.panelTop, this.gridList]
});
this.storeList.on('beforeload', function (store) {
var sql = this.getCondition();
Ext.apply(store.proxy.extraParams, { condition: sql, billtype: 1 });
}, this);
this.gridList.getSelectionModel().on('select', function (model, record, index) {
var op = record.data.SETTLEUSER;
var opname = record.data.SETTLEUSERREF;
var bsstatus = record.data.BILLSTATUS;
var btnESubmitAudit = Ext.getCmp('btnSubmitAudit');
var btnESubmitAuditBack = Ext.getCmp('btnSubmitAuditBack');
var btndelete = Ext.getCmp('btndelete');
var records = DsStoreQueryBy(this.StoreLockOp, 'OPID', op);
if (records.getCount() > 0) {
if (bsstatus == 1) {
btnESubmitAudit.disable();
} else {
btnESubmitAudit.enable();
}
} else {
btnESubmitAudit.disable();
}
var records = DsStoreQueryBy(this.StoreUnLockOp, 'OPID', op);
if (records.getCount() > 0) {
if (bsstatus == 1) {
btnESubmitAuditBack.enable();
} else {
btnESubmitAuditBack.disable();
}
} else {
btnESubmitAuditBack.disable();
}
var records = DsStoreQueryBy(this.StoreOpRange, 'OPID', opname);
if (records.getCount() > 0) {
btndelete.enable();
} else {
btndelete.disable();
}
//#region 判断要显示的凭证按钮
//判断要显示的总账凭证按钮
if (this.isCwVouchers) {
var sVOUCHERNO = record.data.VOUCHERNO.toString();
if (sVOUCHERNO.trim() == "") {
Ext.getCmp('btnAddCwVouchers').show();
Ext.getCmp('btnSelCwVouchers').hide();
}
else {
Ext.getCmp('btnAddCwVouchers').hide();
Ext.getCmp('btnSelCwVouchers').show();
}
} else {
Ext.getCmp('btnAddCwVouchers').hide();
Ext.getCmp('btnSelCwVouchers').hide();
}
//判断要显示的接口凭证按钮
var sVOUNO = record.data.VOUNO.toString();
if (sVOUNO.trim() == "") {
Ext.getCmp('btnAddCwVouchersJK').show();
Ext.getCmp('btnSelCwVouchersJK').hide();
}
else {
Ext.getCmp('btnAddCwVouchersJK').hide();
Ext.getCmp('btnSelCwVouchersJK').show();
}
//#endregion
}, this);
//this.onRefreshClick();
//#region 生成凭证_权限加载
Ext.getCmp('btnAddCwVouchersJK').show();
Ext.getCmp('btnSelCwVouchersJK').hide();
//加载数据
this.StoreIsCwVouchers = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.ModuleModel',
proxy: { url: '/MvcShipping/MsBaseInfo/GetSysModuleList' }
});
this.StoreIsCwVouchers.load({
params: { condition: "[name]='modChPaySettlementIndexCwVouchers'" },
waitMsg: '正在查询数据...',
callback: function (options, success, response) {
if (success) {
//判断是否显示总账凭证按钮
if (options.length > 0) {
Ext.getCmp('btnAddCwVouchers').show();
this.isCwVouchers = true;
} else {
Ext.getCmp('btnAddCwVouchers').hide();
this.isCwVouchers = false;
}
Ext.getCmp('btnSelCwVouchers').hide();
}
},
scope: this
});
//#endregion
}, //end initUIComponents
onRefreshClick: function (button, event) {
var sql = this.getCondition();
sqlcontext = sql;
this.PageSize = this.Pagenum.getValue();
this.storeList.pageSize = this.PageSize;
this.storeList.load({
params: { start: 0, limit: this.PageSize, sort: '', condition: sql, billtype: 1 },
waitMsg: "正在查询数据...",
scope: this
});
},
onDeleteClick: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var record = selections[0];
var billstatus = record.data.BILLSTATUS;
var settlemode = record.data.SETTLEMODE;
if (billstatus == '1') {
Ext.Msg.show({ title: '提示', msg: '当前状态无法删除此单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
Ext.MessageBox.confirm('提示', '确定删除该记录吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在删除数据...');
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/Account/Chfee_Foreignsettlement/DeleteRecv',
params: {
data: Ext.JSON.encode(record.data),
settlemode: settlemode
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.storeList.remove(record);
Ext.Msg.show({ title: '提示', msg: '删除成功!', 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
}
}, this);
},
onSubmitAuditClick: function () {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var BILLNOStr = '';
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
var BILLNO = rec.data.BILLNO;
if (rec.data.BILLSTATUS == '2') {
if (BILLNOStr == '')
BILLNOStr = BILLNO;
else {
BILLNOStr = BILLNOStr + ',' + BILLNO;
}
}
}
_this = this;
if (BILLNOStr == '') {
} else {
Ext.Ajax.request({
waitMsg: '正在添加数据...',
url: '/Account/Chfee_Foreignsettlement/LockList',
params: {
bills: BILLNOStr
},
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 {
_this.onRefreshClick();
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
},
onSubmitAuditBackClick: function () {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var BILLNOStr = '';
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
var BILLNO = rec.data.BILLNO;
var isvou = rec.data.ISEXPORT;
var VOUNO = rec.data.VOUNO;
var sVOUCHERNO = rec.data.VOUCHERNO;
if ((rec.data.BILLSTATUS == '1') && (isvou != true) && (VOUNO == "") && (sVOUCHERNO == "")) {
if (BILLNOStr == '')
BILLNOStr = BILLNO;
else {
BILLNOStr = BILLNOStr + ',' + BILLNO;
}
}
}
_this = this;
if (BILLNOStr == '') {
} else {
Ext.Ajax.request({
waitMsg: '正在添加数据...',
url: '/Account/Chfee_Foreignsettlement/UnLockList',
params: {
bills: BILLNOStr
},
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 {
_this.onRefreshClick();
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
};
},
getCondition: function () {
var form = this.formSearch.getForm();
if (!form.isValid()) {
Ext.Msg.alert('提示', '查询条件赋值错误,请检查。');
return '';
}
var sql = ' BILLTYPE=1 ';
var BillNo = form.findField('BillNo').getValue();
sql = sql + getAndConSql(sql, BillNo, "BILLNO like '%" + BillNo + "%'");
var customNo = form.findField('BsNo').getValue();
sql = sql + getAndConSql(sql, customNo, "(Billno in (select BILLNO from ch_fee_do where bsno in(select bsno from v_op_bs where Custno like '%" + customNo + "%' or MBLNO like '%" + customNo + "%' or HBLNO like '%" + customNo + "%')))");
var AppNo = form.findField('AppNo').getValue();
sql = sql + getAndConSql(sql, AppNo, " Billno in (select BILLNO from ch_fee_do_payapplication where PAYBillno like '%" + AppNo + "%' )");
var custName = form.findField('CustName').getValue();
sql = sql + getAndConSql(sql, custName, "CUSTOMERNAME like '%" + custName + "%'");
var companyid = form.findField('companyid').getValue();
sql = sql + getAndConSql(sql, companyid, "(ACCOUNTRMB in(select gid from sys_bank where linkid= '" + companyid + "') or ACCOUNTUSD in(select gid from sys_bank where linkid= '" + companyid + "'))");
var expDateBgn = form.findField('ExpDateBgn').getRawValue();
sql = sql + getAndConSql(sql, expDateBgn, "SETTLETIME >='" + expDateBgn + "'");
var expDateEnd = form.findField('ExpDateEnd').getRawValue();
sql = sql + getAndConSql(sql, expDateEnd, "SETTLETIME <='" + expDateEnd + "'");
var ACCOUNT = form.findField('ACCOUNT').getValue();
sql = sql + getAndConSql(sql, ACCOUNT, "(ACCOUNTRMB = '" + ACCOUNT + "' or ACCOUNTUSD='" + ACCOUNT + "')");
var Amount_max = form.findField('Amount_max').getValue();
if (parseFloat(Amount_max) == 0 || Amount_max == "") {
var Amount_min = form.findField('Amount_min').getValue();
sql = sql + getAndConSql(sql, Amount_min, "(AmountRMB = " + Amount_min + " or AmountUSD = " + Amount_min + ")");
} else {
var Amount_min = form.findField('Amount_min').getValue();
sql = sql + getAndConSql(sql, Amount_min, "((AmountRMB<>0 and AmountRMB >= " + Amount_min + ") or (AmountUSD<>0 and AmountUSD >= " + Amount_min + "))");
var Amount_max = form.findField('Amount_max').getValue();
sql = sql + getAndConSql(sql, Amount_max, "((AmountRMB<>0 and AmountRMB <= " + Amount_max + ") or (AmountUSD<>0 and AmountUSD<= " + Amount_max + "))");
}
var IsLock = form.findField('IsLock').getValue();
if (IsLock != "") {
sql = sql + getAndConSql(sql, IsLock, " BILLSTATUS='" + IsLock + "' ");
}
var CHILDNO = form.findField('CHILDNO').getValue();
sql = sql + getAndConSql(sql, CHILDNO, "BILLNO in(select BSNO from tSys_child where CHILDNO like '%" + CHILDNO + "%' or REMARK like '%" + CHILDNO + "%')");
return sql;
},
/*
Print: function () {
_this = this;
if (this.storeList.getCount() == 0) {
return;
}
Ext.Msg.wait('正在组织数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在组织数据...',
url: '/Account/Chfee_Foreignsettlement/GetDataListStr',
scope: this,
params: {
condition: _this.sqlcontext,
billtype: 1
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnstr = jsonresult.data;
var printType = 'MSRECVETTLLIST';
var sql1 = returnstr;
var sql2 = "";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
} 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
});
}
}
});
},*/
Print: function () {///结算列表
var printType = 'XXH_PayAppSettle_2';
var MainList = "";
var selectedRecords = [];
selectedRecords = this.gridList.selModel.getSelection();
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (MainList == "") { MainList = "'" + rec.get('BILLNO') + "'"; }
else {
MainList = MainList + ",'" + rec.get('BILLNO') + "'";
}
}
var T = this.getCondition();
if (T != "") { T = " where " + T; };
var sql1 = " SELECT GID,cm.BILLNO 结算单号,BILLDATE,SETTLEMODE,CUSTOMERNAME 结算单位,SETTLETYPE ,AMOUNTRMB RMB金额,ACCOUNTRMB,RATE ";
sql1 = sql1 + " ,AMOUNTUSD USD金额,ACCOUNTUSD,BILLTYPE,VOUCHERNO 总账凭证号,SETTLEUSER,SETTLETIME 结算时间,AUDITUSER,AUDITTIME,CREATEUSER,CREATETIME ";
sql1 = sql1 + " ,ISEXPORT 是否导出凭证,FINANCIALVOUCHER,BILLSTATUS,REMARK 备注,STLCATEGROY,COMPANYID,CUSTBANK,CUSTACCOUNT,VOUNO 凭证号,ACCOUNTS_CURRENCY ";
sql1 = sql1 + " ,ACCOUNTS_RATE,ACCOUNTS_MONEY,PREPAY_CURRENCY,PREPAY_RATE,PREPAY_MONEY,AHSR_CURRENCY ";
sql1 = sql1 + " ,AHSR_RATE,AHSR_MONEY,FINANCIAL_CURRENCY,FINANCIAL_RATE,FINANCIAL_MONEY,ADVANCE_CURRENCY,ADVANCE_RATE,ADVANCE_MONEY,CURR 币别";
sql1 = sql1 + " ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97006 and EnumValueID=cm.BILLSTATUS) as 状态 ";
sql1 = sql1 + " ,(select ShowName from [user] where GID=cm.SETTLEUSER) as 结算人 ";
sql1 = sql1 + " ,(select ShowName from [user] where GID=cm.CREATEUSER) as CREATEUSERREF ";
sql1 = sql1 + " ,(select STLNAME from [code_stlmode] where STLCODE=cm.SETTLETYPE) as 结算方式 ";
sql1 = sql1 + " ,(select BANKNAME from [sys_bank] where GID=cm.ACCOUNTRMB) as RMB账户 ";
sql1 = sql1 + " ,(select BANKNAME from [sys_bank] where GID=cm.ACCOUNTUSD) as USD账户 ";
sql1 = sql1 + " ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97007 and EnumValueID=cm.SETTLEMODE) as 结算类别 ";
sql1 = sql1 + " ,ISNULL((select sum(isnull(amount,0)-isnull(invoice,0)) as 未开票 from ch_fee where ISINVOICE<>1 and gid in (select feeid from ch_fee_do where BILLNO=cm.BILLNO)),0) as NOINVOICE ";
sql1 = sql1 + " ,cm.BS_CUSTOMERNAME 委托单位 ";
sql1 = sql1 + " ,(select AMOUNT from ch_fee_settlement_PAYRMB where BILLNO=cm.BILLNO) 购汇RMB ";
sql1 = sql1 + " ,(select sxf from ch_fee_settlement_PAYRMB where BILLNO=cm.BILLNO) 手续费 ";
sql1 = sql1 + " ,(select dhf from ch_fee_settlement_PAYRMB where BILLNO=cm.BILLNO) 电汇费 ";
sql1 = sql1 + " FROM ch_fee_settlement cm ";
//if (MainList == "") {
sql1 = sql1 + T;
//} else {
// sql1 = sql1 + " where BILLNO in (" + MainList + ")"
//}
sql1 = sql1 + " order by BILLNO ";
var sql2 = "";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
},
Print_FYFZ: function () {///结算列表
var printType = 'XXH_PayAppSettle_FYFZ';
var MainList = "";
var selectedRecords = [];
selectedRecords = this.gridList.selModel.getSelection();
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (MainList == "") { MainList = "'" + rec.get('BILLNO') + "'"; }
else {
MainList = MainList + ",'" + rec.get('BILLNO') + "'";
}
}
var T = this.getCondition();
//if (MainList == "") {
if (T != "") { T = " where " + T; };
//} else {
// T = " where billno in (" + MainList + ") "
//}
if (T == "" && MainList == "") {
alert("无条件查询可能时间很久,请稍候...");
}
// var sql1 = " select 委托单位,billno,customername,CURRENCY,EXCHANGERATE ";
var sql1 = " select billno,customername,CURRENCY,EXCHANGERATE ";
sql1 = sql1 + " ,sum(货款) 货款,sum(税金) 税金,sum(冷藏费) 冷藏费,sum(代理费) 代理费,sum(其他) 其他 ";
sql1 = sql1 + " ,sum(货款_W) 货款_W,sum(税金_W) 税金_W,sum(冷藏费_W) 冷藏费_W,sum(代理费_W) 代理费_W,sum(其他_W) 其他_W,ACCOUNTUSDREF,(select customername from v_op_bs where bsno=tt.bsno) 委托单位 ";
//sql1 = sql1 + " from (select 委托单位,billno,customername,t.CURRENCY,t.EXCHANGERATE ";
sql1 = sql1 + " from (select billno,customername,t.CURRENCY,t.EXCHANGERATE ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then case FEEGROUP when '融资款' then amount when '货款' then amount else 0 end else 0 end) 货款 ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then case FEEGROUP when '税金' then amount else 0 end else 0 end) 税金 ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then case FEEGROUP when '冷藏费' then amount else 0 end else 0 end) 冷藏费 ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then case FEEGROUP when '代理费' then amount else 0 end else 0 end) 代理费 ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then case FEEGROUP when '其他' then amount else 0 end else 0 end) 其他 ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then 0 else case FEEGROUP when '融资款' then amount when '货款' then amount else 0 end end) 货款_W ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then 0 else case FEEGROUP when '税金' then amount else 0 end end) 税金_W ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then 0 else case FEEGROUP when '冷藏费' then amount else 0 end end) 冷藏费_W ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then 0 else case FEEGROUP when '代理费' then amount else 0 end end) 代理费_W ";
sql1 = sql1 + " ,(case CURRENCY when 'RMB' then 0 else case FEEGROUP when '其他' then amount else 0 end end) 其他_W ";
sql1 = sql1 + " ,ACCOUNTUSDREF,bsno ";
sql1 = sql1 + " from (select c.billno,c.bsno,s.CUSTOMERNAME ,c.CURRENCY,c.EXCHANGERATE,sum(case c.feetype when 1 then AMOUNT else 0-Amount end) amount,cf.FEEGROUP ";
sql1 = sql1 + " ,case when s.CURR='RMB' then (select BANKNAME from [sys_bank] where GID=s.ACCOUNTRMB) ";
sql1 = sql1 + " else (select BANKNAME from [sys_bank] where GID=s.ACCOUNTUSD) end as ACCOUNTUSDREF ";
sql1 = sql1 + " from ch_fee_do c ";
sql1 = sql1 + " left join ch_fee_settlement s on s.BILLNO=c.BILLNO ";
sql1 = sql1 + " left join code_fee cf on cf.NAME=c.FEENAME ";
if (MainList == "") {
sql1 = sql1 + " where c.billno in (select billno from ch_fee_settlement cm " + T + ")";
} else {
sql1 = sql1 + " where c.BILLNO in (" + MainList + ")"
}
sql1 = sql1 + " group by c.BILLNO,c.bsno,c.CURRENCY,c.EXCHANGERATE,cf.FEEGROUP,s.CUSTOMERNAME,s.CURR,s.ACCOUNTUSD,s.ACCOUNTRMB ";
sql1 = sql1 + " ) t)tt group by billno,bsno,customername,CURRENCY,EXCHANGERATE,ACCOUNTUSDREF ";
var sql2 = "";
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
},
//#region 总账凭证
//#region 生成总账凭证
onAddCwVouchers: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var strGids = "";
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
var VOUCHERNO = rec.data.VOUCHERNO; //凭证号
var BILLSTATUS = rec.data.BILLSTATUS; //是否锁定
if (VOUCHERNO == "" && BILLSTATUS == 1) {
if (strGids == "")
strGids = rec.data.GID;
else {
strGids += "," + rec.data.GID;
}
}
}
if (strGids == "") {
Ext.Msg.show({ title: '提示', msg: '请选择已锁定且未生成凭证的单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
//this.storeListCw.load({ params: { strGids: strGids }, waitMsg: "正在刷新数据...", scope: this });
this.showContactForm(false, strGids, this);
//
},
//#endregion
//#region 总账层_显示信息
showContactForm: function (win, strGids, _this) {
var required = '<span style="color:red;font-weight:bold;" data-qtip="Required">*</span>';
if (!win) {
//#region formDiv 下拉框信息加载
//制单人
this.storePREPAREDCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
this.storePREPAREDCode.load();
this.comboxPREPARED = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '制单人',
store: this.storePREPAREDCode,
forceSelection: true,
//id: 'PREPARED',
name: 'PREPARED',
valueField: 'UserName',
displayField: 'CodeAndName',
value: SHOWNAME
});
//#endregion
//#region 汇率列表
//#region 定义数据集
this.storeListCw = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsCodeCurrencyList',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/Account/Chfee_settlement/GetCodeCurrencyList',
reader: {
id: 'CURR',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 列定义
this.girdcolums = [{
sortable: false,
text: '币别',
dataIndex: 'CURR',
width: 100,
align: 'center'
}, {
sortable: false,
text: '调整汇率',
dataIndex: 'FCYEXRATE',
width: 118,
align: 'right',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 5, '', 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; },
editor: {
xtype: 'numberfield',
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
decimalPrecision: 5, //允许保留的小数位数,并四舍五入
nanText: '请输入有效小数',
hideTrigger: true //是否隐藏上下调节按钮
}
}];
//#endregion
//#region gridList列表显示信息
this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1 //1单击2双击
});
this.gridListCw = new Ext.grid.GridPanel({
region: 'center',
width: 220,
store: this.storeListCw,
enableHdMenu: false, //是否显示表格列的菜单
hideHeaders: false, //是否隐藏表头
rowLines: true,
columnLines: true,
loadMask: { msg: "数据加载中,请稍等..." },
plugins: [this.gridListCellEditing],
selType: 'cellmodel',
columns: this.girdcolums
});
//#endregion
//#endregion
//#region 编辑formDiv 基本信息
var formDiv = Ext.widget('form', {
border: false,
bodyPadding: 10,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 60,
labelStyle: 'font-weight:bold'
},
items: [this.comboxPREPARED, {
fieldLabel: '记账日期',
format: 'Y-m-d',
xtype: 'datefield',
allowBlank: false,
id: 'VOUDATE',
name: 'VOUDATE',
value: Ext.util.Format.date(Ext.Date.add(new Date(), Ext.Date.MONTH - 1, 1), "Y-m-d")
}, {
//fieldLabel: "",
xtype: "checkbox", //checkbox控件
//id: "ButtSettlement",
name: "ButtSettlement",
boxLabel: "对抵结算是否生成银行账款",
width: 200,
inputValue: "true", //选中的值
uncheckedValue: "false" //未选中的值
}, {
//fieldLabel: "",
xtype: "checkbox", //checkbox控件
id: "ISRATE",
name: "ISRATE",
boxLabel: "是否按照系统录入汇率",
width: 200,
inputValue: "true", //选中的值
uncheckedValue: "false", //未选中的值
checked: true, //绘制时的选中状态,
listeners: {
'change': function (field, newValue, oldValue, eOpts) {
if (field.checked.toString() == "false") {
//Ext.getCmp('myGroup').show();
this.gridListCw.show();
}
else {
//Ext.getCmp('myGroup').hide();
this.gridListCw.hide();
}
},
scope: this
}
}, this.gridListCw
],
buttons: [{
text: '生成凭证',
handler: function (options, success, response) {
if (!this.up('form').getForm().isValid()) {
return;
}
var dataDiv = this.up('form').getForm().getValues(false, false, false);
//
var j = 0;
var bodydatas = [];
for (var i = 0; i < _this.storeListCw.getCount(); i += 1) {
var member = _this.storeListCw.getAt(i);
bodydatas.push(member);
}
var jsonBody;
if (bodydatas.length > 0) {
jsonBody = ConvertRecordsToJsonAll(bodydatas);
}
//
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/Account/Chfee_settlement/onAddCwVouchers',
scope: this,
params: {
strGids: strGids,
dataDiv: Ext.JSON.encode(dataDiv),
jsonBody: jsonBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var sData = jsonresult.Data;
//是否自动弹出结算凭证
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/Account/Chfee_settlement/onIsSettlementsopen',
scope: this,
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
_this.onSelCwVouchers(sData.toString());
//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 });
}
} else {
//Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
//Ext.Msg.hide();
}
});
_this.onRefreshClick();
return;
} 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
});
}
}
});
//
this.up('form').getForm().reset();
//this.up('window').hide();
this.up('window').close();
}
}, {
text: '取消',
handler: function () {
this.up('form').getForm().reset();
//this.up('window').hide();
this.up('window').close();
}
}],
listeners: {
scope: this,
'render': function (thisDiv, thisExtend) {
this.storeListCw.load({ params: { strGids: strGids }, waitMsg: "正在刷新数据...", scope: this });
var ISRATE = Ext.getCmp('ISRATE').getValue().toString();
if (ISRATE == "false") {
this.gridListCw.show();
}
else {
this.gridListCw.hide();
}
//
Ext.Ajax.request({
waitMsg: '正在查询委托编号状态...',
url: '/MvcShipping/MsBaseInfo/GetCwVOUNO',
params: {
VKNO: "记"
},
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;
}
//
data = result.data;
var arrayList = new Array();
arrayList = data.split("~");
var strY = arrayList[0].toString();
var strM = arrayList[1].toString();
var sVOUNO = arrayList[2].toString();
var strVOUNO = arrayList[3].toString();
var strVOUDATE = arrayList[4].toString();
var strACCDATE = arrayList[5].toString();
//
Ext.getCmp('VOUDATE').setValue(strVOUDATE);
Ext.getCmp('VOUDATE').setMinValue(strACCDATE + "-01");
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
}
});
//#endregion
win = Ext.widget('window', {
title: '生成总账凭证',
closeAction: 'destroy', //hide,destroy
width: 250,
height: 250,
layout: 'fit',
resizable: true,
modal: true,
closable: false, //为false时tab上不显示叉号
items: formDiv
});
}
win.show();
},
//#endregion
//#region 查看总账凭证
onSelCwVouchers: function (sVOUCHERNO) {
if (sVOUCHERNO == '') {
var selections = this.gridList.getSelectionModel().getSelection();
var rec = selections[0];
var sVOUCHERNO = rec.data.VOUCHERNO;
if (sVOUCHERNO == '') {
//Ext.Msg.show({ title: '提示', msg: '请先生成接口凭证!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
}
this.sqlcontext = sVOUCHERNO;
this.OprationStatus = 'sel';
DsOpenEditWin('/MvcShipping/MsCwVouchersGl/Edit', "总账凭证录入", "500", "940", "10", "10");
},
//#endregion
//#endregion
//#region 接口凭证
//#region 生成接口凭证
onAddCwVouchersJK: function (button, event) {
var selections = this.gridList.getSelectionModel().getSelection();
if (selections.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var strGids = "";
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
var VOUNO = rec.data.VOUNO; //凭证号
var BILLSTATUS = rec.data.BILLSTATUS; //是否锁定
if (VOUNO == "" && BILLSTATUS == 1) {
if (strGids == "")
strGids = rec.data.GID;
else {
strGids += "," + rec.data.GID;
}
}
}
if (strGids == "") {
Ext.Msg.show({ title: '提示', msg: '请选择已锁定且未生成凭证的单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
//
this.showContactFormJK(false, strGids, this);
},
//#endregion
//#region 接口层_显示信息
showContactFormJK: function (winJK, strGids, _this) {
var required = '<span style="color:red;font-weight:bold;" data-qtip="Required">*</span>';
if (!winJK) {
//#region formDiv 下拉框信息加载
//制单人
this.storePREPAREDCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
this.storePREPAREDCode.load();
this.comboxPREPARED = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '制单人',
store: this.storePREPAREDCode,
forceSelection: true,
//id: 'PREPARED',
name: 'PREPARED',
valueField: 'UserName',
displayField: 'CodeAndName',
value: SHOWNAME
});
//#endregion
//#region 编辑formDiv 基本信息
var formDivJK = Ext.widget('form', {
border: false,
bodyPadding: 10,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 60,
labelStyle: 'font-weight:bold'
},
items: [this.comboxPREPARED, {
fieldLabel: '记账日期',
format: 'Y-m-d',
xtype: 'datefield',
allowBlank: false,
id: 'VOUDATE',
name: 'VOUDATE',
value: Ext.util.Format.date(Ext.Date.add(new Date(), Ext.Date.MONTH - 1, 1), "Y-m-d"),
listeners: {
'blur': function (field, The, eOpts) {
this.GetCodeCurrencyListJK(Ext.getCmp('VOUDATE').getRawValue());
},
scope: this
}
}, {
//fieldLabel: "",
xtype: "checkbox", //checkbox控件
//id: "ButtSettlement",
name: "ButtSettlement",
boxLabel: "对抵结算是否生成银行账款",
width: 200,
inputValue: "true", //选中的值
uncheckedValue: "false" //未选中的值
}, {
//fieldLabel: "",
xtype: "checkbox", //checkbox控件
id: "ISRATE",
name: "ISRATE",
boxLabel: "是否按照系统录入汇率",
width: 200,
inputValue: "true", //选中的值
uncheckedValue: "false", //未选中的值
checked: true, //绘制时的选中状态
listeners: {
'change': function (field, newValue, oldValue, eOpts) {
if (field.checked.toString() == "false") {
Ext.getCmp('RATE').show();
}
else {
Ext.getCmp('RATE').hide();
}
},
scope: this
}
}, {
fieldLabel: '美元汇率',
id: 'RATE',
name: 'RATE',
xtype: 'numberfield',
nanText: '请输入有效整数',
value: 1,
//labelAlign: 'right',
//labelWidth: 65,
//width: 163,
allowBlank: false
}],
buttons: [{
text: '生成凭证',
handler: function (options, success, response) {
if (!this.up('form').getForm().isValid()) {
return;
}
var dataDiv = this.up('form').getForm().getValues(false, false, false);
//
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/Account/Chfee_settlement/onAddCwVouchersJK',
scope: this,
params: {
strGids: strGids,
dataDiv: Ext.JSON.encode(dataDiv)
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var sData = jsonresult.Data;
//是否自动弹出结算凭证
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/Account/Chfee_settlement/onIsSettlementsopenJK',
scope: this,
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
_this.onSelCwVouchersJK(sData.toString());
//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 });
}
} else {
//Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
//Ext.Msg.hide();
}
});
_this.onRefreshClick();
} 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 });
}
}
});
//
this.up('form').getForm().reset();
//this.up('window').hide();
this.up('window').close();
}
}, {
text: '取消',
handler: function () {
this.up('form').getForm().reset();
//this.up('window').hide();
this.up('window').close();
}
}],
listeners: {
scope: this,
'render': function (thisDiv, thisExtend) {
Ext.getCmp('RATE').hide();
this.GetCodeCurrencyListJK(Ext.getCmp('VOUDATE').getRawValue());
}
}
});
//#endregion
winJK = Ext.widget('window', {
title: '生成接口凭证',
closeAction: 'destroy', //hide,destroy
width: 250,
height: 250,
layout: 'fit',
closable: false, //为false时tab上不显示叉号
resizable: true,
modal: true,
items: formDivJK
});
}
winJK.show();
},
//获取默认汇率
GetCodeCurrencyListJK: function (sVOUDATE) {
Ext.Ajax.request({
waitMsg: '正在添加数据...',
url: '/Account/Chfee_settlement/GetCodeCurrencyListJK',
params: {
sVOUDATE: sVOUDATE
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.getCmp('RATE').setValue("0");
//Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK });
return;
} else {
Ext.getCmp('RATE').setValue(result.data[0].FCYEXRATE.toString());
}
} else {
Ext.getCmp('RATE').setValue("0");
//Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
},
//#endregion
//#region 查看接口凭证
onSelCwVouchersJK: function (sVOUNO) {
if (sVOUNO == '') {
var selections = this.gridList.getSelectionModel().getSelection();
var rec = selections[0];
var sVOUNO = rec.data.VOUNO;
if (sVOUNO == '') {
//Ext.Msg.show({ title: '提示', msg: '请先生成接口凭证!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
}
this.sqlcontext = sVOUNO;
this.OprationStatus = 'sel';
DsOpenEditWin('/MvcShipping/MsCwVouchers/Edit', "接口凭证录入", "500", "940", "10", "10");
},
//#endregion
//#endregion
//凭证维护页面的传值
OprationSwapJK: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
ret[3] = this.sqlcontext;
ret[4] = Ext.getCmp('btnRefresh');
ret[5] = null;
ret[6] = null;
ret[7] = null;
ret[8] = null;
ret[9] = null;
ret[10] = null;
return ret;
},
//维护页面的传值
OprationSwap: function () {
var ret = new Array();
ret[0] = this.OprationStatus;
ret[1] = this.storeList;
ret[2] = this.SelectedRecord;
ret[3] = this.sqlcontext;
return ret;
}
});