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;
}
//#endregion
//#region 获取 YYYY-mm-dd 格式的日期
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
//#region 关闭窗口前的判断
function getSaved() {
var changelines = panelEdit.storeDetailList.getModifiedRecords();
var changecount = changelines.length;
var delcount = panelEdit.DelBody.length;
var AllDirty = true;
if (changecount == 0 && delcount == 0) { return false; }
if (panelEdit.formHead.getForm().isDirty() == true || AllDirty == true) { return true; }
else { return false };
}
//#endregion
Shipping.MsCwVouchersGlEdit = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.MsCwVouchersGlEdit.superclass.constructor.call(this);
};
var _orderno = '';
Ext.extend(Shipping.MsCwVouchersGlEdit, Ext.Panel, {
opStatus: 'add',
ParentWin: null,
StoreList: null,
EditRecord: null,
sqlcontext: '',
btnRefresh: null,
tbVOUNO: null,
btnAddCwVouchersJK: null,
btnSelCwVouchersJK: null,
tbVOUCHERNO: null,
btnAddCwVouchers: null,
btnSelCwVouchers: null,
strCwSTARTGID: '',
initUIComponents: function () {
this.serialNo = 0;
this.itemindex = 1;
this.DelBody = [];
this.isF7 = 0;
this.ORDNO = getUrlParam('ordno');
Ext.Ajax.timeout = 1200000;
//权限范围
this.StoreOpRangeEdit = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsOP',
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' }
});
this.StoreOpRangeEdit.load({ params: { optype: "MODVOUCHERGL" } });
//#region formSearch 下拉框信息加载
//科目加载
this.storeCwAccitems = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
//proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGlAll' }
});
this.storeCwAccitems.load({ params: { condition: "DETAILED=1 and ISENABLE=1" } });
//this.storeCwAccitems.load();
this.comboxACCNAME = Ext.create('DsExt.ux.RefTableCombox', {
//fieldLabel: '科目名称',
store: this.storeCwAccitems,
forceSelection: false, //输入值是否严格为待选列表中存在的值
id: 'ACCNAME',
name: 'ACCNAME',
valueField: 'ACCNAME',
//valueField: 'ACCIDNAME',
displayField: 'ACCIDNAME',
allowBlank: false,
matchFieldWidth: false, //下拉款自适应宽度
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': function (combo, eOpts) {
//fn: function (e) {
// e.expand();
// this.doQuery(this.allQuery, true);
//},
//buffer: 200
//if (combo.value != null) {
// var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
// var sACCID = selections[0].data.ACCID;
// var strOriginalValue = combo.value.toString();
// if (strOriginalValue.indexOf("▁") < 0) {
// var ayList = new Array();
// ayList = strOriginalValue.split("▁");
// var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', (sACCID + "-" + ayList[0].toString()));
// if (AccitemsList.length == 0) {
// AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayList[0].toString());
// }
// if (AccitemsList.length > 0) {
// var AccitemsRaw = AccitemsList.getAt(0);
// if (AccitemsRaw != null) {
// //combo.setValue((sACCID + "-" + ayList[0].toString()), combo.value.toString());
// combo.setValue(strOriginalValue);
// selections[0].set('ACCALL', strOriginalValue);
// }
// }
// }
//}
},
'blur': function blur(combo, eOpts) {
if (combo.value != null) {
var strOriginalValue = combo.value.toString();
var ayList = new Array();
ayList = strOriginalValue.split("▁");
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCNAME', ayList[0].toString());
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayList[0].toString());
if (AccitemsList.length == 0) {
var iLian = ayList[0].toString().indexOf("-");
var sACCID = ayList[0].toString().substr(0, iLian);
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', sACCID);
}
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw == null) {
combo.setValue("");
}
else {
//combo.setValue(AccitemsRaw.data.ACCIDNAME.toString());
if (this.isF7 == 1) {
this.isF7 = 0;
var AccitemsRaw2 = AccitemsList.getAt(0).raw;
this.onColumnsHidden(false, AccitemsRaw2.ISFCY);
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
selections[0].set('ACCID', AccitemsRaw2.ACCID.toString());
selections[0].set('DC', AccitemsRaw2.DC.toString());
//是不是外币,都默认为RMB?
var ssCURRENCY = selections[0].data.FCYNO;
this.storeCwAccitemsCurrency.load({
params: { condition: "LINKGID='" + AccitemsRaw2.GID + "'" },
waitMsg: "正在刷新数据...",
callback: function (options, success, response) {
var combo = Ext.getCmp("CURRENCY");
if (options.length > 0) {
for (var i = 0; i < options.length; i++) {
if (options[i].data.CURRENCY.toString() == selections[0].data.FCYNO.toString()) {
ssCURRENCY = selections[0].data.FCYNO.toString();
break;
}
if (options[i].data.CURRENCY.toString() == 'RMB') {
ssCURRENCY = 'RMB';
break;
}
ssCURRENCY = options[0].data.CURRENCY;
}
}
else {
ssCURRENCY = "RMB";
}
combo.setValue(ssCURRENCY); //选中
selections[0].set('FCYNO', ssCURRENCY);
selections[0].set('CURRENCY', ssCURRENCY); //FCYNO
},
async: false,
scope: this
});
if (AccitemsRaw2.ISFCY) {
//如果是外币,则默认传送''
var VOUDATE = this.formHead.getForm().findField('VOUDATE').getRawValue();
Ext.Ajax.request({
waitMsg: '正在查询汇率值...',
url: '/MvcShipping/MsCwVouchersGl/GetFCYEXRATEBYVOUDATE',
params: {
FCY: '',
LINKGID: AccitemsRaw2.GID.toString(),
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.INFO, buttons: Ext.Msg.OK });
return;
}
var strArg = result.data.toString().split(",");
var FCYNO = strArg[0].toString();
// var strFCYEXRATE = selections[0].data.FCYEXRATE;
var strFCYEXRATE = strArg[1].toString();
if (strFCYEXRATE == 1) {
strFCYEXRATE = Div(strArg[1].toString(), 1, 5);
}
selections[0].set('FCYEXRATE', strFCYEXRATE.toString());
selections[0].set('FCYNO', FCYNO);
selections[0].set('CURRENCY', FCYNO);
//
var AMTDR = selections[0].data.AMTDR;
var AMTCR = selections[0].data.AMTCR;
var AMT = 0;
if (AMTDR != 0) {
AMT = AMTDR;
}
if (AMTCR != 0) {
AMT = AMTCR;
}
selections[0].set('FCYAMT', Div(AMT, strFCYEXRATE, 2));
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
async: false,
scope: this
});
}
else {
selections[0].set('FCYEXRATE', 1);
selections[0].set('FCYNO', 'RMB');
selections[0].set('FCYAMT', 0);
}
if (AccitemsRaw2.ISDEPTACC || AccitemsRaw2.ISEMPLACC || AccitemsRaw2.ISCORPACC || AccitemsRaw2.ISITEMACC) {
var winaccitemsedit = Ext.getCmp('winaccitemsedit');
if (winaccitemsedit == undefined||!winaccitemsedit.show) {
var strOriginalValue = selections[0].get('ACCALL');
this.showContactForm(false, AccitemsRaw2.ACCIDNAME.toString(), strOriginalValue.toString(), AccitemsRaw2, selections, false);
}
}
else {
this.onNextKeyClick(4);
}
}
else {
this.isF7 = 0;
}
}
}
else {
combo.setValue("");
}
}
else {
combo.setValue("");
}
},
'select': function (combo, records, eOpts) {
if (combo.value.toString() != "") {
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', combo.rawValue.toString());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
this.onColumnsHidden(false, AccitemsRaw.ISFCY);
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
//是不是外币,都默认为RMB?
var ssCURRENCY = selections[0].data.FCYNO;
this.storeCwAccitemsCurrency.load({
params: { condition: "LINKGID='" + AccitemsRaw.GID + "'" },
waitMsg: "正在刷新数据...",
callback: function (options, success, response) {
var combo = Ext.getCmp("CURRENCY");
if (options.length > 0) {
for (var i = 0; i < options.length; i++) {
if (options[i].data.CURRENCY.toString() == selections[0].data.FCYNO.toString()) {
ssCURRENCY = selections[0].data.FCYNO.toString();
break;
}
if (options[i].data.CURRENCY.toString() == 'RMB') {
ssCURRENCY = 'RMB';
break;
}
ssCURRENCY = options[0].data.CURRENCY;
}
}
else {
ssCURRENCY = "RMB";
}
combo.setValue(ssCURRENCY); //选中
selections[0].set('FCYNO', ssCURRENCY);
},
async: false,
scope: this
});
// combo.setValue(combo.value.toString());
selections[0].set('ACCNAME', combo.value.toString());
selections[0].set('ACCID', AccitemsRaw.ACCID.toString());
selections[0].set('DC', AccitemsRaw.DC.toString());
//
if (AccitemsRaw.ISFCY) {
//如果是外币,则默认传送''
var VOUDATE = this.formHead.getForm().findField('VOUDATE').getRawValue();
Ext.Ajax.request({
waitMsg: '正在查询汇率值...',
url: '/MvcShipping/MsCwVouchersGl/GetFCYEXRATEBYVOUDATE',
params: {
FCY: '',
LINKGID: AccitemsRaw.GID.toString(),
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.INFO, buttons: Ext.Msg.OK });
return;
}
var strArg = result.data.toString().split(",");
var FCYNO = strArg[0].toString();
// var strFCYEXRATE = selections[0].data.FCYEXRATE;
var strFCYEXRATE = strArg[1].toString();
if (strFCYEXRATE == 1) {
strFCYEXRATE = Div(strArg[1].toString(), 1, 5);
}
selections[0].set('FCYEXRATE', strFCYEXRATE);
selections[0].set('FCYNO', ssCURRENCY); //FCYNO
selections[0].set('CURRENCY', ssCURRENCY); //FCYNO
//
var AMTDR = selections[0].data.AMTDR;
var AMTCR = selections[0].data.AMTCR;
var AMT = 0;
if (AMTDR != 0) {
AMT = AMTDR;
}
if (AMTCR != 0) {
AMT = AMTCR;
}
selections[0].set('FCYAMT', Div(AMT, strFCYEXRATE, 2));
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
async: false,
scope: this
});
}
else {
selections[0].set('FCYEXRATE', 1);
selections[0].set('FCYNO', 'RMB');
selections[0].set('FCYAMT', 0);
}
if (AccitemsRaw.ISDEPTACC || AccitemsRaw.ISEMPLACC || AccitemsRaw.ISCORPACC || AccitemsRaw.ISITEMACC) {
var winaccitemsedit = Ext.getCmp('winaccitemsedit');
if (winaccitemsedit == undefined ||!winaccitemsedit.show) {
var strOriginalValue = combo.value.toString();
this.showContactForm(false, combo.value.toString(), strOriginalValue.toString(), AccitemsRaw, selections, false);
}
}
else {
this.onNextKeyClick(4);
}
}
else {
combo.setValue("");
}
}
},
'keydown': {
fn: function (_field, e, eOpts) {
if (e.getKey() == 118) {//F7
this.isF7 = 1;
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 150), (window.screen.availWidth / 2 - 500));
}
else if (e.getKey() == 13) {
var newValue = _field.rawValue.toString();
var inv = newValue.indexOf("-");
if (inv > -1) {
newValue = newValue.substr(inv + 1);
}
if (newValue != "") {
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', _field.rawValue.toString());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
this.onColumnsHidden(false, AccitemsRaw.ISFCY);
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
selections[0].set('ACCID', AccitemsRaw.ACCID.toString());
selections[0].set('DC', AccitemsRaw.DC.toString());
//是不是外币,都默认为RMB?
var ssCURRENCY = selections[0].data.FCYNO;
this.storeCwAccitemsCurrency.load({
params: { condition: "LINKGID='" + AccitemsRaw.GID + "'" },
waitMsg: "正在刷新数据...",
callback: function (options, success, response) {
var combo = Ext.getCmp("CURRENCY");
if (options.length > 0) {
for (var i = 0; i < options.length; i++) {
if (options[i].data.CURRENCY.toString() == selections[0].data.FCYNO.toString()) {
ssCURRENCY = selections[0].data.FCYNO.toString();
break;
}
if (options[i].data.CURRENCY.toString() == 'RMB') {
ssCURRENCY = 'RMB';
break;
}
ssCURRENCY = options[0].data.CURRENCY;
}
}
else {
ssCURRENCY = "RMB";
}
combo.setValue(ssCURRENCY); //选中
selections[0].set('FCYNO', ssCURRENCY);
selections[0].set('CURRENCY', ssCURRENCY); //FCYNO
},
async: false,
scope: this
});
if (AccitemsRaw.ISFCY) {
//如果是外币,则默认传送''
var VOUDATE = this.formHead.getForm().findField('VOUDATE').getRawValue();
Ext.Ajax.request({
waitMsg: '正在查询汇率值...',
url: '/MvcShipping/MsCwVouchersGl/GetFCYEXRATEBYVOUDATE',
params: {
FCY: '',
LINKGID: AccitemsRaw.GID.toString(),
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.INFO, buttons: Ext.Msg.OK });
return;
}
var strArg = result.data.toString().split(",");
var FCYNO = strArg[0].toString();
// var strFCYEXRATE = selections[0].data.FCYEXRATE;
var strFCYEXRATE = strArg[1].toString();
if (strFCYEXRATE == 1) {
strFCYEXRATE = Div(strArg[1].toString(), 1, 5);
}
selections[0].set('FCYEXRATE', strFCYEXRATE.toString());
selections[0].set('FCYNO', FCYNO);
selections[0].set('CURRENCY', FCYNO);
//
var AMTDR = selections[0].data.AMTDR;
var AMTCR = selections[0].data.AMTCR;
var AMT = 0;
if (AMTDR != 0) {
AMT = AMTDR;
}
if (AMTCR != 0) {
AMT = AMTCR;
}
selections[0].set('FCYAMT', Div(AMT, strFCYEXRATE, 2));
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
async: false,
scope: this
});
}
else {
selections[0].set('ACCNAME', newValue);
selections[0].set('ACCALL', newValue);
selections[0].set('FCYEXRATE', 1);
selections[0].set('FCYNO', 'RMB');
selections[0].set('FCYAMT', 0);
}
if (AccitemsRaw.ISDEPTACC || AccitemsRaw.ISEMPLACC || AccitemsRaw.ISCORPACC || AccitemsRaw.ISITEMACC) {
var strOriginalValue = selections[0].get('ACCALL');
this.showContactForm(false, AccitemsRaw.ACCIDNAME.toString(), strOriginalValue.toString(), AccitemsRaw, selections, false);
// this.showContactForm(false, AccitemsRaw2.ACCIDNAME.toString(), strOriginalValue.toString(), AccitemsRaw2, selections, false);
}
else {
this.onNextKeyClick(4);
}
}
else {
_field.setValue("");
}
}
//
}
},
scope: this
},
'render': function (_field, eOpts) {//自定义函数,定义双击事件
var _this = this;
_field.getEl().on('dblclick', function (e, t, eOpts) {
var selections = _this.gridList.getSelectionModel().getSelection(); //获得选中的项
var strOriginalValue = selections[0].get('ACCALL');
var strACCID = selections[0].get('ACCID');
if (strOriginalValue.indexOf("▁") > -1) {
var ayList = new Array();
ayList = strOriginalValue.split("▁");
var AccitemsList = DsStoreQueryBy(_this.storeCwAccitems, 'ACCID', strACCID);
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(_this.storeCwAccitems, 'ACCIDNAME', ayList[0].toString());
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
_this.showContactForm(false, ayList[0].toString(), strOriginalValue.toString(), AccitemsRaw, selections, true);
}
else {
_field.rawValue.setValue("");
}
}
});
}
}
});
//币别选项
this.storeCwAccitemsCurrency = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsCurrencyModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsCurrencyList' }
});
this.storeCwAccitemsCurrency.load({ params: { condition: "LINKGID=''"} });
this.comboxCodeCurrency = Ext.create('DsExt.ux.RefTableCombox', {
//fieldLabel: '币别',
store: this.storeCwAccitemsCurrency,
forceSelection: true, //输入值是否严格为待选列表中存在的值
id: 'CURRENCY',
name: 'CURRENCY',
valueField: 'CURRENCY',
displayField: 'CURRENCY',
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': function (_this, eOpts) {
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
var strACCID = selections[0].get('ACCID');
var sCURRENCY = selections[0].data.FCYNO.toString().trim();
var sACCNAME = selections[0].data.ACCNAME.toString().trim();
if (sACCNAME == "") {
var ayList = new Array();
ayList = selections[0].data.ACCALL.toString().trim().split("▁");
sACCNAME = ayList[0].toString();
}
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', strACCID);
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', sACCNAME);
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
var ssCURRENCY = selections[0].data.FCYNO;
this.storeCwAccitemsCurrency.load({
params: { condition: "LINKGID='" + AccitemsRaw.GID + "'" },
waitMsg: "正在刷新数据...",
callback: function (options, success, response) {
var combo = Ext.getCmp("CURRENCY");
if (options.length > 0) {
for (var i = 0; i < options.length; i++) {
if (options[i].data.CURRENCY.toString() == selections[0].data.FCYNO.toString()) {
ssCURRENCY = selections[0].data.FCYNO.toString();
break;
}
if (options[i].data.CURRENCY.toString() == 'RMB') {
ssCURRENCY = 'RMB';
break;
}
ssCURRENCY = options[0].data.CURRENCY;
}
}
else {
ssCURRENCY = "RMB";
}
sCURRENCY = ssCURRENCY;
combo.setValue(ssCURRENCY); //选中
},
scope: this
});
selections[0].set('FCYNO', sCURRENCY);
selections[0].set('CURRENCY', sCURRENCY);
}
},
//'change': function (combo, records, eOpts, kk, hg) {
'select': function (combo, records, eOpts) {
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
var strACCID = selections[0].get('ACCID');
if (combo.value != "RMB") {
var sACCNAME = selections[0].data.ACCNAME.toString().trim();
if (sACCNAME == "") {
var ayList = new Array();
ayList = selections[0].data.ACCALL.toString().trim().split("▁");
sACCNAME = ayList[0].toString();
}
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', strACCID);
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', sACCNAME);
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
//如果是外币,则默认传送combo.value
if (AccitemsRaw.ISFCY) {
var VOUDATE = this.formHead.getForm().findField('VOUDATE').getRawValue();
Ext.Ajax.request({
waitMsg: '正在查询汇率值...',
url: '/MvcShipping/MsCwVouchersGl/GetFCYEXRATEBYVOUDATE',
params: {
FCY: combo.value,
LINKGID: AccitemsRaw.GID.toString(),
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.INFO, buttons: Ext.Msg.OK });
return;
}
//
var strArg = result.data.toString().split(",");
var FCYNO = strArg[0].toString();
// var strFCYEXRATE = selections[0].data.FCYEXRATE;
var strFCYEXRATE = strArg[1].toString();
if (strFCYEXRATE == 1) {
strFCYEXRATE = Div(strArg[1].toString(), 1, 5);
}
selections[0].set('FCYEXRATE', strFCYEXRATE);
selections[0].set('FCYNO', combo.value);
selections[0].set('CURRENCY', combo.value);
//
var AMTDR = selections[0].data.AMTDR;
var AMTCR = selections[0].data.AMTCR;
var AMT = 0;
if (AMTDR != 0) {
AMT = AMTDR;
}
if (AMTCR != 0) {
AMT = AMTCR;
}
selections[0].set('FCYAMT', Div(AMT, strFCYEXRATE, 2));
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
}
}
else {
selections[0].set('FCYEXRATE', 1);
selections[0].set('FCYNO', 'RMB');
selections[0].set('FCYAMT', 0);
}
},
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 13) {
this.onNextKeyClick(5);
}
},
scope: this
}
}
});
//键值维护表_凭证字
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
//
});
//#endregion
//#region 编辑formHead 基本信息
this.formHead = Ext.widget('form', {
border: false,
region: 'north',
frame: true,
//bodyPadding: 5,
trackResetOnLoad: true, //是否记录字段原始值
fieldDefaults: {
labelAlign: 'right',
labelWidth: 40,
msgTarget: 'qtip'
//,style: 'font-size: 30px; color: #808000; vertical-align: text-bottom;'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{ xtype: 'label', flex: 1 }, {
xtype: 'label',
text: "记账凭证",
style: 'font-size: 30px; color: #808000;',
id: 'voutitle',
anchor: '100%',
align: 'center'
}, { xtype: 'label', flex: 1}]
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '凭证GID',
id: 'ORDNO',
name: 'ORDNO',
hidden: true,
value: '*'
}, {
fieldLabel: 'ISCOPY',
name: 'ISCOPY',
value: false,
hidden: true
}, {
fieldLabel: 'ISAUTO',
name: 'ISAUTO',
value: false,
hidden: true
}, {
fieldLabel: 'COPYORDNO',
name: 'COPYORDNO',
hidden: true
}, this.comboxVKNO, {
fieldLabel: '',
id: 'VOUNO',
name: 'VOUNO',
width: 60,
xtype: 'numberfield',
nanText: '请输入有效整数',
value: 0,
allowBlank: false
}, {
xtype: 'label',
id: 'VOUNO_HAO',
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: 140,
allowBlank: false
}, { xtype: 'label', flex: 1 }, {
xtype: 'displayfield',
id: 'lbTitle2',
name: 'lbTitle2',
width: 80,
value: "2015年第1期",
allowBlank: false
}, {
fieldLabel: '',
name: 'ISAUTOSTR',
width: 150,
// disabled: true,
flex: 0.5,
value:'手工',
readOnly: true,
allowBlank: false
}, { xtype: 'label', flex: 1 }, {
fieldLabel: '附单据',
id: 'ATTACHS',
labelWidth: 60,
name: 'ATTACHS',
width: 100,
xtype: 'numberfield',
nanText: '请输入有效整数',
value: 0,
allowBlank: false
}, {
xtype: 'label',
text: "张",
style: 'vertical-align: text-bottom;'
}]
}]//end items(fieldset 1)
});
//#endregion
//#region 编辑formBottom 基本信息
this.formBottom = Ext.widget('form', {
border: false,
region: 'south',
height: 40,
frame: true,
//bodyPadding: 5,
trackResetOnLoad: true, //是否记录字段原始值
fieldDefaults: {
labelAlign: 'right',
labelWidth: 80,
msgTarget: 'qtip'
//,style: 'font-size: 30px; color: #808000; vertical-align: text-bottom;'
},
items: [{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '制单人',
name: 'CREATEUSERNAME',
width: 150,
value: SHOWNAME,
readOnly: true,
allowBlank: false
}, {
fieldLabel: '制单日期',
name: 'CREATETIME',
width: 210,
value: currdate.format('yyyy-MM-dd hh:mm:ss'),
readOnly: true,
allowBlank: false
}, { xtype: 'hiddenfield', flex: 1 }, {
fieldLabel: '改单人',
name: 'MODIFIEDUSERNAME',
width: 150,
value: SHOWNAME,
readOnly: true,
allowBlank: false
}, {
fieldLabel: '修改日期',
name: 'MODIFIEDTIME',
width: 210,
value: currdate.format('yyyy-MM-dd hh:mm:ss'),
readOnly: true,
allowBlank: false
}]
}]//end items(fieldset 1)
});
//#endregion
//#region 定义数据集
//权限范围
this.StoreOpRange = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsOP',
//proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' }
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang4' }
});
this.StoreOpRange.load({ params: { optype: "MsCwVouchersGlCHECKED"} });
this.StoreOpRange2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsOP',
//proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' }
proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang4' }
});
this.StoreOpRange2.load({ params: { optype: "MsCwVouchersGlNotCHECKED"} });
//列表加载
this.storeDetailList = Ext.create('Ext.data.Store', {
model: 'MsCwVouitemsGlModel',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsCwVouchersGl/GetDetailList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//#endregion
//#region 列定义
this.girdcolums = [{
sortable: true,
dataIndex: 'GID',
header: '', //唯一编码
hidden: true,
width: 0
},
{
sortable: false,
dataIndex: 'ITEMNO',
header: '行号',
align: 'center',
//style: "color: 'red'", //black
//color: "red",
width: 35
},
{
id: 'EXPLAN',
sortable: false,
dataIndex: 'EXPLAN',
header: '摘要',
//align: 'center',
width: 200,
editor: {
xtype: 'textfield',
allowBlank: false,
selectOnFocus: true,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 40) {
this.onAddClick();
}
else if (e.getKey() == 13) {
this.onNextKeyClick(3);
}
},
scope: this
}
}
}
},
{
sortable: false,
dataIndex: 'ACCALL',
header: '会计科目',
width: 260,
editor: this.comboxACCNAME
},
{
sortable: false,
dataIndex: 'FCYNO',
header: '原币币别',
align: 'center',
width: 60,
editor: this.comboxCodeCurrency
},
{
sortable: false,
dataIndex: 'FCYEXRATE',
header: '汇率',
align: 'right',
//renderer: Ext.util.Format.numberRenderer('00.00000'),//
width: 60,
editor: {
xtype: 'numberfield',
allowBlank: false,
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
decimalPrecision: 5, //允许保留的小数位数,并四舍五入
nanText: '请输入有效小数',
//minValue: 0,
//maxValue: 100000,
value: 0.00000,
keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值
hideTrigger: true, //是否隐藏上下调节按钮
mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值
//step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 40) {
this.onAddClick();
}
else if (e.getKey() == 13) {
this.onNextKeyClick(6);
}
},
scope: this
}
}
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 5, '', true);
return value;
}
},
{
sortable: false,
dataIndex: 'FCYAMT',
header: '原币金额',
align: 'right',
width: 80,
editor: {
xtype: 'numberfield',
allowBlank: false,
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
nanText: '请输入有效小数',
//minValue: 0,
//maxValue: 100000,
value: 0.00,
keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值
hideTrigger: true, //是否隐藏上下调节按钮
mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值
//step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 40) {
this.onAddClick();
}
else if (e.getKey() == 13) {
this.onNextKeyClick(7);
}
},
scope: this
}
}
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
/*注释
//1.value是当前单元格的值
//2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
//3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
//4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
//5.columnIndex列号太简单了。
//6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。
*/
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
}
},
{
sortable: false,
dataIndex: 'AMTDR',
header: '借方金额',
align: 'right',
width: 120,
summaryType: 'sum',
//summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
editor: {
xtype: 'numberfield',
allowBlank: false,
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
nanText: '请输入有效小数',
minValue: -999999999.99,
maxValue: 999999999.99,
value: 0.00,
keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值
hideTrigger: true, //是否隐藏上下调节按钮
mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值
//step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 32) {
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
var AMTDR_OLD = _field.value;
var AMTCR_OLD = selections[0].data.AMTCR;
_field.setValue(AMTCR_OLD);
selections[0].set('AMTCR', AMTDR_OLD);
}
else if (e.getKey() == 40) {
this.onAddClick();
}
else if (e.getKey() == 13) {
this.onNextKeyClick(8);
}
},
scope: this
},
'render': function (_field, eOpts) {//自定义函数,定义双击事件
var _this = this;
_field.getEl().on('dblclick', function (e, t, eOpts) {
var dAMTDR = 0;
var dAMTCR = 0;
var iLength = _this.gridList.getStore().data.length;
if (iLength > 1) {
var records = _this.gridList.getStore().data.items;
for (var i = 0; i < iLength; i += 1) {
dAMTDR += records[i].data.AMTDR;
dAMTCR += records[i].data.AMTCR;
}
var dAMT = dAMTCR - (dAMTDR - (_field.value));
_field.setValue(dAMT);
}
});
}
}
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
},
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: false,
dataIndex: 'AMTCR',
header: '贷方金额',
align: 'right',
width: 120,
summaryType: 'sum',
//summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
editor: {
xtype: 'numberfield',
allowBlank: false,
selectOnFocus: true, //得到焦点时自动选择文本
allowDecimals: true, //允许输入小数
nanText: '请输入有效小数',
minValue: -999999999.99,
maxValue: 999999999.99,
value: 0.00,
keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值
hideTrigger: true, //是否隐藏上下调节按钮
mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值
//step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 32) {
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
var AMTDR_OLD = selections[0].data.AMTDR;
var AMTCR_OLD = _field.value;
selections[0].set('AMTDR', AMTCR_OLD);
_field.setValue(AMTDR_OLD);
}
else if (e.getKey() == 40) {
this.onAddClick();
}
//else if (e.getKey() == 9) {
// this.onAddClick();
//}
else if (e.getKey() == 13) {
//this.onNextKeyClick(9);
this.onAddClick();
}
},
scope: this
},
'keydown': {
fn: function (_field, e) {
if (e.getKey() == 9) {
this.onAddClick();
}
},
scope: this
},
'render': function (_field, eOpts) {//自定义函数,定义双击事件
var _this = this;
_field.getEl().on('dblclick', function (e, t, eOpts) {
var dAMTDR = 0;
var dAMTCR = 0;
var iLength = _this.gridList.getStore().data.length;
if (iLength > 1) {
var records = _this.gridList.getStore().data.items;
for (var i = 0; i < iLength; i += 1) {
dAMTDR += records[i].data.AMTDR;
dAMTCR += records[i].data.AMTCR;
}
var dAMT = dAMTDR - (dAMTCR - (_field.value));
_field.setValue(dAMT);
}
});
}
}
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
/*注释
//1.value是当前单元格的值
//2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
//3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
//4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
//5.columnIndex列号太简单了。
//6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。
*/
//Ext.util.Format.number(value, '00.00');
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
},
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
id: 'ACCID',
sortable: false,
hidden: true,
dataIndex: 'ACCID',
header: '科目代码',
width: 0
},
{
id: 'DC',
sortable: false,
hidden: true,
dataIndex: 'DC',
header: '科目方向',
width: 0
}];
this.girdcolumslist = [{
sortable: true,
dataIndex: 'GID',
header: '', //唯一编码
hidden: true,
width: 0
},
{
sortable: false,
dataIndex: 'ITEMNO',
header: '行号',
align: 'center',
//style: "color: 'red'", //black
//color: "red",
width: 35
},
{
id: 'EXPLAN',
sortable: false,
dataIndex: 'EXPLAN',
header: '摘要',
//align: 'center',
width: 200
},
{
sortable: false,
dataIndex: 'ACCALL',
header: '会计科目',
width: 260
},
{
sortable: false,
dataIndex: 'FCYNO',
header: '原币币别',
align: 'center',
width: 60
},
{
sortable: false,
dataIndex: 'FCYEXRATE',
header: '汇率',
align: 'right',
//renderer: Ext.util.Format.numberRenderer('00.00000'),//
width: 60,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 5, '', true);
return value;
}
},
{
sortable: false,
dataIndex: 'FCYAMT',
header: '原币金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
/*注释
//1.value是当前单元格的值
//2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
//3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
//4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
//5.columnIndex列号太简单了。
//6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。
*/
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
}
},
{
sortable: false,
dataIndex: 'AMTDR',
header: '借方金额',
align: 'right',
width: 120,
summaryType: 'sum',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
},
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
sortable: false,
dataIndex: 'AMTCR',
header: '贷方金额',
align: 'right',
width: 120,
summaryType: 'sum',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
/*注释
//1.value是当前单元格的值
//2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
//3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
//4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
//5.columnIndex列号太简单了。
//6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。
*/
//Ext.util.Format.number(value, '00.00');
value = usMoney(value, 2, '', true);
if (parseFloat(value) < 0) {
return '' + value + '';
}
return value;
},
summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
value = usMoney(value, 2, '', true);
return value;
}
},
{
id: 'ACCID',
sortable: false,
hidden: true,
dataIndex: 'ACCID',
header: '科目代码',
width: 0
},
{
id: 'DC',
sortable: false,
hidden: true,
dataIndex: 'DC',
header: '科目方向',
width: 0
}];
//#endregion
//#region gridList列表显示信息
this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1 //1单击,2双击
});
this.gridList = new Ext.grid.GridPanel({
region: 'center',
store: this.storeDetailList,
enableHdMenu: false, //是否显示表格列的菜单
hideHeaders: false, //是否隐藏表头
enableColumnHide: false, ///隐藏表头列
sortableColumns: false, ///隐藏表头排序
//disableSelection: false, //是否禁止选择表格行或列,默认为false
//trackMouseOver: true, //高亮显示鼠标所在的行,默认为true,
//stripeRows: true, //斑马线效果
rowLines: true,
columnLines: true,
loadMask: { msg: "数据加载中,请稍等..." },
plugins: [this.gridListCellEditing],
selType: 'cellmodel',
columns: this.girdcolums,
features: [{
ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性
}],
listeners: {
scope: this,
'edit': function (editor, e, eOpts) {
if (e.value == e.originalValue) { return; }
if (e.colIdx == 3) {
var sACCID = e.record.data['ACCID'].toString();
var sACCALL = e.value;
var ayListA = new Array();
ayListA = sACCALL.split("▁");
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', sACCID);
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayListA[0].toString());
}
if (AccitemsList.length <= 0) {
e.record.set('ACCID', '');
e.record.set('ACCALL', '');
Ext.Msg.show({ title: '警告', msg: '此帐套无此科目信息,请重新填写!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
}
else
if (e.colIdx == 4) {
var sACCID = e.record.data['ACCID'].toString();
var sACCALL = e.record.data['ACCALL'].toString();
var ayListA = new Array();
ayListA = sACCALL.split("▁");
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', (sACCID + "-" + ayListA[0].toString()));
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayListA[0].toString());
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
if (!AccitemsRaw.ISFCY) {
e.record.set('FCYNO', 'RMB');
e.record.set('FCYEXRATE', 1);
e.record.set('FCYAMT', 0);
}
}
}
else if (e.colIdx == 5) {
var sACCID = e.record.data['ACCID'].toString();
var sACCALL = e.record.data['ACCALL'].toString();
var FCYNO = e.record.data['FCYNO'].toString();
var FCYEXRATE = e.record.data['FCYEXRATE'];
var FCYAMT = e.record.data['FCYAMT'];
var ayListA = new Array();
ayListA = sACCALL.split("▁");
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', (sACCID + "-" + ayListA[0].toString()));
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayListA[0].toString());
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
if (!AccitemsRaw.ISFCY) {
e.record.set('FCYNO', 'RMB');
e.record.set('FCYEXRATE', 1);
e.record.set('FCYAMT', 0);
}
else {
var amount = Mul(FCYEXRATE, FCYAMT);
if (AccitemsRaw.DC.toString() == "借") {
e.record.set('AMTDR', amount);
e.record.set('AMTCR', 0);
}
else {
e.record.set('AMTDR', 0);
e.record.set('AMTCR', amount);
}
}
}
}
else if (e.colIdx == 6) {
var sACCID = e.record.data['ACCID'].toString();
var FCYNO = e.record.data['FCYNO'].toString();
var FCYEXRATE = e.record.data['FCYEXRATE'];
var FCYAMT = e.record.data['FCYAMT'];
var sACCALL = e.record.data['ACCALL'].toString();
var ayListA = new Array();
ayListA = sACCALL.split("▁");
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', (sACCID + "-" + ayListA[0].toString()));
if (AccitemsList.length == 0) {
AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayListA[0].toString());
}
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
if (AccitemsRaw.ISFCY) {
var amount = Mul(FCYEXRATE, FCYAMT);
if (AccitemsRaw.DC.toString() == "借") {
e.record.set('AMTDR', amount);
e.record.set('AMTCR', 0);
}
else {
e.record.set('AMTDR', 0);
e.record.set('AMTCR', amount);
}
}
else {
if (AccitemsRaw.DC.toString() == "借") {
e.record.set('AMTDR', FCYAMT);
e.record.set('AMTCR', 0);
}
else {
e.record.set('AMTDR', 0);
e.record.set('AMTCR', FCYAMT);
}
e.record.set('FCYNO', 'RMB');
e.record.set('FCYEXRATE', 1);
e.record.set('FCYAMT', 0);
}
}
}
else if (e.colIdx == 7) {
var AMTDR = e.record.data['AMTDR'];
if (AMTDR != 0) {
e.record.set('AMTCR', 0);
var FCYNO = e.record.data['FCYNO'].toString();
var FCYEXRATE = e.record.data['FCYEXRATE'];
var FCYAMT = e.record.data['FCYAMT'];
if (FCYNO.toString().trim() != 'RMB') {
var amount = Div(AMTDR, FCYEXRATE);
if (FCYAMT != amount) {
e.record.set('FCYAMT', amount);
}
}
}
}
else if (e.colIdx == 8) {
var AMTCR = e.record.data['AMTCR'];
if (AMTCR != 0) {
e.record.set('AMTDR', 0);
var FCYNO = e.record.data['FCYNO'].toString();
var FCYEXRATE = e.record.data['FCYEXRATE'];
var FCYAMT = e.record.data['FCYAMT'];
if (FCYNO.toString().trim() != 'RMB') {
var amount = Div(AMTCR, FCYEXRATE);
if (FCYAMT != amount) {
e.record.set('FCYAMT', amount);
}
}
}
}
},
'beforeedit': function (editor, e, eOpts) {
//if (e.colIdx == 4) {
// var sACCID = e.record.data['ACCID'].toString();
// var sACCALL = e.record.data['ACCALL'].toString();
// var ayListA = new Array();
// ayListA = sACCALL.split("▁");
// var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', (sACCID + "-" + ayListA[0].toString()));
// if (AccitemsList.length == 0) {
// AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCIDNAME', ayListA[0].toString());
// }
// if (AccitemsList.length > 0) {
// var AccitemsRaw = AccitemsList.getAt(0).raw;
// if (AccitemsRaw.ISDEPTACC || AccitemsRaw.ISEMPLACC || AccitemsRaw.ISCORPACC || AccitemsRaw.ISITEMACC) {
// return false;
// }
// }
//}
return true;
}
}
});
//#endregion
//#region 明细表-单据图片档案管理,需求编号:SR2017062800004
this.storeDocList = Ext.create('Ext.data.Store', {
model: 'ReceiptDocmb',
remoteSort: true,
proxy: {
type: 'ajax',
url: '/Import/ReceiptDoc/GetDocList',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
//明细表表格
this.DocListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
this.DocCM = Ext.create('Ext.selection.CheckboxModel');
this.gridDocList = new Ext.grid.GridPanel({
store: this.storeDocList,
border: false,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.DocListCellEditing],
selModel: this.DocCM,
selType: 'cellmodel',
tbar: [{
text: '删除',
tooltip: '删除',
iconCls: "btndeletedetail",
handler: function (button, event) {
this.onDelFileClick(button, event);
},
scope: this
}, '-', {
text: '上传附件',
tooltip: '上传附件',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onUpLoadFileClick(button, event);
},
scope: this
}],
columns: [{
sortable: true, hidden: true,
dataIndex: 'GID',
header: 'GID',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'R_GID',
header: 'R_GID',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'BSNO',
header: 'BSNO',
width: 80
},
{
sortable: true,
dataIndex: 'URL',
header: '文件名',
width: 200,
renderer: function (value, p, record) {
return '' + value + '';
}
},
{
sortable: true, hidden: true,
dataIndex: 'Driect_URL',
header: 'Driect_URL',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'MODIFIEDUSER',
header: 'MODIFIEDUSER',
width: 80
},
{
sortable: true,
dataIndex: 'MODIFIEDUSERRef',
header: '上传人',
width: 80
},
{
sortable: true,
dataIndex: 'MODIFIEDTIME',
header: '上传时间',
width: 135
}]
});
this.panelDoc = new Ext.Panel({
id: "panelDoc",
layout: "border",
region: 'south',
height: 200,
frame: false,
split: true,
border: false,
items: [this.gridDocList]
});
//#endregion
//#region 按钮Toolbar/框架/加载
_this = this;
//this.EditBtn = new Ext.Button({
// text:'编 辑', //显示查询
// handler: function () {
// if (_this.EditBtn.text == '编 辑') {//隐藏查询
// _this.gridList.reconfigure(_this.storeDetailList, _this.girdcolums);
// _this.EditBtn.setText('禁止编辑'); //显示查询
// } else {
// _this.EditBtn.setText('编 辑'); //隐藏查询
// _this.gridList.reconfigure(_this.storeDetailList, _this.girdcolumslist);
// }
// }
//});
this.panelBtn = new Ext.Panel({
region: "north",
border: false,
tbar: [{
text: '添加明细',
tooltip: '添加明细',
id: "btnadd",
iconCls: "btnadd",
handler: function (button, event) {
this.onAddClick();
},
scope: this
}, {
text: '插入明细',
tooltip: '插入明细',
id: "btninsert",
iconCls: "btnadd",
handler: function (button, event) {
this.onInsertClick();
},
scope: this
}, {
text: '上移',
tooltip: '上移',
id: "btnup",
// iconCls: "btnadd",
handler: function (button, event) {
this.onUpClick();
},
scope: this
}, {
text: '下移',
tooltip: '下移',
id: "btndown",
// iconCls: "btnadd",
handler: function (button, event) {
this.onDownClick();
},
scope: this
}, {
text: '删除明细',
tooltip: '删除明细',
id: "btndel",
iconCls: "btndelete",
handler: function (button, event) {
this.onDelClick(button, event);
},
scope: this
}, '-', {
id: 'btnSave',
text: "保存",
iconCls: "btnsave",
handler: function (button, event) {
this.Save('0');
},
scope: this
}, {
id: 'btnSaveAndClose',
text: "保存并关闭",
handler: function (button, event) {
this.Save('1');
},
scope: this
}, {
id: 'btnSaveAndNew',
text: "保存并新建",
handler: function (button, event) {
this.Save('2');
},
scope: this
}, {
id: 'btnNew',
text: "新建",
handler: function (button, event) {
this.GetAddText();
},
scope: this
}, {
id: 'btnCopy',
text: "复制",
handler: function (button, event) {
this.GetCopyText();
},
scope: this
}, {
text: "关闭",
handler: function (button, event) {
window.close();
},
scope: this
}, '-', {
text: '打印',
tooltip: '打印',
id: "btnprint",
iconCls: "btnprint",
handler: function (button, event) {
this.Print(button, event);
},
scope: this
}, {
text: '删除凭证',
tooltip: '删除凭证',
id: "btndelAll",
iconCls: "btndelete",
handler: function (button, event) {
this.onDeleteClick(button, event);
},
scope: this
}, '-', {
text: "审核",
id: "btISCHECKED",
iconCls: "btislock",
handler: function (button, event) {
this.setISCHECKED(1);
},
scope: this
}, {
text: "返审",
id: "btNotISCHECKED",
iconCls: "btnotislock",
handler: function (button, event) {
this.setISCHECKED(0);
},
scope: this
}, '-', {
text: "上一条",
id: "btPrevious",
handler: function (button, event) {
this.setPreviousLast(1);
},
scope: this
}, {
text: "下一条",
id: "btLast",
handler: function (button, event) {
this.setPreviousLast(2);
},
scope: this
}
//, this.EditBtn
]
}); //end 按钮Toolbar
this.panelTop = new Ext.Panel({
border: false,
layout: "border",
region: "north",
height: 98,
items: [this.panelBtn, this.formHead]
});
this.panelTop2 = new Ext.Panel({
border: false,
layout: "border",
region: "center",
items: [this.gridList, this.formBottom]
});
Ext.apply(this, {
border: false,
items: [this.panelTop, this.panelTop2, this.panelDoc]
});
parentWin = window.parent.opener;
if (this.ORDNO == undefined) {
this.InitData();
} else {
this.opStatus = 'edit';
condition = "ORDNO='" + this.ORDNO + "'";
_orderno = this.ORDNO;
this.LoadData('edit', condition);
//需求编号:SR2017062800004
var condition2 = "BSNO='" + this.ORDNO + "'";
this.storeDocList.on('beforeload', function (store) {
Ext.apply(store.proxy.extraParams, { condition: condition2 });
}, this);
this.storeDocList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", scope: this });
}
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/RptCwGenlegAccitems/GetData',
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
return;
}
data = result.data;
var arrtmp = data.toString().split("&");
this.strCwSTARTGID = arrtmp[0].toString();
var strCwSTARTNAME = arrtmp[1].toString();
Ext.getCmp("voutitle").setText('('+strCwSTARTNAME+')记账凭证');
// var sZQ = " 当前登录账套:“" + strCwSTARTNAME + "” 当前财务账期:“" + sYear + "年第" + sMonth + "期” ";
} else {
//Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
//#endregion
}, //end initUIComponents
//#region 加载事件
InitData: function () {
this.opStatus = 'add';
var condition = '';
if (parentWin) {
var ret = parentWin.OprationSwapJK();
this.opStatus = ret[0];
this.StoreList = ret[1];
this.EditRecord = ret[2];
this.sqlcontext = ret[3];
this.btnRefresh = ret[4];
this.tbVOUNO = ret[5];
this.btnAddCwVouchersJK = ret[6];
this.btnSelCwVouchersJK = ret[7];
this.tbVOUCHERNO = ret[8];
this.btnAddCwVouchers = ret[9];
this.btnSelCwVouchers = ret[10];
}
//
if (this.opStatus == 'edit') {
condition = "ORDNO='" + this.EditRecord.data.ORDNO + "'";
_orderno = this.EditRecord.data.ORDNO;
this.LoadData('edit', condition);
//需求编号:SR2017062800004
var condition2 = "BSNO='" + this.EditRecord.data.ORDNO + "'";
this.storeDocList.on('beforeload', function (store) {
Ext.apply(store.proxy.extraParams, { condition: condition2 });
}, this);
this.storeDocList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", scope: this });
} else if (this.opStatus == 'add') {
this.GetAddText();
} else if (this.opStatus == 'sel') {
condition = "ORDNO in (select top 1 ORDNO from cw_vouchers_gl where VOUALLNO='" + this.sqlcontext + "')";
this.LoadData('edit', condition);
this.setBtnStatusDisable(true);
//需求编号:SR2017062800004
var condition2 = "BSNO='" + this.EditRecord.data.ORDNO + "'";
this.storeDocList.on('beforeload', function (store) {
Ext.apply(store.proxy.extraParams, { condition: condition2 });
}, this);
this.storeDocList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", scope: this });
}
}, //end InitData
LoadData: function (opStatus, condition) {
this.serialNo = 0;
//this.opStatus = opStatus;
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwVouchersGl/GetData',
params: {
handle: opStatus,
condition: condition
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.INFO, buttons: Ext.Msg.OK });
return;
}
//
data = result.data;
this.formHead.getForm().reset();
this.formHead.getForm().setValues(data);
this.formBottom.getForm().reset();
this.formBottom.getForm().setValues(data);
//
var strVOUDATE = data.VOUDATE.toString();
var strY = strVOUDATE.substring(0, 4);
var strM = strVOUDATE.substring(5, 7);
this.formHead.getForm().findField('lbTitle2').setValue(strY + "年第" + strM + "期");
//
this.storeDetailList.load({ params: { condition: condition }, waitMsg: "正在刷新数据...", scope: this });
if (data.FCY.toString() != "RMB") {
this.onColumnsHidden(true, true);
}
//
if (data.ISCHECKED) {
this.setBtnStatusDisable(false);
}
else {
this.setBtnStatusDisable(true);
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
//this.GetEditStatus();
}, // end LoadDate
//#endregion
//#region 保存
Save: function (type) {
this.formHead.getForm().findField('ORDNO').setDisabled(false);
var data = this.formHead.getForm().getValues(false, false, false);
this.formHead.getForm().findField('ORDNO').setDisabled(true);
//
var sStatus = this.opStatus;
if (this.opStatus == 'sel') {
sStatus = 'edit';
}
//
var sAMTDR = 0;
var sAMTCR = 0;
for (var i = 0; i < this.storeDetailList.getCount(); i += 1) {
sAMTDR += this.storeDetailList.getAt(i).get("AMTDR");
sAMTCR += this.storeDetailList.getAt(i).get("AMTCR");
//var member = this.storeDetailList.getAt(i);
//bodydatas.push(member);
}
sAMTDR = usMoney(sAMTDR, 2, '', false);
sAMTCR = usMoney(sAMTCR, 2, '', false);
if (sAMTDR != sAMTCR) {
// alert("录入借贷不平!请重新调整数据!");
Ext.Msg.show({ title: '提示', msg:'录入借贷不平!请重新调整数据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); //费用名称不能为空!'
return;
}
//
var bodydatas = [];
// var records = this.storeDetailList.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据
// var phantoms = this.storeDetailList.getNewRecords(); //获得幻影行
// records = records.concat(phantoms); //将幻影数据与真实数据合并
// if (records.length != 0) {
// for (var i = 0; i < records.length; i += 1) {
// var member = records[i];
// bodydatas.push(member);
// }
// }
var errostr = '';
for (var i = 0; i < this.storeDetailList.getCount(); i += 1) {
var member = this.storeDetailList.getAt(i);
var records = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', member.data.ACCID);
if (records.getCount() > 0) {
var accdata = records.getAt(0).data;
var ai = 0;
var corpi = 0;
var depti = 0;
var empli = 0;
var itemi = 0;
if (accdata.ISCORPACC) {
ai = ai + 1;
corpi = ai;
}
if (accdata.ISDEPTACC) {
ai = ai + 1;
depti = ai;
}
if (accdata.ISEMPLACC) {
ai = ai + 1;
empli = ai;
}
if (accdata.ISITEMACC) {
ai = ai + 1;
itemi = ai;
}
var accall = member.data.ACCALL;
var accallarry = accall.split('▁');
if (accdata.ISCORPACC){
if ((accallarry.length < corpi + 1) || (accallarry.length >= corpi + 1 && accall[corpi] == ''))
errostr = errostr + '科目:' + member.data.ACCID + ',行号:' + member.data.ITEMNO + ',核算客户不能为空!';
}
if (accdata.ISDEPTACC) {
if ((accallarry.length < depti + 1) || (accallarry.length >= depti + 1 && accall[depti] == '')) errostr = errostr + '科目:' + member.data.ACCID + ',行号:' + member.data.ITEMNO + ',核算部门不能为空!';
}
if (accdata.ISEMPLACC) {
if ((accallarry.length < empli + 1) || (accallarry.length >= empli + 1 && accall[empli] == '')) errostr = errostr + '科目:' + member.data.ACCID + ',行号:' + member.data.ITEMNO + ',核算人员不能为空!';
}
if (accdata.ISITEMACC) {
if ((accallarry.length < itemi + 1) || (accallarry.length >= itemi + 1 && accall[itemi] == '')) errostr = errostr + '科目:' + member.data.ACCID + ',行号:' + member.data.ITEMNO + ',核算项目不能为空!';
}
}
var EXPLAN = member.data.EXPLAN;
if (EXPLAN == '') {
Ext.Msg.show({ title:'提示', msg:'凭证摘要不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
};
var ACCID = member.data.ACCID;
if (ACCID == '') {
Ext.Msg.show({ title: '提示', msg: '科目代码不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
};
//var AMTDR = member.data.AMTDR;
//var AMTCR = member.data.AMTCR;
//if (AMTDR ==0&&AMTCR==0) {
// Ext.Msg.show({ title: '提示', msg: '借方和贷方不能同时为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
// return;
//};
bodydatas.push(member);
}
if (errostr != '') {
// Ext.MessageBox.alert('提示', errostr);
Ext.Msg.show({ title: '提示', msg: errostr, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); //费用名称不能为空!'
return;
}
this.setBtnStatusDisable(false);
//
if (bodydatas.length > 0) {
var jsonBody = ConvertRecordsToJsonAll(bodydatas);
var DelBody = ConvertRecordsToJsonAll(this.DelBody);
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/MvcShipping/MsCwVouchersGl/SaveEdit',
params: {
opStatus: sStatus,
data: Ext.JSON.encode(data),
body: jsonBody,
DelBody: DelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
if (this.opStatus == 'add') {
this.opStatus = 'edit';
}
var returnData = jsonresult.Data;
var condition = "ORDNO='" + returnData.ORDNO + "'";
this.formHead.getForm().findField('ORDNO').setDisabled(false);
this.formHead.getForm().findField('ORDNO').setValue(returnData.ORDNO);
this.formHead.getForm().findField('VOUNO').setValue(returnData.VOUNO);
this.formHead.getForm().findField('VOUNO').show();
Ext.getCmp('VOUNO_HAO').show();
this.formHead.getForm().findField('ORDNO').setDisabled(true);
this.formBottom.getForm().reset();
this.formBottom.getForm().setValues(returnData);
this.DelBody = [];
//
if (this.ORDNO == undefined) {
if (this.btnRefresh == null) {
this.tbVOUCHERNO.setValue(returnData.VOUALLNO);
this.btnAddCwVouchers.hide();
this.btnSelCwVouchers.show();
}
else {
var btn = opener.document.getElementById(this.btnRefresh.id);
btn.click();
}
}
//
this.storeDetailList.load({
params: { condition: condition },
waitMsg: "正在刷新数据...",
callback: function (options, success, response) {
if (type == '0') {
var strVOUDATE = returnData.VOUDATE.toString();
var strY = strVOUDATE.substring(0, 4);
var strM = strVOUDATE.substring(5, 7);
this.formHead.getForm().findField('lbTitle2').setValue(strY + "年第" + strM + "期");
} else if (type == '1') {
window.close();
} else if (type == '2') {
this.GetAddText();
}
},
scope: this
});
//
this.setBtnStatusDisable(true);
} else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
this.setBtnStatusDisable(true);
}
} else {
Ext.Msg.show({ title: '警告', msg: '服务器响应出错', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
this.setBtnStatusDisable(true);
}
},
scope: this
});
}
}, //end save
//#endregion
//#region 新增明细
onAddClick: function () {
var ORDNO = this.formHead.getForm().findField('ORDNO').getValue();
var n = this.storeDetailList.getCount();
var sEXPLAN = "";
if (n > 0) {
sEXPLAN = this.storeDetailList.getAt(n - 1).get("EXPLAN");
}
//
var record = Ext.create('MsCwVouitemsGlModel', {
GID: '*',
ORDNO: ORDNO,
ITEMNO: n + 1,
EXPLAN: sEXPLAN,
ACCALL: '',
FCYNO: '', //RMB
FCYEXRATE: 1,
FCYAMT: 0,
AMTDR: 0,
AMTCR: 0,
ACCID: '',
DC: 'D'
});
this.storeDetailList.add(record);
this.gridListCellEditing.startEditByPosition({ row: n, column: 2 }); //n - 1
},
onInsertClick: function () {
var ORDNO = this.formHead.getForm().findField('ORDNO').getValue();
var selectedRecords = this.gridList.selModel.getSelection();
var rec = selectedRecords[0];
var n = this.storeDetailList.indexOf(rec);
var sEXPLAN = "";
if (n > 0) {
sEXPLAN = this.storeDetailList.getAt(n - 1).get("EXPLAN");
}
for (var i = n+1; i < this.storeDetailList.getCount() ; i += 1) {
var member = this.storeDetailList.getAt(i);
member.set("ITEMNO", member.data.ITEMNO+1);
member.commit();
}
//
var record = Ext.create('MsCwVouitemsGlModel', {
GID: '*',
ORDNO: ORDNO,
ITEMNO: n + 2,
EXPLAN: sEXPLAN,
ACCALL: '',
FCYNO: '', //RMB
FCYEXRATE: 1,
FCYAMT: 0,
AMTDR: 0,
AMTCR: 0,
ACCID: '',
DC: 'D'
});
this.storeDetailList.insert(n+1,record);
this.gridListCellEditing.startEditByPosition({ row: n+1, column: 2 }); //n - 1
},
onDownClick: function () {
var ORDNO = this.formHead.getForm().findField('ORDNO').getValue();
var selectedRecords = this.gridList.selModel.getSelection();
var rec = selectedRecords[0];
var n = this.storeDetailList.indexOf(rec);
var member = this.storeDetailList.getAt(n+1);
member.set("ITEMNO", member.data.ITEMNO-1);
member.commit();
this.storeDetailList.remove(rec);
rec.data.ITEMNO = rec.data.ITEMNO + 1;
this.storeDetailList.insert(n + 1, rec);
this.gridListCellEditing.startEditByPosition({ row: n + 1, column: 2 }); //n - 1
},
onUpClick: function () {
var ORDNO = this.formHead.getForm().findField('ORDNO').getValue();
var selectedRecords = this.gridList.selModel.getSelection();
var rec = selectedRecords[0];
var n = this.storeDetailList.indexOf(rec);
if (n==0) return;
var member = this.storeDetailList.getAt(n - 1);
member.set("ITEMNO", member.data.ITEMNO+1);
member.commit();
this.storeDetailList.remove(rec);
rec.data.ITEMNO = rec.data.ITEMNO -1;
this.storeDetailList.insert(n - 1, rec);
this.gridListCellEditing.startEditByPosition({ row: n-1, column: 2 }); //n - 1
},
//#endregion
//#region 删除明细
onDelClick: function () {
var selectedRecords = this.gridList.selModel.getSelection();
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.ContractNo != "" || rec.ContractNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台
{
this.DelBody.push(rec);
}
this.storeDetailList.remove(selectedRecords[i]);
}
},
//#endregion
//#region 删除凭证
onDeleteClick: function (button, event) {
var sError = "";
var gids = this.formHead.getForm().findField('ORDNO').getValue();
var iscopy = this.formHead.getForm().findField('ISCOPY').getValue();
if (gids.trim() == "") {
Ext.Msg.show({ title: '提示', msg: '请先保存凭证!' + sError, icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
else {
Ext.MessageBox.confirm('提示', '确定删除该记录吗?', function (btn) {
if (btn == 'yes') {
Ext.Msg.wait('正在删除数据...');
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/MvcShipping/MsCwVouchersGl/Delete',
params: {
gids: gids,
iscopy:iscopy
},
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: jsonresult.Message + sError, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
if (this.btnRefresh == null) {
this.tbVOUCHERNO.setValue("");
this.btnAddCwVouchers.show();
this.btnSelCwVouchers.hide();
}
else {
var btn = opener.document.getElementById(this.btnRefresh.id);
btn.click();
}
window.close();
}
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.WARNING, buttons: Ext.Msg.OK });
},
success: function (response, options) { },
scope: this
}); //end Ext.Ajax.request
}
}, this);
}
},
//#endregion
//#region 新建
GetAddText: function () {
this.opStatus = 'add';
var ORDNO = '*';
this.formHead.getForm().findField('ORDNO').setDisabled(false);
this.formHead.getForm().findField('ORDNO').setValue('*');
this.formHead.getForm().findField('ORDNO').setDisabled(true);
//
this.storeDetailList.removeAll(); //清空所有;
this.onColumnsHidden(true, false);
var VKNO = this.formHead.getForm().findField('VKNO').getValue();
//
Ext.Ajax.request({
waitMsg: '正在查询委托编号状态...',
url: '/MvcShipping/MsBaseInfo/GetCwVOUNO',
params: {
VKNO: 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.INFO, 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();
this.formHead.getForm().findField('VOUNO').setValue(sVOUNO);
this.formHead.getForm().findField('lbTitle2').setValue(strY + "年第" + strM + "期");
//
this.formHead.getForm().findField('VOUDATE').setValue(strVOUDATE);
Ext.getCmp('VOUDATE').setMinValue(strACCDATE + "-01");
//
this.formHead.getForm().findField('VOUNO').hide();
Ext.getCmp('VOUNO_HAO').hide();
//
this.setBtnStatusDisable(true);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
//
this.onAddClick();
},
GetCopyText: function () {
this.opStatus = 'add';
var ORDNO = '*';
this.formHead.getForm().findField('ORDNO').setDisabled(false);
this.formHead.getForm().findField('ORDNO').setValue('*');
this.formHead.getForm().findField('ORDNO').setDisabled(true);
for (var i =0; i < this.storeDetailList.getCount() ; i += 1) {
var member = this.storeDetailList.getAt(i);
member.set("GID",'*');
member.commit();
}
//
// this.storeDetailList.removeAll(); //清空所有;
// this.onColumnsHidden(true, false);
var VKNO = this.formHead.getForm().findField('VKNO').getValue();
//
Ext.Ajax.request({
waitMsg: '正在查询委托编号状态...',
url: '/MvcShipping/MsBaseInfo/GetCwVOUNO',
params: {
VKNO: 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.INFO, 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();
//this.formHead.getForm().findField('VOUNO').setValue(sVOUNO);
this.formHead.getForm().findField('VOUNO').setValue("");//复制时清空凭证号
this.formHead.getForm().findField('lbTitle2').setValue(strY + "年第" + strM + "期");
//
this.formHead.getForm().findField('VOUDATE').setValue(strVOUDATE);
Ext.getCmp('VOUDATE').setMinValue(strACCDATE + "-01");
//
this.formHead.getForm().findField('VOUNO').hide();
Ext.getCmp('VOUNO_HAO').hide();
//
this.setBtnStatusDisable(true);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
//
},
//#endregion
//#region 按钮函数
onColumnsHidden: function (isHide, blISFCY) {
if (blISFCY) {
this.gridList.columns[4].show();
this.gridList.columns[5].show();
this.gridList.columns[6].show();
}
else {
if (isHide) {
this.gridList.columns[4].hide();
this.gridList.columns[5].hide();
this.gridList.columns[6].hide();
}
}
},
GetEditStatus: function () {
var canedit = false;
_this = this;
Ext.Ajax.request({
waitMsg: '正在查询委托编号状态...',
url: '/MvcShipping/MsBaseInfo/GetRuleEdit',
params: {
rulename: '委托编号',
ruletype: '4'
},
callback: function (options, success, response) {
if (success) {
var custno = _this.formHead.getForm().findField('VOUALLNO');
custno.setReadOnly(true);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
},
Print: function (button, event) {
if (this.opStatus == "edit" || this.opStatus == "sel") {
var sql = "";
if (this.opStatus == "edit") {
var ORDNO = this.formHead.getForm().findField('ORDNO').getValue();
sql = "ORDNO='" + ORDNO + "'";
}
else if (this.opStatus == "sel") {
sql = "ORDNO in (select top 1 ORDNO from cw_vouchers_gl where VOUALLNO='" + this.sqlcontext + "')";
}
Ext.Ajax.request({
waitMsg: '正在组织数据, 请稍侯...',
url: '/MvcShipping/MsCwVouchersGl/GetDataListStr',
params: { condition: sql, printstr: 'true' },
callback: function (options, success, response) {
if (success) {
var ddd = Ext.MessageBox.isVisible();
if (Ext.MessageBox.isVisible()) {
Ext.MessageBox.hide();
}
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnStr = jsonresult.data;
var printType = 'MsCwVouchersGlIndex';
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
});
}
},
scope: this
});
}
},
setBtnStatusDisable: function (enable) {
var CREATEUSERNAME = this.formBottom.getForm().findField('CREATEUSERNAME').getValue();
_this = this;
var canedit = false;
if (enable) {
if (this.StoreOpRangeEdit.getCount() > 0) {
var records = DsStoreQueryBy(_this.StoreOpRangeEdit, 'OPID', CREATEUSERNAME);
if (records.getCount() > 0) {
this.setBtnStatus(true);
} else this.setBtnStatus(false);
} else {
this.StoreOpRangeEdit.load({
params: { optype: "MODVOUCHERGL" },
callback: function (r, options, success) {
if (success) {
if (r.length != 0) {
var records = DsStoreQueryBy(_this.StoreOpRangeEdit, 'OPID', CREATEUSERNAME);
if (records.getCount() > 0) {
canedit = true;
} else {
canedit = false;
}
} else { canedit = false; }
_this.setBtnStatus(canedit);
}
}
});
}
} else this.setBtnStatus(enable);
},
setBtnStatus: function (enable) {
var sbtnadd = Ext.getCmp('btnadd');
var sbtnSave = Ext.getCmp('btnSave');
var sbtnSaveAndClose = Ext.getCmp('btnSaveAndClose');
var sbtnSaveAndNew = Ext.getCmp('btnSaveAndNew');
var sbtnNew = Ext.getCmp('btnNew');
var sbtndel = Ext.getCmp('btndel');
var sbtnprint = Ext.getCmp('btnprint');
var sbtISCHECKED = Ext.getCmp('btISCHECKED');
var sbtNotISCHECKED = Ext.getCmp('btNotISCHECKED');
var sbtPrevious = Ext.getCmp('btPrevious');
var sbtLast = Ext.getCmp('btLast');
var sbtndelAll = Ext.getCmp('btndelAll');
var sbtnCopy = Ext.getCmp('btnCopy');
var sbtninsert = Ext.getCmp('btninsert');
var sbtnup = Ext.getCmp('btnup');
var sbtndown = Ext.getCmp('btndown');
if (enable) {
sbtnadd.enable();
sbtnSave.enable();
sbtnSaveAndClose.enable();
sbtnSaveAndNew.enable();
sbtnNew.enable();
sbtndel.enable();
sbtnprint.enable();
sbtISCHECKED.enable();
sbtNotISCHECKED.disable();
sbtnCopy.enable();
sbtninsert.enable();
sbtnup.enable();
sbtndown.enable();
Ext.getCmp("btISCHECKED").show(); //显示按钮
Ext.getCmp("btNotISCHECKED").hide(); //隐藏按钮
sbtndelAll.hide();
if (this.opStatus == "add") {
sbtnprint.disable();
sbtISCHECKED.disable();
sbtNotISCHECKED.disable();
sbtPrevious.hide();
sbtLast.hide();
}
else if (this.opStatus == "edit") {
sbtPrevious.show();
sbtLast.show();
}
else if (this.opStatus == "sel") {
sbtnadd.hide();
sbtnSaveAndNew.hide();
sbtnNew.hide();
sbtPrevious.hide();
sbtLast.hide();
sbtndelAll.show();
}
} else {
sbtnadd.disable();
sbtnSave.disable();
sbtnSaveAndClose.disable();
sbtnSaveAndNew.disable();
sbtnNew.enable();
sbtndel.disable();
sbtnCopy.enable();
sbtninsert.disable();
sbtnup.disable();
sbtndown.disable();
sbtISCHECKED.disable();
sbtNotISCHECKED.enable();
Ext.getCmp("btISCHECKED").hide(); //隐藏按钮
Ext.getCmp("btNotISCHECKED").show(); //显示按钮
sbtndelAll.hide();
if (this.opStatus == "add") {
sbtnprint.disable();
sbtISCHECKED.disable();
sbtNotISCHECKED.disable();
sbtPrevious.hide();
sbtLast.hide();
}
else if (this.opStatus == "edit") {
sbtPrevious.show();
sbtLast.show();
}
else if (this.opStatus == "sel") {
sbtnadd.hide();
sbtnSaveAndNew.hide();
sbtnNew.hide();
sbtPrevious.hide();
sbtLast.hide();
sbtndelAll.show();
}
}
},
onNextKeyClick: function (col) {
var rows = this.gridList.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridList.getStore();
var number = s.indexOf(row);
this.gridListCellEditing.startEditByPosition({ row: number, column: col });
},
//#endregion
//#region 审核/返审
setISCHECKED: function (iTYPE) {
if (this.opStatus == "edit" || this.opStatus == "sel") {
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/RptCwGenlegAccitems/GetData',
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
return;
}
data = result.data;
var arrtmp = data.toString().split("&");
this.strCwSTARTGID = arrtmp[0].toString();
var strCwSTARTNAME = arrtmp[1].toString();
var strCwACCDATE = arrtmp[2].toString();
var sYear = arrtmp[3].toString();
var sMonth = arrtmp[4].toString();
//
var iError = 0;
if (this.EditRecord != null) {
//var kjqj = this.EditRecord.data.VOUDATE.toString().substr(0, 7);
var kjqj = this.formHead.getForm().findField('VOUDATE').getRawValue().toString().substr(0, 7);
//kjqj = "2015-03";
if (kjqj < strCwACCDATE) {
Ext.Msg.show({ title: '警告', msg: '已经结转的期间凭证,不允许操作!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
}
//
var sNAME = "审核";
if (iTYPE == 0) {
sNAME = "返审";
if (this.StoreOpRange2.getCount() == 0) {
Ext.Msg.show({ title: '警告', msg: '权限不足,不允许操作!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
else {
var records = DsStoreQueryBy(this.StoreOpRange2, 'OPID', SHOWNAME); //制单人this.EditRecord.data.PREPARED
if (records.getCount() > 0) {
} else {
Ext.Msg.show({ title: '警告', msg: '权限不足,不允许操作!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
}
}
else {//审核
if (this.StoreOpRange.getCount() == 0) {
Ext.Msg.show({ title: '警告', msg: '权限不足,不允许操作!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
else {
var records = DsStoreQueryBy(this.StoreOpRange, 'OPID', SHOWNAME); //制单人this.EditRecord.data.PREPARED
if (records.getCount() > 0) {
} else {
Ext.Msg.show({ title: '警告', msg: '权限不足,不允许操作!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK });
return;
}
}
}
//
var strGIDs = this.formHead.getForm().findField('ORDNO').getValue(); //this.EditRecord.data.ORDNO
if (strGIDs.toString().trim() == "" || strGIDs.toString().trim() == "*") {
alert("请先保存凭证!");
return;
}
else {
//Ext.MessageBox.confirm('提示', '确定' + sNAME + '吗?', function (btn) {
//if (btn == 'yes') {
Ext.Msg.wait('正在' + sNAME + '...');
Ext.Ajax.request({
waitMsg: '正在' + sNAME + '...',
url: '/MvcShipping/MsCwVouchersGl/setISCHECKED',
params: {
gids: strGIDs,
iTYPE: iTYPE,
iOK: 0,
iSkip: 0
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
//Ext.Msg.show({ title: '提示', msg: '操作完成!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
Ext.Msg.hide();
//if (jsonresult.Message.toString().indexOf("0条。") <0) {
if (sNAME == "审核") {
this.setBtnStatusDisable(false);
}
else {
this.setBtnStatusDisable(true);
}
//}
//else {
// Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, 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.WARNING, buttons: Ext.Msg.OK });
},
success: function (response, options) {
},
scope: this
});
//}
//}, this);
}
} else {
//Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
else {
alert("请先保存凭证!");
return;
}
},
//#endregion
//#region 1.上一条 / 2.下一条
setPreviousLast: function (iTYPE) {
if (this.opStatus == "edit") {
var strORDNO = this.formHead.getForm().findField('ORDNO').getValue();
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwVouchersGl/setPrevious',
params: {
iTYPE: iTYPE,
ORDNO: strORDNO,
strCondition: this.sqlcontext
},
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.INFO, buttons: Ext.Msg.OK });
return;
}
//
condition = "ORDNO='" + result.Message.toString() + "'";
this.LoadData('edit', condition);
_orderno = result.Message.toString();
var condition2 = "BSNO='" + result.Message.toString() + "'";
this.Loading = true;
this.storeDocList.load({
params: { condition: condition2 },
waitMsg: "正在查询数据...",
scope: this,
callback: function () {
this.Loading = false;
}
});
} else {
Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.INFO, buttons: Ext.Msg.OK });
return;
//Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
},
//#endregion
//#region 层_显示信息
showContactForm: function (win, strValue, strOriginalValue, AccitemsRaw, selections, isFocus) {
var required = '*';
if (!win) {
var strITEM = '';
//#region formSearch 下拉框信息加载
//科目加载
this.storeCwAccitems2 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwAccitemsGlModel',
//proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' }
proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGlAll' }
});
this.storeCwAccitems2.loadData(this.storeCwAccitems.data.items);
// this.storeCwAccitems2.load({ params: { condition: "DETAILED=1 and ISENABLE=1" } });
this.comboxACCNAME2 = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '科目名称',
store: this.storeCwAccitems2,
forceSelection: true, //输入值是否严格为待选列表中存在的值
id: 'ACCNAME2',
name: 'ACCNAME2',
valueField: 'ACCNAME',
displayField: 'ACCIDNAME',
allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'select': function (combo, records, eOpts) {
if (combo.value != "") {
var AccitemsList = DsStoreQueryBy(this.storeCwAccitems2, 'ACCIDNAME', combo.rawValue.toString());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0).raw;
if (AccitemsRaw.ISCORPACC) {
Ext.getCmp('CustNAME').show();
}
else {
Ext.getCmp('CustNAME').setValue("");
Ext.getCmp('CustNAME').hide();
}
if (AccitemsRaw.ISDEPTACC) {
Ext.getCmp('DeptName').show();
}
else {
Ext.getCmp('DeptName').setValue("");
Ext.getCmp('DeptName').hide();
}
if (AccitemsRaw.ISEMPLACC) {
Ext.getCmp('SALE').show();
}
else {
Ext.getCmp('SALE').setValue("");
Ext.getCmp('SALE').hide();
}
if (AccitemsRaw.ISITEMACC) {
Ext.getCmp('ITEMNAME').show();
}
else {
Ext.getCmp('ITEMNAME').setValue("");
Ext.getCmp('ITEMNAME').hide();
}
//是不是外币,都默认为RMB
var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
if (AccitemsRaw.ISFCY) {
//如果是外币,则默认传送''
Ext.Ajax.request({
waitMsg: '正在查询汇率值...',
url: '/MvcShipping/MsCwVouchersGl/GetFCYEXRATEBYVOUDATE',
params: {
FCY: '',
LINKGID: AccitemsRaw.GID.toString()
},
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.INFO, buttons: Ext.Msg.OK });
return;
}
var strArg = result.data.toString().split(",");
var FCYNO = strArg[0].toString();
// var strFCYEXRATE = selections[0].data.FCYEXRATE;
var strFCYEXRATE = strArg[1].toString();
if (strFCYEXRATE == 1) {
strFCYEXRATE = Div(strArg[1].toString(), 1, 5);
}
selections[0].set('FCYEXRATE', strFCYEXRATE.toString());
selections[0].set('FCYNO', FCYNO);
selections[0].set('CURRENCY', FCYNO);
//
var AMTDR = selections[0].data.AMTDR;
var AMTCR = selections[0].data.AMTCR;
var AMT = 0;
if (AMTDR != 0) {
AMT = AMTDR;
}
if (AMTCR != 0) {
AMT = AMTCR;
}
selections[0].set('FCYAMT', Div(AMT, strFCYEXRATE, 2));
//
this.onColumnsHidden(false, AccitemsRaw.ISFCY);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
else {
selections[0].set('FCYEXRATE', 1);
selections[0].set('FCYNO', 'RMB');
selections[0].set('FCYAMT', 0);
}
}
}
//
},
//'keypress': {
'keyup': {
fn: function (_field, e) {
if (e.getKey() == 118) {//F7
DsOpenEditWin('/MvcShipping/MsCwAccitemsGl/Index', "科目信息", "500", "800", (window.screen.availHeight / 2 - 300), (window.screen.availWidth / 2 - 500));
}
},
scope: this
}
}
});
//客户加载
this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' }
});
//this.storeCustCode.load({ params: { condition: "((FARCODE!='' and FARCODE is not null) or (FAPCODE!='' and FAPCODE is not null))"} });
// this.storeCustCode.load({ params: { condition: ""} });
this.comboxCust = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '客户',
store: this.storeCustCode,
forceSelection: true,
queryMode: 'remote',
minChars: 1,
queryParam: 'CODENAME',
//focusOnToFront: true,
selectOnFocus: true,
id: 'CustNAME',
name: 'CustNAME',
valueField: 'CustName',
displayField: 'CodeAndName',
//allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': {
fn: function (e) {
e.expand();
//this.doQuery(this.allQuery, true);
},
buffer: 200
}
// ,'keyup': {
// fn: function (_field, e, eOpts) {
// if (e.getKey() == 13) {
// }
// },
// scope: this
// }
// ,'select': function (combo, records, eOpts) {
// Ext.Ajax.request({
// waitMsg: '正在查询是否已经维护财务代码...',
// url: '/MvcShipping/MsCwVouchersGl/GetISFINANCESOFTCODE',
// params: {
// TYPE: 'CustNAME',
// VALUE: combo.value
// },
// 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.INFO, buttons: Ext.Msg.OK });
// combo.setValue("");
// return;
// }
// strFINANCESOFTCODE = result.data;
// combo.setValue(strFINANCESOFTCODE);
// } else {
// Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
// }
// },
// scope: this
// });
// }
}
});
//部门加载
this.storeDept = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.DeptModel',
proxy: { url: '/CommMng/BasicDataRef/GetDeptListRm' }
});
//this.storeDept.load({ params: { condition: "(FINANCESOFTCODE!='' and FINANCESOFTCODE is not null)"} });
this.storeDept.load({ params: { condition: ""} });
this.comboxDept = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '部门',
store: this.storeDept,
id: 'DeptName',
name: 'DeptName',
queryMode: 'remote',
minChars: 1,
queryParam: 'CODENAME',
valueField: 'DeptName',
displayField: 'NOANDNAME',
forceSelection: true,
//allowBlank: false,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': {
fn: function (e) {
e.expand();
//this.doQuery(this.allQuery, true);
},
buffer: 200
}
// 'keyup': {
// fn: function (_field, e) {
// if (e.getKey() == 118) {//F7
// DsOpenEditWin('../../ParameterSet/ATSysDeptSet.aspx?mod=modATSysDeptSet&ISFINANCESOFTCODE=true', "部门信息", "650", "900", (window.screen.availHeight / 2 - 300), (window.screen.availWidth / 2 - 500));
// }
// },
// scope: this
// },
// 'select': function (combo, records, eOpts) {
// Ext.Ajax.request({
// waitMsg: '正在查询是否已经维护财务代码...',
// url: '/MvcShipping/MsCwVouchersGl/GetISFINANCESOFTCODE',
// params: {
// TYPE: 'DeptName',
// VALUE: combo.value
// },
// 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.INFO, buttons: Ext.Msg.OK });
// combo.setValue("");
// return;
// }
// strFINANCESOFTCODE = result.data;
// combo.setValue(strFINANCESOFTCODE);
// } else {
// Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
// }
// },
// scope: this
// });
// }
}
});
//人员信息加载
this.storeOpCode = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
//this.storeOpCode.load({ params: { condition: "(FINANCESOFTCODE!='' and FINANCESOFTCODE is not null)"} });
this.storeOpCode.load();
this.comboxSALE = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '人员',
store: this.storeOpCode,
id: 'SALE',
name: 'SALE',
valueField: 'UserName',
displayField: 'CodeAndName',
//value: SHOWNAME,
forceSelection: true,
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': {
fn: function (e) {
e.expand();
//this.doQuery(this.allQuery, true);
},
buffer: 200
}
// 'select': function (combo, records, eOpts) {
// Ext.Ajax.request({
// waitMsg: '正在查询是否已经维护财务代码...',
// url: '/MvcShipping/MsCwVouchersGl/GetISFINANCESOFTCODE',
// params: {
// TYPE: 'SALE',
// VALUE: combo.value
// },
// 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.INFO, buttons: Ext.Msg.OK });
// combo.setValue("");
// return;
// }
// strFINANCESOFTCODE = result.data;
// combo.setValue(strFINANCESOFTCODE);
// } else {
// Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
// }
// },
// scope: this
// });
// },
// 'keyup': {
// fn: function (_field, e) {
// if (e.getKey() == 118) {//F7
// DsOpenEditWin('../../ParameterSet/ATUserSet.aspx?mod=modATUser&ISFINANCESOFTCODE=true', "人员信息", "650", "900", (window.screen.availHeight / 2 - 300), (window.screen.availWidth / 2 - 500));
// }
// },
// scope: this
// }
}
});
//项目加载
this.storeCwItem = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.CwItemModel',
proxy: { url: '/CommMng/BasicDataRef/GetCwItemList' }
});
this.storeCwItem.load();
//this.storeCwItem.load({ params: { condition: "(FINANCESOFTCODE!='' and FINANCESOFTCODE is not null)"} });
this.comboxCwItem = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '项目',
store: this.storeCwItem,
forceSelection: true,
id: 'ITEMNAME',
name: 'ITEMNAME',
valueField: 'ITEMNAME',
displayField: 'CodeAndName', //CodeAndName
enableKeyEvents: true, //激活键盘事件
listeners: {
scope: this,
'focus': {
fn: function (e) {
e.expand();
//this.doQuery(this.allQuery, true);
},
buffer: 200
}
// 'select': function (combo, records, eOpts) {
// Ext.Ajax.request({
// waitMsg: '正在查询是否已经维护财务代码...',
// url: '/MvcShipping/MsCwVouchersGl/GetISFINANCESOFTCODE',
// params: {
// TYPE: 'ITEMNAME',
// VALUE: combo.value
// },
// 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.INFO, buttons: Ext.Msg.OK });
// combo.setValue("");
// return;
// }
// strFINANCESOFTCODE = result.data;
// combo.setValue(strFINANCESOFTCODE);
// } else {
// Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
// }
// },
// scope: this
// });
// }
}
});
//#endregion
//#region 编辑formDiv 基本信息
var formDiv = Ext.widget('form', {
id: 'formDiv',
border: false,
bodyPadding: 10,
fieldDefaults: {
labelAlign: 'right',
labelWidth: 60,
labelStyle: 'font-weight:bold'
},
items: [this.comboxACCNAME2, this.comboxCust, this.comboxDept, this.comboxSALE, this.comboxCwItem],
buttons: [{
text: '取消',
handler: function () {
//var selections = this.gridList.getSelectionModel().getSelection(); //获得选中的项
selections[0].set('ACCALL', strOriginalValue);
this.up('form').getForm().reset();
//this.up('window').hide();
this.up('window').close();
}
}, {
id: 'tijiao',
text: '提交',
handler: function (options, success, response) {
//var _this2 = Ext.getCmp('formDiv');
//if (!_this2.getForm().isValid()) {
// return;
//}
this.GetSubmit(win, selections, this, strITEM);
//#region GetSubmit函数前身
//var strACCNAME2 = this.up('form').getForm().findField('ACCNAME2').getValue();
//var ls = strACCNAME2;
//if (this.up('form').getForm().findField('CustNAME').getValue() != null) {
// var CustNAME = this.up('form').getForm().findField('CustNAME').getValue();
// if (CustNAME.toString().trim() != "") {
// ls += "▁" + CustNAME;
// }
//}
//if (this.up('form').getForm().findField('DeptName').getValue() != null) {
// var DeptName = this.up('form').getForm().findField('DeptName').getValue();
// if (DeptName.toString().trim() != "") {
// ls += "▁" + DeptName;
// }
//}
//if (this.up('form').getForm().findField('SALE').getValue() != null) {
// var SALE = this.up('form').getForm().findField('SALE').getValue();
// if (SALE.toString().trim() != "") {
// ls += "▁" + SALE;
// }
//}
//if (this.up('form').getForm().findField('ITEMNAME').getValue() != null) {
// var ITEMNAME = this.up('form').getForm().findField('ITEMNAME').getValue();
// if (ITEMNAME.toString().trim() != "") {
// ls += "▁" + ITEMNAME;
// }
//}
//selections[0].set('ACCALL', ls);
////
//this.up('form').getForm().reset();
//this.up('window').hide();
//#endregion
},
scope: this
}],
listeners: {
scope: this,
//'beforeload': function () {
'render': function (thisDiv, thisExtend) {
//#region 加载下拉框信息
// this.storeCwAccitems.load({ async: false, params: { condition: "DETAILED=1" }, scope: this });
// this.storeCustCode.load({ async: false, params: { condition: ""} });
this.storeDept.load({ async: false, params: { condition: ""} });
this.storeOpCode.load({ async: false });
this.storeCwItem.load({ async: false });
//#endregion
//#region 显示/隐藏下拉框
var sFocus = "";
Ext.getCmp('ACCNAME2').hide();
//var strITEM = "ACCNAME2";
strITEM = "ACCNAME2";
if (AccitemsRaw.ISCORPACC) {
//thisDiv.getForm().findField('CustNAME').hidden = false;
Ext.getCmp('CustNAME').show();
strITEM += "▁CustNAME";
sFocus += ",1";
}
else {
//thisDiv.getForm().findField('CustNAME').hidden = true;
Ext.getCmp('CustNAME').setValue("");
Ext.getCmp('CustNAME').hide();
}
//
if (AccitemsRaw.ISDEPTACC) {
Ext.getCmp('DeptName').show();
strITEM += "▁DeptName";
sFocus += ",2";
}
else {
Ext.getCmp('DeptName').setValue("");
Ext.getCmp('DeptName').hide();
}
//
if (AccitemsRaw.ISEMPLACC) {
Ext.getCmp('SALE').show();
strITEM += "▁SALE";
sFocus += ",3";
}
else {
Ext.getCmp('SALE').setValue("");
Ext.getCmp('SALE').hide();
}
//
if (AccitemsRaw.ISITEMACC) {
Ext.getCmp('ITEMNAME').show();
strITEM += "▁ITEMNAME";
sFocus += ",4";
}
else {
Ext.getCmp('ITEMNAME').setValue("");
Ext.getCmp('ITEMNAME').hide();
}
//
if (isFocus) {
if (strOriginalValue != "") {
var ayList = new Array();
ayList = strOriginalValue.split("▁");
var ayItem = new Array();
ayItem = strITEM.split("▁");
for (var i = 0; i < ayList.length; i++) {
Ext.getCmp(ayItem[i].toString()).setValue(ayList[i].toString());
//thisDiv.getForm().findField(ayItem[i].toString()).setValue(ayList[i].toString());
}
}
}
else {
if (strValue != "") {
Ext.getCmp('ACCNAME2').setValue(strValue);
}
}
//#endregion
//#region 设置下拉框焦点
var isFocus = Ext.getCmp('CustNAME');
if (sFocus.indexOf(",1") == 0) {
isFocus = Ext.getCmp('CustNAME');
}
else if (sFocus.indexOf(",2") == 0) {
isFocus = Ext.getCmp('DeptName');
}
else if (sFocus.indexOf(",3") == 0) {
isFocus = Ext.getCmp('SALE');
}
else if (sFocus.indexOf(",4") == 0) {
isFocus = Ext.getCmp('ITEMNAME');
}
isFocus.focus(true, true);
//#endregion
//#region 设置下拉框回车事件
var sFocus2 = sFocus.toString().substr(1);
var argItems = sFocus2.toString().split(",");
for (var i = 0; i < argItems.length; i++) {
if (argItems.length == 1 || (argItems.length - 1) == i) {
//#region 回车+提交事件
if (argItems[i].toString() == "1") {
this.comboxCust.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
//this.GetSubmit(win, selections, this);
isFocus = Ext.getCmp('tijiao');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i].toString() == "2") {
this.comboxDept.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
//this.GetSubmit(win, selections, this);
isFocus = Ext.getCmp('tijiao');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i].toString() == "3") {
this.comboxSALE.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
//this.GetSubmit(win, selections, this);
isFocus = Ext.getCmp('tijiao');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i].toString() == "4") {
this.comboxCwItem.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
//this.GetSubmit(win, selections, this);
isFocus = Ext.getCmp('tijiao');
isFocus.focus(true, true);
}
}, this);
}
//#endregion
}
else {
//#region 回车+焦点事件
if (argItems[i].toString() == "1") {
if (argItems[i + 1].toString() == "2") {
this.comboxCust.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('DeptName');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i + 1].toString() == "3") {
this.comboxCust.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('SALE');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i + 1].toString() == "4") {
this.comboxCust.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('ITEMNAME');
isFocus.focus(true, true);
}
}, this);
}
}
else if (argItems[i].toString() == "2") {
if (argItems[i + 1].toString() == "3") {
this.comboxDept.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('SALE');
isFocus.focus(true, true);
}
}, this);
}
else if (argItems[i + 1].toString() == "4") {
this.comboxDept.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('ITEMNAME');
isFocus.focus(true, true);
}
}, this);
}
}
else if (argItems[i].toString() == "3") {
if (argItems[i + 1].toString() == "4") {
this.comboxSALE.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
isFocus = Ext.getCmp('ITEMNAME');
isFocus.focus(true, true);
}
}, this);
}
}
else if (argItems[i].toString() == "4") {
this.comboxCwItem.addListener('keyup', function (dataview, record, item) {
if (record.getKey() == 13) {
//this.GetSubmit(win, selections, this);
isFocus = Ext.getCmp('tijiao');
isFocus.focus(true, true);
}
}, this);
}
//#endregion
}
}
//
isFocus = Ext.getCmp('tijiao');
isFocus.addListener('focus', function (dataview, record, item) {
//if (!this.up('form').getForm().isValid()) {
// return;
//}
if (!thisDiv.getForm().isValid()) {
return;
}
this.GetSubmit(win, selections, this, strITEM);
}, this);
//#endregion
}
}
});
//#endregion
win = Ext.widget('window', {
title: '辅助核算',
closeAction: 'destroy', //hide,
id:'winaccitemsedit',
width: 250,
height: 250,
layout: 'fit',
modal: true,
closable: false, //为false时tab上不显示叉号
resizable: false, //是否可改变列宽,默认为true
items: formDiv
//draggable: false,//不允许窗体被拖拽
//获取当前鼠标坐标并设置为其生产的初始位置
//x: 250,
//y: 150,
});
}
win.show();
},
GetSubmit: function (win, selections, _this, strITEM) {
//var strACCNAME2 = _this.up('form').getForm().findField('ACCNAME2').getValue();
//var strACCNAME2 = Ext.getCmp('ACCNAME2').getValue();
var strACCNAME2 = selections[0].data.ACCALL.toString();
var ls = strACCNAME2;
if (Ext.getCmp('CustNAME').getValue() != null) {
if (Ext.getCmp('CustNAME').getValue() != "") {
var CustNAME = Ext.getCmp('CustNAME').getValue();
var re = new RegExp(/^[A-Za-z]+$/);
var bl = re.test(CustNAME);
if (bl) {
if (CustNAME.indexOf("-") < 0) {
var AccitemsList = DsStoreQueryBy(this.storeCustCode, 'CustName', CustNAME.toString()); //CustCode
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
CustNAME = AccitemsRaw.data.CustName.toString();
}
else {
return false;
}
}
else {
return false;
}
}
else {
var AccitemsList = DsStoreQueryBy(this.storeCustCode, 'CodeAndName', CustNAME.toString().toUpperCase());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
CustNAME = AccitemsRaw.data.CustName.toString();
}
else {
return false;
}
}
else {
return false;
}
}
}
else {
if (CustNAME.indexOf("-") < 0) {
var AccitemsList = DsStoreQueryBy(this.storeCustCode, 'CustName', CustNAME.toString());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
CustNAME = AccitemsRaw.data.CustName.toString();
}
else {
return false;
}
}
else {
return false;
}
}
else {
var AccitemsList = DsStoreQueryBy(this.storeCustCode, 'CodeAndName', CustNAME.toString().toUpperCase());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
CustNAME = AccitemsRaw.data.CustName.toString();
}
else {
return false;
}
}
else {
var AccitemsList = DsStoreQueryBy(this.storeCustCode, 'CustName', CustNAME.toString().toUpperCase());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
CustNAME = AccitemsRaw.data.CustName.toString();
}
else {
return false;
}
}
else {
return false;
}
}
}
}
if (CustNAME.toString().trim() != "") {
ls += "▁" + CustNAME;
}
}
else {
if (strITEM.toString().indexOf("CustNAME") > -1) {
return;
}
}
}
else {
if (strITEM.toString().indexOf("CustNAME") > -1) {
return;
}
}
if (Ext.getCmp('DeptName').getValue() != null) {
if (Ext.getCmp('DeptName').getValue() != "") {
var DeptName = Ext.getCmp('DeptName').getValue();
if (DeptName.indexOf("-") > -1) {
DeptName = DeptName.toString().substr(DeptName.indexOf("-") + 1);
}
if (DeptName.toString().trim() != "") {
ls += "▁" + DeptName;
}
}
else {
if (strITEM.toString().indexOf("DeptName") > -1) {
return;
}
}
}
else {
if (strITEM.toString().indexOf("DeptName") > -1) {
return;
}
}
if (Ext.getCmp('SALE').getValue() != null) {
if (Ext.getCmp('SALE').getValue() != "") {
var SALE = Ext.getCmp('SALE').getValue();
var re = new RegExp(/^[A-Za-z]+$/);
var bl = re.test(SALE);
if (bl) {
var AccitemsList = DsStoreQueryBy(this.storeOpCode, 'UserCode', SALE.toString().toUpperCase());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
SALE = AccitemsRaw.data.UserName.toString();
}
else {
return false;
}
}
else {
return false;
}
}
//
if (SALE.indexOf("-") > -1) {
SALE = SALE.toString().substr(SALE.indexOf("-") + 1);
}
if (SALE.toString().trim() != "") {
ls += "▁" + SALE;
}
}
else {
if (strITEM.toString().indexOf("SALE") > -1) {
return;
}
}
}
else {
if (strITEM.toString().indexOf("SALE") > -1) {
return;
}
}
if (Ext.getCmp('ITEMNAME').getValue() != null) {
if (Ext.getCmp('ITEMNAME').getValue() != "") {
var ITEMNAME = Ext.getCmp('ITEMNAME').getValue();
var re = new RegExp(/^[0-9a-zA-Z]+$/);
var bl = re.test(ITEMNAME);
if (bl) {
var AccitemsList = DsStoreQueryBy(this.storeCwItem, 'ITEMCODE', ITEMNAME.toString().toUpperCase());
if (AccitemsList.length > 0) {
var AccitemsRaw = AccitemsList.getAt(0);
if (AccitemsRaw != null) {
ITEMNAME = AccitemsRaw.data.ITEMNAME.toString();
}
}
}
if (ITEMNAME.indexOf("-") > -1) {
ITEMNAME = ITEMNAME.toString().substr(ITEMNAME.indexOf("-") + 1);
}
if (ITEMNAME.toString().trim() != "") {
ls += "▁" + ITEMNAME;
}
}
else {
if (strITEM.toString().indexOf("ITEMNAME") > -1) {
return;
}
}
}
else {
if (strITEM.toString().indexOf("ITEMNAME") > -1) {
return;
}
}
selections[0].set('ACCALL', ls);
//
var rows = this.gridList.getSelectionModel().getSelection();
if (rows[0].data.FCYNO == "RMB") {
this.onNextKeyClick(7);
}
else {
this.onNextKeyClick(5);
}
//
var lsACCALL = rows[0].data.ACCALL.toString();
while (lsACCALL != ls) {
rows = this.gridList.getSelectionModel().getSelection();
var lsACCALL = rows[0].data.ACCALL.toString();
selections[0].set('ACCALL', ls);
}
//
//var win = Ext.getCmp("DivWin");
//var win = this.up("window");
//win.hide();
win.close();
},
onNextKeyClick: function (col) {
var rows = this.gridList.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = this.gridList.getStore();
var number = s.indexOf(row);
this.gridListCellEditing.startEditByPosition({ row: number, column: col });
},
OprationSwap2: function () {
var ret = new Array();
ret[0] = this.gridList.getSelectionModel().getSelection();
ret[1] = this.comboxACCNAME;
ret[2] = this.comboxCust;
ret[3] = this.comboxDept;
ret[4] = this.comboxSALE;
return ret;
},
//#endregion
//#region 上传附件, 需求编号:SR2017062800004
onUpLoadFileClick: function (button, event) {
if (this.opStatus == 'add') {
Ext.Msg.show({ title: '提示', msg: '请先保存凭证!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var billno = this.EditRecord.get("VOUALLNO");
var sORDNO = _orderno;
me = this;
var imgform = new Ext.FormPanel({
region: 'center',
labelWidth: 40,
frame: true,
bodyStyle: 'padding:5px 5px 0',
autoScroll: true,
border: false,
fileUpload: true,
items: [{
xtype: 'fileuploadfield',
id: 'LoadFile',
name: 'LoadFile',
emptyText: '请选择文件',
fieldLabel: '文件',
buttonText: '选择文件',
allowBlank: false,
buttonCfg: { iconCls: 'uploaddialog' },
anchor: '98%'
}],
buttons: [{
text: '上传',
type: 'submit',
handler: function () {
var UserFilePath = Ext.getCmp('LoadFile').getValue();
if (!imgform.form.isValid()) { return; }
imgform.form.submit({
url: '/MvcShipping/MsOpReceipt/UploadFile',
waitMsg: '正在上传',
method: 'POST',
submitEmptyText: false,
async: false,
params: {
CUSTNO: billno,
BSNO: sORDNO
},
success: function (form, action) {
win.close(this);
Ext.Msg.show({ title: '提示', msg: '上传成功!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
var condition2 = "BSNO='" + sORDNO + "'";
me.Loading = true;
me.storeDocList.load({
params: { condition: condition2 },
waitMsg: "正在查询数据...",
scope: this,
callback: function () {
me.Loading = false;
}
});
var cnt = me.storeDocList.data.items.length + 1;
Ext.getCmp("ATTACHS").setValue(cnt);
},
failure: function (form, action) {
form.reset();
if (action.failureType == Ext.form.Action.SERVER_INVALID)
Ext.MessageBox.alert('警告', action.result.errors.msg);
}
});
}
}, {
text: '关闭',
type: 'submit',
handler: function () {
win.close(this);
}
}]
});
var win = new Ext.Window({
title: "上传文件",
width: 360,
height: 120,
modal: true,
resizable: false,
border: false,
items: imgform
});
win.show();
},
//#endregion
//#region 删除上传附件, 需求编号:SR2017062800004
onDelFileClick: function (button, event) {
if (this.opStatus == 'add') {
Ext.Msg.show({ title: '提示', msg: '请先保存凭证!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var feeGidSql = '';
var selectedRecords = [];
selectedRecords = this.DocCM.selected.items;
if (selectedRecords.length == 0) {
Ext.Msg.show({ title: '提示', msg: '请先选择要删除的附件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
Ext.MessageBox.confirm('提示', '确定要删除选中的附件吗?', function (btn) {
if (btn == 'yes') {
if (selectedRecords.length > 0) {
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.data.GID == "*") //如果是新增但没有保存的数据,没有必要提交到后台
{
this.storeDocList.remove(selectedRecords[i]);
}
else {
var feeGId = "'" + rec.data.GID + "'";
if (feeGidSql == '') {
feeGidSql = feeGId;
} else {
feeGidSql = feeGidSql + "," + feeGId;
}
}
}
}
_this = this;
Ext.Msg.wait('正在删除数据...');
if (feeGidSql != '') {
Ext.Ajax.request({
waitMsg: '正在删除数据...',
url: '/MvcShipping/MsOpReceipt/DeleteUploadFile',
params: {
data: feeGidSql
},
callback: function (options, success, response) {
if (success) {
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
for (var i = 0; i < selectedRecords.length; i++) {
this.storeDocList.remove(selectedRecords[i]);
}
Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
this.setAttachs();
}
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
});
} else {
Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
}
}
}, this);
},
//#endregion
//#region 根据上传删除的附件数,更新凭证附单据张数,需求编号:SR2017062800004
setAttachs: function () {
if (this.opStatus == 'add') {
Ext.Msg.show({ title: '提示', msg: '请先保存凭证!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/MvcShipping/MsCwVouchersGl/setAttachs',
params: {
sORDNO: this.EditRecord.get("ORDNO")
},
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.INFO, buttons: Ext.Msg.OK });
return;
}
var condition = "ORDNO='" + this.EditRecord.get("ORDNO") + "'";
this.LoadData('edit', condition);
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
});
}
//#endregion
});