# 组织控件(F7)参数支持
## 简介
业务单据添加的组织控件（F7），即OrgEdit对象，可以通过表单插件或者KDE脚本插件，设置参数控制F7的界面样式以及可选组织的范围。具体支持的参数，可以参照[PC端](#pcparam)和[移动端](#mobileparam)的参数说明。
![OrgEdit](images/01.png)

<div id="pcparam" name="pcparam"></div>

## PC端

**参数说明**

| **应用场景** | **参数名**             | **类型** | **说明** |
| ---------------------- | -------- |  -------- |-------- |
| 指定组织职能类型 | orgFuncId              | String   | 如行政组织设置为“01”。为空时初始为业务单元视图，组织F7可以切换默认方案 |
| 指定默认组织职能类型  | initOrgFuncId  | String    |未指定组织职能类型和视图方案编码时，可以根据此参数指定职能类型下拉列表的初始值
| 指定视图方案编码 | orgViewSchemeNumber    | String    |支持自定义的视图方案，如设置自定义的核算视图方案编码“1001”。
| 指定组织树根节点 | rootId                 | Long      |                                            |
| 指定[包含下级]开关默认值| isIncludeAllSub        | Boolean   | 默认为false：[包含下级]开关是关闭状态                                 |                 |
| 指定可选组织的范围 | range                  | List     |组织ID范围。可以同时限定组织树和列表的范围。                 |
| 设置是否添加管理员管辖范围 | isOrgBaseAdmin         | Boolean  | 默认为false：不添加组织管理员管辖范围                                 |
| 设置是否只可以选择末级组织 | isOnlyDisplayOrgLeaves | Boolean  | 默认为false：不限定列表只显示叶子节点                                     |
| 设置是否可以选择行政组织职能类型 | showAdminOrgViewType   | Boolean  | 默认为true：组织控件未设置职能类型时，职能下拉列表可以选择行政组织（否则不可选） |                                     |


**表单插件代码示例**
```java
    public class ExampleFormPlugin extends AbstractFormPlugin {
        @Override
        public void registerListener(EventObject e) {
            // this.getControl("引号内填写人员控件对应的标识（如：orgfield）")
            OrgEdit orgEdit = this.getControl("orgfield");
            if (orgEdit != null) {
                orgEdit.addBeforeF7SelectListener(new BeforeF7SelectListener() {
                    @Override
                    public void beforeF7Select(BeforeF7SelectEvent evt) {
                        // setCustomParam("参数名（如：orgFuncId）", 参数值);
                        evt.getFormShowParameter().setCustomParam("orgFuncId", OrgViewType.admin);
                    }
                });
            }
        }
    }
```

**KDE脚本代码示例**
```js
    var plugin = new FormPlugin({
         registerListener : function(e){
         // this.getControl("引号内填写人员控件对应的标识（如：orgfield）")
         var orgEdit = this.getControl("orgfield");
         orgEdit.addBeforeF7SelectListener({
           beforeF7Select: function(e){
             var param = e.getFormShowParameter();
             // setCustomParam("参数名（如：rootId）"", 参数值);
             param.setCustomParam("rootId",100001);
             }
          });
         }
    });
```

<div id="mobileparam" name="mobileparam"></div>

## 移动端

**参数说明**

| **应用场景** | **参数名**             | **类型** | **说明** |
| ---------------------- | -------- | ------------ | ------------ |
| 指定初始化时显示的组织 | initOrgId              | Long    |
| 指定可选的组织范围 | range                 | List      |  |
| 设置是否只可以选择末级组织 | isOnlyDisplayOrgLeaves | Boolean  | 默认为false：不限定只显示叶子节点                                     |


 **表单插件代码示例**
```java
    public class ExampleMobileFormPlugin extends AbstractMobFormPlugin {
        @Override
        public void registerListener(EventObject e) {
            // this.getControl("引号内填写人员控件对应的标识（如：orgfield）")
            OrgEdit orgEdit = this.getControl("orgfield");
            if (orgEdit != null) {
                orgEdit.addBeforeF7SelectListener(new BeforeF7SelectListener() {
                    @Override
                    public void beforeF7Select(BeforeF7SelectEvent evt) {
                        // setCustomParam("参数名（如：initOrgId）"", 参数值);
                        evt.getFormShowParameter().setCustomParam("initOrgId", 100001);
                    }
                });
            }
        }
    }
```

**KDE脚本代码示例**
```js
    var plugin = new FormPlugin({
         registerListener : function(e){
         // this.getControl("引号内填写人员控件对应的标识（如：orgfield）")
         var orgEdit = this.getControl("orgfield");
         orgEdit.addBeforeF7SelectListener({
           beforeF7Select: function(e){
             var param = e.getFormShowParameter();
             // setCustomParam("参数名（如：initOrgId）"", 参数值);
             param.setCustomParam("initOrgId",100001);
           }
         });
        }
    });
```