Skip to content

Commit 2adbf1c

Browse files
committed
重命名formitem
修复流水下错误
1 parent 978a1c1 commit 2adbf1c

File tree

12 files changed

+103
-86
lines changed

12 files changed

+103
-86
lines changed

fast_tmp/amis/crud.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from fast_tmp.amis.base import BaseAmisModel, _Action
44
from fast_tmp.amis.column import Column, Operation
5-
from fast_tmp.amis.forms.filter import FilterModel
5+
from fast_tmp.amis.forms import FilterModel
66

77

88
class CRUD(BaseAmisModel):

fast_tmp/amis/formitem.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
from pydantic import BaseModel
1515

16-
from .column import AbstractControl, Column, SelectOption
16+
from .column import AbstractControl, Column, ColumnInline, SelectOption
1717
from .forms import Form
1818
from .style import FormWidgetSize, Mode
1919

@@ -411,3 +411,34 @@ class SubForm(FormItem):
411411
form: Form
412412
addButtonText: Optional[str] # 自定义新增一项的文本
413413
showErrorMsg: Optional[bool] # 是否在左下角显示报错信息
414+
415+
416+
class InputTable(FormItem):
417+
"""
418+
表格
419+
"""
420+
421+
type = "table"
422+
addable: Optional[bool] # 是否可新增
423+
editable: Optional[bool] # 是否可编辑
424+
removable: Optional[bool] # 是否可删除
425+
showAddBtn: Optional[bool] # 是否显示添加按钮
426+
addApi: Optional[str]
427+
updateApi: Optional[str]
428+
deleteApi: Optional[str]
429+
addBtnLabel: Optional[str] # 增加按钮名称
430+
addBtnIcon: Optional[str] # "plus" 增加按钮图标
431+
copyBtnLabel: Optional[str] # 复制按钮文字
432+
copyBtnIcon: Optional[str] # "copy" 复制按钮图标
433+
editBtnLabel: Optional[str] # "" 编辑按钮名称
434+
editBtnIcon: Optional[str] # "pencil" 编辑按钮图标
435+
deleteBtnLabel: Optional[str] # "" 删除按钮名称
436+
deleteBtnIcon: Optional[str] # "minus" 删除按钮图标
437+
confirmBtnLabel: Optional[str] # "" 确认编辑按钮名称
438+
confirmBtnIcon: Optional[str] # "check" 确认编辑按钮图标
439+
cancelBtnLabel: Optional[str] # "" 取消编辑按钮名称
440+
cancelBtnIcon: Optional[str] # "times" 取消编辑按钮图标
441+
needConfirm: Optional[bool] # true 是否需要确认操作,,可用来控控制表格的操作交互
442+
canAccessSuperData: Optional[bool] # false 是否可以访问父级数据,也就是表单中的同级数据,通常需要跟 strictMode 搭配使用
443+
strictMode: Optional[bool] # true 为了性能,默认其他表单项项值变化不会让当前表格更新,有时候为了同步获取其他表单项字段,需要开启这个。
444+
columns: Optional[List[ColumnInline]] # 列信息

fast_tmp/amis/forms/__init__.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from typing import List, Optional
22

3+
from pydantic import BaseModel
4+
35
from fast_tmp.amis.base import BaseAmisModel
46
from fast_tmp.amis.column import AbstractControl
57

@@ -16,3 +18,10 @@ class Form(BaseAmisModel):
1618
primaryField: Optional[str] # 设置主键"id"
1719
body: List[AbstractControl]
1820

21+
22+
class FilterModel(BaseModel):
23+
title: str = "过滤"
24+
body: List[dict]
25+
actions: List[dict] = [
26+
{"type": "submit", "level": "primary", "label": "查询"}
27+
] # type submit label https://aisuda.bce.baidu.com/amis/zh-CN/components/crud#%E6%95%B0%E6%8D%AE%E6%BA%90%E6%8E%A5%E5%8F%A3%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E8%A6%81%E6%B1%82

fast_tmp/amis/forms/filter.py

Lines changed: 0 additions & 11 deletions
This file was deleted.

