钉钉宜搭

阿里云官方出品

「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。

1

回答

游客s3qv6tjznbp7a 2023-10-25 140浏览量 回答数 1

可以参考下面案例,具体请结合实际情况修改代码。

拖动选项卡到页面中,并配置三个选项:

选择全部时,触发点击动作 onClickall,由于选择全部时,展示全部数据,因此只需重新加载数据源获取数据。

export function onClickall(){   const params = {     "formUuid": "FORM-VFYJ1FGVKZYP49FP075B4BA6VCV931W935HOK31",   }   this.dataSourceMap.getDatas.load(params).then((response) => {     // this.utils.dialog({     //   type: 'alert', // 或confirm     //   title: '请求成功',     //   type: 'success', // PC端支持 info/success/error      //   content: 请求参数为 ${JSON.stringify(params)},返回结果为 ${response},     // })   }) }

选择科研项目时,则触发动作 onClicka,由于只筛选出科研项目的数据,因此需要加载数据源时,需要添加参数在调用接口获取数据,

首先使用 this.$('fliedid').get('content'); 获取文本的内容值“科研项目”,然后将内容作为参数,调用 getDatas 接口,加载数据源,从而实现点击科研项目时筛选科研项目的需求。

export function onClicka(){

  const a = this.$('科研项目文本唯一标识').get('content');   const obj = { "selectField_koh53g2m": a }   const params = {     "formUuid": "FORM-VFYJ1FGVKZYP49FP075B4BA6VCV931W935HOK31",     "searchFieldJson": JSON.stringify(obj),   }   this.dataSourceMap.getDatas.load(params).then((response) => {     // this.utils.dialog({     //   type: 'alert', // 或confirm     //   title: '请求成功',     //   type: 'success', // PC端支持 info/success/error      //   content: 请求参数为 ${JSON.stringify(params)},返回结果为 ${response},     // })   }) }

选择商业项目时,则触发动作 onClickb,由于只筛选出商业项目的数据,因此需要加载数据源时,需要添加参数在调用接口获取数据。

首先使用 this.$('fliedid').get('content'); 获取文本的内容值“商业项目”,然后将内容作为参数,调用 getDatas 接口,加载数据源,从而实现点击科研项目时筛选商业项目的需求。

export function onClickb(){   const b = this.$('商业项目文本唯一标识').get('content');   console.log(b);   let obj = { "selectField_koh53g2m": b }   const params = {     "formUuid": "FORM-VFYJ1FGVKZYP49FP075B4BA6VCV931W935HOK31",     "searchFieldJson": JSON.stringify(obj),   }   this.dataSourceMap.getDatas.load(params).then((response) => {     // this.utils.dialog({     //   type: 'alert', // 或confirm     //   title: '请求成功',     //   type: 'success', // PC端支持 info/success/error      //   content: 请求参数为 ${JSON.stringify(params)},返回结果为 ${response},     // })   }) }

以上仅供参考。

飞云觅宙 评论 1

1

回答

caf5m3sbrmlyg 2023-10-20 186浏览量 回答数 1

可以通过自定义连接器完成在宜搭页面调用外部数据源接口的功能,如果不使用自定义连接器而直接调用外部数据源会报跨域错误,自定义连接器则可以规避该错误,解决前端 JS 直接调用外部接口存在的跨域、鉴权等问题。

步骤一:创建自定义页面:

1. 创建自定义页面,命名为「发送短信」。

2. 添加单行文本组件,命名为「短信内容」,设置为必填项。用于填写您需要以短信形式发送的通知内容。

添加下拉单选组件,命名为「选择手机号」,组件选项填写为您需要接收短信通知的手机号码,并设置为必填项。用于选择您接收通知的手机号码。

步骤二:创建自定义连接器:

在连接器工厂根据如何新建自定义连接器所述方式及步骤即可创建自定义连接器。

步骤三:自定义页面内新建数据源:

1. 「发送短信」自定义页面>>数据源面板>>添加>>连接器。

填写名称 >> 选择连接器 >> 填写数据源相关配置项 >> 选择连接器执行动作 >> 填写连接器执行动作参数。

说明:

1. 在进行选择连接器操作时,连接器可以选择为钉钉官方连接器,也可选择宜搭自定义连接器,

2. 钉钉官方连接器无须鉴权,自定义连接器是否需要鉴权取决于连接器本身是否增加了鉴权能力。

一旦连接器和执行动作选择完毕之后,系统会自动给出出参和入参的解释,可以直接填入参默认值,也可以绑定变量。本案例为绑定默认值,后面事件中再去修改入参调用。本案例的入参有两个字段,分别为 mobile 数据格式为 string,content 数据格式也是 string,填写默认值。

3. 动作设置 >> 新建动作 >> onChange 值发生变化 >> 确定

将下述代码填写到onChange()函数中。

特别提醒: 1. 在使用下述代码时应注意数据源名称的替换,代码内数据源名称与您所创建的数据源名称应保持一致。否则会因找不到数据源造成加载出错问题。

1. 代码内涉及组件唯一标识的部分应注意组件唯一标识的替换,否则会因查询不到组件而取不到您输入的数据。

步骤四:填写表单数据:

填写数据后,切换下拉单选组件的选项时就会触发连接器从而发出一条短信。

飞云觅宙 评论 0

6

回答

游客gtkaa5lhylzh2 2023-10-17 1492浏览量 回答数 6

3

回答

游客lvqo6fpz7n4ja 2023-10-17 208浏览量 回答数 3

3

回答

游客jpbrn27dy342s 2023-10-16 404浏览量 回答数 3

2

回答

2

回答

4

回答

1

回答

1

回答

white1988 2023-10-10 122浏览量 回答数 1

1

回答

游客3wvjglhzp4cwa 2023-10-09 297浏览量 回答数 1

4

回答

游客ujkyxsesq4aja 2023-10-08 443浏览量 回答数 4

2

回答

游客w2e2g24nx67cw 2023-10-07 382浏览量 回答数 2

8

回答

7

回答

8

回答

3

回答

游客nx3cczhkfxpbk 2023-09-20 925浏览量 回答数 3

8

回答

可以参考一下宜搭获取子表单的值赋值给当前主表单。

可以先添加一个数值组件、子表单组件;在子表单内再添加一个单行文本、数值组件并将子表单内的数值组件设置一个默认值。

打开 JS 面板,编写代码

下述代码可以直接复制使用,请注意表单唯一标识的替换!

const sonform = this.$("子表单的唯一标识").getValue();   const arr = []   console.log(sonform)   sonform.forEach(item => {            arr.push(item.子表单的数值组件唯一标识)   })   this.$("主表中需赋值组件的唯一标识").setValue(JSON.stringify(arr))

获取页面的子表单中的值,需要通过 JS 获取,先使用 this.$("子表单的唯一标识").getValue() 拿到子表单中所有组件的值:

这时我们拿到的 sonform 是一个数组,我们需要对数组进行遍历拿值,如下:

值已经拿到了,存放在新的数组中,我们用 setValue() 进行赋值就可以了。

最终效果:

宜搭内若想获取到关联表单的主要信息和次要信息,您可以用代码获取到关联表单的主要信息和次要信息,代码如下:

获取主要信息:this.$("关联表单唯一标识").getValue()[0].title

获取次要信息:this.$("关联表单唯一标识").getValue()[0].subTitle。

通过关联设置,去获取到被关联的表单的一个数据作为当前表单的数据。目前仅支持普通表单、流程表单,也可选择到跨应用表单数据集。

获取跨应用表单数据可参考文档:跨应用获取表单数据

只允许选择被关联表单内的单行文本、多行文本两个组件,其他组件不支持选择,例如数值、日期等,

注:若需要关联非单行/多行文本组件的数据,可以加入一个隐藏的单行文本(勾选始终提交),通过公式赋值。

飞云觅宙 评论 2

3

回答

2

回答

游客43cgud6xqfznk 2023-09-16 648浏览量 回答数 2

7

回答

公告

帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。

展开

宜搭公众号

相关产品