feat(setting): add Chinese verbose_name/help_text to setting models (Phase 4.1 part 7/9)
This commit is contained in:
@@ -4,13 +4,39 @@ from core.models.base import UUIDPrimaryKeyModel
|
||||
|
||||
|
||||
class LookupGroup(UUIDPrimaryKeyModel):
|
||||
module = models.CharField(max_length=50)
|
||||
key = models.CharField(max_length=100)
|
||||
label_zh = models.CharField(max_length=50)
|
||||
description = models.TextField(blank=True, default="")
|
||||
sort_order = models.SmallIntegerField(default=0)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
module = models.CharField(
|
||||
max_length=50,
|
||||
verbose_name="所属模块",
|
||||
help_text="client / property",
|
||||
)
|
||||
key = models.CharField(
|
||||
max_length=100,
|
||||
verbose_name="分组 key",
|
||||
help_text="如 source / follow_purpose",
|
||||
)
|
||||
label_zh = models.CharField(
|
||||
max_length=50,
|
||||
verbose_name="分组中文名",
|
||||
help_text="界面显示名称,如「客源来源」",
|
||||
)
|
||||
description = models.TextField(
|
||||
blank=True,
|
||||
default="",
|
||||
verbose_name="分组说明",
|
||||
help_text="前端 tooltip 使用",
|
||||
)
|
||||
sort_order = models.SmallIntegerField(
|
||||
default=0,
|
||||
verbose_name="排序",
|
||||
)
|
||||
created_at = models.DateTimeField(
|
||||
auto_now_add=True,
|
||||
verbose_name="创建时间",
|
||||
)
|
||||
updated_at = models.DateTimeField(
|
||||
auto_now=True,
|
||||
verbose_name="更新时间",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = "lookup_groups"
|
||||
@@ -25,22 +51,52 @@ class LookupGroup(UUIDPrimaryKeyModel):
|
||||
|
||||
class LookupItem(UUIDPrimaryKeyModel):
|
||||
group = models.ForeignKey(
|
||||
LookupGroup, on_delete=models.CASCADE, related_name="items"
|
||||
LookupGroup,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="items",
|
||||
verbose_name="所属分组",
|
||||
)
|
||||
value = models.CharField(
|
||||
max_length=100,
|
||||
verbose_name="存储值",
|
||||
help_text="英文 snake_case,如 door_to_door;写入后只读",
|
||||
)
|
||||
label_zh = models.CharField(
|
||||
max_length=50,
|
||||
verbose_name="显示文本",
|
||||
help_text="如「上门」",
|
||||
)
|
||||
is_system = models.BooleanField(
|
||||
default=False,
|
||||
verbose_name="是否系统预制",
|
||||
help_text="True=系统预制不可物理删除,仅可停用",
|
||||
)
|
||||
is_active = models.BooleanField(
|
||||
default=True,
|
||||
verbose_name="是否启用",
|
||||
help_text="False 后录入下拉不展示,历史记录保留并展示「(已停用)」后缀",
|
||||
)
|
||||
sort_order = models.SmallIntegerField(
|
||||
default=0,
|
||||
verbose_name="排序",
|
||||
)
|
||||
value = models.CharField(max_length=100)
|
||||
label_zh = models.CharField(max_length=50)
|
||||
is_system = models.BooleanField(default=False)
|
||||
is_active = models.BooleanField(default=True)
|
||||
sort_order = models.SmallIntegerField(default=0)
|
||||
created_by = models.ForeignKey(
|
||||
"org.Staff",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="created_lookup_items",
|
||||
verbose_name="创建人",
|
||||
help_text="系统预制时为 NULL",
|
||||
)
|
||||
created_at = models.DateTimeField(
|
||||
auto_now_add=True,
|
||||
verbose_name="创建时间",
|
||||
)
|
||||
updated_at = models.DateTimeField(
|
||||
auto_now=True,
|
||||
verbose_name="更新时间",
|
||||
)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "lookup_items"
|
||||
|
||||
@@ -17,18 +17,38 @@ TRADE_STATUS_CHOICES = (
|
||||
|
||||
|
||||
class TenantSetting(UUIDPrimaryKeyModel):
|
||||
category = models.CharField(max_length=50)
|
||||
key = models.CharField(max_length=100)
|
||||
value = models.JSONField()
|
||||
value_type = models.CharField(max_length=20, choices=SettingValueType.choices)
|
||||
category = models.CharField(
|
||||
max_length=50,
|
||||
verbose_name="配置分类",
|
||||
help_text="client / property / showroom",
|
||||
)
|
||||
key = models.CharField(
|
||||
max_length=100,
|
||||
verbose_name="配置 key",
|
||||
help_text="如 duplicate_check_scope",
|
||||
)
|
||||
value = models.JSONField(
|
||||
verbose_name="配置值",
|
||||
help_text='JSONB,统一格式 {"v": <value>}',
|
||||
)
|
||||
value_type = models.CharField(
|
||||
max_length=20,
|
||||
choices=SettingValueType.choices,
|
||||
verbose_name="值类型",
|
||||
help_text="bool / int / string / enum,用于前端渲染控件",
|
||||
)
|
||||
updated_by = models.ForeignKey(
|
||||
"org.Staff",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="updated_tenant_settings",
|
||||
verbose_name="最后修改人",
|
||||
)
|
||||
updated_at = models.DateTimeField(
|
||||
auto_now=True,
|
||||
verbose_name="更新时间",
|
||||
)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "tenant_settings"
|
||||
@@ -45,12 +65,34 @@ class TenantSetting(UUIDPrimaryKeyModel):
|
||||
|
||||
|
||||
class FieldRequirementRule(UUIDPrimaryKeyModel):
|
||||
module = models.CharField(max_length=20, choices=FieldRuleModule.choices)
|
||||
entity_type = models.CharField(max_length=50, choices=FieldRuleEntityType.choices)
|
||||
trade_status = models.CharField(max_length=20, choices=TRADE_STATUS_CHOICES)
|
||||
field_key = models.CharField(max_length=50)
|
||||
module = models.CharField(
|
||||
max_length=20,
|
||||
choices=FieldRuleModule.choices,
|
||||
verbose_name="模块",
|
||||
help_text="property / client,MVP 仅 property",
|
||||
)
|
||||
entity_type = models.CharField(
|
||||
max_length=50,
|
||||
choices=FieldRuleEntityType.choices,
|
||||
verbose_name="实体类型",
|
||||
help_text="与 property.property_type 值域完全一致:residential/villa/commercial_residential/shop/office/other",
|
||||
)
|
||||
trade_status = models.CharField(
|
||||
max_length=20,
|
||||
choices=TRADE_STATUS_CHOICES,
|
||||
verbose_name="交易状态",
|
||||
help_text="sale=出售 / rent=出租 / sale_rent=租售 / *=全部(fallback 通配)",
|
||||
)
|
||||
field_key = models.CharField(
|
||||
max_length=50,
|
||||
verbose_name="字段 key",
|
||||
help_text="如 orientation / decoration / floor / building_area",
|
||||
)
|
||||
requirement = models.CharField(
|
||||
max_length=10, choices=FieldRuleRequirement.choices
|
||||
max_length=10,
|
||||
choices=FieldRuleRequirement.choices,
|
||||
verbose_name="规则",
|
||||
help_text="required=必填 / optional=选填 / hidden=隐藏",
|
||||
)
|
||||
updated_by = models.ForeignKey(
|
||||
"org.Staff",
|
||||
@@ -58,8 +100,12 @@ class FieldRequirementRule(UUIDPrimaryKeyModel):
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="updated_field_rules",
|
||||
verbose_name="最后修改人",
|
||||
)
|
||||
updated_at = models.DateTimeField(
|
||||
auto_now=True,
|
||||
verbose_name="更新时间",
|
||||
)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "field_requirement_rules"
|
||||
|
||||
Reference in New Issue
Block a user