1

我正在尝试根据 userdetails 中的字段值单独在编辑视图中显示一个字段。

例如:对于一个用户can_add_no将在用户详细信息中,如果它被选中,那么该特定用户可以添加一个quote_extra_noinquote模块。

我尝试了以下。为字段的报价模块添加了依赖项。

$dictionary['Quote']['fields']['quote_extra_no'] = array (
    'audited'                   => true,
    'calculated'                => false,
    'duplicate_merge'           => 'disabled',
    'duplicate_merge_dom_value' => '0',
    'importable'                => 'true',
    'len'                       => '255',
    'massupdate'                => false,
    'merge_filter'              => 'disabled',
    'name'                      => 'quote_extra_no',
    'no_default'                => true,
    'reportable'                => true,
    'required'                  => false,
    'size'                      => '50',
    'source'                    => 'custom_fields',
    'studio'                    => 'visible',
    'type'                      => 'varchar',
    'unified_search'            => false,
    'vname'                     => 'LBL_EXTRA_REF',
    'dependency'                => 'equal(related($assigned_user_link,"can_add_no"),"1")',
);

还在 Editview 中添加了该字段。但它不起作用。如果设置了当前用户can_add_no或勾选了复选框。他可以 quote_extra_no在报价的编辑视图中编辑。

我怎样才能实现功能,因为依赖项没有帮助我做到这一点。

4

1 回答 1

1

有两种方式可以做到这一点,你应该在两个模块之间建立关系。

  1. 通过使用依赖:

    相等(相关($related_field_name,“can_add_no”),“1”)'

  2. 在 record.js 中编写一个方法,在该方法中调用一个 api,canadd_no并根据该显示隐藏该字段。

API 调用示例:

  app.api.call('read', app.api.buildURL(this.model.get('_module'), 'read', {id: this.model.get('id')}), null,
                {
                    success: function(data) {
                          your costume code to hide
                        }
                    },
                });

更多与 API 相关的信息

于 2017-01-25T12:12:56.863 回答