Skip to content

Commit 9a6185e

Browse files
committed
fix:修复用户管理和角色管理编辑异常删除关联表内容的bug
1 parent 292dfdb commit 9a6185e

7 files changed

Lines changed: 40 additions & 4 deletions

File tree

dash-fastapi-backend/mapper/schema/role_schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class AddRoleModel(RoleModel):
5656
新增角色模型
5757
"""
5858
menu_id: Optional[str]
59+
type: Optional[str]
5960

6061

6162
class DeleteRoleModel(BaseModel):

dash-fastapi-backend/mapper/schema/user_schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ class AddUserModel(UserModel):
204204
"""
205205
role_id: Optional[str]
206206
post_id: Optional[str]
207+
type: Optional[str]
207208

208209

209210
class DeleteUserModel(BaseModel):

dash-fastapi-backend/service/role_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def edit_role_services(result_db: Session, page_object: AddRoleModel):
5454
"""
5555
edit_role = RoleModel(**page_object.dict())
5656
edit_role_result = edit_role_crud(result_db, edit_role)
57-
if edit_role_result.is_success:
57+
if edit_role_result.is_success and page_object.type != 'status':
5858
role_id_dict = dict(role_id=page_object.role_id)
5959
delete_role_menu_crud(result_db, RoleMenuModel(**role_id_dict))
6060
if page_object.menu_id:

dash-fastapi-backend/service/user_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def edit_user_services(result_db: Session, page_object: AddUserModel):
4848
"""
4949
edit_user = UserModel(**page_object.dict())
5050
edit_user_result = edit_user_crud(result_db, edit_user)
51-
if edit_user_result.is_success:
51+
if edit_user_result.is_success and page_object.type != 'status':
5252
user_id_dict = dict(user_id=page_object.user_id)
5353
delete_user_role_crud(result_db, UserRoleModel(**user_id_dict))
5454
delete_user_post_crud(result_db, UserPostModel(**user_id_dict))

dash-fastapi-frontend/callbacks/system_c/role_c.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,39 @@ def role_confirm(confirm_trigger, operation_type, cur_role_info, role_name, role
349349
return [dash.no_update] * 10
350350

351351

352+
@app.callback(
353+
[Output('role-operations-store', 'data', allow_duplicate=True),
354+
Output('api-check-token', 'data', allow_duplicate=True),
355+
Output('global-message-container', 'children', allow_duplicate=True)],
356+
[Input('role-list-table', 'recentlySwitchDataIndex'),
357+
Input('role-list-table', 'recentlySwitchStatus'),
358+
Input('role-list-table', 'recentlySwitchRow')],
359+
prevent_initial_call=True
360+
)
361+
def table_switch_role_status(recently_switch_data_index, recently_switch_status, recently_switch_row):
362+
if recently_switch_data_index:
363+
if recently_switch_status:
364+
params = dict(role_id=int(recently_switch_row['key']), status='0', type='status')
365+
else:
366+
params = dict(role_id=int(recently_switch_row['key']), status='1', type='status')
367+
edit_button_result = edit_role_api(params)
368+
if edit_button_result['code'] == 200:
369+
370+
return [
371+
{'type': 'switch-status'},
372+
{'timestamp': time.time()},
373+
fuc.FefferyFancyMessage('修改成功', type='success')
374+
]
375+
376+
return [
377+
dash.no_update,
378+
{'timestamp': time.time()},
379+
fuc.FefferyFancyMessage('修改失败', type='error')
380+
]
381+
382+
return [dash.no_update] * 3
383+
384+
352385
@app.callback(
353386
[Output('role-delete-text', 'children'),
354387
Output('role-delete-confirm-modal', 'visible'),

dash-fastapi-frontend/callbacks/system_c/user_c.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,9 +408,9 @@ def usr_edit_confirm(edit_confirm, nick_name, dept_id, phone_number, email, sex,
408408
def table_switch_user_status(recently_switch_data_index, recently_switch_status, recently_switch_row):
409409
if recently_switch_data_index:
410410
if recently_switch_status:
411-
params = dict(user_id=int(recently_switch_row['key']), status='0')
411+
params = dict(user_id=int(recently_switch_row['key']), status='0', type='status')
412412
else:
413-
params = dict(user_id=int(recently_switch_row['key']), status='1')
413+
params = dict(user_id=int(recently_switch_row['key']), status='1', type='status')
414414
edit_button_result = edit_user_api(params)
415415
if edit_button_result['code'] == 200:
416416

dash-fastapi-frontend/views/system/role/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ def render():
345345
fac.AntdFormItem(
346346
fac.AntdInputNumber(
347347
id='role-role_sort',
348+
placeholder='请输入角色顺序',
348349
defaultValue=0,
349350
min=0,
350351
style={

0 commit comments

Comments
 (0)