You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
4.6 KiB

1 month ago
import dash
import time
import uuid
from dash import dcc
from dash.dependencies import Input, Output, State, ALL
from dash.exceptions import PreventUpdate
import feffery_utils_components as fuc
from server import app
from utils.common import validate_data_not_empty
#from api.ndstand import get_nfddict_data_list_api
from api.fddict import get_fddict_list_api
# 添加一个回调函数来监听按钮点击事件
@app.callback(
Output('nfddict_data-list-table', 'data'), # 替换为你的输出组件
Input('ndstand-list-table','nClicksButton'),
State('ndstand-list-table', 'clickedContent'), # 替换为你的表格组件ID
prevent_initial_call=True
)
def nfddict_data_renter_info(nClicksButton, clickedContent):
# print(555,clickedContent,nClicksButton,7777)
table_data=[]
if nClicksButton:
query_params = dict(
fddict_col_no=clickedContent,
page_num=1,
page_size=10
)
table_info = get_fddict_list_api(query_params)
table_data = table_info['data']['rows']
return table_data
raise PreventUpdate
# @app.callback(
# output=dict(
# nfddict_data_table_data=Output('nfddict_data-list-table', 'data', allow_duplicate=True),
# nfddict_data_table_pagination=Output('nfddict_data-list-table', 'pagination', allow_duplicate=True),
# nfddict_data_table_key=Output('nfddict_data-list-table', 'key'),
# nfddict_data_table_selectedrowkeys=Output('nfddict_data-list-table', 'selectedRowKeys'),
# api_check_token_trigger=Output('api-check-token', 'data', allow_duplicate=True)
# ),
# inputs=dict(
# search_click=Input('nfddict_data-search', 'nClicks'),
# pagination=Input('nfddict_data-list-table', 'pagination')
# ),
# state=dict(
# fddict_col_no=State('nfddict_data-fddict_col_no-input', 'value'),
# fddict_col_cn=State('nfddict_data-fddict_col_cn-input', 'value'),
# button_perms=State('nfddict_data-button-perms-container', 'data')
# ),
# prevent_initial_call=True
# )
# def get_nfddict_data_table_data(search_click, pagination, fddict_col_no, fddict_col_cn, button_perms):
# """
# 获取字典数据表格数据回调(进行表格相关增删查改操作后均会触发此回调)
# """
# query_params = dict(
# fddict_col_no=fddict_col_no,
# fddict_col_cn=fddict_col_cn,
# page_num=1,
# page_size=10
# )
# triggered_id = dash.ctx.triggered_id
# if triggered_id == 'nfddict_data-list-table':
# query_params = dict(
# fddict_col_no=fddict_col_no,
# fddict_col_cn=fddict_col_cn,
# page_num=pagination['current'],
# page_size=pagination['pageSize']
# )
# if search_click or pagination :
# table_info = get_nfddict_data_list_api(query_params)
# if table_info['code'] == 200:
# table_data = table_info['data']['rows']
# table_pagination = dict(
# pageSize=table_info['data']['page_size'],
# current=table_info['data']['page_num'],
# showSizeChanger=True,
# pageSizeOptions=[10, 30, 50, 100],
# showQuickJumper=True,
# total=table_info['data']['total']
# )
# for item in table_data:
# item['key'] = str(item['fddict_col_no'])
# return dict(
# nfddict_data_table_data=table_data,
# nfddict_data_table_pagination=table_pagination,
# nfddict_data_table_key=str(uuid.uuid4()),
# nfddict_data_table_selectedrowkeys=None,
# api_check_token_trigger={'timestamp': time.time()}
# )
# return dict(
# nfddict_data_table_data=dash.no_update,
# nfddict_data_table_pagination=dash.no_update,
# nfddict_data_table_key=dash.no_update,
# nfddict_data_table_selectedrowkeys=dash.no_update,
# api_check_token_trigger={'timestamp': time.time()}
# )
# raise PreventUpdate
# # 重置代码表数据搜索表单数据回调
# app.clientside_callback(
# '''
# (reset_click) => {
# if (reset_click) {
# return [null, null, {'type': 'reset'}]
# }
# return window.dash_clientside.no_update;
# }
# ''',
# [Output('nfddict_data-fddict_col_cn-input', 'value'),
# Output('nfddict_data-fddict_col_no-input', 'value')],
# Input('nfddict_data-reset', 'nClicks'),
# prevent_initial_call=True
# )