fast_tmp/site/__init__.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
from fast_tmp.amis.column import Operation
1313
from fast_tmp.amis.crud import CRUD
1414
from fast_tmp.amis.enums import ButtonLevelEnum
15-
from fast_tmp.amis.forms import Form
16-
from fast_tmp.amis.forms.filter import FilterModel
15+
from fast_tmp.amis.forms import FilterModel, Form
1716
from fast_tmp.amis.frame import Dialog
1817
from fast_tmp.amis.page import Page
1918
from fast_tmp.exceptions import FieldsError, NotFoundError, PermError
@@ -106,7 +105,7 @@ def get_create_dialogation_button(self, request: Request) -> List[_Action]:
106105
name=f"新增{self.name}",
107106
title=f"新增{self.name}",
108107
# fixme 你的field字段传实例了吗?
109-
body=[(i.get_formItem(request)) for i in formitems.values()],
108+
body=[(i.get_formitem(request)) for i in formitems.values()],
110109
api=f"post:{self.prefix}/create",
111110
),
112111
),
@@ -132,7 +131,7 @@ def get_del_one_button(self):
132131
)
133132

134133
def get_update_one_button(self, request: Request):
135-
body = [i.get_formItem(request) for i in self.get_update_fields().values()]
134+
body = [i.get_formitem(request) for i in self.get_update_fields().values()]
136135
return DialogAction(
137136
label="修改",
138137
level=ButtonLevelEnum.link,

fast_tmp/site/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def get_column_inline(self, request: Request) -> Column:
9494
"""
9595

9696
@abstractmethod
97-
def get_formItem(self, request: Request) -> FormItem:
97+
def get_formitem(self, request: Request) -> FormItem:
9898
"""
9999
获取内联修改的column
100100
"""
@@ -118,7 +118,7 @@ def get_column(self, request: Request) -> Column:
118118
self._column = Column(name=self.name, label=self.label)
119119
return self._column
120120

121-
def get_formItem(self, request: Request) -> FormItem:
121+
def get_formitem(self, request: Request) -> FormItem:
122122
if not self._control:
123123
self._control = FormItem(type=self._control_type, name=self.name, label=self.label)
124124
if not self._field.null: # type: ignore

fast_tmp/site/field.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class IntControl(BaseAdminControl):
5353
class DecimalControl(BaseAdminControl):
5454
_control_type = FormItemEnum.input_number
5555

56-
def get_formItem(self, request: Request) -> FormItem:
56+
def get_formitem(self, request: Request) -> FormItem:
5757
if not self._control:
5858
self._control = NumberItem(
5959
type=self._control_type, name=self.name, label=self.label, big=True
@@ -76,9 +76,9 @@ def orm_2_amis(self, value: Any) -> Any:
7676
class IntEnumControl(BaseAdminControl):
7777
_control_type = FormItemEnum.select
7878

79-
def get_formItem(self, request: Request) -> FormItem:
79+
def get_formitem(self, request: Request) -> FormItem:
8080
if not self._control:
81-
super().get_formItem(request)
81+
super().get_formitem(request)
8282
d = self._control.dict(exclude_none=True)
8383
d.pop("type")
8484
if self._field.null: # type: ignore
@@ -139,9 +139,9 @@ class StrEnumControl(IntEnumControl):
139139
class DateTimeControl(BaseAdminControl):
140140
_control_type = FormItemEnum.input_datetime
141141

142-
def get_formItem(self, request: Request) -> FormItem:
142+
def get_formitem(self, request: Request) -> FormItem:
143143
if not self._control:
144-
super().get_formItem(request)
144+
super().get_formitem(request)
145145
self._control = DatetimeItem.from_orm(self._control)
146146
return self._control
147147

@@ -165,9 +165,9 @@ def orm_2_amis(self, value: datetime.datetime) -> Any:
165165
class DateControl(BaseAdminControl):
166166
_control_type = FormItemEnum.date
167167

168-
def get_formItem(self, request: Request) -> FormItem:
168+
def get_formitem(self, request: Request) -> FormItem:
169169
if not self._control:
170-
super().get_formItem(request)
170+
super().get_formitem(request)
171171
self._control = DateItem.from_orm(self._control)
172172
return self._control
173173

@@ -192,9 +192,9 @@ def orm_2_amis(self, value: datetime.date) -> Any:
192192
class TimeControl(BaseAdminControl):
193193
_control_type = FormItemEnum.time
194194

195-
def get_formItem(self, request: Request) -> FormItem:
195+
def get_formitem(self, request: Request) -> FormItem:
196196
if not self._control:
197-
super().get_formItem(request)
197+
super().get_formitem(request)
198198
self._control = TimeItem.from_orm(self._control)
199199
return self._control
200200

@@ -228,9 +228,9 @@ def amis_2_orm(self, value: Any) -> Any:
228228
def orm_2_amis(self, value: Any) -> Any:
229229
return json.dumps(value)
230230

231-
def get_formItem(self, request: Request) -> FormItem:
231+
def get_formitem(self, request: Request) -> FormItem:
232232
if not self._control:
233-
super().get_formItem(request)
233+
super().get_formitem(request)
234234
self._control.validations = "isJson"
235235
return self._control
236236

@@ -291,7 +291,7 @@ def prefetch(self) -> Optional[str]:
291291
def get_column_inline(self, request: Request) -> Column:
292292
raise AttributeError("foreignkey field can not be used in column inline.")
293293

294-
def get_formItem(self, request: Request) -> FormItem:
294+
def get_formitem(self, request: Request) -> FormItem:
295295
if not self._control:
296296
self._control = PickerItem(
297297
name=self.name,
@@ -363,7 +363,7 @@ def get_column(self, request: Request) -> Column:
363363
def get_column_inline(self, request: Request) -> Column:
364364
raise AttributeError("foreignkey field can not be used in column inline.")
365365

366-
def get_formItem(self, request: Request) -> FormItem:
366+
def get_formitem(self, request: Request) -> FormItem:
367367
if not self._control:
368368
self._control = SelectItem(
369369
name=self.name,
@@ -445,7 +445,7 @@ async def get_selects(
445445
data = await queryset
446446
return {"options": [{"value": i.pk, "label": str(i)} for i in data]}
447447

448-
def get_formItem(self, request: Request) -> FormItem:
448+
def get_formitem(self, request: Request) -> FormItem:
449449
if not self._control:
450450
self._control = TransferItem(
451451
name=self.name,
@@ -505,7 +505,7 @@ def orm_2_amis(self, value: Any) -> Any:
505505
class FileControl(BaseAdminControl):
506506
_control_type = FormItemEnum.input_file
507507

508-
def get_formItem(self, request: Request) -> FormItem:
508+
def get_formitem(self, request: Request) -> FormItem:
509509
if not self._control:
510510
self._control = FileItem(
511511
name=self.name,
@@ -530,7 +530,7 @@ def amis_2_orm(self, value: Any) -> Any:
530530
class ImageControl(BaseAdminControl):
531531
_control_type = FormItemEnum.input_image
532532

533-
def get_formItem(self, request: Request) -> FormItem:
533+
def get_formitem(self, request: Request) -> FormItem:
534534
if not self._control:
535535
self._control = ImageItem(
536536
name=self.name,
@@ -562,7 +562,7 @@ def amis_2_orm(self, value: Any) -> Any:
562562
class RichTextControl(BaseAdminControl):
563563
_control_type = FormItemEnum.input_rich_text
564564

565-
def get_formItem(self, request: Request) -> FormItem:
565+
def get_formitem(self, request: Request) -> FormItem:
566566
if not self._control:
567567
self._control = RichTextItem(type=self._control_type, name=self.name, label=self.label)
568568
if not self._field.null: # type: ignore
@@ -633,7 +633,7 @@ async def set_value(self, request: Request, obj: Model, value: Any):
633633
raise TmpValueError("password can not be none.")
634634
await super().set_value(request, obj, make_password(value))
635635

636-
def get_formItem(self, request: Request) -> FormItem:
636+
def get_formitem(self, request: Request) -> FormItem:
637637
if not self._control:
638638
self._control = FormItem(type=self._control_type, name=self.name, label=self.label)
639639
if not self._field.null: # type: ignore

fast_tmp/site/filter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def make_filter_by_str(request: Request, name: str, field: BaseAdminControl) ->
1010
"""
1111
根据字符串自动生成model对应field的搜索功能
1212
"""
13-
control = field.get_formItem(request)
13+
control = field.get_formitem(request)
1414
filter_info = control.dict(exclude_none=True)
1515
filter_info["name"] = name
1616
filter_info["label"] = name

0 commit comments

Comments
 (0)