大数跨境

「重度用户分享」比之前更简单的多层级关联选择方法来啦!

「重度用户分享」比之前更简单的多层级关联选择方法来啦! 白码
2021-04-06
1

点击蓝字


关注我们

之前在重度用户分享系列发布过《用白码,无代码实现省市区级联选择》文章,但是有很多用户反馈希望通过更简单的方法来实现多层级关联选择功能。有用户借着我们的老朋友——省市区级联选择的例子来为我们介绍更减半的方法,一起来看看是怎么实现的吧~


快速实现多层级关联选择功能

Function Description

来自  白码用户 @OSC_xxHomh  的分享

目标

以省市区级联选择作为例子,其他多层级关联同理可用。

在新建客户时,实现省市区的级联选择,并且限制前后关系,选择顺序固定是省→市→区,清除选择时,同时清除后面的选项。


准备工作

创建客户表、省市区三个表,其中客户表关联了省市区三个表。


实现步骤

1.创建一个新建客户的功能;


2. 调整一下属性操作和属性选项卡,如下图所示。

其中省市区需要勾选“下拉选择”功能(关联属性默认是通过查看完整的数据列来选择的,但对于这种数据列少的数据,改成“下拉选择”会更容易操作

此外,市和区属性需要设置筛选条件,即市数据表中关联省的属性必须等于前面选择的省,区属性同理;


3. 后面的步骤使用“预处理”,进行省市区选择的处理;


代码如下:

function prepare($programStore, $form, vue) {

    let procedure = "60015faa995dc1097cd8664f";//步骤id

    let p = "600157e7d220df0982a5a1df";//省份字段id

    let s = "600157ee995dc1097cd86632";//市字段id

    let gc = "600157f4995dc1097cd86633";//区字段id

 

    vue.$watch(() => { return programStore.getters["getFormValue"](procedure) },//监控步骤数据

        function (value, oldValue) {

            if (!_.isEqual(value, oldValue)) {//数据改动

               if (!value[p] || value[p] != oldValue[p]) {//省份变动

                   value[s] = "";

                   value[gc] = "";

      programStore.dispatch("set", { procedure, value });

                }

             if (!value[s] || value[s] != oldValue[s]) {//市变动

                    value[gc] = "";

                    programStore.dispatch("set", { procedure, value });

                }

            }

        }

    )

}


实现效果



再次感谢白码用户@OSC_xxHomh 的精彩分享~

以省市区级联选择作为例子,其他多层级关联同理可用~

也欢迎各位白码用户可以根据文章内容实操感受一下,有发现更好的解决方法也可以发出来和我们分享,与白码其他用户一起交流~


往期 · 推荐

金额数值的千分位显示格式

低代码快速实现MRP运算

CRM七天无跟进自动退回公海功能

无代码快速实现条形码打印功能

无代码实现扫码录入功能


白码科技 · BAIMA

扫描二维码添加客服微信

有任何问题都可以询问客服哦~

点击“阅读原文”了解更多白码资讯!

【声明】内容源于网络
0
0
白码
白码无代码 | 低代码开发平台可以帮助开发者和企业技术开发团队增加软件开发速度,降低开发成本,达到降本增效的目的。用户可以通过白码,按照企业所需自行定制ERP,CRM,OA等软件;成为白码开发者,把想法快速变成软件吧。
内容 125
粉丝 0
白码 白码无代码 | 低代码开发平台可以帮助开发者和企业技术开发团队增加软件开发速度,降低开发成本,达到降本增效的目的。用户可以通过白码,按照企业所需自行定制ERP,CRM,OA等软件;成为白码开发者,把想法快速变成软件吧。
总阅读139
粉丝0
内容125