diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
index ea0f197..b6295f4 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
@@ -32,8 +32,10 @@
+
+
@@ -41,8 +43,10 @@
+
+
@@ -64,6 +68,8 @@
+
+
@@ -142,7 +148,7 @@
stdafx.h
$(IntDir)$(TargetName).pch
/utf-8 %(AdditionalOptions)
- ..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;%(AdditionalIncludeDirectories)
+ ..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget;..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget;%(AdditionalIncludeDirectories)
Console
@@ -170,7 +176,7 @@
stdafx.h
$(IntDir)$(TargetName).pch
/utf-8 %(AdditionalOptions)
- ..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;%(AdditionalIncludeDirectories)
+ ..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget;..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget;%(AdditionalIncludeDirectories)
Windows
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
index 0e47bb8..2dc1f1c 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
@@ -95,6 +95,12 @@
{8590121c-3735-435c-bc37-248e931917d8}
+
+ {5951fafd-9da2-476a-8ef9-bd6825240e55}
+
+
+ {4f98736e-47b6-4cf8-b9e8-d9f18032e5d5}
+
@@ -154,6 +160,12 @@
窗口\内容窗口\数据管理\车商方案表
+
+ 窗口\内容窗口\数据管理\新送返修监控
+
+
+ 窗口\内容窗口\数据管理\车商业绩表
+
@@ -173,6 +185,12 @@
窗口\内容窗口\数据管理\车商方案表
+
+ 窗口\内容窗口\数据管理\新送返修监控
+
+
+ 窗口\内容窗口\数据管理\车商业绩表
+
@@ -187,6 +205,12 @@
窗口\内容窗口\数据管理\车商方案表
+
+ 窗口\内容窗口\数据管理\新送返修监控
+
+
+ 窗口\内容窗口\数据管理\车商业绩表
+
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp
new file mode 100644
index 0000000..f0a3635
--- /dev/null
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'QCarDealerAchievementWidget.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+#include "../../../../../../../source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.h"
+#include
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'QCarDealerAchievementWidget.h' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.13.1. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_QCarDealerAchievementWidget_t {
+ QByteArrayData data[1];
+ char stringdata0[28];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_QCarDealerAchievementWidget_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_QCarDealerAchievementWidget_t qt_meta_stringdata_QCarDealerAchievementWidget = {
+ {
+QT_MOC_LITERAL(0, 0, 27) // "QCarDealerAchievementWidget"
+
+ },
+ "QCarDealerAchievementWidget"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_QCarDealerAchievementWidget[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ 0 // eod
+};
+
+void QCarDealerAchievementWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ Q_UNUSED(_o);
+ Q_UNUSED(_id);
+ Q_UNUSED(_c);
+ Q_UNUSED(_a);
+}
+
+QT_INIT_METAOBJECT const QMetaObject QCarDealerAchievementWidget::staticMetaObject = { {
+ &QWidget::staticMetaObject,
+ qt_meta_stringdata_QCarDealerAchievementWidget.data,
+ qt_meta_data_QCarDealerAchievementWidget,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *QCarDealerAchievementWidget::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *QCarDealerAchievementWidget::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_QCarDealerAchievementWidget.stringdata0))
+ return static_cast(this);
+ return QWidget::qt_metacast(_clname);
+}
+
+int QCarDealerAchievementWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QWidget::qt_metacall(_c, _id, _a);
+ return _id;
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/ui_QCarDealerAchievementWidget.h b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/ui_QCarDealerAchievementWidget.h
new file mode 100644
index 0000000..0f62f92
--- /dev/null
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/ui_QCarDealerAchievementWidget.h
@@ -0,0 +1,46 @@
+/********************************************************************************
+** Form generated from reading UI file 'QCarDealerAchievementWidget.ui'
+**
+** Created by: Qt User Interface Compiler version 5.13.1
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_QCARDEALERACHIEVEMENTWIDGET_H
+#define UI_QCARDEALERACHIEVEMENTWIDGET_H
+
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_QCarDealerAchievementWidget
+{
+public:
+
+ void setupUi(QWidget *QCarDealerAchievementWidget)
+ {
+ if (QCarDealerAchievementWidget->objectName().isEmpty())
+ QCarDealerAchievementWidget->setObjectName(QString::fromUtf8("QCarDealerAchievementWidget"));
+ QCarDealerAchievementWidget->resize(400, 300);
+
+ retranslateUi(QCarDealerAchievementWidget);
+
+ QMetaObject::connectSlotsByName(QCarDealerAchievementWidget);
+ } // setupUi
+
+ void retranslateUi(QWidget *QCarDealerAchievementWidget)
+ {
+ QCarDealerAchievementWidget->setWindowTitle(QCoreApplication::translate("QCarDealerAchievementWidget", "QCarDealerAchievementWidget", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class QCarDealerAchievementWidget: public Ui_QCarDealerAchievementWidget {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_QCARDEALERACHIEVEMENTWIDGET_H
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/ui_QCarDealerSchemaWidget.h b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/ui_QCarDealerSchemaWidget.h
index 1ff1811..5fb0e84 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/ui_QCarDealerSchemaWidget.h
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/ui_QCarDealerSchemaWidget.h
@@ -23,7 +23,7 @@ public:
{
if (QCarDealerSchemaWidget->objectName().isEmpty())
QCarDealerSchemaWidget->setObjectName(QString::fromUtf8("QCarDealerSchemaWidget"));
- QCarDealerSchemaWidget->resize(400, 300);
+ QCarDealerSchemaWidget->resize(725, 508);
retranslateUi(QCarDealerSchemaWidget);
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/moc_QRepairOrderWidget.cpp b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/moc_QRepairOrderWidget.cpp
new file mode 100644
index 0000000..77b6390
--- /dev/null
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/moc_QRepairOrderWidget.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'QRepairOrderWidget.h'
+**
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+#include "../../../../../../../source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h"
+#include
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'QRepairOrderWidget.h' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 67
+#error "This file was generated using the moc from 5.13.1. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_QRepairOrderWidget_t {
+ QByteArrayData data[1];
+ char stringdata0[19];
+};
+#define QT_MOC_LITERAL(idx, ofs, len) \
+ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
+ qptrdiff(offsetof(qt_meta_stringdata_QRepairOrderWidget_t, stringdata0) + ofs \
+ - idx * sizeof(QByteArrayData)) \
+ )
+static const qt_meta_stringdata_QRepairOrderWidget_t qt_meta_stringdata_QRepairOrderWidget = {
+ {
+QT_MOC_LITERAL(0, 0, 18) // "QRepairOrderWidget"
+
+ },
+ "QRepairOrderWidget"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_QRepairOrderWidget[] = {
+
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ 0 // eod
+};
+
+void QRepairOrderWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ Q_UNUSED(_o);
+ Q_UNUSED(_id);
+ Q_UNUSED(_c);
+ Q_UNUSED(_a);
+}
+
+QT_INIT_METAOBJECT const QMetaObject QRepairOrderWidget::staticMetaObject = { {
+ &QWidget::staticMetaObject,
+ qt_meta_stringdata_QRepairOrderWidget.data,
+ qt_meta_data_QRepairOrderWidget,
+ qt_static_metacall,
+ nullptr,
+ nullptr
+} };
+
+
+const QMetaObject *QRepairOrderWidget::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *QRepairOrderWidget::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_QRepairOrderWidget.stringdata0))
+ return static_cast(this);
+ return QWidget::qt_metacast(_clname);
+}
+
+int QRepairOrderWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QWidget::qt_metacall(_c, _id, _a);
+ return _id;
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/ui_QRepairOrderWidget.h b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/ui_QRepairOrderWidget.h
new file mode 100644
index 0000000..a13cc17
--- /dev/null
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/ui_QRepairOrderWidget.h
@@ -0,0 +1,46 @@
+/********************************************************************************
+** Form generated from reading UI file 'QRepairOrderWidget.ui'
+**
+** Created by: Qt User Interface Compiler version 5.13.1
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_QREPAIRORDERWIDGET_H
+#define UI_QREPAIRORDERWIDGET_H
+
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_QRepairOrderWidget
+{
+public:
+
+ void setupUi(QWidget *QRepairOrderWidget)
+ {
+ if (QRepairOrderWidget->objectName().isEmpty())
+ QRepairOrderWidget->setObjectName(QString::fromUtf8("QRepairOrderWidget"));
+ QRepairOrderWidget->resize(400, 300);
+
+ retranslateUi(QRepairOrderWidget);
+
+ QMetaObject::connectSlotsByName(QRepairOrderWidget);
+ } // setupUi
+
+ void retranslateUi(QWidget *QRepairOrderWidget)
+ {
+ QRepairOrderWidget->setWindowTitle(QCoreApplication::translate("QRepairOrderWidget", "QRepairOrderWidget", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class QRepairOrderWidget: public Ui_QRepairOrderWidget {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_QREPAIRORDERWIDGET_H
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.cpp b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.cpp
new file mode 100644
index 0000000..30123f0
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.cpp
@@ -0,0 +1,11 @@
+#include "QCarDealerAchievementWidget.h"
+
+QCarDealerAchievementWidget::QCarDealerAchievementWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ ui.setupUi(this);
+}
+
+QCarDealerAchievementWidget::~QCarDealerAchievementWidget()
+{
+}
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.h b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.h
new file mode 100644
index 0000000..1b9fd66
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include
+#include "ui_QCarDealerAchievementWidget.h"
+
+class QCarDealerAchievementWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ QCarDealerAchievementWidget(QWidget *parent = Q_NULLPTR);
+ ~QCarDealerAchievementWidget();
+
+private:
+ Ui::QCarDealerAchievementWidget ui;
+};
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.ui b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.ui
new file mode 100644
index 0000000..03c9b16
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.ui
@@ -0,0 +1,23 @@
+
+ QCarDealerAchievementWidget
+
+
+ QCarDealerAchievementWidget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ QCarDealerAchievementWidget
+
+
+
+
+
+
+
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui
index baad934..d2ec234 100644
--- a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui
@@ -1,23 +1,20 @@
-
+
+
QCarDealerSchemaWidget
-
-
- QCarDealerSchemaWidget
-
-
+
+
- 0
- 0
- 400
- 300
+ 0
+ 0
+ 725
+ 508
-
+
QCarDealerSchemaWidget
-
-
+
-
+
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp
new file mode 100644
index 0000000..e6ab942
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp
@@ -0,0 +1,11 @@
+#include "QRepairOrderWidget.h"
+
+QRepairOrderWidget::QRepairOrderWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ ui.setupUi(this);
+}
+
+QRepairOrderWidget::~QRepairOrderWidget()
+{
+}
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h
new file mode 100644
index 0000000..c719a57
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include
+#include "ui_QRepairOrderWidget.h"
+
+class QRepairOrderWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ QRepairOrderWidget(QWidget *parent = Q_NULLPTR);
+ ~QRepairOrderWidget();
+
+private:
+ Ui::QRepairOrderWidget ui;
+};
diff --git a/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui
new file mode 100644
index 0000000..c43c41e
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui
@@ -0,0 +1,23 @@
+
+ QRepairOrderWidget
+
+
+ QRepairOrderWidget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ QRepairOrderWidget
+
+
+
+
+
+
+