如果企业在已有系统中有数据需要用到审批单据的单选框或多选框控件(以下简称选择控件)中作为选项,可以使用该功能实现。
使用方式:在企业微信管理后台,将选择控件的选项来源设置为“关联外部选项”,同时需要设置一个“外部选项页面地址”。完成后,用户在审批应用中,当编辑选择控件时,会自动打开设置的网页让用户选择选项。
在该网页中,通过调用 JS SDK 提供的接口来保存和获取用户选择的选项,在调用前,请先完成 wx.agentConfig 配置。
当用户从审批中打开配置的网页时,审批应用会额外添加两个参数到 URL 上,开发者需要获取这两个参数并做对应处理:
当用户在网页中进行选择时,调用该接口保存用户的选择。
请求示例:
wx.invoke('saveApprovalSelectedItems', {
"key": key, // 字符串,从 URL 中获取到的 key
"selectedData": // 字符串,选中的选项格式化为 JSON 字符串,格式见下文
}, (res) => {
if (res.err_msg === 'saveApprovalSelectedItems:ok') {
// 保存成功
}
});
参数说明:
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | string | 从 URL 中取到的 key,原值传入。 |
selectedData | 是 | string | 选中的选项数组,序列化为 JSON 字符串。注意单选时也需要是一个数组。具体格式下下文。 |
当用户打开网页后,应该先调用一次该接口获取用户已经选择的数据作为初始数据。获取到初始数据后,应该恢复已经选择的选项。
请求示例:
wx.invoke('getApprovalSelectedItems', {
"key": key, // 字符串,从 URL 中获取到的 key
}, (res)=> {
if (res.err_msg === "getApprovalSelectedItems:ok") {
// 获取成功,res.selectedData 为获取到的已选中选项的 JSON 字符串,注意可能为空。格式见下文。
}
});
参数说明:
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | string | 从 URL 中取到的 key,原值传入。 |
调用接口时,保存和获取到的 selectedData 都是 JSON 字符串,其内容为一个数组,格式定义如下:
Array<{
key: string, // 表示选项的唯一识别 id,不可为空
value: string, // 选项展示给用户的名字,不可为空
}>
示例:
[{
key: "item-1",
value: "选项1"
}, {
key: "item-2",
value: "选项2"
}]