LISHUZUOXUN_yangjiang/LSZXPagesManagerLibrary/display_page.py

784 lines
29 KiB
Python

# coding: gb2312
from PyQt5.QtCore import QTimer
from LSZXPagesManagerLibrary.display_page_layout_define import DisplayPageLayoutDefine
from LSZXPagesManagerLibrary.consensus import *
from datetime import datetime
class DisplayPage(DisplayPageLayoutDefine):
def __init__(self):
super(DisplayPage, self).__init__()
self.sit_up_title = '仰卧起坐'
self.sit_up_list = [
{"name": "王小二1", "id": 1, "hr": 23, "bo": 49, "count": 30},
{"name": "王小二1", "id": 2, "hr": 83, "bo": 49, "count": 30},
{"name": "王小二1", "id": 3, "hr": 93, "bo": 49, "count": 30},
{"name": "王小二1", "id": 4, "hr": 93, "bo": 49, "count": 30},
{"name": "王小二1", "id": 5, "hr": 93, "bo": 49, "count": 30}
]
self.pull_up_title = '引体向上'
self.pull_up_list = [
{"name": "王小二2", "id": 1, "hr": 23, "bo": 49, "count": 40},
{"name": "王小二2", "id": 2, "hr": 83, "bo": 49, "count": 40},
{"name": "王小二2", "id": 3, "hr": 93, "bo": 49, "count": 40},
{"name": "王小二2", "id": 4, "hr": 93, "bo": 49, "count": 40},
{"name": "王小二2", "id": 5, "hr": 93, "bo": 49, "count": 40}
]
self.run_bf_title = '30*2蛇形跑'
self.run_bf_list = [
{"name": "王小二3", "id": 1, "hr": 28, "bo": 69, "count": 30},
{"name": "王小二3", "id": 2, "hr": 88, "bo": 69, "count": 30},
{"name": "王小二3", "id": 3, "hr": 98, "bo": 69, "count": 30},
{"name": "王小二3", "id": 4, "hr": 98, "bo": 69, "count": 30},
{"name": "王小二3", "id": 5, "hr": 98, "bo": 69, "count": 30}
]
self.push_up_title = '俯卧撑'
self.push_up_list = []
# 模拟接口返回数据 -------> 成绩汇总
self.total_list = [
{
"id": 1,
"name": "王奕辰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.89", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": "00:02:36", "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 2,
"name": "赵嘉瑞",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "17.89", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'G'},
"bo": {"bo": "98%", "color": 'G'},
},
{
"id": 3,
"name": "孙锦川",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "20.9", "is_changed": False},
"pushup": {"count": 60, "is_changed": False},
"pullup": {"count": 60, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'Y'},
"bo": {"bo": "98%", "color": 'Y'},
},
{
"id": 4,
"name": "钱易安",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'R'},
},
{
"id": 5,
"name": "李清峰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 6,
"name": "白俊彦",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": 100, "is_changed": False},
"pullup": {"count": 100, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 7,
"name": "周文翰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 8,
"name": "吴承泽",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": False},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 9,
"name": "孟梓楠",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": False},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 10,
"name": "杨云嵩",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 11,
"name": "王小三",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 12,
"name": "王小四",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": True},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": True},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 13,
"name": "王小五",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": True},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 14,
"name": "王小刘",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": True},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 15,
"name": "王奕辰",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 16,
"name": "赵嘉瑞",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": False},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'G'},
"bo": {"bo": "98%", "color": 'G'},
},
{
"id": 17,
"name": "孙锦川",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": True},
"hr": {"hr": 90, "color": 'Y'},
"bo": {"bo": "98%", "color": 'Y'},
},
{
"id": 18,
"name": "钱易安",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'R'},
},
{
"id": 19,
"name": "王奕辰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 20,
"name": "赵嘉瑞",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'G'},
"bo": {"bo": "98%", "color": 'G'},
},
{
"id": 21,
"name": "孙锦川",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'Y'},
"bo": {"bo": "98%", "color": 'Y'},
},
{
"id": 22,
"name": "钱易安",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'R'},
},
{
"id": 1,
"name": "王奕辰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.89", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": "00:02:36", "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 2,
"name": "赵嘉瑞",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "17.89", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'G'},
"bo": {"bo": "98%", "color": 'G'},
},
{
"id": 3,
"name": "孙锦川",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "20.9", "is_changed": False},
"pushup": {"count": 60, "is_changed": False},
"pullup": {"count": 60, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'Y'},
"bo": {"bo": "98%", "color": 'Y'},
},
{
"id": 4,
"name": "钱易安",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'R'},
"bo": {"bo": "98%", "color": 'R'},
},
{
"id": 5,
"name": "李清峰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 6,
"name": "白俊彦",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": 100, "is_changed": False},
"pullup": {"count": 100, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 7,
"name": "周文翰",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 8,
"name": "吴承泽",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": False},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 9,
"name": "孟梓楠",
"situp": {"count": 63, "is_changed": True},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": False},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
{
"id": 10,
"name": "杨云嵩",
"situp": {"count": 63, "is_changed": False},
"runaround": {"count": "0.8999999", "is_changed": False},
"pushup": {"count": None, "is_changed": False},
"pullup": {"count": None, "is_changed": True},
"running": {"count": 36, "is_changed": False},
"hr": {"hr": 90, "color": 'W'},
"bo": {"bo": "98%", "color": 'W'},
},
]
# 模拟接口返回数据 -------> 各项第一名
self.top_one_object = {
"total": {"name": "王奕辰", "score": 80},
"situp": {"name": "王小二", "score": 63},
"runaround": {"name": "孟梓楠", "score": 17.11},
"pushup": {"name": "郑诚毅", "score": 58},
"pullup": {"name": "李清峰", "score": 43},
"running": {"name": "王奕辰", "score": '00:02:36'},
}
# 模拟接口返回数据 -------> 三千米数据
self.running_list = [
{
"id": 1,
"name": "王奕辰",
"hr": 90,
"bo": "98%",
"count": 36,
"rank": 1,
"finish": "未起始",
"round": 0,
"normal": False
},
{
"id": 2,
"name": "赵嘉瑞",
"hr": 90,
"bo": "98%",
"count": 40,
"rank": 2,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 3,
"name": "孙锦川",
"hr": 250,
"bo": "98%",
"count": 50,
"rank": 3,
"finish": "未起始",
"round": 0,
"normal": False
},
{
"id": 4,
"name": "钱易安",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 4,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 5,
"name": "李清峰",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 5,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 6,
"name": "白俊彦",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 6,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 7,
"name": "周文翰",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 7,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 8,
"name": "吴承泽",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 8,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 9,
"name": "孟梓楠",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 9,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 10,
"name": "杨云嵩",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 10,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 11,
"name": "李鸾晖",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 11,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 12,
"name": "郭南禹",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 12,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 13,
"name": "郑诚毅",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 13,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 14,
"name": "王子衍",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 14,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 15,
"name": "邓嘉琦",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 15,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 16,
"name": "冯锦安",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 16,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 17,
"name": "王奕辰",
"hr": 90,
"bo": "98%",
"count": 36,
"rank": 17,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 18,
"name": "赵嘉瑞",
"hr": 90,
"bo": "98%",
"count": 40,
"rank": 18,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 19,
"name": "孙锦川",
"hr": 250,
"bo": "98%",
"count": 50,
"rank": 19,
"finish": "未起始",
"round": 0,
"normal": False
},
{
"id": 20,
"name": "钱易安",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 20,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 21,
"name": "李清峰",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 21,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 22,
"name": "白俊彦",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 22,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 23,
"name": "周文翰",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 23,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 24,
"name": "吴承泽",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 24,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 25,
"name": "孟梓楠",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 25,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 26,
"name": "吴承泽",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 26,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 27,
"name": "孟梓楠",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 27,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 28,
"name": "吴承泽",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 28,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 29,
"name": "孟梓楠",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 29,
"finish": "未起始",
"round": 0,
"normal": True
},
{
"id": 30,
"name": "孟梓楠",
"hr": 90,
"bo": "98%",
"count": 53,
"rank": 30,
"finish": "未起始",
"round": 0,
"normal": True
}
]
if len(self.running_list) > 0:
self.running_stacked_widget.addWidget(self.running_widget)
else:
self.running_stacked_widget.addWidget(self.init_empty_widget())
self.sit_up_widget.set_data(self.sit_up_title, self.sit_up_list)
self.pull_up_widget.set_data(self.pull_up_title, self.pull_up_list)
self.run_bf_widget.set_data(self.run_bf_title, self.run_bf_list)
self.push_up_widget.set_data(self.push_up_title, self.push_up_list)
self.grade_summary_widget.set_data(self.total_list)
self.top_one_widget.set_data(self.top_one_object)
self.sqm_widget.set_person(self.running_list)
# 定时更新界面数据
self.update_timer = QTimer(self)
self.update_timer.timeout.connect(self.realtime_display)
# 激活数据自动刷新
self.realtime_display()
self.update_timer.start(500) # 每秒更新一次
# 激活数据轮盘的更新
self.sqm_widget.resume()
# 返回键事件
self.back_button.clicked.connect(self.back_button_action)
# 获取当前年月日时分秒
self.cur_timer = QTimer(self)
self.cur_timer.timeout.connect(self.cur_timer_fun)
self.cur_timer.start(1000) # 每 1 秒更新一次时间
self.cur_timer_fun()
def cur_timer_fun(self):
now = datetime.now()
time_str = now.strftime("%Y 年 %m 月 %d%H:%M:%S")
self.timer_widget.setText(time_str)
def realtime_display(self):
# 获得数据
person_score = self.running_list
person_score = list(filter(
lambda x: x[ID] in [person_mes[ID] for person_mes in self.running_list],
person_score
))
self.sqm_widget.update_person(person_score)
def back_button_action(self):
print('点击返回键')