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.

1034 lines
44 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Ext.namespace('Shipping');
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); }
//#region 当前日期格式
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //cond
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
return format;
}
var xhr = new XMLHttpRequest();
var currdate = new Date();
xhr.open("HEAD", location.href, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var datestr = xhr.getResponseHeader("Date");
currdate = new Date(datestr);
}
}
xhr.send(null);
//#endregion
Shipping.MsCwCarryOverIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsCwCarryOverIndex.superclass.constructor.call(this);
};
Ext.extend(Shipping.MsCwCarryOverIndex, Ext.Panel, {
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
initUIComponents: function () {
this.formname = "formMsCwCarryOverIndex"; //期末结转
//#region formSearch 下拉框信息加载
//汇兑收益科目加载
this.storeCwAccitems = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
});
this.storeCwAccitems.load({ params: { condition: "DETAILED=1 and ISENABLE=1"} });
this.comboxACCNAME = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '汇兑收益科目',
store: this.storeCwAccitems,
forceSelection: true, //输入值是否严格为待选列表中存在的值
id: 'ExchangeGains',
name: 'ExchangeGains',
width: 533,
valueField: 'ACCID',
displayField: 'ACCIDNAME',
allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 118) {//F7
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 150), (window.screen.availWidth / 2 - 500));
}
},
scope: this
}
}
});
//汇兑损失科目加载
this.storeCwAccitems1 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
});
this.storeCwAccitems1.load({ params: { condition: "DETAILED=1 and ISENABLE=1"} });
this.comboxACCNAME1 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '汇兑损失科目',
store: this.storeCwAccitems1,
forceSelection: true, //输入值是否严格为待选列表中存在的值
id: 'ExchangeLoss',
name: 'ExchangeLoss',
width: 533,
valueField: 'ACCID',
displayField: 'ACCIDNAME',
allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 118) {//F7
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 150), (window.screen.availWidth / 2 - 500));
}
},
scope: this
}
}
});
//本年利润科目加载
this.storeCwAccitems2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
});
this.storeCwAccitems2.load({ params: { condition: "DETAILED=1 and ISENABLE=1"} });
this.comboxACCNAME2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '本年利润科目',
store: this.storeCwAccitems2,
forceSelection: true, //输入值是否严格为待选列表中存在的值
id: 'CurrentYearProfits',
name: 'CurrentYearProfits',
width: 533,
valueField: 'ACCID',
displayField: 'ACCIDNAME',
allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 118) {//F7
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 150), (window.screen.availWidth / 2 - 500));
}
},
scope: this
}
}
});
//以前年度损益调整科目的结转科目
this.storeCwAccitems3 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
});
this.storeCwAccitems3.load({ params: { condition: "DETAILED=1 and ISENABLE=1"} });
this.comboxACCNAME3 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '以前年度损益调整科目的结转科目',
store: this.storeCwAccitems3,
forceSelection: false, //输入值是否严格为待选列表中存在的值
id: 'UndistributedProfit',
name: 'UndistributedProfit',
width: 533,
valueField: 'ACCID',
displayField: 'ACCIDNAME',
allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 118) {//F7
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 150), (window.screen.availWidth / 2 - 500));
}
},
scope: this
}
}
});
//键值维护表_凭证字1
this.storeCrmKeyCodeCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CrmKeyCodeModel',
proxy: { url: '/CommMng/BasicDataRef/GetCrmKeyCodeList' }
});
this.storeCrmKeyCodeCode.load({ params: { condition: " and KEYTYPE='凭证字'"} });
this.comboxVKNO = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '凭证字',
labelWidth: 50,
store: this.storeCrmKeyCodeCode,
forceSelection: true,
name: 'VKNO',
width: 100,
valueField: 'KEYVALUE',
displayField: 'KEYVALUE',
value: '记',
allowBlank: false,
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var VKNO = records[0].data.KEYVALUE;
var VOUDATE = this.formQMTH.getForm().findField('VOUDATE').getRawValue();;
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwCarryOver/GetMaxVou',
params: {
VKNO: VKNO,
vktype: '1',
VOUDATE:VOUDATE
},
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;
this.formQMTH.getForm().findField('VOUNO').setValue(data);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
}
}
//
});
//键值维护表_凭证字2
this.storeCrmKeyCodeCode2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CrmKeyCodeModel',
proxy: { url: '/CommMng/BasicDataRef/GetCrmKeyCodeList' }
});
this.storeCrmKeyCodeCode2.load({ params: { condition: " and KEYTYPE='凭证字'"} });
this.comboxVKNO2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '凭证字',
labelWidth: 50,
store: this.storeCrmKeyCodeCode2,
forceSelection: true,
name: 'VKNO2',
width: 100,
valueField: 'KEYVALUE',
displayField: 'KEYVALUE',
value: '记',
allowBlank: false,
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (records.length > 0) {
var VKNO = records[0].data.KEYVALUE;
var VOUDATE = this.formJZSY.getForm().findField('VOUDATE2').getRawValue();;
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwCarryOver/GetMaxVou',
params: {
VKNO: VKNO,
vktype: '2',
VOUDATE: VOUDATE
},
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;
this.formJZSY.getForm().findField('VOUNO2').setValue(data);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
}
}
//
});
//#endregion
//#region 编辑formHead 基本信息
this.formHead = Ext.widget('form', {
region: 'north',
frame: true,
items: [{ xtype: 'hiddenfield', height: 10 }, {
xtype: 'displayfield',
style: 'font-size: 20px; color: #336699; font-weight: bold;',
id: 'lbTitle',
name: 'lbTitle',
width: 650,
allowBlank: false
}]
});
this.formQMTH = Ext.widget('form', {
region: 'north',
//layout: "border",
//height: 35,
style: 'border:0px solid black; border-top:0;', //隐藏边框
frame: true,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 70
},
items: [{ xtype: 'hiddenfield', height: 10 }, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxVKNO, {
fieldLabel: '',
id: 'VOUNO',
name: 'VOUNO',
width: 60,
xtype: 'numberfield',
nanText: '请输入有效整数',
value: 0,
allowBlank: false
}, {
xtype: 'label',
labelWidth: 50,
text: "号",
style: 'vertical-align: text-bottom;'
}, {
fieldLabel: '日期',
id: 'VOUDATE',
name: 'VOUDATE',
xtype: 'datefield',
format: 'Y-m-d',
value: currdate.format('yyyy-MM-dd'),
width: 160,
labelWidth: 50,
allowBlank: false
}, {
fieldLabel: '凭证摘要',
id: 'EXPLAN',
name: 'EXPLAN',
value: '结转汇兑收益',
labelWidth: 70,
allowBlank: false
}]
}, { xtype: 'hiddenfield', height: 10 }, {
xtype: "checkbox", //checkbox控件
id: "cbHLTZB",
name: "cbHLTZB",
boxLabel: "是否需要生成汇率调整凭证",
fieldLabel: "汇率调整表",
inputValue: "true", //选中的值
uncheckedValue: "false", //未选中的值
checked: true //绘制时的选中状态
}]//end items(fieldset 1)
});
this.formJZSY = Ext.widget('form', {
title: '结转损益',
region: 'north',
//layout: "border",
//height: 35,
frame: true,
collapsible: true, //将激活折叠功能
fieldDefaults: {
labelAlign: 'right',
labelWidth: 90
},
items: [{ xtype: 'hiddenfield', height: 10 }, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxVKNO2, {
fieldLabel: '',
id: 'VOUNO2',
name: 'VOUNO2',
width: 60,
xtype: 'numberfield',
nanText: '请输入有效整数',
value: 0,
allowBlank: false
}, {
xtype: 'label',
labelWidth: 50,
text: "号",
style: 'vertical-align: text-bottom;'
}, {
fieldLabel: '日期',
id: 'VOUDATE2',
name: 'VOUDATE2',
xtype: 'datefield',
format: 'Y-m-d',
value: currdate.format('yyyy-MM-dd'),
width: 160,
labelWidth: 50,
allowBlank: false
}, {
fieldLabel: '凭证摘要',
id: 'EXPLAN2',
name: 'EXPLAN2',
labelWidth: 70,
value: '结转本期损益',
allowBlank: false
}]
}, { xtype: 'hiddenfield', height: 30}]//end items(fieldset 1)
});
this.formGJSZ = Ext.widget('form', {
title: '高级设置',
region: 'north',
//layout: "border",
//height: 35,
frame: true,
collapsible: true, //将激活折叠功能
fieldDefaults: {
labelAlign: 'right',
labelWidth: 200
},
items: [{ xtype: 'hiddenfield', height: 10 }, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
xtype: 'fieldset',
id: 'cType',
title: '凭证分类',
autoHeight: true,
defaultType: 'radio', //设置fieldset内的默认元素为radio
layout: 'hbox',
width: 533,
items: [
{ boxLabel: '分别生成收益凭证和损失凭证', name: 'cType', inputValue: '1', width: 200 },
{ boxLabel: '生成一张凭证,既包括收益也包括损失', name: 'cType', inputValue: '2', checked: true }
]
}]
}, {
xtype: "checkbox", //checkbox控件
id: "cbJZFS",
name: "cbJZFS",
boxLabel: "按科目余额反向结转",
fieldLabel: "结转方式",
inputValue: "true", //选中的值
uncheckedValue: "false" //未选中的值
//checked: false, //绘制时的选中状态
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxACCNAME]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxACCNAME1]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxACCNAME2]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxACCNAME3]
}, { xtype: 'hiddenfield', height: 30}]//end items(fieldset 1)
});
this.formBlank = Ext.widget('form', {
region: 'south',
height: 30,
style: 'border:0px solid black; border-top:0;', //隐藏边框
frame: true,
items: [{ xtype: 'container'}]
});
//#endregion
//#region 定义数据集
this.storeList = Ext.create('Ext.data.Store', {
model: 'MsCwVouitemsGl2Model',
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCwCarryOver/GetDataList',
reader: {
id: 'GID',
root: 'data'
}
},
autoLoad: true
});
//#endregion
//#region 列定义
this.girdcolums = [{
sortable: false,
dataIndex: 'GID',
text: '唯一编码',
width: 0
}, {
sortable: false,
text: '币别',
dataIndex: 'FCYNO',
width: 100,
align: 'center'
}, {
sortable: false,
text: '币别名称',
dataIndex: 'FCYNAME',
width: 100,
align: 'center'
}, {
sortable: false,
text: '当前汇率',
dataIndex: 'FCYEXRATE',
width: 100,
align: 'right',
//renderer: Ext.util.Format.numberRenderer('00.00000'),
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 5, '', true);
return value;
}
}, {
sortable: false,
text: '调整汇率(当前)',
dataIndex: 'FCYEXRATE2',
width: 100,
align: 'right',
//renderer: Ext.util.Format.numberRenderer('00.00000'),
editor: {
xtype: 'numberfield',
allowBlank: false,
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
decimalPrecision: 5, //允许保留的小数位数,并四舍五入
nanText: '请输入有效小数',
keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值
hideTrigger: false, //是否隐藏上下调节按钮
mouseWheelEnabled: true, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值
//step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 40) {
this.onCodeKey40Click(40);
}
else if (e.getKey() == 38) {
this.onCodeKey40Click(38);
}
},
scope: this
}
}
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 5, '', true);
return value;
}
}];
//#endregion
//#region gridList列表显示信息
this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1 //1单击2双击
});
this.gridList = new Ext.grid.GridPanel({
region: 'center',
width: 537,
store: this.storeList,
enableHdMenu: false, //是否显示表格列的菜单
hideHeaders: false, //是否隐藏表头
rowLines: true,
columnLines: true,
loadMask: { msg: "数据加载中,请稍等..." },
plugins: [this.gridListCellEditing],
selType: 'cellmodel',
columns: this.girdcolums
});
//this.storeList.on('beforeload', function (store) { Ext.apply(store.proxy.extraParams, { condition: "" }); }, this);
//this.storeList.load({ params: { condition: "" }, waitMsg: "正在查询数据...", scope: this });
//#endregion
//#region 按钮工具条
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [{
text: '生成凭证',
tooltip: '生成凭证',
id: "btnadd",
iconCls: "btnadd",
handler: function (button, event) {
this.onAddClick(button, event);
},
scope: this
}, '-', {
id: 'btnsave',
text: "结转到下期",
tooltip: '结转到下期',
iconCls: "btnsave",
handler: function (button, event) {
this.Save();
},
scope: this
}, '-', {
id: 'btnSaveReturn',
text: "返结转到上期",
tooltip: '返结转到上期',
iconCls: "btnsave",
handler: function (button, event) {
this.SaveReturn();
},
scope: this
}, '-', {
text: "刷新",
iconCls: "btnrefresh",
handler: function (button, event) {
this.InitData();
},
scope: this
}]
}); //end 按钮Toolbar
//#endregion
//#region 页面布局
this.panelQMTH = new Ext.Panel({
title: '期末调汇',
//layout: "anchor",
//layout: "border",
region: 'north',
frame: true,
collapsible: true, //将激活折叠功能
items: [this.formQMTH, this.gridList, this.formBlank]
});
Ext.apply(this, {
items: [this.panelBtn, this.formHead, this.panelQMTH, this.formJZSY, this.formGJSZ]
});
//#endregion
//加载事件
this.InitData();
}, //end initUIComponents
//#region 加载事件
InitData: function () {
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwCarryOver/GetData',
params: {
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;
}
//
data = result.data;
this.formHead.getForm().reset();
this.formHead.getForm().setValues(data);
this.formQMTH.getForm().reset();
this.formQMTH.getForm().setValues(data);
this.formJZSY.getForm().reset();
this.formJZSY.getForm().setValues(data);
this.formGJSZ.getForm().reset();
this.formGJSZ.getForm().setValues(data);
//
Ext.getCmp('VOUDATE').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE').setMaxValue(data.VOUDATE2);
//
Ext.getCmp('VOUDATE2').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE2').setMaxValue(data.VOUDATE2);
//
this.storeList.reload();
this.onBtnHidden(data.VOUNUM, data.VOUNUM_ISCHECKED, data.VOUNUM_ISCARRY, data.isCarryOverType);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}, //end InitData
//#endregion
//#region 按钮函数
onCodeKey40Click: function (codeKey) {
if (codeKey == 40) {//向下方向键
var rows = this.gridList.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridList.getStore();
var n = this.storeList.getCount();
var number = s.indexOf(row);
if ((number + 1) < n) {
number = number + 1;
}
this.gridListCellEditing.startEditByPosition({ row: number, column: 4 });
}
else if (codeKey == 38) {//向上方向键
var rows = this.gridList.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridList.getStore();
var number = s.indexOf(row);
if ((number - 1) >= 0) {
number = number - 1;
}
this.gridListCellEditing.startEditByPosition({ row: number, column: 4 });
}
},
onBtnHidden: function (VOUNUM, VOUNUM_ISCHECKED, VOUNUM_ISCARRY, isCarryOverType) {
if (VOUNUM == 0) {
Ext.getCmp('btnadd').disable(); //隐藏
Ext.getCmp('btnsave').enable(); //显示
if (VOUNUM_ISCARRY != 0) {
Ext.getCmp('btnadd').disable(); //隐藏
Ext.getCmp('btnsave').disable(); //隐藏
}
}
else {
if (VOUNUM_ISCHECKED > 0) {
Ext.getCmp('btnadd').disable(); //隐藏
Ext.getCmp('btnsave').disable(); //隐藏
} else {
Ext.getCmp('btnadd').enable(); //显示
Ext.getCmp('btnsave').enable(); //显示
//
if (isCarryOverType == "true") {
Ext.getCmp('btnadd').disable(); //隐藏
Ext.getCmp('btnsave').enable(); //显示
//
if (VOUNUM_ISCARRY != 0) {
Ext.getCmp('btnadd').disable(); //隐藏
Ext.getCmp('btnsave').disable(); //隐藏
}
}
else {
Ext.getCmp('btnadd').enable(); //显示
Ext.getCmp('btnsave').enable(); //显示
//
if (VOUNUM_ISCARRY != 0) {
Ext.getCmp('btnadd').enable(); //显示
Ext.getCmp('btnsave').disable(); //隐藏
}
}
}
}
//
if (VOUNUM == VOUNUM_ISCHECKED) {
//Ext.getCmp('btnSaveReturn').enable(); //显示
}
else {
//Ext.getCmp('btnSaveReturn').disable(); //隐藏
}
},
//#endregion
//#region 生成凭证
onAddClick: function (button, event) {
if (!this.formHead.getForm().isValid()) {
return;
}
if (!this.formQMTH.getForm().isValid()) {
return;
}
if (!this.formJZSY.getForm().isValid()) {
return;
}
if (!this.formGJSZ.getForm().isValid()) {
return;
}
//
var dataHead = this.formHead.getForm().getValues(false, false, false);
var dataQMTH = this.formQMTH.getForm().getValues(false, false, false);
var dataJZSY = this.formJZSY.getForm().getValues(false, false, false);
var dataGJSZ = this.formGJSZ.getForm().getValues(false, false, false);
//
var j = 0;
var bodydatas = [];
for (var i = 0; i < this.storeList.getCount(); i += 1) {
var member = this.storeList.getAt(i);
bodydatas.push(member);
}
var jsonBody;
if (bodydatas.length > 0) {
jsonBody = ConvertRecordsToJsonAll(bodydatas);
}
//
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsCwCarryOver/AddEdit',
scope: this,
params: {
dataHead: Ext.JSON.encode(dataHead),
dataQMTH: Ext.JSON.encode(dataQMTH),
dataJZSY: Ext.JSON.encode(dataJZSY),
dataGJSZ: Ext.JSON.encode(dataGJSZ),
jsonBody: jsonBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.MessageBox.INFO, buttons: Ext.Msg.OK });
//this.storeList.load({ params: { condition: "" }, waitMsg: "正在刷新数据...", scope: this });
this.InitData();
} 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 });
}
}
});
},
//#endregion
//#region 结转
Save: function (button, event) {
if (!this.formHead.getForm().isValid()) {
return;
}
if (!this.formQMTH.getForm().isValid()) {
return;
}
if (!this.formJZSY.getForm().isValid()) {
return;
}
if (!this.formGJSZ.getForm().isValid()) {
return;
}
//
Ext.MessageBox.confirm('提示', '结账之后本期不能再输入新的记账凭证,所有的财务资料都无法在修改,所以结账操作一定要慎重,确定要结转本期数据吗?', function (btn) {
if (btn == 'yes') {
var dataHead = this.formHead.getForm().getValues(false, false, false);
var dataQMTH = this.formQMTH.getForm().getValues(false, false, false);
var dataJZSY = this.formJZSY.getForm().getValues(false, false, false);
var dataGJSZ = this.formGJSZ.getForm().getValues(false, false, false);
//
var j = 0;
var bodydatas = [];
for (var i = 0; i < this.storeList.getCount(); i += 1) {
var member = this.storeList.getAt(i);
bodydatas.push(member);
}
var jsonBody;
if (bodydatas.length > 0) {
jsonBody = ConvertRecordsToJsonAll(bodydatas);
}
//
Ext.Msg.wait('正在操作数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在操作数据...',
url: '/MvcShipping/MsCwCarryOver/isSave',
scope: this,
params: {
dataHead: Ext.JSON.encode(dataHead),
dataQMTH: Ext.JSON.encode(dataQMTH),
dataJZSY: Ext.JSON.encode(dataJZSY),
dataGJSZ: Ext.JSON.encode(dataGJSZ),
jsonBody: jsonBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (!jsonresult.Success) {
Ext.MessageBox.confirm('提示', jsonresult.Message.toString(), function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在操作数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在操作数据...',
url: '/MvcShipping/MsCwCarryOver/Save',
params: {
dataHead: Ext.JSON.encode(dataHead),
dataQMTH: Ext.JSON.encode(dataQMTH),
dataJZSY: Ext.JSON.encode(dataJZSY),
dataGJSZ: Ext.JSON.encode(dataGJSZ),
jsonBody: jsonBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var data = jsonresult.Data;
this.formHead.getForm().reset();
this.formHead.getForm().setValues(data);
this.formQMTH.getForm().reset();
this.formQMTH.getForm().setValues(data);
this.formJZSY.getForm().reset();
this.formJZSY.getForm().setValues(data);
this.formGJSZ.getForm().reset();
this.formGJSZ.getForm().setValues(data);
//
Ext.getCmp('VOUDATE').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE').setMaxValue(data.VOUDATE2);
//
Ext.getCmp('VOUDATE2').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE2').setMaxValue(data.VOUDATE2);
//
this.InitData();
} 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
});
}
},
timeout: 5000000, //30秒
scope: this
});
}
}, this);
} else {
Ext.Msg.wait('正在操作数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在操作数据...',
url: '/MvcShipping/MsCwCarryOver/Save',
params: {
dataHead: Ext.JSON.encode(dataHead),
dataQMTH: Ext.JSON.encode(dataQMTH),
dataJZSY: Ext.JSON.encode(dataJZSY),
dataGJSZ: Ext.JSON.encode(dataGJSZ),
jsonBody: jsonBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var data = jsonresult.Data;
this.formHead.getForm().reset();
this.formHead.getForm().setValues(data);
this.formQMTH.getForm().reset();
this.formQMTH.getForm().setValues(data);
this.formJZSY.getForm().reset();
this.formJZSY.getForm().setValues(data);
this.formGJSZ.getForm().reset();
this.formGJSZ.getForm().setValues(data);
//
Ext.getCmp('VOUDATE').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE').setMaxValue(data.VOUDATE2);
//
Ext.getCmp('VOUDATE2').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE2').setMaxValue(data.VOUDATE2);
//
this.InitData();
} 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
});
}
},
timeout: 5000000, //30秒
scope: this
});
}
} else {
Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
}
});
}
}, this);
}, //end save
//#endregion
//#region 返结
SaveReturn: function (button, event) {
Ext.MessageBox.confirm('提示', '“反结账”可以将当前的会计期间反结转到上期,请慎重考虑,确定返结转到上期吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在返结数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在返结数据...',
url: '/MvcShipping/MsCwCarryOver/SaveReturn',
scope: this,
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var data = jsonresult.Data;
this.formHead.getForm().reset();
this.formHead.getForm().setValues(data);
this.formQMTH.getForm().reset();
this.formQMTH.getForm().setValues(data);
this.formJZSY.getForm().reset();
this.formJZSY.getForm().setValues(data);
this.formGJSZ.getForm().reset();
this.formGJSZ.getForm().setValues(data);
//
Ext.getCmp('VOUDATE').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE').setMaxValue(data.VOUDATE2);
//
Ext.getCmp('VOUDATE2').setMinValue(data.ACCDATE + "-01");
Ext.getCmp('VOUDATE2').setMaxValue(data.VOUDATE2);
//
this.InitData();
} 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);
} //end save
//#endregion
});