



com.kingdee.eas.fi.cas.web.receivingbill.event.GetAsstAccountInfoActionEvent
com.kingdee.eas.fi.cas.web.receivingbill.handler.GetAsstAccountInfoActionEventHandler

javascript
mod.defineModule("extend/custom/zcht/jczl/js/accounteditor",["base","waf","fi/cas/js/webCommonUtil","editgrid"],function(waf){//
waf(function(){
_self.asstAccountConfig = {};
waf.defineCustomeClass("celleditor.accountCellEditor", celleditor.f7, {
show: function(){
debugger;
var self = this;
var div = waf("#asst");
if (div.length == 0) {
div = $("<div id='asst' class='floatdiv'></div>");
div.appendTo($(".page_margins"));
}
else {
div.empty();
}
this.div = div;
div.unbind('keydown');
div.bind('keydown', function(e){
if (e.keyCode == 13 || e.keyCode == 9) {
//调用此方法由表格来决定全键盘的下一个走向,有可能向前(同时按住shift键) ,也有可能向后
if (document.activeElement.id == self.lastItemId || document.activeElement.id.indexOf(self.lastItemId) != -1) {
waf.jgrid.editKeyHandler(e, self.table, self.iRow, self.iCol);
return false;
}
}
});
var grid = waf(this.table);
var rowid = grid.wafGrid("getRowId", this.iRow);
var account = grid.getCell(rowid, self.nmjq); //获得当前分录编辑字段
_self.showAccountDIV(this, account);
},
clear: function(){
this.div.hide();
},
getValue: function(){
return _self.getAccountAsstValue(this);
}
});
/**
* 描述:是否字符串
* @param {Object} o
*/
_self.isString = function(o){
return _self.getType(o) == "string";
}
_self.getType = function(object){
var _t;
return ((_t = typeof(object)) == "object" ? object == null && "null" || Object.prototype.toString.call(object).slice(8, -1) : _t).toLowerCase();
}
/**
* 科目列显示辅助账信息
* @param cellvalue 科目单元格的值
* @param options 列的相关配置
* @param rowObject 行对象值
*/
waf.defineCustomeClass("cellformatter.accountFormat", cellformatter.f7, {
format: function(cellval, rwd){
cellformatter.f7.prototype.format.call(this, cellval, rwd);
if (cellval == undefined || cellval == "")
return "";
var diaplyString = "";
if (_self.isString(cellval.displayName)) {
diaplyString = "<div>" + cellval.number + " " + cellval.displayName + "</div>";
}else if (cellval.displayName && cellval.displayName[waf.getContext().locale]) {
diaplyString = "<div>" + cellval.number + " " + cellval.displayName[waf.getContext().locale] + "</div>";
}else {
diaplyString = "<div>" + (cellval.number || "") + "</div>";
}
var asstName = "";
var assgrp = cellval.assgrp;
if (assgrp && assgrp != "") {
var assGrpDisplayName = assgrp.displayname;
if (assGrpDisplayName && assGrpDisplayName != "") {
asstName = asstName.concat(assGrpDisplayName);
}
}
if (asstName.length > 0) {
diaplyString = diaplyString.concat("<div>[ ").concat(asstName).concat(" ]</div>");
}
return diaplyString;
},
unformat: function(cell, rowId){
return cellformatter.f7.prototype.unformat.call(this, cell, rowId);
}
});
_self.showAccountDIV = function(self, account){
self.div.css("display", "block");
_self.appendAccountF7(self, account);
//浮动层相对于当前单元格来定位
self.div.position(waf.extend({
of: self.cell
}, {
my: "left top",
at: "left top",
collision: "none"
}));
var f7id = '#' + self.opts.id;
//焦点显示
window.setTimeout(function(){
waf(f7id).focus().select();
}, 0)
};
_self.appendAccountF7 = function(self, account){
var rowHeight = (self.cell.height() - 1) + "px";
var cellWidth = self.cell.width() - 6 + "px";
self.div.css("height", rowHeight);
var company = waf.dataBinder.getComponentByProperty('fICompany').wafPromptBox('getValue');
self.items = new Array();
var comId = self.opts.id;
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: "",
disTl: false,
tagClass: "accountlb"
};
var accountTableId="";
if(null!=company.accountTable){
accountTableId=company.accountTable.id;
}else{
accountTableId=waf.dataBinder.getComponentByProperty('AccountTableID').wafText('getValue');
}
self.div.append("<div id = 'accountCellDiv' class='mianpromptdiv' style='border: 1px solid #1A7DF4'></div>");
var accountCellDiv = waf("#accountCellDiv");
var filterItems = waf.parseSql.getFilter("companyID.id","=",company.id);
var filterItems1 = waf.parseSql.getFilter("accountTableID.id","=",accountTableId);
var filterItems2 = waf.parseSql.getFilter("isleaf","=",1);
filterItems = waf.parseSql.mergeFilter([filterItems, filterItems1],"and");
filterItems = waf.parseSql.mergeFilter([filterItems, filterItems2],"and");
// if(!showCashAndBankAcctView) {
// var filterItems3 = waf.parseSql.getFilter("isCash","=",0);
// var filterItems4 = waf.parseSql.getFilter("isBank","=",0);
// filterItems = waf.parseSql.mergeFilter([filterItems, filterItems3],"and");
// filterItems = waf.parseSql.mergeFilter([filterItems, filterItems4],"and");
// }
//科目显示
var options = {
id: comId,
name: comId,
width: cellWidth,
height: rowHeight,
disTl: false,
subWidgetName: "wafPromptStandard",// wafPromptSpecial_Account
subWidgetOptions: {
//url: waf.getContextPath() + "/component/promptTable.do",
//ajaxType: "GET",
query: "com.kingdee.eas.fi.gl.app.AccountViewNumberNameQuery",
//accessType: "remote",
// allowAutoComplete: true,
searchItem: "number+longName",
// autoCompleteItem: "number+name",
cu: false,
companyOrg:company.id,
//accountTable:company.accountTable.id,
accountTable:accountTableId,
onlyLeaf:true,
filteritem: filterItems
}
};
var promptBoxDom = waf.createDOM("promptBox", options);
waf.appendDOM(accountCellDiv, promptBoxDom);
waf.initComponent("promptBox", options, promptBoxDom);
accountCellDiv.css("height", rowHeight).css("width", cellWidth);
var accountpromptBox = waf('#' + comId);
var innerWidth = (self.cell.height() - 3) + "px";
accountpromptBox.css("height", innerWidth);
waf("#accountCellDiv .ui-f7-frame .ui-f7-trigger").css("height", innerWidth);
self.lastItemId = comId;
accountpromptBox.wafPromptBox("setValue", account);
_self.accountchange(null, account, self, {});
accountpromptBox.wafPromptBox("option", "onchange", function(e, value){
_self.accountchange(e, value.current, self, value.previous);
});
};
_self.accountchange = function(e, account, self, oldValue){
var items = self.items;
for (var i = 0; i < items.length; i++) {
$("#" + items[i]).remove();
}
self.items = new Array();
self.firstItemId = undefined;
self.div.css("height", (self.cell.height() - 3) + "px");
if (!account || account == "") {
_self.asstActItems(e, account, self, oldValue);
return;
}
//account = _self.transAccountViewInfo(account);
if (account.cAA || account.hasUserProperty) {
if ((account.cAA && (!account.assgrp || !account.assgrp.detail)) || (account.hasUserProperty && !account.accountcustprop)) {
var company = waf.dataBinder.getComponentByProperty('fICompany').wafPromptBox('getValue');
waf.doPost({
data: {
source: 'editGrid.account',
accountid: account.id,
caaid: account.cAA ? account.cAA.id : "",
hgid: account.assgrp ? account.assgrp.id : "",
companyId: company.id,
property: 'getAsstAccountInfo'
},
action : 'getAsstAccountInfo',
success: function(model){
account.assgrp = model.assgrp;
_self.asstActItems(e, account, self, oldValue);
_self.appendAsstItem(self, account);
if (e) {
waf("#" + self.firstItemId).focus().select();
}
}
});
}else {
_self.asstActItems(e, account, self, oldValue);
_self.appendAsstItem(self, account);
if (e) {
waf("#" + self.firstItemId).focus().select();
}
}
}else {
if (e) {
_self.asstActItems(e, account, self, oldValue);
waf("#editGrid").wafGrid("nextCell", self.iRow, self.iCol);
}
}
};
/**
* 更新核算明细
* @param {Object} e
* @param {Object} account
* @param {Object} self
* @param {Object} oldValue
*/
_self.asstActItems = function(e, account, self, oldValue){
// oldValue是个空对像,不进行任何处理,查看模式
if(oldValue && !oldValue.id)return;
// account有值,oldValue有值,且两个值相等,不做任何变化
if(oldValue && account && oldValue.id && account.id && account.id == oldValue.id)return;
var isDelete = false;
// 返回是否有删除明细,将决定核算项目添加时,是否新增核算明细项
// account没有值,删除核算明细
if(!account){
isDelete = true;
}else if(!account.cAA || !account.cAA.id){
// account没有关联核算项目,删除核算明细
isDelete = true;
}
// account有值,oldValue有值,且两个值不相等 删除核算明细
// isDelete 为 true 只删除明细,不新增行,否则的话,删除完成,要根据核算类型关联的明细,新增新的核算项目行
var entryGrid;
var dataGrid;
if(self && self.table && self.table.id){
debugger;
if( self.nmjq=="dfkm" ){
entryGrid = waf("#editgrid");
dataGrid = waf("#asstltems");
}
if( self.nmjq=="asstltemsDebit" ){ //字段名
entryGrid = waf("#editgrid");
dataGrid = waf("#asstltemsDebit"); //分录名
}
}
var rowid = entryGrid.wafGrid("getSelectedRow");
var allDatas = dataGrid.wafGrid("getAllRowData");
for (var index in allDatas){
if(rowid == allDatas[index].entryParentID){
row = allDatas[index];
if(row.id && "" != row.id){
dataGrid.wafGrid("delRow", row.id);
}else{
dataGrid.wafGrid("delRow", row.rowId);// , row
}
}
}
if(isDelete)return;
if (!account.assgrp || !account.assgrp.CAAId){
account.assgrp.CAAId = account.cAA.id;
}
var option = {accountId: account.id, canEditAsst: false};
var config = _self.getAsstAccountConfig(account, account.assgrp.CAAId, option);
var flag = 1;
for (var p in config) {
var asst = config[p];
// 向明细分录插入数据
var row = {};
row.entryParentID = rowid;
row.asstActType = asst;
row.entrySeq = flag;
// row.fromID = "";
// row.fromNumber = "";
row.mappingFileds = asst.mappingFieldName;
row.tableName = asst.realtionDataObject;
dataGrid.wafGrid("addRow",{data:row});
flag++;
}
};
_self.appendAsstItem = function(self, account){
_self.appendCaa(self, account);
//_self.appendAccountCustProp(self, account);
var num = self.items.length;
var height = self.cell.height();
if (num) {
height = num * 44 + 10 + height;
}
self.div.css("height", height + "px");
};
// _self.transAccountViewInfo = function(account){
// if (!account || account == "") {
// return null;
// }
// //隐藏或显示辅助账DIV
// if (!account.companyID) {
// var companyid = account["companyID.id"];
// var company = new Object();
// company.id = companyid;
// account.companyID = company;
// }
// if (!account.accountTableID) {
// var accountTableid = account["accountTableID.id"];
// var accountTable = new Object();
// accountTable.id = accountTableid;
// account.accountTableID = accountTable;
// }
// var caaId = account["CAA.id"];
// if (!account.cAA && caaId) {
// var caa = new Object();
// caa.id = caaId;
// caa.isQty = account["CAA.isQty"];
// account.cAA = caa;
// }
// if (!$.isNaN(account.isQty)) {
// account.isQty = !!parseInt(account.isQty);
// }
// if (account.AC != undefined) {
// account.aC = account.AC;
// }
// if (!$.isNaN(account.hasUserProperty)) {
// account.hasUserProperty = !!parseInt(account.hasUserProperty);
// }
// return account;
// };
/**
* 描述:创建辅助账
*/
_self.appendCaa = function(self, account){
if (!account.assgrp || !account.assgrp.CAAId){
if(!account.cAA.id){
return;
}else{
account.assgrp.CAAId = account.cAA.id;
}
}
var option = {accountId: account.id, canEditAsst: false};
var config = _self.getAsstAccountConfig(account, account.assgrp.CAAId, option);
//var detail = account.assgrp.detail;
//var asstTypeNum = detail.length;
for (var p in config) {
var asst = config[p];
for(var n in account.assgrp.detail){
if(p == account.assgrp.detail[n].asstHGAttribute){
asst.value = account.assgrp.detail[n].value;
}
}
var name = eval("asst.name." + waf.getContext().locale);
queryid = asst.queryid;
// 如果是银行账户,设置条件为科目相同
if("bankAccount"==asst.asstHGAttribute) {
_self.createF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value);
} else if("adminOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"Admin"});
} else if("companyOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"Company"});
} else if("costOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"CostCenter"});
} else if("profitOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"ProfitCenter"});
} else if("purchaseOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"Purchase"});
} else if("saleOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"Sale"});
} else if("storeageOrg"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Org","promptSpecial_Org", {orgType:"Storeage"});
} else if("customer"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Customer","promptSpecial_Customer", {});
} else if("supplier"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Supplier","promptSpecial_Supplier", {});
} else if("material"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Material","promptSpecial_Material", {});
} else if("person"==asst.asstHGAttribute) {
_self.createSpecialF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value, "wafPromptSpecial_Person","promptSpecial_Person", {});
} else {
_self.createF7Field(self, "acc" + asst.asstHGAttribute, name, asst.defaultQueryName, queryid, asst.value);
}
}
};
_self.getAsstAccountConfig = function(assAcc, asstAccountId, option){
if (!asstAccountId) {
return {};
}
if (!_self.asstAccountConfig) {
_self.asstAccountConfig = {};
}
if (!_self.asstAccountConfig[assAcc.id]) {
_self.asstAccountConfig[assAcc.id] = _self.getAsstGrpInfo(assAcc, asstAccountId, undefined, option ? option.accountId : undefined);
if (!assAcc.assgrp) {
assAcc.assgrp = {};
var config = _self.asstAccountConfig[assAcc.id];
if (option.defaultValues) {
for (var p in config) {
var asst = config[p];
assAcc.assgrp[p] = option.defaultValues[p];
}
}
}
}
return _self.asstAccountConfig[assAcc.id];
};
_self.getAsstGrpInfo = function(assAcc, asstAccountId, hgId, accountId){
var company = waf.dataBinder.getComponentByProperty('fICompany').wafPromptBox('getValue');
// var sysParams = JSON.parse(company.glsysparam);
var sysParams = {G001: false,G003: true,G010: false,GL_002: "2",GL_003: "2",GL_012: false,GL_014: "0",GL_014_1: false,GL_015: false,GL_029: false,GL_031: false,GL_043: false,GL_047: "0",GL_067: "0",GL_069: true,GL_099: false,GL_102: "1",GL_111: false,GL_0151: false,GL_0155: false,GL_0302: false,GL_VCH_POST_CONTROL: false}
var config;
_self.doPost({
url: waf.getContextPath() + '/fi/gl/asstgrp/source.do?method=getAsstGrpInfo',
async: false,
showBlock : false,
data: {
asstAccountId: asstAccountId,
hgId: hgId,
options: waf.toJSONString({
companyId: company.id,
accountId: accountId,
sysParams: sysParams
})
},
success: function(data){
if (!self.asstAccountConfig) {
self.asstAccountConfig = {};
}
config = data.config;
}
});
return config;
};
_self.doPost = function(option){
var company = waf.dataBinder.getComponentByProperty('fICompany').wafPromptBox('getValue');
if (!option.data) {
option.data = {};
}
if (!option.data.mainorgtype) {
option.data.mainorgtype = 'Company';
}
if (!option.data.mainorgunit) {
option.data.mainorgunit = company.id;
}
waf.doPost(option);
};
/**
* 描述:创建F7字段
* @param {Object} div
* @param {Object} detail
* @param {Object} index
*/
_self.createF7Field = function(self, comId, title, queryName, queryid, value){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
var options = {
id: comId,
name: comId,
subWidgetName: "wafPromptStandard",
subWidgetOptions: {
url: waf.getContextPath() + "/component/F7Common.do",
ajaxType: "GET",
query: queryName,
title: title,
accessType: "remote",
allowAutoComplete: true,
autoCompleteItem: "number+name",
queryID: queryid,
cu:false
}
};
var promptBoxDom = waf.createDOM("promptBox", options);
waf("#" + comId + "Lb").wafLabelContainer("append", promptBoxDom);
waf.initComponent("promptBox", options, promptBoxDom);
var width = 153;
waf("#" + comId + "Lb_ctrl .ui-f7-frame").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafPromptBox("setValue", value);
}
};
_self.createSpecialF7Field = function(self, comId, title, queryName, queryid, value, subWidgetName, module, moduleOptions){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
var options = {
id: comId,
name: comId,
subWidgetName: subWidgetName,
subWidgetOptions: {
//url: waf.getContextPath() + "/component/F7Common.do",
ajaxType: "GET",
query: queryName,
accessType: "remote",
allowAutoComplete: true,
autoCompleteItem: "number+name",
queryID: queryid,
cu:false
}
};
waf.extend(options.subWidgetOptions, moduleOptions);
mod.use(module, function(){
var promptBoxDom = waf.createDOM("promptBox", options);
waf("#" + comId + "Lb").wafLabelContainer("append", promptBoxDom);
waf.initComponent("promptBox", options, promptBoxDom);
var width = 153;
waf("#" + comId + "Lb_ctrl .ui-f7-frame").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafPromptBox("setValue", value);
}
});
};
/**
* 描述:创建日期字段
* @param {Object} self
* @param {Object} comId
* @param {Object} title
* @param {Object} value
*/
_self.createDateField = function(self, comId, title, value){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
var options = {
id: comId,
name: comId + "DatePicker"
};
var datePickerDom = waf.createDOM("datePicker", options);
waf("#" + comId + "Lb").wafLabelContainer("append", datePickerDom);
waf.initComponent("datePicker", options, datePickerDom);
var width = 153;
waf("#" + comId + "Lb_ctrl .ui-datepicker-frame").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafDatePicker("setValue", value);
}
else {
var date = waf("#section1_bizDate").wafDatePicker("getValue");
waf("#" + comId).wafDatePicker("setValue", date);
}
};
/**
* 描述:创建文本字段
* @param {Object} self
* @param {Object} comId
* @param {Object} title
* @param {Object} value
*/
_self.createTextField = function(self, comId, title, value){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
var options = {
id: comId,
name: comId + "Txt"
};
var txtDom = waf.createDOM("text", options);
waf("#" + comId + "Lb").wafLabelContainer("append", txtDom);
waf.initComponent("text", options, txtDom);
var width = 153;
waf("#" + comId + "Lb_ctrl input").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafText("setValue", value);
}
};
/**
* 描述:创建数值字段
* @param {Object} self
* @param {Object} comId
* @param {Object} title
* @param {Object} precision
* @param {Object} value
*/
_self.createNumberField = function(self, comId, title, precision, value){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
if (precision == undefined) {
precision = 2;
}
var options = {
id: comId,
name: comId + "Number",
decimalPrecision: precision,
onlyPrecision: true,
allowNegative: false
};
var numberDom = waf.createDOM("numberField", options);
waf("#" + comId + "Lb").wafLabelContainer("append", numberDom);
waf.initComponent("numberField", options, numberDom);
var width = 153;
waf("#" + comId + "Lb_ctrl input").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafNumberField("setValue", value);
}
};
/**
* 描述:创建下拉字段
* @param {Object} self
* @param {Object} comId
* @param {Object} title
* @param {Object} enumList
* @param {Object} value
*/
_self.createSelectField = function(self, comId, title, enumList, value){
var lbOptions = {
id: comId + "Lb",
labelPosition: "left",
caption: title,
tagClass: "asstlb"
};
var lbDOM = waf.createDOM("labelContainer", lbOptions);
waf.appendDOM($(self.div), lbDOM);
waf.initComponent("labelContainer", lbOptions, lbDOM);
_self.addItemId(self, comId + "Lb");
var options = {
id: comId,
name: comId + "select",
enumSource: enumList
};
var enumDom = waf.createDOM("select", options);
waf("#" + comId + "Lb").wafLabelContainer("append", enumDom);
waf.initComponent("select", options, enumDom);
var width = 153;
waf("#" + comId + "Lb_ctrl .ui-multiselect").css("width", width + "px");
if (self.firstItemId == undefined) {
self.firstItemId = comId;
}
self.lastItemId = comId;
if (value) {
waf("#" + comId).wafSelect("setValue", value);
}
};
_self.addItemId = function(self, comId){
var num = self.items.length;
if (num == 0) {
waf("#" + comId).css("margin-top", "10px");
}
self.items[num] = comId;
};
_self.getAccountAsstValue = function(accountpromptBox){
debugger;
var account = waf('#' + accountpromptBox.opts.id).wafPromptBox("getValue");
if (!account || account == "") {
return ["", ""];
}
// accountpromptBox.table.id
var dataGrid;
var entryGrid;
if(accountpromptBox && accountpromptBox.table && accountpromptBox.table.id){
if(accountpromptBox.nmjq=="dfkm"){
entryGrid = waf("#editgrid");
dataGrid = waf("#asstltems");
}
if( accountpromptBox.nmjq=="asstltemsDebit" ){
entryGrid = waf("#editgrid");
dataGrid = waf("#asstltemsDebit");
}
}
var rowid = entryGrid.wafGrid("getSelectedRow");
var allDatas = dataGrid.wafGrid("getAllRowData");
if (account.assgrp) {
//获取值
var detail = account.assgrp.detail;
var displayName = "";
var changed = false;
for (var i = 0; i < detail.length; i++) {
var asst = detail[i];
var asstHGAttribute = asst.asstHGAttribute;
var asstItem = waf("#acc" + asstHGAttribute).wafPromptBox("getValue");
if (_self.isAsstItemChanged(asst.value, asstItem)) {
changed = true;
}
asst.value = asstItem;
if (asstItem && asstItem != "" && asstItem.id) {
if (displayName.length > 0) {
displayName = displayName.concat(" | ");
}
var asstItemName = "";
if (_self.isString(asst.value.name)) {
asstItemName = asst.value.name;
}
else {
asstItemName = eval("asst.value.name." + waf.getContext().locale);
}
displayName = displayName.concat(asstItemName);
// 重新赋值
for (var index in allDatas){
if(rowid == allDatas[index].entryParentID && allDatas[index].entrySeq - 1 == i){
rowdata = allDatas[index];
rowdata.fromID = asstItem.id;
rowdata.fromNumber = asstItem.number;
if(rowdata.id && "" != rowdata.id){
dataGrid.wafGrid("setRowData", rowdata.id, rowdata);
}else{
dataGrid.wafGrid("setRowData", rowdata.rowId, rowdata);
}
}
}
}else{
// 重新赋值
for (var index in allDatas){
if(rowid == allDatas[index].entryParentID && allDatas[index].entrySeq - 1 == i){
rowdata = allDatas[index];
rowdata.fromID = "";
rowdata.fromNumber = "";
if(rowdata.id && "" != rowdata.id){
dataGrid.wafGrid("setRowData", rowdata.id, rowdata);
}else{
dataGrid.wafGrid("setRowData", rowdata.rowId, rowdata);
}
}
}
}
}
account.assgrp.displayname = displayName;
if (changed) {
account.assgrp.id = null;
}
}
return [account, account];
};
/**
* 描述:核算项目是否改变
* @param {Object} obj1
* @param {Object} obj2
*/
_self.isAsstItemChanged = function(obj1, obj2){
if (obj1 == obj2 || (obj1 && obj2 && obj1 != "" && obj2 != "" && obj1.id == obj2.id)) {
return false;
}
return true;
};
});
});
