diff --git a/工具v4/Ui_tool_panel.py b/工具v4/Ui_tool_panel.py
index 632a9fd0..3860064c 100644
--- a/工具v4/Ui_tool_panel.py
+++ b/工具v4/Ui_tool_panel.py
@@ -142,6 +142,9 @@ class Ui_MainWindow(object):
self.tab_xgmb = QWidget()
self.tab_xgmb.setObjectName(u"tab_xgmb")
self.tabWidget_mubiaojichu.addTab(self.tab_xgmb, "")
+ self.tab_scgx = QWidget()
+ self.tab_scgx.setObjectName(u"tab_scgx")
+ self.tabWidget_mubiaojichu.addTab(self.tab_scgx, "")
self.tabWidget_main.addTab(self.tab_mubiaojichu, "")
self.tab_syjl = QWidget()
self.tab_syjl.setObjectName(u"tab_syjl")
@@ -196,13 +199,13 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
- self.tabWidget_main.setCurrentIndex(0)
- self.tabWidget_luru.setCurrentIndex(0)
+ self.tabWidget_main.setCurrentIndex(5)
+ self.tabWidget_luru.setCurrentIndex(2)
self.tabWidget_weihu.setCurrentIndex(3)
self.tabWidget_shiyong.setCurrentIndex(1)
self.tabWidget_beikezu.setCurrentIndex(2)
self.tabWidget_latex.setCurrentIndex(1)
- self.tabWidget_mubiaojichu.setCurrentIndex(2)
+ self.tabWidget_mubiaojichu.setCurrentIndex(3)
self.tabWidget_syjl.setCurrentIndex(5)
@@ -233,9 +236,10 @@ class Ui_MainWindow(object):
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_wbzh), QCoreApplication.translate("MainWindow", u"\u6587\u672c\u8f6c\u6362\u5904\u7406", None))
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_hist), QCoreApplication.translate("MainWindow", u"\u76f4\u65b9\u56fe\u4ee3\u7801\u751f\u6210", None))
self.tabWidget_main.setTabText(self.tabWidget_main.indexOf(self.tab_latex), QCoreApplication.translate("MainWindow", u"LaTeX\u4ee3\u7801\u76f8\u5173", None))
- self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_tjjc), QCoreApplication.translate("MainWindow", u"\u65b0\u589e\u57fa\u7840\u77e5\u8bc6\u68b3\u7406", None))
- self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_bjjc), QCoreApplication.translate("MainWindow", u"\u57fa\u7840\u77e5\u8bc6\u7f16\u8f91", None))
- self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_xgmb), QCoreApplication.translate("MainWindow", u"\u4fee\u6539\u76ee\u6807\u6587\u672c", None))
+ self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_tjjc), QCoreApplication.translate("MainWindow", u"\u65b0\u589e\u57fa\u7840", None))
+ self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_bjjc), QCoreApplication.translate("MainWindow", u"\u57fa\u7840\u7f16\u8f91", None))
+ self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_xgmb), QCoreApplication.translate("MainWindow", u"\u4fee\u6539\u76ee\u6807", None))
+ self.tabWidget_mubiaojichu.setTabText(self.tabWidget_mubiaojichu.indexOf(self.tab_scgx), QCoreApplication.translate("MainWindow", u"\u5220\u9664\u76ee\u6807\u5173\u7cfb", None))
self.tabWidget_main.setTabText(self.tabWidget_main.indexOf(self.tab_mubiaojichu), QCoreApplication.translate("MainWindow", u"\u76ee\u6807\u4e0e\u57fa\u7840\u77e5\u8bc6", None))
self.tabWidget_syjl.setTabText(self.tabWidget_syjl.indexOf(self.tab_xxdr), QCoreApplication.translate("MainWindow", u"\u5c0f\u95f2\u5bfc\u5165", None))
self.tabWidget_syjl.setTabText(self.tabWidget_syjl.indexOf(self.tab_sddr), QCoreApplication.translate("MainWindow", u"\u624b\u52a8\u5bfc\u5165", None))
diff --git a/工具v4/Ui_删除课时目标关系.py b/工具v4/Ui_删除课时目标关系.py
new file mode 100644
index 00000000..9c0758c1
--- /dev/null
+++ b/工具v4/Ui_删除课时目标关系.py
@@ -0,0 +1,112 @@
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file '删除课时目标关系.ui'
+##
+## Created by: Qt User Interface Compiler version 6.6.2
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
+ QMetaObject, QObject, QPoint, QRect,
+ QSize, QTime, QUrl, Qt)
+from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
+ QFont, QFontDatabase, QGradient, QIcon,
+ QImage, QKeySequence, QLinearGradient, QPainter,
+ QPalette, QPixmap, QRadialGradient, QTransform)
+from PySide6.QtWidgets import (QApplication, QHeaderView, QLabel, QLineEdit,
+ QPlainTextEdit, QPushButton, QSizePolicy, QTableWidget,
+ QTableWidgetItem, QWidget)
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ if not Form.objectName():
+ Form.setObjectName(u"Form")
+ Form.resize(760, 490)
+ self.label = QLabel(Form)
+ self.label.setObjectName(u"label")
+ self.label.setGeometry(QRect(10, 20, 54, 16))
+ self.lineEdit_objid = QLineEdit(Form)
+ self.lineEdit_objid.setObjectName(u"lineEdit_objid")
+ self.lineEdit_objid.setGeometry(QRect(52, 20, 141, 20))
+ self.plainTextEdit_objs = QPlainTextEdit(Form)
+ self.plainTextEdit_objs.setObjectName(u"plainTextEdit_objs")
+ self.plainTextEdit_objs.setGeometry(QRect(10, 50, 371, 411))
+ self.pushButton_getobj = QPushButton(Form)
+ self.pushButton_getobj.setObjectName(u"pushButton_getobj")
+ self.pushButton_getobj.setGeometry(QRect(200, 20, 181, 24))
+ self.label_2 = QLabel(Form)
+ self.label_2.setObjectName(u"label_2")
+ self.label_2.setGeometry(QRect(390, 20, 54, 16))
+ self.tableWidget_prec = QTableWidget(Form)
+ if (self.tableWidget_prec.columnCount() < 3):
+ self.tableWidget_prec.setColumnCount(3)
+ __qtablewidgetitem = QTableWidgetItem()
+ self.tableWidget_prec.setHorizontalHeaderItem(0, __qtablewidgetitem)
+ __qtablewidgetitem1 = QTableWidgetItem()
+ self.tableWidget_prec.setHorizontalHeaderItem(1, __qtablewidgetitem1)
+ __qtablewidgetitem2 = QTableWidgetItem()
+ self.tableWidget_prec.setHorizontalHeaderItem(2, __qtablewidgetitem2)
+ self.tableWidget_prec.setObjectName(u"tableWidget_prec")
+ self.tableWidget_prec.setGeometry(QRect(390, 40, 351, 171))
+ self.label_3 = QLabel(Form)
+ self.label_3.setObjectName(u"label_3")
+ self.label_3.setGeometry(QRect(390, 220, 54, 16))
+ self.tableWidget_post = QTableWidget(Form)
+ if (self.tableWidget_post.columnCount() < 3):
+ self.tableWidget_post.setColumnCount(3)
+ __qtablewidgetitem3 = QTableWidgetItem()
+ self.tableWidget_post.setHorizontalHeaderItem(0, __qtablewidgetitem3)
+ __qtablewidgetitem4 = QTableWidgetItem()
+ self.tableWidget_post.setHorizontalHeaderItem(1, __qtablewidgetitem4)
+ __qtablewidgetitem5 = QTableWidgetItem()
+ self.tableWidget_post.setHorizontalHeaderItem(2, __qtablewidgetitem5)
+ self.tableWidget_post.setObjectName(u"tableWidget_post")
+ self.tableWidget_post.setGeometry(QRect(390, 240, 351, 171))
+ self.lineEdit_todelete = QLineEdit(Form)
+ self.lineEdit_todelete.setObjectName(u"lineEdit_todelete")
+ self.lineEdit_todelete.setGeometry(QRect(470, 430, 41, 20))
+ self.label_4 = QLabel(Form)
+ self.label_4.setObjectName(u"label_4")
+ self.label_4.setGeometry(QRect(390, 430, 81, 16))
+ self.pushButton_del = QPushButton(Form)
+ self.pushButton_del.setObjectName(u"pushButton_del")
+ self.pushButton_del.setGeometry(QRect(520, 430, 101, 24))
+ self.pushButton_commit = QPushButton(Form)
+ self.pushButton_commit.setObjectName(u"pushButton_commit")
+ self.pushButton_commit.setGeometry(QRect(630, 430, 111, 24))
+ font = QFont()
+ font.setBold(True)
+ self.pushButton_commit.setFont(font)
+ self.pushButton_commit.setStyleSheet(u"background-color: rgb(255, 255, 127);")
+
+ self.retranslateUi(Form)
+
+ QMetaObject.connectSlotsByName(Form)
+ # setupUi
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(QCoreApplication.translate("Form", u"\u8bfe\u65f6\u76ee\u6807\u5173\u7cfb\u7ef4\u62a4", None))
+ self.label.setText(QCoreApplication.translate("Form", u"\u76ee\u6807ID", None))
+ self.lineEdit_objid.setPlaceholderText(QCoreApplication.translate("Form", u"K*******B \u6216K*******X", None))
+ self.pushButton_getobj.setText(QCoreApplication.translate("Form", u"\u83b7\u53d6\u76ee\u6807", None))
+ self.label_2.setText(QCoreApplication.translate("Form", u"\u524d\u5e8f\u76ee\u6807", None))
+ ___qtablewidgetitem = self.tableWidget_prec.horizontalHeaderItem(0)
+ ___qtablewidgetitem.setText(QCoreApplication.translate("Form", u"\u7f16\u53f7", None));
+ ___qtablewidgetitem1 = self.tableWidget_prec.horizontalHeaderItem(1)
+ ___qtablewidgetitem1.setText(QCoreApplication.translate("Form", u"ID", None));
+ ___qtablewidgetitem2 = self.tableWidget_prec.horizontalHeaderItem(2)
+ ___qtablewidgetitem2.setText(QCoreApplication.translate("Form", u"\u5185\u5bb9", None));
+ self.label_3.setText(QCoreApplication.translate("Form", u"\u540e\u5e8f\u76ee\u6807", None))
+ ___qtablewidgetitem3 = self.tableWidget_post.horizontalHeaderItem(0)
+ ___qtablewidgetitem3.setText(QCoreApplication.translate("Form", u"\u7f16\u53f7", None));
+ ___qtablewidgetitem4 = self.tableWidget_post.horizontalHeaderItem(1)
+ ___qtablewidgetitem4.setText(QCoreApplication.translate("Form", u"ID", None));
+ ___qtablewidgetitem5 = self.tableWidget_post.horizontalHeaderItem(2)
+ ___qtablewidgetitem5.setText(QCoreApplication.translate("Form", u"\u5185\u5bb9", None));
+ self.label_4.setText(QCoreApplication.translate("Form", u"\u6b32\u5220\u9664\u7684\u7f16\u53f7", None))
+ self.pushButton_del.setText(QCoreApplication.translate("Form", u"\u9884\u5220\u9664", None))
+ self.pushButton_commit.setText(QCoreApplication.translate("Form", u"\u63d0\u4ea4(\u4e0d\u53ef\u9006)", None))
+ # retranslateUi
+
diff --git a/工具v4/tool_panel.py b/工具v4/tool_panel.py
index 1eba3b4e..6555b790 100644
--- a/工具v4/tool_panel.py
+++ b/工具v4/tool_panel.py
@@ -27,6 +27,7 @@ from 修改metadata import MyWindow_tjzd
from 基础知识编辑 import MyWindow_bjjc
from 修改目标内容 import MyWindow_xgmb
from 删除使用记录 import MyWindow_scjl
+from 删除课时目标关系 import MyWindow_scgx
from database_tools_2 import *
class MyWindow(QMainWindow,Ui_MainWindow):
@@ -145,7 +146,11 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.layout_scjl = QVBoxLayout(self.tab_scjl)
self.scjl = MyWindow_scjl(self.database)
- self.layout_scjl.addWidget(self.scjl) #以上三行为初始化"修改目标文本"tab
+ self.layout_scjl.addWidget(self.scjl) #以上三行为初始化"删除使用记录"tab
+
+ self.layout_scgx = QVBoxLayout(self.tab_scgx)
+ self.scgx = MyWindow_scgx(self.database)
+ self.layout_scgx.addWidget(self.scgx) #以上三行为初始化"删除课时目标关系"tab
@@ -166,7 +171,8 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.bjjc.setdbname,
self.wbzh.setdbname,
self.xgmb.setdbname,
- self.scjl.setdbname
+ self.scjl.setdbname,
+ self.scgx.setdbname
]: #在列表中的tab里传送数据库名的连接
self.sendDBname.connect(func)
def sendValue(self):
diff --git a/工具v4/tool_panel.ui b/工具v4/tool_panel.ui
index 80950687..c90a433f 100644
--- a/工具v4/tool_panel.ui
+++ b/工具v4/tool_panel.ui
@@ -27,7 +27,7 @@
QTabWidget::Triangular
- 0
+ 5
@@ -49,7 +49,7 @@
QTabWidget::Triangular
- 0
+ 2
@@ -260,21 +260,26 @@
QTabWidget::Triangular
- 2
+ 3
- 新增基础知识梳理
+ 新增基础
- 基础知识编辑
+ 基础编辑
- 修改目标文本
+ 修改目标
+
+
+
+
+ 删除目标关系
diff --git a/工具v4/删除课时目标关系.py b/工具v4/删除课时目标关系.py
new file mode 100644
index 00000000..16a1d2f8
--- /dev/null
+++ b/工具v4/删除课时目标关系.py
@@ -0,0 +1,120 @@
+from PySide6.QtWidgets import QWidget, QApplication, QFileDialog, QTableWidgetItem
+from Ui_删除课时目标关系 import Ui_Form
+from database_tools_2 import *
+
+class MyWindow_scgx(QWidget,Ui_Form):
+ def __init__(self,database_name):
+ super().__init__()
+ self.database_name = database_name
+ self.current_database_name = database_name
+ self.setupUi(self)
+ self.bind()
+ def setdbname(self,string):
+ self.database_name = string
+ self.pushButton_del.setDisabled(True)
+ self.pushButton_commit.setDisabled(True)
+ try:
+ self.db.close()
+ except:
+ pass
+ self.db = connect(hostname=db_host, port=db_port, username= db_user, pwd= db_pwd, db=self.database_name)
+ # print(self.database_name)
+ def bind(self):
+ self.tableWidget_prec.setColumnWidth(0,20)
+ self.tableWidget_prec.setColumnWidth(1,100)
+ self.tableWidget_prec.setColumnWidth(2,300)
+ self.tableWidget_post.setColumnWidth(0,20)
+ self.tableWidget_post.setColumnWidth(1,100)
+ self.tableWidget_post.setColumnWidth(2,300)
+ self.pushButton_del.setDisabled(True)
+ self.pushButton_commit.setDisabled(True)
+ self.pushButton_getobj.clicked.connect(self.getobj)
+ self.pushButton_del.clicked.connect(self.delete)
+ self.pushButton_commit.clicked.connect(self.commit)
+ self.lineEdit_todelete.textChanged.connect(self.enable_del)
+ self.db = connect(hostname=db_host, port=db_port, username= db_user, pwd= db_pwd, db=self.database_name)
+ self.mycursor = self.db.cursor()
+ self.mycursor.execute("SELECT objid,obj_content FROM lessonobj;")
+ ret_list = self.mycursor.fetchall()
+ self.allobjs = ""
+ for ret in ret_list:
+ self.allobjs += f"{ret[0]}\t{ret[1]}\n"
+ self.plainTextEdit_objs.setPlainText(self.allobjs)
+ def getobj(self):
+ objid = self.lineEdit_objid.text().strip()
+ self.mycursor.execute("SELECT objid,obj_content FROM lessonobj WHERE objid = %s;",(objid,))
+ ret_list = self.mycursor.fetchall()
+ if len(ret_list) == 0 or len(ret_list) >= 2:
+ self.plainTextEdit_objs.setPlainText("目标编号有误, 请重试!!!\n\n"+self.allobjs)
+ else:
+ self.objid,self.objcontent = ret_list[0]
+ self.plainTextEdit_objs.setPlainText(f"{self.objid}\t{self.objcontent}")
+ count = 0
+ self.corresp_list = []
+ self.tableWidget_prec.clearContents()
+ self.tableWidget_prec.setRowCount(0)
+ self.tableWidget_post.clearContents()
+ self.tableWidget_post.setRowCount(0)
+ self.mycursor.execute("SELECT inherit_from FROM objinherit WHERE objid = %s;",(self.objid,))
+ ret_list = self.mycursor.fetchall()
+ for ret in ret_list:
+ # print(ret)
+ count += 1
+ self.mycursor.execute("SELECT obj_content FROM lessonobj WHERE objid = %s;",(ret[0],))
+ prec_content = self.mycursor.fetchall()[0][0]
+ self.tableWidget_prec.insertRow(count-1)
+ self.tableWidget_prec.setItem(count-1,0,QTableWidgetItem(str(count)))
+ self.tableWidget_prec.setItem(count-1,1,QTableWidgetItem(ret[0]))
+ self.tableWidget_prec.setItem(count-1,2,QTableWidgetItem(prec_content))
+ self.corresp_list.append((count,self.objid,ret[0]))
+ prec_count = count
+ self.mycursor.execute("SELECT objid FROM objinherit WHERE inherit_from = %s;",(self.objid,))
+ ret_list = self.mycursor.fetchall()
+ count = 0
+ for ret in ret_list:
+ # print(ret)
+ count += 1
+ self.mycursor.execute("SELECT obj_content FROM lessonobj WHERE objid = %s;",(ret[0],))
+ post_content = self.mycursor.fetchall()[0][0]
+ self.tableWidget_post.insertRow(count-1)
+ self.tableWidget_post.setItem(count-1,0,QTableWidgetItem(str(count+prec_count)))
+ self.tableWidget_post.setItem(count-1,1,QTableWidgetItem(ret[0]))
+ self.tableWidget_post.setItem(count-1,2,QTableWidgetItem(post_content))
+ self.corresp_list.append((count+prec_count,ret[0],self.objid))
+ def enable_del(self):
+ self.pushButton_del.setEnabled(True)
+ def delete(self):
+ self.tableWidget_prec.clearContents()
+ self.tableWidget_prec.setRowCount(0)
+ self.tableWidget_post.clearContents()
+ self.tableWidget_post.setRowCount(0)
+ index = int(self.lineEdit_todelete.text().strip())
+ for item in self.corresp_list:
+ if item[0] == index:
+ objid = item[1]
+ inherit_from = item[2]
+ break
+ self.mycursor = self.db.cursor()
+ self.mycursor.execute("DELETE FROM objinherit WHERE objid = %s AND inherit_from = %s;",(objid,inherit_from))
+ sql = "INSERT INTO logs (DATE,TIME,username,action,db_content) VALUE (%s,%s,%s,%s,%s);"
+ val = (GetDate(),GetTime(),get_git_username(),f"删除目标关联",f"{objid} <- {inherit_from}")
+ self.mycursor.execute(sql,val)
+ self.pushButton_commit.setEnabled(True)
+ def commit(self):
+ self.db.commit()
+ self.pushButton_del.setDisabled(True)
+ self.pushButton_commit.setDisabled(True)
+
+
+
+
+
+
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ windows = MyWindow_scgx("tikutest")
+ windows.show()
+ app.exec()
+
diff --git a/工具v4/删除课时目标关系.ui b/工具v4/删除课时目标关系.ui
new file mode 100644
index 00000000..e96c552c
--- /dev/null
+++ b/工具v4/删除课时目标关系.ui
@@ -0,0 +1,201 @@
+
+
+ Form
+
+
+
+ 0
+ 0
+ 760
+ 490
+
+
+
+ 课时目标关系维护
+
+
+
+
+ 10
+ 20
+ 54
+ 16
+
+
+
+ 目标ID
+
+
+
+
+
+ 52
+ 20
+ 141
+ 20
+
+
+
+ K*******B 或K*******X
+
+
+
+
+
+ 10
+ 50
+ 371
+ 411
+
+
+
+
+
+
+ 200
+ 20
+ 181
+ 24
+
+
+
+ 获取目标
+
+
+
+
+
+ 390
+ 20
+ 54
+ 16
+
+
+
+ 前序目标
+
+
+
+
+
+ 390
+ 40
+ 351
+ 171
+
+
+
+
+ 编号
+
+
+
+
+ ID
+
+
+
+
+ 内容
+
+
+
+
+
+
+ 390
+ 220
+ 54
+ 16
+
+
+
+ 后序目标
+
+
+
+
+
+ 390
+ 240
+ 351
+ 171
+
+
+
+
+ 编号
+
+
+
+
+ ID
+
+
+
+
+ 内容
+
+
+
+
+
+
+ 470
+ 430
+ 41
+ 20
+
+
+
+
+
+
+ 390
+ 430
+ 81
+ 16
+
+
+
+ 欲删除的编号
+
+
+
+
+
+ 520
+ 430
+ 101
+ 24
+
+
+
+ 预删除
+
+
+
+
+
+ 630
+ 430
+ 111
+ 24
+
+
+
+
+ true
+
+
+
+ background-color: rgb(255, 255, 127);
+
+
+ 提交(不可逆)
+
+
+
+
+
+