55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
|
|
import json
|
||
|
|
from PyQt6 import *
|
||
|
|
from PyQt6.QtCore import *
|
||
|
|
from PyQt6.QtGui import *
|
||
|
|
from PyQt6.QtWidgets import *
|
||
|
|
from ui.Ui_createProjectDlg import Ui_createProjectDlg
|
||
|
|
from projectModel.projectManager import projectManager
|
||
|
|
from common import common
|
||
|
|
|
||
|
|
class CreateProjectDlg(QDialog):
|
||
|
|
createFinished = pyqtSignal()
|
||
|
|
editFinished = pyqtSignal(str)
|
||
|
|
def __init__(self, parent=None):
|
||
|
|
super().__init__(parent)
|
||
|
|
self.ui = Ui_createProjectDlg()
|
||
|
|
self.ui.setupUi(self)
|
||
|
|
self.proId = ""
|
||
|
|
self.ui.pbSave.clicked.connect(self.handleAccept)
|
||
|
|
self.ui.pbCancel.clicked.connect(self.reject)
|
||
|
|
|
||
|
|
def showCreateDlg(self):
|
||
|
|
self.ui.leName.setText("")
|
||
|
|
self.ui.leRemark.setText("")
|
||
|
|
self.setWindowTitle("创建工程")
|
||
|
|
self.exec()
|
||
|
|
|
||
|
|
def showEditDlg(self, proId):
|
||
|
|
data = projectManager.getInfo(proId)
|
||
|
|
self.ui.leName.setText(data["name"])
|
||
|
|
self.ui.leRemark.setText(data["remark"])
|
||
|
|
self.setWindowTitle("编辑工程")
|
||
|
|
self.proId = proId
|
||
|
|
self.exec()
|
||
|
|
|
||
|
|
def handleAccept(self):
|
||
|
|
name = self.ui.leName.text()
|
||
|
|
remark = self.ui.leRemark.text()
|
||
|
|
if name == "":
|
||
|
|
QMessageBox.warning(self, "警告", "工程名称不能为空")
|
||
|
|
return
|
||
|
|
if projectManager.isProjectExist(name):
|
||
|
|
QMessageBox.warning(self, "警告", "工程名称已经存在")
|
||
|
|
return
|
||
|
|
if self.windowTitle() == "创建工程":
|
||
|
|
projectManager.create(name, remark)
|
||
|
|
self.createFinished.emit()
|
||
|
|
self.accept()
|
||
|
|
elif self.windowTitle() == "编辑工程":
|
||
|
|
param = {
|
||
|
|
"name": name,
|
||
|
|
"remark": remark
|
||
|
|
}
|
||
|
|
projectManager.update(self.proId, param)
|
||
|
|
self.editFinished.emit(name)
|
||
|
|
self.accept()
|