from pywebio.input import * from pywebio.output import * from pywebio.session import * import pywebio.pin as pin from . import image def basic_info_sta(): header = ['数据包内电池包数', '数据起始时间', '数据结束时间', '数据时长(天)', '电池包最高活跃度', '电池包平均活跃度', '总数据量', '日最大数据量'] values = [1, "2023/3/28 17:14:00", "2023/3/28 19:32:00", 1, 100, 100, 835, 835] return put_table([values],header=header) def bat_info_sta(): header = ['SN', '电池类型', '电池包电芯串联数', '温度采样个数'] values = ["001PB047000001B230100075", "三元电池", 112, 12] return put_table([values],header=header) def safety_diag(): header = ['诊断指标', '数值', '诊断结果', '推荐数值'] values = ['最高电压', 3.68, '⬆', 3.65] return put_table([ ["3.1 诊断指标", put_table([values],header=header)], ["3.2 诊断结论", put_text( ''' xxxxxxxx电池于xxxx年xx月xx日发生电芯过压故障 ,故障电芯为xx号电芯,故障发生时最高电芯电压为xxV xxxxxxxx电池于xxxx年xx月xx日发生绝缘离群故障 ,故障发生时绝缘值为xxxxx 电池是否存在热失控特征 电池是否存在析锂特征 电池是否存在内短路特征''')], ]) def performance_diag(): header = ['SOC一致性', '内阻一致性', 'SOH一致性', '温度一致性'] values = ["0.9", 0.9, 0.9, 0.9] return put_table([ ["4.1 SOH衰减信息", put_text('''***''')], ["4.2 一致性信息", put_table([values],header=header)], ["4.3 一致性绘图", put_html(image.plot_example().render_notebook())] ]) def bat_portrait(): header = ['日均充电次数', '累计充电安时量', '累计充电次数'] values = [1, 50, 3] header2 = ['日均放电次数', '累计放电安时量', '累计放电次数'] values2 = [3, 30, 10] header3 = ['存储soc均值', '存储温度均值', '最大存储时长'] values3 = [60, 23, 8] return put_table([ ["5.1 电池充电习惯", put_table([values],header=header)], ["5.2 电池放电习惯", put_table([values2],header=header2)], ["5.3 电池存储习惯", put_table([values3],header=header3),] ])