提交 80447c57 编写于 作者: Shine-zwj's avatar Shine-zwj

update:更新

上级 2aa03ff5
......@@ -468,9 +468,24 @@ import UIService from '@/uiservice/ui-service';
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
this.panelLogic(name, index);
this.computeButtonAuthState();
this.panelEditItemChange(name, value);
}
/**
* 计算按钮权限状态
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public computeButtonAuthState() {
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.itemType == 'BUTTON') {
layoutModel.computeActionAuthState();
}
})
}
/**
* 面板编辑项值变化后续操作
*
......@@ -580,47 +595,6 @@ import UIService from '@/uiservice/ui-service';
</#list>
}
/**
* 获取按钮行为xData
*
* @public
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
......@@ -628,8 +602,16 @@ import UIService from '@/uiservice/ui-service';
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
let datas: any[] = [];
const data: any = this.layoutModelDetails[name].getData();
if (data) {
if (data instanceof Array) {
datas = [...data];
} else {
datas = [data];
}
}
const xData: any = this.layoutModelDetails[name].getDataArea();
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
......
......@@ -436,6 +436,9 @@ ${P.getCtrlCode('toolbar', 'CONTROL.vue').code}
<@compress single_line=true>${panelItem.name}:{ ${detail} }<#if panelItem_has_next>,</#if></@compress>
<#elseif panelItem.getItemType() == 'BUTTON'>
<#assign button>
<#if view.getXDataControlName?? && view.getXDataControlName()?? && view.getXDataControlName() != ''>
xDataControlName: '${view.getXDataControlName()}',
</#if>
<#if panelItem.getButtonStyle?? && panelItem.getButtonStyle()??>
buttonStyle: '${panelItem.getButtonStyle()}',
</#if>
......@@ -572,6 +575,21 @@ ${P.getCtrlCode('toolbar', 'CONTROL.vue').code}
this.layoutData[name] = value;
this.layoutModelDetails[name].setData(value);
this.panelLogic(name, index);
this.computeButtonAuthState();
}
/**
* 计算按钮权限状态
*
* @public
* @memberof ${srfclassname('${view.name}')}Base
*/
public computeButtonAuthState() {
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.itemType == 'BUTTON') {
layoutModel.computeActionAuthState();
}
})
}
/**
......@@ -662,61 +680,6 @@ ${P.getCtrlCode('toolbar', 'CONTROL.vue').code}
</#list>
}
/**
* 获取按钮行为xData
*
* @public
* @memberof ${srfclassname('${view.name}')}Base
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
<#if view.getXDataControlName?? && view.getXDataControlName()?? && view.getXDataControlName() != ''>
// 获取激活部件
if (!xData) {
const xDataControlName = "${view.getXDataControlName()}";
let xDataControl = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name.toLowerCase() == xDataControlName.toLowerCase()) {
xDataControl = layoutModel;
return
}
})
xData = xDataControl;
}
</#if>
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
......@@ -724,8 +687,16 @@ ${P.getCtrlCode('toolbar', 'CONTROL.vue').code}
* @memberof ${srfclassname('${view.name}')}Base
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
let datas: any[] = [];
const data: any = this.layoutModelDetails[name].getData();
if (data) {
if (data instanceof Array) {
datas = [...data];
} else {
datas = [data];
}
}
const xData: any = this.layoutModelDetails[name].getDataArea();
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册