提交 e2856b8a 编写于 作者: Mosher's avatar Mosher

update:更新

上级 dac5ec98
......@@ -75,7 +75,7 @@
*/
public selection: any = {};
public menuItems: any[] = [
public items: any[] = [
<#if ctrl.getPSDEDRBarGroups?? && ctrl.getPSDEDRBarGroups()??>
<#list ctrl.getPSDEDRBarGroups() as group>
{
......@@ -85,17 +85,51 @@
codeName: '<#if group.getId?? && group.getId()??>${group.getId()}</#if>',
hidden: <#if group.isHidden?? && group.isHidden()>true<#else>false</#if>,
<#if group.getPSDEDRBarItems?? && group.getPSDEDRBarItems()??>
items: this.items.find((item: any) => item.groupCodeName === '<#if group.getId?? && group.getId()??>${group.getId()}</#if>')
items: [
<#list group.getPSDEDRBarItems() as drItem>
{
text: "${drItem.getCaption()}",
disabled: false,
id: "${drItem.getName()?lower_case}",
<#if drItem.getPSSysImage()??>
iconcls: '${drItem.getPSSysImage().getCssClass()}',
icon: '${drItem.getPSSysImage().getImagePath()}',
</#if>
<#if drItem.getPSDEDRBarGroup?? && drItem.getPSDEDRBarGroup()??>
groupCodeName: '<#if drItem.getPSDEDRBarGroup().getId?? && drItem.getPSDEDRBarGroup().getId()??>${drItem.getPSDEDRBarGroup().getId()}</#if>',
</#if>
<#if drItem.getPSAppView?? && drItem.getPSAppView()??>
drView: '${srffilepath2(drItem.getPSAppView().codeName)}',
</#if>
localContext:<#if drItem.getPSNavigateContexts?? && drItem.getPSNavigateContexts()??><@getNavigateContext drItem /><#else>null</#if>,
localViewParam:<#if drItem.getPSNavigateParams?? && drItem.getPSNavigateParams()??><@getNavigateParams drItem /><#else>null</#if>
},
</#list>
]
</#if>
},
</#list>
</#if>
<#if ctrl.getPSDEDRCtrlItems?? && ctrl.getPSDEDRCtrlItems()??>
<#list ctrl.getPSDEDRCtrlItems() as drItem>
<#if !(ctrl.getPSDEDRBarGroup?? && ctrl.getPSDEDRBarGroup()??)>
<#if !(drItem.getPSDEDRBarGroup?? && drItem.getPSDEDRBarGroup()??)>
{
},
text: "${drItem.getCaption()}",
disabled: false,
id: "${drItem.getName()?lower_case}",
<#if drItem.getPSSysImage()??>
iconcls: '${drItem.getPSSysImage().getCssClass()}',
icon: '${drItem.getPSSysImage().getImagePath()}',
</#if>
<#if drItem.getPSDEDRBarGroup?? && drItem.getPSDEDRBarGroup()??>
groupCodeName: '<#if drItem.getPSDEDRBarGroup().getId?? && drItem.getPSDEDRBarGroup().getId()??>${drItem.getPSDEDRBarGroup().getId()}</#if>',
</#if>
<#if drItem.getPSAppView?? && drItem.getPSAppView()??>
drView: '${srffilepath2(drItem.getPSAppView().codeName)}',
</#if>
localContext:<#if drItem.getPSNavigateContexts?? && drItem.getPSNavigateContexts()??><@getNavigateContext drItem /><#else>null</#if>,
localViewParam:<#if drItem.getPSNavigateParams?? && drItem.getPSNavigateParams()??><@getNavigateParams drItem /><#else>null</#if>
}
</#if>
</#list>
</#if>
......@@ -177,8 +211,10 @@
return;
}
if (Object.is('state', action)) {
const state = !this.context.${ctrl.getPSAppDataEntity().getCodeName()?lower_case} ? true : false;
this.setItemDisabled(this.items, state);
this.handleFormChange(data);
}
if (Object.is('change', action)) {
this.selection = data;
}
});
}
......@@ -211,33 +247,6 @@
</#if>
}
/**
* 获取关系项
*
* @public
* @param {*} [arg={}]
* @returns {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public getDRBarItem(arg: any = {}): any {
let expmode = arg.nodetype;
if (!expmode) {
expmode = '';
}
<#list ctrl.getPSAppViewRefs() as item>
<#if (item.getName()?index_of("DRITEM:")==0)>
<#assign refview = item.getRefPSAppView()>
if (Object.is(expmode, '${item.getName()?substring(7)?lower_case}')) {
return {
viewname: '${srffilepath2(refview.codeName)}',
parentdatajo: <#if item.getParentDataJO()??>${item.getParentDataJO()}<#else>{},</#if>
};
}
</#if>
</#list>
return undefined;
}
/**
* 处理数据
*
......@@ -285,67 +294,62 @@
return item;
}
/**
* 初始化导航参数
*
* @param {*} drItem
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public initNavParam(drItem:any){
// let returnNavParam:any = {};
// if(drItem && drItem.id){
// let curDRItem:any = this.navParamsArray.find((item:any) =>{
// return Object.is(item.id,drItem.id);
// })
// if(curDRItem){
// let localContext:any = curDRItem.localContext;
// let localViewParam:any = curDRItem.localViewParam;
// if(localContext && Object.keys(localContext).length >0){
// let _context:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localContext);
// returnNavParam.localContext = _context;
// }
// if(localViewParam && Object.keys(localViewParam).length >0){
// let _params:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localViewParam);
// returnNavParam.localViewParam = _params;
// }
// return returnNavParam;
// }else{
// return null;
// }
// }
}
/**
* 节点选中
*
* @param {*} $event
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public onSelect($event: any): void {
public onSelect(key: string): void {
if (key === this.selection.id) {
return;
}
const selectItem = this.getItem(this.items, key);
if (!selectItem) {
return;
}
const tempContext = Util.deepCopy(this.context);
const tempViewParams = Util.deepCopy(this.viewparams);
if (selectItem.localContext && Object.keys(selectItem.localContext).length > 0) {
const _context: any = this.$util.computedNavData(this.formData, tempContext, tempViewParams, selectItem.localContext);
Object.assign(tempContext, _context);
}
if (this.formData.srfparentkey) {
Object.assign(tempContext, { srfparentkey: this.formData.srfparentkey });
Object.assign(tempViewParams, { srfparentkey: this.formData.srfparentkey });
}
if (selectItem.localViewParam && Object.keys(selectItem.localViewParam).length > 0) {
const _params: any = this.$util.computedNavData(this.formData, tempContext, tempViewParams, selectItem.localViewParam);
Object.assign(tempViewParams, _params);
}
if (this.formData.srfparentdename) {
Object.assign(tempContext, { srfparentdename: this.formData.srfparentdename });
Object.assign(tempViewParams, { srfparentdename: this.formData.srfparentdename });
}
const drItem = {
id: selectItem.id,
drView: selectItem.drView,
srfnavdata: {
context: tempContext,
viewparams: tempViewParams
}
}
this.$emit('selectionchange', drItem);
}
// this.$emit('selectionchange', [item]);
// let localNavParam:any = this.initNavParam(item);
// const refview = this.getDRBarItem({ nodetype: item.id });
// this.selection = {};
// const _context: any = { ...JSON.parse(JSON.stringify(this.context)) };
// if(localNavParam && localNavParam.localContext){
// Object.assign(_context,localNavParam.localContext);
// }
// const _params: any = {};
// if(localNavParam && localNavParam.localViewParam){
// Object.assign(_params,localNavParam.localViewParam);
// }
// if (refview && refview.parentdatajo) {
// Object.assign(_context, refview.parentdatajo);
// Object.assign(this.selection, { view: { viewname: refview.viewname }, data: _context, param: _params });
// }
// Object.assign(this.selection, item);
/**
* 处理表单变化
*
* @param {*} $event
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public handleFormChange(args: any) {
if (args && Object.is(args.srfuf, '1')) {
this.setDisabled(this.items, false);
} else {
this.setDisabled(this.items, true);
}
this.formData = args;
}
/**
......@@ -385,21 +389,17 @@
}
/**
* 设置关系项状态
* 设置禁用状态
*
* @param {any[]} items
* @param {boolean} state
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public setItemDisabled(items: any[], state: boolean) {
public setDisabled(items: any[], state: boolean) {
items.forEach((item: any) => {
if (!Object.is(item.id, 'form')) {
item.disabled = state;
}
if (item.items && Array.isArray(item.items)) {
this.setItemDisabled(item.items, state);
item.disabled = state;
if (item && item.items && item.items.length > 0) {
this.setDisabled(item.items, state);
}
});
})
}
<#ibizinclude>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册