向导控件
# 变更记录
| 产品版本 | 更新内容 | 更新日期 |
| --- | --- | --- |
| V6.0.5 | 完善了向导控件功能,新增“节点联动子页签”属性;属性开启后,当向导控件关联的页签控件其子页签不可见时,对应的向导控件节点同步隐藏 | 2024年1月12日 |
# 1 功能介绍
设置向导类型为`页签向导`时用来展示一系列操作的步骤,和页签控件组合使用;当设置向导类型为`常规向导`时多用于显示一个任务或事件的进度,也用于一步步地指引用户完成一系列操作。每个向导步骤项都会随着当前进度改变对应的步骤状态,可以清晰地向用户展示已完成、进行中、未完成和异常状态的步骤。
# 2 控件对象
`kd.bos.form.container.Wizard`
# 3 视觉展示
- 默认(横向)(向导类型为`页签向导`)
![image.webp](/download/010013cf2a0dbcad4d238ce268365f75a492.webp)
- 纵向(向导类型为`页签向导`)
![image.webp](/download/0100dfd6aab93c0e456fb71bd3e402ecb947.webp)
- 常规向导
![steps.webp](/download/010002dd19cfaa7e410e8b6e81df3c4970b4.webp)
# 4 属性说明
## 4.1 通用属性
>通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976)
## 4.2 样式属性
>样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336)
## 4.3 业务属性
| 属性名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| 向导类型 | 下拉 | 页签向导 | 切换向导控件模式 ,分为页签向导和常规向导 |
| 向导风格 | 下拉 | 横向 | 显示风格,分为横向和纵向 |
| 页签控件 | 下拉 | - | 配置关联的页签控件,向导步骤的名称和页签的名称一一对应,页签向导才有该属性 |
| 标题位置 | 下拉 | 默认 | 设置标题显示位置,页签向导才有该属性 |
| 步骤长度 | 整数 | 4 | 步骤长度,用于快速配置指定长度的步骤条,会被“步骤项配置”属性覆盖(必须为大于0的整数,步骤条方向设置为水平方向时最大4,纵向无限制),常规向导才有该属性 |
| 步骤项配置 | 弹框选择 | - | 用于配置步骤条各个步骤项的标题以及描述信息,当该属性有配置时,步骤条实际长度以该属性长度为准,常规向导才有该属性 |
| 状态图标 | 弹框选择 | - | 用于自定义配置各个状态显示的图标(四个状态分别为已完成finish、进行中process、未完成wait和异常error),常规向导才有该属性 |
| 节点性联动子页签 | 布尔 | true | 用于控制向导类型为页签向导时,向导控件节点的可见性是否跟随子页签;新增的向导控件,该属性默认开启 |
###
# 5 向导控件接口介绍
* 向导类型为页签向导时在插件中调用如下方法可切换向导步骤
```java
Tab tab = this.getControl("标签控件标识");
tab.activeTab("子页签标识");
```
* 向导类型为常规向导,设置整向导控件的步骤的配置、设置当前步骤及对应的状态
```java
import kd.bos.dataentity.entity.LocaleString;
import kd.bos.form.container.Wizard;
import kd.bos.form.control.StepsOption;
import kd.bos.form.plugin.AbstractFormPlugin;
import java.util.EventObject;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestPlugin extends AbstractFormPlugin {
@Override
public void afterCreateNewData(EventObject e) {
Wizard wizard = this.getControl("wizard");
// 获取设计时的步骤条设置
List<StepsOption> stepsOptions = wizard.getStepsOptions();
stepsOptions.clear();
StepsOption stepsOption0 = new StepsOption();
stepsOption0.setTitle(new LocaleString("First"));
stepsOption0.setDescription(new LocaleString("First Step"));
stepsOption0.setStatus(Steps.FINISH); // 完成
stepsOptions.add(stepsOption0);
StepsOption stepsOption1 = new StepsOption();
stepsOption1.setTitle(new LocaleString("Second"));
stepsOption1.setDescription(new LocaleString("Second Step"));
stepsOption1.setStatus(Steps.PROCESS); // 进行中
stepsOption1.setStatus(Steps.FINISH); // 完成
stepsOption1.setStatus(Steps.ERROR); // 异常
stepsOptions.add(stepsOption1);
StepsOption stepsOption2 = new StepsOption();
stepsOption2.setTitle(new LocaleString("Third"));
stepsOption2.setDescription(new LocaleString("Third Step"));
stepsOptions.add(stepsOption2);
// 更新步骤条设置
wizard.setWizardStepsOptions(stepsOptions);
// 设置当前节点
Map<String, Object> currentStepMap = new HashMap<>();
currentStepMap.put("currentStep", 1);
currentStepMap.put("currentStatus", Steps.ERROR);
// 更新当前节点
wizard.setWizardCurrentStep(currentStepMap);
}
}
```
* 向导类型为常规向导,监听前端点击向导步骤项发过来的指令
```java
import kd.bos.form.control.events.WizardStepsListener;
extends AbstractFormPlugin implements WizardStepsListener{
@Override
public void registerListener(EventObject e) {
Wizard wizard = this.getControl("wizard");
wizard.addWizardStepsListener(this);
}
@Override
public void update(StepEvent e) {
int value = e.getValue(); // 前端发送的步骤序号
}
}
```
向导控件
# 变更记录| 产品版本 | 更新内容 | 更新日期 || --- | --- | --- || V6.0.5 | 完善了向导控件功能,新增“节点联动子页签...
点击下载文档
本文2024-09-23 00:40:41发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-141019.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章