diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/component/SearchComponentAction.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/component/SearchComponentAction.java index 4326f62287..336aa93745 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/component/SearchComponentAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/component/SearchComponentAction.java @@ -52,6 +52,8 @@ public class SearchComponentAction implements SearchAction { content.setTemplateName(jTemplate.getTemplateName()); content.addTRL(jTemplate.getTemplateName()); content.setFrmFlag(true); + //处理最底层form组件 + dealForm(componentInfos, content, form.getContainer()); //参数面板 dealPara(componentInfos, content, form.getParaContainer()); //body面板 @@ -60,6 +62,15 @@ public class SearchComponentAction implements SearchAction { setComponentInfos(componentInfos); } + private void dealForm(List componentInfos, ITContent content, WLayout container) { + ITContent formContent = ITContent.copy(content); + formContent.setReplaceObject(container); + dealContent(formContent, container.getWidgetName()); + formContent.addOtherPos(container.getWidgetName()); + formContent.setJumpAble(false); + componentInfos.add(new ComponentInfo(formContent)); + } + private void dealBody(List componentInfos, ITContent content, Widget body) { if (body instanceof WLayout) { ITContent bodyContent = ITContent.copy(content); diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartMapDataFormulaAction.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartMapDataFormulaAction.java index c66309c10a..b892e35c82 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartMapDataFormulaAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartMapDataFormulaAction.java @@ -159,6 +159,13 @@ public class SearchChartMapDataFormulaAction implements SearchChartDataFormula { } } + /** + * 处理区域名 + * @param formulaInfos + * @param content + * @param object + * @param definition + */ public void dealAreaName(List formulaInfos, ITContent content, Object object, VanMapReportDefinition definition) { if (object instanceof Formula) { ITContent cateContent = ITContent.copy(content); diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaAction.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaAction.java index 769d608382..3e1f4a8bcf 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaAction.java @@ -20,6 +20,7 @@ import com.fr.form.ui.ChartEditor; import com.fr.form.ui.Label; import com.fr.form.ui.Widget; +import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.WScaleLayout; import com.fr.form.ui.container.WTitleLayout; import com.fr.form.ui.widget.CRBoundsWidget; @@ -74,22 +75,21 @@ public class SearchWidgetFormulaAction extends AbstractSearchWidgetFormulaAction private void searchFormulaFromWidgetValue(Info info, List formulaInfos) { Widget widget = (Widget) info.getContent().getReplaceObject(); - if (widget instanceof WScaleLayout) { widget = ((CRBoundsWidget) ((WScaleLayout) widget).getWidget(0)).getWidget(); info.getContent().setReplaceObject(widget); } if (widget instanceof WTitleLayout) { - if (((WTitleLayout) widget).getTitleBoundsWidget() != null){ + if (((WTitleLayout) widget).getTitleBoundsWidget() != null) { CRBoundsWidget boundsWidget = ((WTitleLayout) widget).getTitleBoundsWidget(); - if (boundsWidget.getWidget() instanceof Label){ + if (boundsWidget.getWidget() instanceof Label) { ITContent titleContent = ITContent.copy(info.getContent()); titleContent.setReplaceObject(((Label) boundsWidget.getWidget()).getWidgetValue().getValue()); formulaInfos.add(new FormulaInfo(titleContent)); } } Widget tempWidget = (((WTitleLayout) widget).getBodyBoundsWidget()).getWidget(); - if (tempWidget instanceof ChartEditor && ((ChartEditor) tempWidget).getChartCollection() instanceof ChartCollection) { + if (isChartValid(tempWidget)) { SearchChartCollectionFormulaAction.getInstance().searchChartCollectionFormula(formulaInfos, info.getContent(), (ChartCollection) ((ChartEditor) tempWidget).getChartCollection()); } } @@ -102,6 +102,9 @@ public class SearchWidgetFormulaAction extends AbstractSearchWidgetFormulaAction } + private boolean isChartValid(Widget tempWidget) { + return tempWidget instanceof ChartEditor && ((ChartEditor) tempWidget).getChartCollection() instanceof ChartCollection; + } public boolean isReplaceObjectExist(Info info) { return info.getContent() != null && info.getContent().getReplaceObject() != null; diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaManager.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaManager.java index 719f49f003..1d11046164 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaManager.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormulaManager.java @@ -33,6 +33,7 @@ public class SearchWidgetFormulaManager implements SearchManager { private static final String TREE_COMBO_BOX_EDITOR = "TreeComboBoxEditor"; private static final String TREE_EDITOR = "TreeEditor"; private static final String W_TITLE_LAYOUT = "WTitleLayout"; + private static final String W_BORDER_LAYOUT = "WBorderLayout"; private SearchWidgetFormulaManager() { /** @@ -48,7 +49,7 @@ public class SearchWidgetFormulaManager implements SearchManager { register(NUMBER_EDITOR, SearchCommonWidgetFormulaAction.getInstance()); register(TEXT_EDITOR, SearchCommonWidgetFormulaAction.getInstance()); register(W_TITLE_LAYOUT, SearchCommonWidgetFormulaAction.getInstance()); - + register(W_BORDER_LAYOUT, SearchCommonWidgetFormulaAction.getInstance()); /** * 日期类型 */