Commit 56db9ff0 authored by mayinghao's avatar mayinghao

下载完成后自动删除进度条

parent 1630144b
......@@ -30,7 +30,7 @@ from multipleThread.config import *
# certutil -hashfile music.mp4 MD5
# 上传文件固定参数
#emsc08
# 当前用户
user_now = ''
token = ''
......@@ -64,6 +64,9 @@ class OrderDetail(QMainWindow):
self.send_data = 0
self.uuid_str = ''
# 把组件放一起,等下载完毕去掉
self.progress_widgets = []
# 为每个进程创建进度条
self.progress_bars = []
# 暂停按钮
......@@ -138,14 +141,23 @@ class OrderDetail(QMainWindow):
type_info = 3
print(self.data[row][0])
"""上传图纸文件"""
file_path, _ = QFileDialog.getOpenFileName(
self, "选择图纸文件", "", "图纸文件 (*.dwg *.dxf *.pdf);;所有文件 (*)"
# file_path, _ = QFileDialog.getOpenFileName(
# self, "选择图纸文件", "", "图纸文件 (*.dwg *.dxf *.pdf);;所有文件 (*)"
# )
files, _ = QFileDialog.getOpenFileNames(
self,
"添加文件",
"", # 默认目录
"All Files (*);;Text Files (*.txt);;Python Files (*.py)"
)
if file_path:
if os.path.getsize(file_path) < part_size:
self.upload_file(file_path, self.data[row][0], type_info)
else:
self.add_progress_bar_and_button(file_path, self.data[row][0], type_info)
if files:
for file_path in files:
if os.path.getsize(file_path) < part_size:
self.upload_file(file_path, self.data[row][0], type_info)
else:
self.add_progress_bar_and_button(file_path, self.data[row][0], type_info)
def handle_bom(self, row):
type_info = 4
......@@ -176,7 +188,9 @@ class OrderDetail(QMainWindow):
# 新上传就开启一个upload_thread线程并添加进度条和暂停按钮
def add_progress_bar_and_button(self, file_path, order_id, type_info):
# 创建水平布局
h_layout = QHBoxLayout()
widget = QWidget()
h_layout = QVBoxLayout(widget)
# 创建进度条
progress_bar = QProgressBar()
......@@ -184,18 +198,22 @@ class OrderDetail(QMainWindow):
progress_bar.setValue(0)
# 创建按钮
button = QPushButton(f"上传")
#button = QPushButton(f"上传")
status_label = QLabel(f"正在上传{file_path}")
# 将部件添加到水平布局
h_layout.addWidget(progress_bar)
h_layout.addWidget(button)
#h_layout.addWidget(button)
h_layout.addWidget(status_label)
# 将水平布局添加到主布局
self.main_layout.addLayout(h_layout)
self.main_layout.insertWidget(self.main_layout.count()-1, widget)
# 存储部件引用
self.progress_bars.append(progress_bar)
self.buttons.append(button)
current_index = len(self.progress_widgets)
self.progress_widgets.append({"widget": widget, "progess_bar": progress_bar, "label": status_label, "index": current_index})
#self.buttons.append(button)
thread = QThread()
upload = Upload_Thread(self.counter, order_id, type_info)
upload.filename = file_path
......@@ -205,7 +223,7 @@ class OrderDetail(QMainWindow):
self.threads.append(thread)
thread.started.connect(self.uploads[-1].run)
thread.start()
button.clicked.connect(lambda checked, idx=self.counter: upload.resume_thread())
#button.clicked.connect(lambda checked, idx=self.counter: upload.resume_thread())
print(self.counter)
# 增加计数器
......@@ -213,7 +231,11 @@ class OrderDetail(QMainWindow):
# 更新进度条
def changeProcessbar(self, value):
self.progress_bars[value[0]].setValue(value[1])
if value[1] == 100:
data = self.progress_widgets[value[0]]
data["widget"].deleteLater()
else:
self.progress_bars[value[0]].setValue(value[1])
# 从本地 upload_tag文件夹检查是否有未完成的任务,有就加载
def check_if_has_unfinished(self):
......@@ -485,7 +507,7 @@ class EqipInfoWindow(QMainWindow):
self.table_view.verticalHeader().setVisible(False)
self.table_view.setSelectionBehavior(QTableView.SelectRows)
self.table_view.setEditTriggers(QTableView.NoEditTriggers)
self.table_view.setColumnHidden(0,True)
self.table_view.setColumnHidden(0, True)
# 为操作列添加按钮
for row in range(len(self.devices)):
......@@ -608,32 +630,39 @@ class EqipInfoWindow(QMainWindow):
headers = {'token': token,
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
response = requests.post(order_detail_url, headers=headers, data=datas)
data1 = response.json()
all_orders = []
for j in data1["obj"]["allChilds"]:
print(response.text == "")
if response.text != "":
data1 = response.json()
all_orders = []
print(len(data1["obj"]["allChilds"]))
for j in data1["obj"]["allChilds"]:
if j["expect_finishtime"] is not None:
expect_date = self.nanoseconds_to_date(j["expect_finishtime"])
else:
expect_date = ""
if j["actual_finishtime"] is not None:
actual_time = self.nanoseconds_to_date(j["actual_finishtime"])
else:
actual_time = ""
order_id = j["id"]
station_true_name = j["station_ture_name"]
if j["userName"] is None:
j["userName"] = ""
if j["trueName"] is None:
j["trueName"] = ""
full_name = j["userName"] + j["trueName"]
order_status = self.order_status_code[j["order_status"]]
all_orders.append([order_id, station_true_name, full_name, order_status, expect_date, actual_time])
self.detail_page = OrderDetail(all_orders)
self.detail_page.destroyed.connect(self.handle_close)
self.detail_page.show()
else:
QMessageBox.information(self, "提示", "该项没有其他子订单")
if j["expect_finishtime"] is not None:
expect_date = self.nanoseconds_to_date(j["expect_finishtime"])
else:
expect_date = ""
if j["actual_finishtime"] is not None:
actual_time = self.nanoseconds_to_date(j["actual_finishtime"])
else:
actual_time = ""
order_id = j["id"]
station_true_name = j["station_ture_name"]
if j["userName"] is None:
j["userName"] = ""
if j["trueName"] is None:
j["trueName"] = ""
full_name = j["userName"] + j["trueName"]
order_status = self.order_status_code[j["order_status"]]
all_orders.append([order_id, station_true_name, full_name, order_status, expect_date, actual_time])
self.detail_page = OrderDetail(all_orders)
self.detail_page.destroyed.connect(self.handle_close)
self.detail_page.show()
else:
self.detail_page.raise_()
self.detail_page.activateWindow()
......@@ -683,6 +712,7 @@ class LoginWindow(QMainWindow):
myobj = {'username': account, 'password': password}
response = requests.post(login_url, data=myobj)
print(response.text)
data = response.json()
if data['resMsg'] == "登录成功":
print("access success")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment