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/Areas/MvcShipping/Viewsjs/MsCwCarryOver/MsCwCarryOverIndex.js

1034 lines
44 KiB
JavaScript

2 years ago
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
});