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.

299 lines
10 KiB
JavaScript

10 months ago
Ext.namespace('Shipping');
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); }
Shipping.MsCtCarryOverIndex = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsCtCarryOverIndex.superclass.constructor.call(this);
};
Ext.extend(Shipping.MsCtCarryOverIndex, Ext.Panel, {
OprationStatus: null, //仅当弹出界面时使用
SelectedRecord: null,
strCtSTARTGID: '',
strACCDATE: '',
strACCDAY: '',
strACCTODAY: '',
initUIComponents: function () {
this.formname = "formMsCtCarryOverIndex"; //页面名称
//#region 编辑formHead 基本信息
this.formHead = Ext.widget('form', {
region: 'north',
height: 35,
frame: true,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 70
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '轧账日期',
id: 'ACCDAY',
name: 'ACCDAY',
xtype: 'datefield',
format: 'Y-m-d',
allowBlank: false
}, { xtype: 'label', width: 20 }, {
xtype: 'label',
text: "注意:每月的最后一天,默认为期末结转日期!",
//style: 'font-size: 30px; color: #808000;',
anchor: '100%',
align: 'center'
}]
}]
});
//#endregion
//#region 定义数据集
this.storeList = Ext.create('Ext.data.Store', {
model: 'MsCtCarryOverModel',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCtCarryOver/GetDataList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 列定义
this.girdcolums = [{
sortable: false,
dataIndex: 'GID',
text: '唯一编码',
hidden: true,
width: 0
}, {
sortable: false,
dataIndex: 'ACCDAY',
header: '轧账日期',
align: 'center',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 100
}, {
sortable: false,
dataIndex: 'ISRETURN',
header: '返轧账',
xtype: "booleancolumn",
align: 'center',
width: 60,
trueText: "是",
falseText: " "
}, {
sortable: false,
dataIndex: 'ISCARRY',
header: '期末轧账',
xtype: "booleancolumn",
align: 'center',
width: 60,
trueText: "是",
falseText: " "
}, {
sortable: false,
dataIndex: 'MODIFIEDUSERNAME',
header: '操作人',
align: 'center',
width: 80
}, {
sortable: false,
dataIndex: 'MODIFIEDTIME',
header: '操作时间',
align: 'center',
width: 150
}];
//#endregion
//#region gridList列表显示信息
this.gridList = new Ext.grid.GridPanel({
region: 'center',
store: this.storeList,
enableHdMenu: false, //是否显示表格列的菜单
hideHeaders: false, //是否隐藏表头
rowLines: true,
columnLines: true,
loadMask: { msg: "数据加载中,请稍等..." },
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: "刷新",
iconCls: "btnrefresh",
handler: function (button, event) {
this.onRefreshClick();
},
scope: this
}, '-', {
text: '轧账',
tooltip: '轧账',
id: "btnCARRY",
handler: function (button, event) {
this.onCARRYClick(button, event);
},
scope: this
}, {
text: '返轧账',
tooltip: '返轧账',
id: "btnRETURN",
handler: function (button, event) {
this.onRETURNClick(button, event);
},
scope: this
}]
}); //end 按钮Toolbar
Ext.apply(this, {
items: [this.panelBtn, this.formHead, this.gridList]
});
//#endregion
this.InitData();
}, //end initUIComponents
//#region 加载事件_返回财务当前账套和会计期间
InitData: function () {
Ext.Ajax.request({
waitMsg: '正在查询...',
url: '/MvcShipping/MsCtBankJournal/GetInitData',
params: {
condition: ''
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
return;
}
//var data = result.data;
var strArg = result.data.toString().split("");
this.strCtSTARTGID = strArg[0].toString();
this.strACCDATE = strArg[1].toString();
this.strACCDAY = strArg[2].toString();
this.strACCTODAY = strArg[3].toString();
//
Ext.getCmp("ACCDAY").setValue(this.strACCDAY);
//Ext.getCmp('ACCDAY').setMinValue(strACCDATE + "-01");
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
return "";
},
//#endregion
//#region 轧账
onCARRYClick: function () {
if (!this.formHead.getForm().isValid()) {
return;
}
var sACCDAY = Ext.getCmp("ACCDAY").getRawValue();
//判断是否隔期轧账
if (sACCDAY > this.strACCDAY) {
Ext.Msg.show({ title: '提示', msg: "本期还未轧账,不允许隔期轧账!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
Ext.getCmp("ACCDAY").setValue(this.strACCDAY);
return;
}
//判断是否期末轧账
var sISCARRY = "0";
if (sACCDAY == this.strACCDAY) {
sISCARRY = "1";
}
//
Ext.MessageBox.confirm('提示', '确定轧账吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在操作数据...');
Ext.Ajax.request({
waitMsg: '正在操作数据...',
url: '/MvcShipping/MsCtCarryOver/onCARRYClick',
params: {
ACCDAY: sACCDAY,
ISCARRY: sISCARRY
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.onRefreshClick();
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
}
else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
}
},
failure: function (response, options) {
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
},
scope: this
});
}
}, this);
},
//#endregion
//#region 返轧账
onRETURNClick: function () {
if (!this.formHead.getForm().isValid()) {
return;
}
var sACCDAY = Ext.getCmp("ACCDAY").getRawValue();
Ext.MessageBox.confirm('提示', '确定返轧账吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在操作数据...');
Ext.Ajax.request({
waitMsg: '正在操作数据...',
url: '/MvcShipping/MsCtCarryOver/onRETURNClick',
params: {
ACCDAY: sACCDAY
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
this.onRefreshClick();
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
}
else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
}
},
failure: function (response, options) {
Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
},
scope: this
}); //end Ext.Ajax.request
}
}, this);
},
//#endregion
//#region 刷新
onRefreshClick: function (button, event) {
this.storeList.load({ params: { condition: "" }, waitMsg: "正在刷新数据...", scope: this });
}
//#endregion
});