123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import pywebio.pin as pin
- from pywebio.input import *
- from pywebio.output import *
- from pywebio.session import *
- from .common import *
- from . import judge_field
- def column_map_widget(columns):
- columns.append('-')
- # 判断列映射
- column_map_res = judge_field.judge_by_field_name(columns)
- header = ['列名','系统自动识别字段','单位','格式']
- values = []
- i = 0
- for k,v in fields.items():
- values.append({
- '列名': k,
- '系统自动识别字段': pin.put_select(name=f"field_{i}", options=columns, value=column_map_res.get(k, '-')),
- '单位': pin.put_select(name=f"unit_{i}", options=v[1]),
- '格式': pin.put_select(name=f"format_{i}", options=v[3]),
- })
- i = i + 1
- put_table([
- ['系统:', put_table(values,header=header)]
- ])
- def data_clean_conf_widget():
- put_table([
- ['系统:',put_markdown(f"当前清洗规则如下,可手动点击进行修改")]
- ])
- header = ['列名', '空值处理', '空值指定值', '无效值处理', '无效值判定值', '无效值指定值']
- clean_rule = ['不处理', '删除整行', '向上临近填充', '向下临近填充', '中位数填充', '平均值填充', '指定值填充']
- values = []
- i = 0
- for k,v in fields.items():
- values.append({
- '列名': k,
- '空值处理': pin.put_select(name=f"none_{i}", options=clean_rule, value=v[4]),
- '空值指定值': pin.put_input(name=f"none_assign_{i}", type='float'),
- '无效值处理': pin.put_select(name=f"invalid_{i}", options=clean_rule, value=v[5]),
- '无效值判定值': pin.put_input(name=f"invalid_judge_{i}", type='float'),
- '无效值指定值': pin.put_input(name=f"invalie_assign_{i}", type='float'),
- })
- i = i + 1
- put_table([
- ['系统:',put_table(values,header=header)]
- ])
- buttons = {State.data_clean_exec.value: ['执行数据清洗', 'success'],
- State.column_map.value: ['我想修改数据字段映射', 'info'],
- State.upload_file.value: ['我想重新导入数据文件', 'info']}
- res = actions('请告诉我您的需求', buttons=construct_buttons(buttons))
- put_table([['用户:', buttons[res][0]]])
- return res
- # def data_clean_exec_widget():
- # put_table([['系统:', "数据清洗完成"]])
- # buttons = {State.download_file.value: ['我想下载清洗后的数据', 'success'],
- # State.run_algo.value: ['我想执行算法模块', 'success'],
- # State.upload_file.value: ['我想重新导入数据文件', 'info']}
- # res = actions('请告诉我您的需求', buttons=construct_buttons(buttons))
- # put_table([['用户:', buttons[res][0]]])
- # return res
- def next_actions():
- # 如果功能已经都进行过一次设置,则支持的按钮统一如下
- # {}
- if not local.state_enter.get(State.column_map, None):
- buttons = {State.column_map.value: ['我想配置数据字段映射', 'success'],
- State.upload_file.value: ['我想重新导入数据文件', 'info']}
- elif not local.state_enter.get(State.data_clean_conf, None):
- buttons = {State.data_clean_conf.value: ['我想进行数据清洗', 'success'],
- State.run_algo.value: ['我想进入算法执行系统', 'success'],
- State.column_map.value: ['我想修改数据字段映射', 'info'],
- State.upload_file.value: ['我想重新导入数据文件', 'info']}
- elif not local.state_enter.get(State.data_clean_exec, None):
- buttons = {State.data_clean_exec.value: ['我想执行数据清洗', 'success'],
- State.run_algo.value: ['我想进入算法执行系统', 'success'],
- State.data_clean_conf.value: ['我想修改数据清洗规则', 'info'],
- State.column_map.value: ['我想修改数据字段映射', 'info'],
- State.upload_file.value: ['我想重新导入数据文件', 'info']}
- else:
- buttons = {State.run_algo.value: ['我想进入算法执行系统', 'success'],
- State.download_file.value: ['我想下载清洗后的数据', 'success'],
- State.data_clean_conf.value: ['我想修改数据清洗规则', 'info'],
- State.column_map.value: ['我想修改数据字段映射', 'info'],
- State.upload_file.value: ['我想重新导入数据文件', 'info']}
- res = actions('请告诉我您的需求', buttons=construct_buttons(buttons))
- put_table([['用户:', buttons[res][0]]])
- return State(res)
- def algo_system_actions():
- buttons = {State.run_algo_all.value: ['我想执行所有算法模块', 'primary'],
- State.run_algo_1.value: ['我想执行基本信息统计', 'success'],
- State.run_algo_2.value: ['我想执行电池信息分析', 'success'],
- State.run_algo_3.value: ['我想执行电池安全诊断', 'success'],
- State.run_algo_4.value: ['我想执行电池性能诊断', 'success'],
- State.run_algo_5.value: ['我想执行电池画像分析', 'success'],
- State.run_algo_exit.value: ['我想退出算法执行系统', 'danger']}
- res = actions('请告诉我您的需求', buttons=construct_buttons(buttons))
- put_table([['用户:', buttons[res][0]]])
- return State(res)
|