├── .gitattributes ├── .gitignore ├── FileManagement.sln ├── FileManagement.ui ├── FileManagement ├── AccountInfo.h ├── Accounting.cpp ├── Accounting.h ├── Accounting.ui ├── AesHelper.h ├── BaseWindow.cpp ├── BaseWindow.h ├── ButtonDelegate.cpp ├── ButtonDelegate.h ├── Database.cpp ├── Database.h ├── DownlaodManage.ui ├── DownloadFile.cpp ├── DownloadFile.h ├── DownloadManage.cpp ├── DownloadManage.h ├── DownloadThread.cpp ├── DownloadThread.h ├── DownloadWindow.cpp ├── DownloadWindow.h ├── DownloadWindow.ui ├── Echarts.cpp ├── Echarts.h ├── Echarts.ui ├── FileInfo.h ├── FileManagement.cpp ├── FileManagement.h ├── FileManagement.pri ├── FileManagement.pro ├── FileManagement.qrc ├── FileManagement.rc ├── FileManagement.rcc ├── FileManagement.ui ├── FileManagement.vcxproj ├── FileManagement.vcxproj.filters ├── GeneratedFiles │ ├── qrc_FileManagement.cpp │ ├── qrc_json.cpp │ ├── qrc_web.cpp │ ├── ui_Accounting.h │ ├── ui_DownlaodManage.h │ ├── ui_DownloadWindow.h │ ├── ui_Echarts.h │ ├── ui_FileManagement.h │ ├── ui_Login.h │ ├── ui_MoneyManage.h │ ├── ui_MyMessageBox.h │ ├── ui_Register.h │ ├── ui_ReportDetail.h │ ├── ui_ReportEdit.h │ ├── ui_ReportLook.h │ ├── ui_SetFilePath.h │ ├── ui_Sign.h │ ├── ui_SignShow.h │ ├── ui_UploadWindow.h │ └── ui_UserInformation.h ├── Income.ui ├── Login.cpp ├── Login.h ├── Login.qss ├── Login.ui ├── MoneyManage.cpp ├── MoneyManage.h ├── MoneyManage.ui ├── MyDataBase.db ├── MyMessageBox.cpp ├── MyMessageBox.h ├── MyMessageBox.qss ├── MyMessageBox.ui ├── Outcome.ui ├── Register.cpp ├── Register.h ├── Register.ui ├── Report.h ├── ReportDetail.cpp ├── ReportDetail.h ├── ReportDetail.ui ├── ReportEdit.cpp ├── ReportEdit.h ├── ReportEdit.qss ├── ReportEdit.ui ├── ReportLook.cpp ├── ReportLook.h ├── ReportLook.ui ├── Resource │ ├── FunIcon │ │ ├── Drag-Drop.png │ │ ├── download.png │ │ ├── exit.png │ │ ├── moneyManage.png │ │ ├── reportEdit.png │ │ ├── reportLook.png │ │ ├── showFile.png │ │ ├── upload.png │ │ └── userInfo.png │ ├── Logo.gif │ ├── Logo.ico │ ├── Logo.png │ ├── icon │ │ ├── blue.jpg │ │ ├── correct.png │ │ ├── deleteFile.png │ │ ├── downloadFile.png │ │ ├── error.png │ │ ├── level.png │ │ ├── lookReport.png │ │ ├── message_delete.png │ │ ├── message_tips.png │ │ ├── message_warnning.png │ │ ├── pass.png │ │ ├── pwd.png │ │ ├── pwd2.png │ │ ├── studentId.png │ │ ├── teacher.png │ │ ├── truename.png │ │ └── user.png │ ├── moneyBackground.jpg │ ├── qss │ │ ├── Login.qss │ │ ├── MyMessageBox.qss │ │ ├── MyTitle.qss │ │ ├── Register.qss │ │ ├── ReportDetail.qss │ │ ├── ReportEdit.qss │ │ ├── ReportLook.qss │ │ ├── UploadFile.qss │ │ └── mainWindow.qss │ └── title │ │ ├── background.jpg │ │ ├── blue2.png │ │ ├── close.png │ │ ├── gray.jpg │ │ ├── gray1.jpg │ │ ├── max.png │ │ ├── mi.jpg │ │ └── min.png ├── SetFilePath.cpp ├── SetFilePath.h ├── SetFilePath.ui ├── Sign.cpp ├── Sign.h ├── Sign.ui ├── SignCalender.cpp ├── SignCalender.h ├── SignShow.cpp ├── SignShow.h ├── SignShow.ui ├── TableModel.cpp ├── TableModel.h ├── Taes.cpp ├── TitleBar.cpp ├── TitleBar.h ├── UploadFile.cpp ├── UploadFile.h ├── UploadThread.cpp ├── UploadThread.h ├── UploadWindow.cpp ├── UploadWindow.h ├── UploadWindow.ui ├── UserInformation.cpp ├── UserInformation.h ├── UserInformation.ui ├── aes.h ├── bdchart.cpp ├── bdchart.h ├── jquery_data │ ├── css │ │ └── qiandao_style.css │ ├── images │ │ ├── qiandao_con.jpg │ │ ├── qiandao_con1.jpg │ │ ├── qiandao_day.png │ │ ├── qiandao_icon.png │ │ └── qiandao_sprits.png │ ├── index.html │ └── js │ │ ├── jquery-1.10.2.min.js │ │ └── qiandao_js.js ├── json.qrc ├── json │ ├── chartConfig.json │ └── chartData.json ├── main.cpp ├── mystyle.qss ├── previewpage.cpp ├── previewpage.h ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── tcpclient.cpp ├── tcpclient.h ├── web.qrc ├── web │ ├── css │ │ ├── chart.css │ │ └── qiandao_style.css │ ├── html │ │ ├── index - 副本.html │ │ └── index.html │ ├── images │ │ ├── qiandao_con.jpg │ │ ├── qiandao_day.png │ │ ├── qiandao_icon.png │ │ └── qiandao_sprits.png │ ├── index.html │ └── js │ │ ├── bdchart.js │ │ ├── echarts.js │ │ ├── echarts.min.js │ │ ├── jquery-1.10.2.min.js │ │ ├── qiandao_js.js │ │ └── qwebchannel.js ├── websocketclientwrapper.cpp ├── websocketclientwrapper.h ├── websockettransport.cpp └── websockettransport.h ├── README.md └── images ├── download.png ├── image-20190315142126297.png ├── login.png ├── lookfile.png ├── lookweek.png ├── money.png ├── register.png ├── upload.png ├── writeweek.png └── 图片1.png /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | x64/ 19 | x86/ 20 | bld/ 21 | [Bb]in/ 22 | [Oo]bj/ 23 | [Ll]og/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | project.fragment.lock.json 46 | artifacts/ 47 | 48 | *_i.c 49 | *_p.c 50 | *_i.h 51 | *.ilk 52 | *.meta 53 | *.obj 54 | *.pch 55 | *.pdb 56 | *.pgc 57 | *.pgd 58 | *.rsp 59 | *.sbr 60 | *.tlb 61 | *.tli 62 | *.tlh 63 | *.tmp 64 | *.tmp_proj 65 | *.log 66 | *.vspscc 67 | *.vssscc 68 | .builds 69 | *.pidb 70 | *.svclog 71 | *.scc 72 | 73 | # Chutzpah Test files 74 | _Chutzpah* 75 | 76 | # Visual C++ cache files 77 | ipch/ 78 | *.aps 79 | *.ncb 80 | *.opendb 81 | *.opensdf 82 | *.sdf 83 | *.cachefile 84 | *.VC.db 85 | *.VC.VC.opendb 86 | 87 | # Visual Studio profiler 88 | *.psess 89 | *.vsp 90 | *.vspx 91 | *.sap 92 | 93 | # TFS 2012 Local Workspace 94 | $tf/ 95 | 96 | # Guidance Automation Toolkit 97 | *.gpState 98 | 99 | # ReSharper is a .NET coding add-in 100 | _ReSharper*/ 101 | *.[Rr]e[Ss]harper 102 | *.DotSettings.user 103 | 104 | # JustCode is a .NET coding add-in 105 | .JustCode 106 | 107 | # TeamCity is a build add-in 108 | _TeamCity* 109 | 110 | # DotCover is a Code Coverage Tool 111 | *.dotCover 112 | 113 | # NCrunch 114 | _NCrunch_* 115 | .*crunch*.local.xml 116 | nCrunchTemp_* 117 | 118 | # MightyMoose 119 | *.mm.* 120 | AutoTest.Net/ 121 | 122 | # Web workbench (sass) 123 | .sass-cache/ 124 | 125 | # Installshield output folder 126 | [Ee]xpress/ 127 | 128 | # DocProject is a documentation generator add-in 129 | DocProject/buildhelp/ 130 | DocProject/Help/*.HxT 131 | DocProject/Help/*.HxC 132 | DocProject/Help/*.hhc 133 | DocProject/Help/*.hhk 134 | DocProject/Help/*.hhp 135 | DocProject/Help/Html2 136 | DocProject/Help/html 137 | 138 | # Click-Once directory 139 | publish/ 140 | 141 | # Publish Web Output 142 | *.[Pp]ublish.xml 143 | *.azurePubxml 144 | # TODO: Comment the next line if you want to checkin your web deploy settings 145 | # but database connection strings (with potential passwords) will be unencrypted 146 | #*.pubxml 147 | *.publishproj 148 | 149 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 150 | # checkin your Azure Web App publish settings, but sensitive information contained 151 | # in these scripts will be unencrypted 152 | PublishScripts/ 153 | 154 | # NuGet Packages 155 | *.nupkg 156 | # The packages folder can be ignored because of Package Restore 157 | **/packages/* 158 | # except build/, which is used as an MSBuild target. 159 | !**/packages/build/ 160 | # Uncomment if necessary however generally it will be regenerated when needed 161 | #!**/packages/repositories.config 162 | # NuGet v3's project.json files produces more ignoreable files 163 | *.nuget.props 164 | *.nuget.targets 165 | 166 | # Microsoft Azure Build Output 167 | csx/ 168 | *.build.csdef 169 | 170 | # Microsoft Azure Emulator 171 | ecf/ 172 | rcf/ 173 | 174 | # Windows Store app package directories and files 175 | AppPackages/ 176 | BundleArtifacts/ 177 | Package.StoreAssociation.xml 178 | _pkginfo.txt 179 | 180 | # Visual Studio cache files 181 | # files ending in .cache can be ignored 182 | *.[Cc]ache 183 | # but keep track of directories ending in .cache 184 | !*.[Cc]ache/ 185 | 186 | # Others 187 | ClientBin/ 188 | ~$* 189 | *~ 190 | *.dbmdl 191 | *.dbproj.schemaview 192 | *.jfm 193 | *.pfx 194 | *.publishsettings 195 | node_modules/ 196 | orleans.codegen.cs 197 | 198 | # Since there are multiple workflows, uncomment next line to ignore bower_components 199 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 200 | #bower_components/ 201 | 202 | # RIA/Silverlight projects 203 | Generated_Code/ 204 | 205 | # Backup & report files from converting an old project file 206 | # to a newer Visual Studio version. Backup files are not needed, 207 | # because we have git ;-) 208 | _UpgradeReport_Files/ 209 | Backup*/ 210 | UpgradeLog*.XML 211 | UpgradeLog*.htm 212 | 213 | # SQL Server files 214 | *.mdf 215 | *.ldf 216 | 217 | # Business Intelligence projects 218 | *.rdl.data 219 | *.bim.layout 220 | *.bim_*.settings 221 | 222 | # Microsoft Fakes 223 | FakesAssemblies/ 224 | 225 | # GhostDoc plugin setting file 226 | *.GhostDoc.xml 227 | 228 | # Node.js Tools for Visual Studio 229 | .ntvs_analysis.dat 230 | 231 | # Visual Studio 6 build log 232 | *.plg 233 | 234 | # Visual Studio 6 workspace options file 235 | *.opt 236 | 237 | # Visual Studio LightSwitch build output 238 | **/*.HTMLClient/GeneratedArtifacts 239 | **/*.DesktopClient/GeneratedArtifacts 240 | **/*.DesktopClient/ModelManifest.xml 241 | **/*.Server/GeneratedArtifacts 242 | **/*.Server/ModelManifest.xml 243 | _Pvt_Extensions 244 | 245 | # Paket dependency manager 246 | .paket/paket.exe 247 | paket-files/ 248 | 249 | # FAKE - F# Make 250 | .fake/ 251 | 252 | # JetBrains Rider 253 | .idea/ 254 | *.sln.iml 255 | 256 | # CodeRush 257 | .cr/ 258 | 259 | # Python Tools for Visual Studio (PTVS) 260 | __pycache__/ 261 | *.pyc 262 | /FileManagement/files 263 | /FileManagement/GeneratedFiles/ui_Outcome.h 264 | /FileManagement/GeneratedFiles/ui_Income.h 265 | -------------------------------------------------------------------------------- /FileManagement.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.15 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileManagement", "FileManagement\FileManagement.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 15 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 16 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 17 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | Qt5Version = qt5 24 | SolutionGuid = {3435E8EE-1009-4E2A-A2D6-70A61507EB8C} 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /FileManagement/AccountInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | struct AccountInfo 4 | { 5 | int accountId; 6 | int money; 7 | QString type; 8 | QString time; 9 | QString remark; 10 | QString name; 11 | }; -------------------------------------------------------------------------------- /FileManagement/Accounting.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Accounting.cpp -------------------------------------------------------------------------------- /FileManagement/Accounting.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Accounting.h -------------------------------------------------------------------------------- /FileManagement/AesHelper.h: -------------------------------------------------------------------------------- 1 | #ifndef AESHELPER_H 2 | #define AESHELPER_H 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | #include "aes.h" 10 | 11 | class AesHelper 12 | { 13 | public: 14 | AesHelper(); 15 | ~AesHelper(); 16 | QString aesEncrypt(QString mingwen); 17 | 18 | QString aesUncrypt(QString miwen); 19 | 20 | private: 21 | AES * aes; 22 | }; 23 | 24 | #endif // AESHELPER_H -------------------------------------------------------------------------------- /FileManagement/BaseWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/BaseWindow.cpp -------------------------------------------------------------------------------- /FileManagement/BaseWindow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "TitleBar.h" 4 | 5 | 6 | class BaseWindow : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | BaseWindow(QWidget *parent = 0); 12 | ~BaseWindow(); 13 | void loadStyleSheet(const QString &sheetName); 14 | 15 | private: 16 | void initTitleBar(); 17 | void paintEvent(QPaintEvent *event); 18 | 19 | private slots: 20 | void onButtonMinClicked(); 21 | void onButtonRestoreClicked(); 22 | void onButtonMaxClicked(); 23 | void onButtonCloseClicked(); 24 | 25 | protected: 26 | TitleBar* m_titleBar; 27 | 28 | 29 | }; -------------------------------------------------------------------------------- /FileManagement/ButtonDelegate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ButtonDelegate.cpp -------------------------------------------------------------------------------- /FileManagement/ButtonDelegate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ButtonDelegate.h -------------------------------------------------------------------------------- /FileManagement/Database.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Database.cpp -------------------------------------------------------------------------------- /FileManagement/Database.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Database.h -------------------------------------------------------------------------------- /FileManagement/DownlaodManage.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DownloadManage 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 300 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /FileManagement/DownloadFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadFile.cpp -------------------------------------------------------------------------------- /FileManagement/DownloadFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadFile.h -------------------------------------------------------------------------------- /FileManagement/DownloadManage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadManage.cpp -------------------------------------------------------------------------------- /FileManagement/DownloadManage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadManage.h -------------------------------------------------------------------------------- /FileManagement/DownloadThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadThread.cpp -------------------------------------------------------------------------------- /FileManagement/DownloadThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadThread.h -------------------------------------------------------------------------------- /FileManagement/DownloadWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadWindow.cpp -------------------------------------------------------------------------------- /FileManagement/DownloadWindow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/DownloadWindow.h -------------------------------------------------------------------------------- /FileManagement/DownloadWindow.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DownloadWindow 4 | 5 | 6 | 7 | 0 8 | 0 9 | 811 10 | 530 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Qt::Horizontal 23 | 24 | 25 | 26 | 40 27 | 20 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 文件名: 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | Qt::Horizontal 46 | 47 | 48 | 49 | 40 50 | 20 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | background:transparent; 59 | border:1px solid rgb(89, 153, 48); 60 | border-radius:10px; 61 | padding:10px 12px; 62 | color: blue; 63 | 64 | 65 | 66 | 67 | 68 | 设置 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 600 81 | 400 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | settingButton 94 | clicked() 95 | DownloadWindow 96 | setFilePath() 97 | 98 | 99 | 780 100 | 24 101 | 102 | 103 | 921 104 | 42 105 | 106 | 107 | 108 | 109 | 110 | ClickDownloadButton() 111 | setFilePath() 112 | 113 | 114 | -------------------------------------------------------------------------------- /FileManagement/Echarts.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Echarts.cpp -------------------------------------------------------------------------------- /FileManagement/Echarts.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Echarts.h -------------------------------------------------------------------------------- /FileManagement/Echarts.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | Echarts 4 | 5 | 6 | 7 | 0 8 | 0 9 | 599 10 | 465 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | background:transparent; 25 | border:1px solid rgb(89, 153, 48); 26 | border-radius:10px; 27 | padding:10px 12px; 28 | color: blue; 29 | 30 | 31 | 显示图表 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | background:transparent; 55 | border:1px solid rgb(89, 153, 48); 56 | border-radius:10px; 57 | padding:10px 12px; 58 | color: blue; 59 | 60 | 61 | 选择excel文件 62 | 63 | 64 | 65 | 66 | 67 | 68 | Qt::Horizontal 69 | 70 | 71 | 72 | 40 73 | 20 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | background:transparent; 82 | border:1px solid rgb(89, 153, 48); 83 | border-radius:10px; 84 | padding:10px 12px; 85 | color: blue; 86 | 87 | 88 | 导入excel 89 | 90 | 91 | 92 | 93 | 94 | 95 | Qt::Horizontal 96 | 97 | 98 | 99 | 40 100 | 20 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | background:transparent; 109 | border:1px solid rgb(89, 153, 48); 110 | border-radius:10px; 111 | padding:10px 12px; 112 | color: blue; 113 | 114 | 115 | 导出excel 116 | 117 | 118 | 119 | 120 | 121 | 122 | Qt::Horizontal 123 | 124 | 125 | 126 | 40 127 | 20 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | pushButton 142 | clicked() 143 | Echarts 144 | choosefilepath() 145 | 146 | 147 | 293 148 | 237 149 | 150 | 151 | 593 152 | 339 153 | 154 | 155 | 156 | 157 | importexcel 158 | clicked() 159 | Echarts 160 | import_excel() 161 | 162 | 163 | 399 164 | 230 165 | 166 | 167 | 606 168 | 302 169 | 170 | 171 | 172 | 173 | pushButton_2 174 | clicked() 175 | Echarts 176 | export_excel() 177 | 178 | 179 | 528 180 | 235 181 | 182 | 183 | 600 184 | 153 185 | 186 | 187 | 188 | 189 | 190 | choosefilepath() 191 | import_excel() 192 | export_excel() 193 | 194 | 195 | -------------------------------------------------------------------------------- /FileManagement/FileInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef FILEINFO_H_ 3 | #define FILEINFO_H_ 4 | #include "stdafx.h" 5 | 6 | struct FileInfo 7 | { 8 | int fileId; 9 | QString fileName; 10 | QString fileSize; 11 | QString fileType; 12 | QString fileTime; 13 | QString fileUser; 14 | int userId; 15 | }; 16 | struct BreakFile 17 | { 18 | qint64 recordId; 19 | int fileId; 20 | QString fileName; 21 | QString filePath; 22 | qint64 breakPoint; 23 | }; 24 | 25 | inline QDataStream &operator>>(QDataStream &in, FileInfo &fileInfo) 26 | { 27 | int fileId; 28 | QString fileName; 29 | QString fileSize; 30 | QString fileType; 31 | QString fileTime; 32 | QString fileUser; 33 | int userId; 34 | 35 | in >> fileId >> fileName >> fileSize 36 | >> fileTime >> fileType >> fileUser >> userId; 37 | 38 | 39 | fileInfo.fileId = fileId; 40 | fileInfo.fileName = fileName; 41 | fileInfo.fileSize = fileSize; 42 | fileInfo.fileType = fileType; 43 | fileInfo.fileTime = fileTime; 44 | fileInfo.fileUser = fileUser; 45 | fileInfo.userId = userId; 46 | 47 | return in; 48 | } 49 | #endif // !FILEINFO_H_ 50 | -------------------------------------------------------------------------------- /FileManagement/FileManagement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/FileManagement.cpp -------------------------------------------------------------------------------- /FileManagement/FileManagement.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/FileManagement.h -------------------------------------------------------------------------------- /FileManagement/FileManagement.pri: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------------- 2 | # This file is generated by the Qt Visual Studio Tools. 3 | # ------------------------------------------------------ 4 | 5 | # This is a reminder that you are using a generated .pro file. 6 | # Remove it when you are finished editing this file. 7 | message("You are running qmake on a generated .pro file. This may not work!") 8 | 9 | 10 | HEADERS += ./resource.h \ 11 | ./stdafx.h \ 12 | ./tcpclient.h \ 13 | ./FileManagement.h \ 14 | ./UserInformation.h \ 15 | ./Login.h \ 16 | ./Register.h \ 17 | ./aes.h \ 18 | ./AesHelper.h \ 19 | ./TableModel.h \ 20 | ./BaseWindow.h \ 21 | ./ButtonDelegate.h \ 22 | ./MyMessageBox.h \ 23 | ./TitleBar.h \ 24 | ./FileInfo.h \ 25 | ./UploadThread.h \ 26 | ./UploadWindow.h \ 27 | ./DownloadFile.h \ 28 | ./DownloadManage.h \ 29 | ./DownloadWindow.h \ 30 | ./DownloadThread.h \ 31 | ./UploadFile.h \ 32 | ./Report.h \ 33 | ./ReportEdit.h \ 34 | ./ReportLook.h \ 35 | ./ReportDetail.h 36 | SOURCES += ./main.cpp \ 37 | ./stdafx.cpp \ 38 | ./Taes.cpp \ 39 | ./tcpclient.cpp \ 40 | ./FileManagement.cpp \ 41 | ./Login.cpp \ 42 | ./Register.cpp \ 43 | ./UserInformation.cpp \ 44 | ./BaseWindow.cpp \ 45 | ./ButtonDelegate.cpp \ 46 | ./MyMessageBox.cpp \ 47 | ./TableModel.cpp \ 48 | ./TitleBar.cpp \ 49 | ./DownloadFile.cpp \ 50 | ./DownloadManage.cpp \ 51 | ./DownloadThread.cpp \ 52 | ./DownloadWindow.cpp \ 53 | ./UploadFile.cpp \ 54 | ./UploadThread.cpp \ 55 | ./UploadWindow.cpp \ 56 | ./ReportDetail.cpp \ 57 | ./ReportEdit.cpp \ 58 | ./ReportLook.cpp 59 | FORMS += ./FileManagement.ui \ 60 | ./Register.ui \ 61 | ./MyMessageBox.ui \ 62 | ./DownloadWindow.ui \ 63 | ./DownlaodManage.ui \ 64 | ../../../../../44562/Desktop/untitled.ui \ 65 | ./Login.ui \ 66 | ./UploadWindow.ui \ 67 | ./UserInformation.ui \ 68 | ./ReportEdit.ui \ 69 | ./ReportLook.ui \ 70 | ./ReportDetail.ui 71 | RESOURCES += FileManagement.qrc 72 | -------------------------------------------------------------------------------- /FileManagement/FileManagement.pro: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------------- 2 | # This file is generated by the Qt Visual Studio Tools. 3 | # ------------------------------------------------------ 4 | 5 | TEMPLATE = app 6 | TARGET = FileManagement 7 | DESTDIR = ../x64/Release 8 | QT += core sql network gui axserver axcontainer script scripttools uitools widgets webchannel websockets winextras webengine webenginewidgets 9 | CONFIG += release 10 | DEFINES += _UNICODE WIN64 QT_DLL QT_SCRIPT_LIB QT_SCRIPTTOOLS_LIB QT_UITOOLS_LIB QT_WEBSOCKETS_LIB QT_WIDGETS_LIB QT_NETWORK_LIB QT_WINEXTRAS_LIB QT_WEBENGINE_LIB QT_WEBENGINECORE_LIB QT_WEBENGINEWIDGETS_LIB QT_WEBCHANNEL_LIB QT_SQL_LIB 11 | INCLUDEPATH += ./GeneratedFiles \ 12 | . \ 13 | ./GeneratedFiles/$(ConfigurationName) 14 | DEPENDPATH += . 15 | MOC_DIR += ./GeneratedFiles/$(ConfigurationName) 16 | OBJECTS_DIR += release 17 | UI_DIR += ./GeneratedFiles 18 | RCC_DIR += ./GeneratedFiles 19 | win32:RC_FILE = FileManagement.rc 20 | HEADERS += ./Database.h \ 21 | ./resource.h \ 22 | ./stdafx.h \ 23 | ./tcpclient.h \ 24 | ./aes.h \ 25 | ./AesHelper.h \ 26 | ./TableModel.h \ 27 | ./BaseWindow.h \ 28 | ./ButtonDelegate.h \ 29 | ./MyMessageBox.h \ 30 | ./TitleBar.h \ 31 | ./FileInfo.h \ 32 | ./UploadThread.h \ 33 | ./UploadWindow.h \ 34 | ./DownloadFile.h \ 35 | ./DownloadManage.h \ 36 | ./DownloadWindow.h \ 37 | ./DownloadThread.h \ 38 | ./SetFilePath.h \ 39 | ./UploadFile.h \ 40 | ./Report.h \ 41 | ./ReportEdit.h \ 42 | ./ReportLook.h \ 43 | ./ReportDetail.h \ 44 | ./UserInformation.h \ 45 | ./FileManagement.h \ 46 | ./Login.h \ 47 | ./Register.h \ 48 | ./AccountInfo.h \ 49 | ./Accounting.h \ 50 | ./MoneyManage.h \ 51 | ./websockettransport.h \ 52 | ./websocketclientwrapper.h \ 53 | ./bdchart.h \ 54 | ./Echarts.h \ 55 | ./previewpage.h \ 56 | ./SignCalender.h \ 57 | ./Sign.h \ 58 | ./SignShow.h 59 | SOURCES += ./Database.cpp \ 60 | ./main.cpp \ 61 | ./stdafx.cpp \ 62 | ./tcpclient.cpp \ 63 | ./BaseWindow.cpp \ 64 | ./ButtonDelegate.cpp \ 65 | ./MyMessageBox.cpp \ 66 | ./TableModel.cpp \ 67 | ./Taes.cpp \ 68 | ./TitleBar.cpp \ 69 | ./DownloadFile.cpp \ 70 | ./DownloadManage.cpp \ 71 | ./DownloadThread.cpp \ 72 | ./DownloadWindow.cpp \ 73 | ./SetFilePath.cpp \ 74 | ./UploadFile.cpp \ 75 | ./UploadThread.cpp \ 76 | ./UploadWindow.cpp \ 77 | ./ReportDetail.cpp \ 78 | ./ReportEdit.cpp \ 79 | ./ReportLook.cpp \ 80 | ./UserInformation.cpp \ 81 | ./FileManagement.cpp \ 82 | ./Login.cpp \ 83 | ./Register.cpp \ 84 | ./Accounting.cpp \ 85 | ./MoneyManage.cpp \ 86 | ./bdchart.cpp \ 87 | ./Echarts.cpp \ 88 | ./previewpage.cpp \ 89 | ./websocketclientwrapper.cpp \ 90 | ./websockettransport.cpp \ 91 | ./Sign.cpp \ 92 | ./SignCalender.cpp \ 93 | ./SignShow.cpp 94 | FORMS += ./FileManagement.ui \ 95 | ./Register.ui \ 96 | ./MyMessageBox.ui \ 97 | ./DownloadWindow.ui \ 98 | ./DownlaodManage.ui \ 99 | ./Accounting.ui \ 100 | ./Echarts.ui \ 101 | ./Login.ui \ 102 | ./UploadWindow.ui \ 103 | ./UserInformation.ui \ 104 | ./ReportEdit.ui \ 105 | ./ReportLook.ui \ 106 | ./ReportDetail.ui \ 107 | ./MoneyManage.ui \ 108 | ./SetFilePath.ui \ 109 | ./Sign.ui \ 110 | ./SignShow.ui 111 | RESOURCES += FileManagement.qrc \ 112 | json.qrc \ 113 | web.qrc 114 | -------------------------------------------------------------------------------- /FileManagement/FileManagement.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Resource/FunIcon/download.png 4 | Resource/FunIcon/Drag-Drop.png 5 | Resource/FunIcon/exit.png 6 | Resource/FunIcon/reportEdit.png 7 | Resource/FunIcon/reportLook.png 8 | Resource/FunIcon/showFile.png 9 | Resource/FunIcon/upload.png 10 | Resource/FunIcon/userInfo.png 11 | Resource/icon/correct.png 12 | Resource/icon/deleteFile.png 13 | Resource/icon/downloadFile.png 14 | Resource/icon/error.png 15 | Resource/icon/level.png 16 | Resource/icon/lookReport.png 17 | Resource/icon/message_delete.png 18 | Resource/icon/message_tips.png 19 | Resource/icon/message_warnning.png 20 | Resource/icon/pass.png 21 | Resource/icon/pwd.png 22 | Resource/icon/pwd2.png 23 | Resource/icon/studentId.png 24 | Resource/icon/teacher.png 25 | Resource/icon/truename.png 26 | Resource/icon/user.png 27 | Resource/qss/Login.qss 28 | Resource/qss/mainWindow.qss 29 | Resource/qss/MyMessageBox.qss 30 | Resource/qss/Register.qss 31 | Resource/qss/ReportDetail.qss 32 | Resource/qss/UploadFile.qss 33 | Resource/title/close.png 34 | Resource/title/max.png 35 | Resource/title/min.png 36 | Resource/Logo.gif 37 | Resource/FunIcon/moneyManage.png 38 | Resource/moneyBackground.jpg 39 | Resource/qss/ReportEdit.qss 40 | Resource/qss/ReportLook.qss 41 | web/index.html 42 | web/images/qiandao_con.jpg 43 | web/images/qiandao_day.png 44 | web/images/qiandao_icon.png 45 | web/images/qiandao_sprits.png 46 | web/js/qiandao_js.js 47 | web/js/qwebchannel.js 48 | web/css/qiandao_style.css 49 | Resource/Logo.png 50 | 51 | 52 | -------------------------------------------------------------------------------- /FileManagement/FileManagement.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/FileManagement.rc -------------------------------------------------------------------------------- /FileManagement/FileManagement.rcc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/FileManagement.rcc -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_DownlaodManage.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'DownlaodManage.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_DOWNLAODMANAGE_H 10 | #define UI_DOWNLAODMANAGE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class Ui_DownloadManage 24 | { 25 | public: 26 | QVBoxLayout *verticalLayout; 27 | QTableView *tableView; 28 | 29 | void setupUi(QWidget *DownloadManage) 30 | { 31 | if (DownloadManage->objectName().isEmpty()) 32 | DownloadManage->setObjectName(QStringLiteral("DownloadManage")); 33 | DownloadManage->resize(400, 300); 34 | verticalLayout = new QVBoxLayout(DownloadManage); 35 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 36 | tableView = new QTableView(DownloadManage); 37 | tableView->setObjectName(QStringLiteral("tableView")); 38 | 39 | verticalLayout->addWidget(tableView); 40 | 41 | 42 | retranslateUi(DownloadManage); 43 | 44 | QMetaObject::connectSlotsByName(DownloadManage); 45 | } // setupUi 46 | 47 | void retranslateUi(QWidget *DownloadManage) 48 | { 49 | DownloadManage->setWindowTitle(QApplication::translate("DownloadManage", "Form", Q_NULLPTR)); 50 | } // retranslateUi 51 | 52 | }; 53 | 54 | namespace Ui { 55 | class DownloadManage: public Ui_DownloadManage {}; 56 | } // namespace Ui 57 | 58 | QT_END_NAMESPACE 59 | 60 | #endif // UI_DOWNLAODMANAGE_H 61 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_DownloadWindow.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'DownloadWindow.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_DOWNLOADWINDOW_H 10 | #define UI_DOWNLOADWINDOW_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | QT_BEGIN_NAMESPACE 27 | 28 | class Ui_DownloadWindow 29 | { 30 | public: 31 | QVBoxLayout *verticalLayout; 32 | QHBoxLayout *horizontalLayout; 33 | QSpacerItem *horizontalSpacer; 34 | QLabel *label; 35 | QLineEdit *condition; 36 | QSpacerItem *horizontalSpacer_2; 37 | QToolButton *settingButton; 38 | QHBoxLayout *horizontalLayout_3; 39 | QTableView *downloadTable; 40 | 41 | void setupUi(QWidget *DownloadWindow) 42 | { 43 | if (DownloadWindow->objectName().isEmpty()) 44 | DownloadWindow->setObjectName(QStringLiteral("DownloadWindow")); 45 | DownloadWindow->resize(811, 530); 46 | verticalLayout = new QVBoxLayout(DownloadWindow); 47 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 48 | horizontalLayout = new QHBoxLayout(); 49 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 50 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 51 | 52 | horizontalLayout->addItem(horizontalSpacer); 53 | 54 | label = new QLabel(DownloadWindow); 55 | label->setObjectName(QStringLiteral("label")); 56 | 57 | horizontalLayout->addWidget(label); 58 | 59 | condition = new QLineEdit(DownloadWindow); 60 | condition->setObjectName(QStringLiteral("condition")); 61 | 62 | horizontalLayout->addWidget(condition); 63 | 64 | horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 65 | 66 | horizontalLayout->addItem(horizontalSpacer_2); 67 | 68 | settingButton = new QToolButton(DownloadWindow); 69 | settingButton->setObjectName(QStringLiteral("settingButton")); 70 | settingButton->setStyleSheet(QLatin1String(" background:transparent;\n" 71 | "border:1px solid rgb(89, 153, 48);\n" 72 | "border-radius:10px;\n" 73 | "padding:10px 12px;\n" 74 | "color: blue;\n" 75 | "\n" 76 | "\n" 77 | "")); 78 | 79 | horizontalLayout->addWidget(settingButton); 80 | 81 | 82 | verticalLayout->addLayout(horizontalLayout); 83 | 84 | horizontalLayout_3 = new QHBoxLayout(); 85 | horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3")); 86 | downloadTable = new QTableView(DownloadWindow); 87 | downloadTable->setObjectName(QStringLiteral("downloadTable")); 88 | downloadTable->setMinimumSize(QSize(600, 400)); 89 | 90 | horizontalLayout_3->addWidget(downloadTable); 91 | 92 | 93 | verticalLayout->addLayout(horizontalLayout_3); 94 | 95 | 96 | retranslateUi(DownloadWindow); 97 | QObject::connect(settingButton, SIGNAL(clicked()), DownloadWindow, SLOT(setFilePath())); 98 | 99 | QMetaObject::connectSlotsByName(DownloadWindow); 100 | } // setupUi 101 | 102 | void retranslateUi(QWidget *DownloadWindow) 103 | { 104 | DownloadWindow->setWindowTitle(QApplication::translate("DownloadWindow", "Form", Q_NULLPTR)); 105 | label->setText(QApplication::translate("DownloadWindow", "\346\226\207\344\273\266\345\220\215\357\274\232", Q_NULLPTR)); 106 | settingButton->setText(QApplication::translate("DownloadWindow", "\350\256\276\347\275\256", Q_NULLPTR)); 107 | } // retranslateUi 108 | 109 | }; 110 | 111 | namespace Ui { 112 | class DownloadWindow: public Ui_DownloadWindow {}; 113 | } // namespace Ui 114 | 115 | QT_END_NAMESPACE 116 | 117 | #endif // UI_DOWNLOADWINDOW_H 118 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_Echarts.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'Echarts.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_ECHARTS_H 10 | #define UI_ECHARTS_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | QT_BEGIN_NAMESPACE 25 | 26 | class Ui_Echarts 27 | { 28 | public: 29 | QVBoxLayout *verticalLayout_2; 30 | QVBoxLayout *verticalLayout; 31 | QHBoxLayout *horizontalLayout_3; 32 | QPushButton *send; 33 | QSpacerItem *horizontalSpacer; 34 | QLineEdit *lineEdit; 35 | QPushButton *pushButton; 36 | QSpacerItem *horizontalSpacer_2; 37 | QPushButton *importexcel; 38 | QSpacerItem *horizontalSpacer_3; 39 | QPushButton *pushButton_2; 40 | QSpacerItem *horizontalSpacer_4; 41 | 42 | void setupUi(QWidget *Echarts) 43 | { 44 | if (Echarts->objectName().isEmpty()) 45 | Echarts->setObjectName(QStringLiteral("Echarts")); 46 | Echarts->resize(599, 465); 47 | verticalLayout_2 = new QVBoxLayout(Echarts); 48 | verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2")); 49 | verticalLayout = new QVBoxLayout(); 50 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 51 | horizontalLayout_3 = new QHBoxLayout(); 52 | horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3")); 53 | send = new QPushButton(Echarts); 54 | send->setObjectName(QStringLiteral("send")); 55 | send->setStyleSheet(QLatin1String("background:transparent;\n" 56 | "border:1px solid rgb(89, 153, 48);\n" 57 | "border-radius:10px;\n" 58 | "padding:10px 12px;\n" 59 | "color: blue;")); 60 | 61 | horizontalLayout_3->addWidget(send); 62 | 63 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 64 | 65 | horizontalLayout_3->addItem(horizontalSpacer); 66 | 67 | lineEdit = new QLineEdit(Echarts); 68 | lineEdit->setObjectName(QStringLiteral("lineEdit")); 69 | 70 | horizontalLayout_3->addWidget(lineEdit); 71 | 72 | pushButton = new QPushButton(Echarts); 73 | pushButton->setObjectName(QStringLiteral("pushButton")); 74 | pushButton->setStyleSheet(QLatin1String("background:transparent;\n" 75 | "border:1px solid rgb(89, 153, 48);\n" 76 | "border-radius:10px;\n" 77 | "padding:10px 12px;\n" 78 | "color: blue;")); 79 | 80 | horizontalLayout_3->addWidget(pushButton); 81 | 82 | horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 83 | 84 | horizontalLayout_3->addItem(horizontalSpacer_2); 85 | 86 | importexcel = new QPushButton(Echarts); 87 | importexcel->setObjectName(QStringLiteral("importexcel")); 88 | importexcel->setStyleSheet(QLatin1String("background:transparent;\n" 89 | "border:1px solid rgb(89, 153, 48);\n" 90 | "border-radius:10px;\n" 91 | "padding:10px 12px;\n" 92 | "color: blue;")); 93 | 94 | horizontalLayout_3->addWidget(importexcel); 95 | 96 | horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 97 | 98 | horizontalLayout_3->addItem(horizontalSpacer_3); 99 | 100 | pushButton_2 = new QPushButton(Echarts); 101 | pushButton_2->setObjectName(QStringLiteral("pushButton_2")); 102 | pushButton_2->setStyleSheet(QLatin1String("background:transparent;\n" 103 | "border:1px solid rgb(89, 153, 48);\n" 104 | "border-radius:10px;\n" 105 | "padding:10px 12px;\n" 106 | "color: blue;")); 107 | 108 | horizontalLayout_3->addWidget(pushButton_2); 109 | 110 | horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 111 | 112 | horizontalLayout_3->addItem(horizontalSpacer_4); 113 | 114 | 115 | verticalLayout->addLayout(horizontalLayout_3); 116 | 117 | 118 | verticalLayout_2->addLayout(verticalLayout); 119 | 120 | 121 | retranslateUi(Echarts); 122 | QObject::connect(pushButton, SIGNAL(clicked()), Echarts, SLOT(choosefilepath())); 123 | QObject::connect(importexcel, SIGNAL(clicked()), Echarts, SLOT(import_excel())); 124 | QObject::connect(pushButton_2, SIGNAL(clicked()), Echarts, SLOT(export_excel())); 125 | 126 | QMetaObject::connectSlotsByName(Echarts); 127 | } // setupUi 128 | 129 | void retranslateUi(QWidget *Echarts) 130 | { 131 | Echarts->setWindowTitle(QApplication::translate("Echarts", "Form", Q_NULLPTR)); 132 | send->setText(QApplication::translate("Echarts", "\346\230\276\347\244\272\345\233\276\350\241\250", Q_NULLPTR)); 133 | pushButton->setText(QApplication::translate("Echarts", "\351\200\211\346\213\251excel\346\226\207\344\273\266", Q_NULLPTR)); 134 | importexcel->setText(QApplication::translate("Echarts", "\345\257\274\345\205\245excel", Q_NULLPTR)); 135 | pushButton_2->setText(QApplication::translate("Echarts", "\345\257\274\345\207\272excel", Q_NULLPTR)); 136 | } // retranslateUi 137 | 138 | }; 139 | 140 | namespace Ui { 141 | class Echarts: public Ui_Echarts {}; 142 | } // namespace Ui 143 | 144 | QT_END_NAMESPACE 145 | 146 | #endif // UI_ECHARTS_H 147 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_MoneyManage.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'MoneyManage.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_MONEYMANAGE_H 10 | #define UI_MONEYMANAGE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | QT_BEGIN_NAMESPACE 26 | 27 | class Ui_MoneyManage 28 | { 29 | public: 30 | QVBoxLayout *verticalLayout_2; 31 | QVBoxLayout *verticalLayout; 32 | QLabel *ShowLastLabel; 33 | QHBoxLayout *horizontalLayout; 34 | QTableView *tableView; 35 | QSpacerItem *horizontalSpacer; 36 | QPushButton *RecordButton; 37 | QPushButton *pushButton_2; 38 | 39 | void setupUi(QWidget *MoneyManage) 40 | { 41 | if (MoneyManage->objectName().isEmpty()) 42 | MoneyManage->setObjectName(QStringLiteral("MoneyManage")); 43 | MoneyManage->resize(727, 536); 44 | verticalLayout_2 = new QVBoxLayout(MoneyManage); 45 | verticalLayout_2->setSpacing(9); 46 | verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2")); 47 | verticalLayout_2->setContentsMargins(0, 0, 0, 0); 48 | verticalLayout = new QVBoxLayout(); 49 | verticalLayout->setSpacing(0); 50 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 51 | ShowLastLabel = new QLabel(MoneyManage); 52 | ShowLastLabel->setObjectName(QStringLiteral("ShowLastLabel")); 53 | QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); 54 | sizePolicy.setHorizontalStretch(0); 55 | sizePolicy.setVerticalStretch(0); 56 | sizePolicy.setHeightForWidth(ShowLastLabel->sizePolicy().hasHeightForWidth()); 57 | ShowLastLabel->setSizePolicy(sizePolicy); 58 | ShowLastLabel->setMinimumSize(QSize(0, 30)); 59 | ShowLastLabel->setMaximumSize(QSize(16777215, 30)); 60 | ShowLastLabel->setStyleSheet(QLatin1String("border-color: rgb(0, 85, 255);\n" 61 | "background-image: url(:/Resource/moneyBackground.jpg);\n" 62 | "font: 14pt \"04b_21\";\n" 63 | "color: rgb(255, 255, 255);\n" 64 | "")); 65 | ShowLastLabel->setTextFormat(Qt::AutoText); 66 | 67 | verticalLayout->addWidget(ShowLastLabel); 68 | 69 | horizontalLayout = new QHBoxLayout(); 70 | horizontalLayout->setSpacing(10); 71 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 72 | horizontalLayout->setContentsMargins(10, 10, 10, 10); 73 | tableView = new QTableView(MoneyManage); 74 | tableView->setObjectName(QStringLiteral("tableView")); 75 | QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Minimum); 76 | sizePolicy1.setHorizontalStretch(0); 77 | sizePolicy1.setVerticalStretch(0); 78 | sizePolicy1.setHeightForWidth(tableView->sizePolicy().hasHeightForWidth()); 79 | tableView->setSizePolicy(sizePolicy1); 80 | tableView->setMinimumSize(QSize(500, 100)); 81 | tableView->setMaximumSize(QSize(16777215, 16777215)); 82 | 83 | horizontalLayout->addWidget(tableView); 84 | 85 | horizontalSpacer = new QSpacerItem(30, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); 86 | 87 | horizontalLayout->addItem(horizontalSpacer); 88 | 89 | RecordButton = new QPushButton(MoneyManage); 90 | RecordButton->setObjectName(QStringLiteral("RecordButton")); 91 | RecordButton->setStyleSheet(QLatin1String("background:transparent;\n" 92 | "border:1px solid rgb(89, 153, 48);\n" 93 | "border-radius:10px;\n" 94 | "padding:10px 12px;\n" 95 | "color: green;")); 96 | RecordButton->setFlat(false); 97 | 98 | horizontalLayout->addWidget(RecordButton); 99 | 100 | pushButton_2 = new QPushButton(MoneyManage); 101 | pushButton_2->setObjectName(QStringLiteral("pushButton_2")); 102 | pushButton_2->setStyleSheet(QLatin1String("background:transparent;\n" 103 | "border:1px solid rgb(87, 118, 255);\n" 104 | "border-radius:10px;\n" 105 | "padding:10px 12px;\n" 106 | "color: green;")); 107 | 108 | horizontalLayout->addWidget(pushButton_2); 109 | 110 | 111 | verticalLayout->addLayout(horizontalLayout); 112 | 113 | 114 | verticalLayout_2->addLayout(verticalLayout); 115 | 116 | 117 | retranslateUi(MoneyManage); 118 | QObject::connect(RecordButton, SIGNAL(clicked()), MoneyManage, SLOT(clickAccountingButton())); 119 | 120 | QMetaObject::connectSlotsByName(MoneyManage); 121 | } // setupUi 122 | 123 | void retranslateUi(QWidget *MoneyManage) 124 | { 125 | MoneyManage->setWindowTitle(QApplication::translate("MoneyManage", "Form", Q_NULLPTR)); 126 | ShowLastLabel->setText(QApplication::translate("MoneyManage", "\346\234\200\350\277\221\346\224\266\346\224\257\346\203\205\345\206\265", Q_NULLPTR)); 127 | RecordButton->setText(QApplication::translate("MoneyManage", "\350\256\260\350\264\246", Q_NULLPTR)); 128 | pushButton_2->setText(QApplication::translate("MoneyManage", "\346\237\245\347\234\213", Q_NULLPTR)); 129 | } // retranslateUi 130 | 131 | }; 132 | 133 | namespace Ui { 134 | class MoneyManage: public Ui_MoneyManage {}; 135 | } // namespace Ui 136 | 137 | QT_END_NAMESPACE 138 | 139 | #endif // UI_MONEYMANAGE_H 140 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_MyMessageBox.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'MyMessageBox.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_MYMESSAGEBOX_H 10 | #define UI_MYMESSAGEBOX_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | QT_BEGIN_NAMESPACE 26 | 27 | class Ui_MyMessageBox 28 | { 29 | public: 30 | QVBoxLayout *verticalLayout; 31 | QHBoxLayout *horizontalLayout; 32 | QLabel *MessageIcon; 33 | QLabel *MessageContent; 34 | QLineEdit *inputContent; 35 | QHBoxLayout *horizontalLayout_2; 36 | QSpacerItem *horizontalSpacer; 37 | QPushButton *pButtonOk; 38 | QPushButton *pButtonCancel; 39 | 40 | void setupUi(QWidget *MyMessageBox) 41 | { 42 | if (MyMessageBox->objectName().isEmpty()) 43 | MyMessageBox->setObjectName(QStringLiteral("MyMessageBox")); 44 | MyMessageBox->resize(340, 184); 45 | verticalLayout = new QVBoxLayout(MyMessageBox); 46 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 47 | horizontalLayout = new QHBoxLayout(); 48 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 49 | MessageIcon = new QLabel(MyMessageBox); 50 | MessageIcon->setObjectName(QStringLiteral("MessageIcon")); 51 | 52 | horizontalLayout->addWidget(MessageIcon); 53 | 54 | MessageContent = new QLabel(MyMessageBox); 55 | MessageContent->setObjectName(QStringLiteral("MessageContent")); 56 | QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); 57 | sizePolicy.setHorizontalStretch(0); 58 | sizePolicy.setVerticalStretch(0); 59 | sizePolicy.setHeightForWidth(MessageContent->sizePolicy().hasHeightForWidth()); 60 | MessageContent->setSizePolicy(sizePolicy); 61 | 62 | horizontalLayout->addWidget(MessageContent); 63 | 64 | inputContent = new QLineEdit(MyMessageBox); 65 | inputContent->setObjectName(QStringLiteral("inputContent")); 66 | 67 | horizontalLayout->addWidget(inputContent); 68 | 69 | 70 | verticalLayout->addLayout(horizontalLayout); 71 | 72 | horizontalLayout_2 = new QHBoxLayout(); 73 | horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2")); 74 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 75 | 76 | horizontalLayout_2->addItem(horizontalSpacer); 77 | 78 | pButtonOk = new QPushButton(MyMessageBox); 79 | pButtonOk->setObjectName(QStringLiteral("pButtonOk")); 80 | QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Minimum); 81 | sizePolicy1.setHorizontalStretch(0); 82 | sizePolicy1.setVerticalStretch(0); 83 | sizePolicy1.setHeightForWidth(pButtonOk->sizePolicy().hasHeightForWidth()); 84 | pButtonOk->setSizePolicy(sizePolicy1); 85 | pButtonOk->setMinimumSize(QSize(70, 20)); 86 | pButtonOk->setMaximumSize(QSize(70, 30)); 87 | pButtonOk->setStyleSheet(QStringLiteral("")); 88 | 89 | horizontalLayout_2->addWidget(pButtonOk); 90 | 91 | pButtonCancel = new QPushButton(MyMessageBox); 92 | pButtonCancel->setObjectName(QStringLiteral("pButtonCancel")); 93 | sizePolicy1.setHeightForWidth(pButtonCancel->sizePolicy().hasHeightForWidth()); 94 | pButtonCancel->setSizePolicy(sizePolicy1); 95 | pButtonCancel->setMinimumSize(QSize(70, 20)); 96 | pButtonCancel->setMaximumSize(QSize(70, 30)); 97 | pButtonCancel->setStyleSheet(QStringLiteral("")); 98 | 99 | horizontalLayout_2->addWidget(pButtonCancel); 100 | 101 | 102 | verticalLayout->addLayout(horizontalLayout_2); 103 | 104 | 105 | retranslateUi(MyMessageBox); 106 | 107 | QMetaObject::connectSlotsByName(MyMessageBox); 108 | } // setupUi 109 | 110 | void retranslateUi(QWidget *MyMessageBox) 111 | { 112 | MyMessageBox->setWindowTitle(QApplication::translate("MyMessageBox", "Form", Q_NULLPTR)); 113 | MessageIcon->setText(QApplication::translate("MyMessageBox", "TextLabel", Q_NULLPTR)); 114 | MessageContent->setText(QApplication::translate("MyMessageBox", "

TextLabel

", Q_NULLPTR)); 115 | pButtonOk->setText(QApplication::translate("MyMessageBox", "PushButton", Q_NULLPTR)); 116 | pButtonCancel->setText(QApplication::translate("MyMessageBox", "PushButton", Q_NULLPTR)); 117 | } // retranslateUi 118 | 119 | }; 120 | 121 | namespace Ui { 122 | class MyMessageBox: public Ui_MyMessageBox {}; 123 | } // namespace Ui 124 | 125 | QT_END_NAMESPACE 126 | 127 | #endif // UI_MYMESSAGEBOX_H 128 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_ReportLook.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'ReportLook.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_REPORTLOOK_H 10 | #define UI_REPORTLOOK_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | QT_BEGIN_NAMESPACE 28 | 29 | class Ui_ReportLook 30 | { 31 | public: 32 | QVBoxLayout *verticalLayout; 33 | QHBoxLayout *horizontalLayout; 34 | QSpacerItem *horizontalSpacer_3; 35 | QPushButton *LookMyReport; 36 | QSpacerItem *horizontalSpacer; 37 | QLabel *label; 38 | QHBoxLayout *comboboxLayout; 39 | QComboBox *selectcomboBox; 40 | QLineEdit *condition; 41 | QSpacerItem *horizontalSpacer_2; 42 | QTableView *tableView; 43 | 44 | void setupUi(QWidget *ReportLook) 45 | { 46 | if (ReportLook->objectName().isEmpty()) 47 | ReportLook->setObjectName(QStringLiteral("ReportLook")); 48 | ReportLook->resize(626, 471); 49 | verticalLayout = new QVBoxLayout(ReportLook); 50 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 51 | horizontalLayout = new QHBoxLayout(); 52 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 53 | horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 54 | 55 | horizontalLayout->addItem(horizontalSpacer_3); 56 | 57 | LookMyReport = new QPushButton(ReportLook); 58 | LookMyReport->setObjectName(QStringLiteral("LookMyReport")); 59 | 60 | horizontalLayout->addWidget(LookMyReport); 61 | 62 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 63 | 64 | horizontalLayout->addItem(horizontalSpacer); 65 | 66 | label = new QLabel(ReportLook); 67 | label->setObjectName(QStringLiteral("label")); 68 | 69 | horizontalLayout->addWidget(label); 70 | 71 | comboboxLayout = new QHBoxLayout(); 72 | comboboxLayout->setObjectName(QStringLiteral("comboboxLayout")); 73 | selectcomboBox = new QComboBox(ReportLook); 74 | selectcomboBox->setObjectName(QStringLiteral("selectcomboBox")); 75 | 76 | comboboxLayout->addWidget(selectcomboBox); 77 | 78 | 79 | horizontalLayout->addLayout(comboboxLayout); 80 | 81 | condition = new QLineEdit(ReportLook); 82 | condition->setObjectName(QStringLiteral("condition")); 83 | 84 | horizontalLayout->addWidget(condition); 85 | 86 | horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 87 | 88 | horizontalLayout->addItem(horizontalSpacer_2); 89 | 90 | 91 | verticalLayout->addLayout(horizontalLayout); 92 | 93 | tableView = new QTableView(ReportLook); 94 | tableView->setObjectName(QStringLiteral("tableView")); 95 | QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 96 | sizePolicy.setHorizontalStretch(0); 97 | sizePolicy.setVerticalStretch(0); 98 | sizePolicy.setHeightForWidth(tableView->sizePolicy().hasHeightForWidth()); 99 | tableView->setSizePolicy(sizePolicy); 100 | tableView->setMinimumSize(QSize(600, 400)); 101 | tableView->setStyleSheet(QStringLiteral("")); 102 | 103 | verticalLayout->addWidget(tableView); 104 | 105 | 106 | retranslateUi(ReportLook); 107 | QObject::connect(LookMyReport, SIGNAL(clicked()), ReportLook, SLOT(ClickLookMyReportButton())); 108 | 109 | QMetaObject::connectSlotsByName(ReportLook); 110 | } // setupUi 111 | 112 | void retranslateUi(QWidget *ReportLook) 113 | { 114 | ReportLook->setWindowTitle(QApplication::translate("ReportLook", "Form", Q_NULLPTR)); 115 | LookMyReport->setText(QApplication::translate("ReportLook", "\346\237\245\347\234\213\346\210\221\347\232\204\345\221\250\346\212\245", Q_NULLPTR)); 116 | label->setText(QApplication::translate("ReportLook", "\346\214\211\346\235\241\344\273\266\346\237\245\346\211\276\357\274\232", Q_NULLPTR)); 117 | selectcomboBox->clear(); 118 | selectcomboBox->insertItems(0, QStringList() 119 | << QApplication::translate("ReportLook", "\346\211\200\346\234\211", Q_NULLPTR) 120 | << QApplication::translate("ReportLook", "\345\247\223\345\220\215", Q_NULLPTR) 121 | << QApplication::translate("ReportLook", "\345\255\246\346\234\237", Q_NULLPTR) 122 | ); 123 | } // retranslateUi 124 | 125 | }; 126 | 127 | namespace Ui { 128 | class ReportLook: public Ui_ReportLook {}; 129 | } // namespace Ui 130 | 131 | QT_END_NAMESPACE 132 | 133 | #endif // UI_REPORTLOOK_H 134 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_SetFilePath.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'SetFilePath.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_SETFILEPATH_H 10 | #define UI_SETFILEPATH_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | QT_BEGIN_NAMESPACE 26 | 27 | class Ui_SetFilePath 28 | { 29 | public: 30 | QVBoxLayout *verticalLayout; 31 | QSpacerItem *verticalSpacer; 32 | QHBoxLayout *horizontalLayout; 33 | QSpacerItem *horizontalSpacer_2; 34 | QLabel *label; 35 | QLineEdit *filePathLine; 36 | QPushButton *selectButton; 37 | QSpacerItem *horizontalSpacer_3; 38 | QHBoxLayout *horizontalLayout_2; 39 | QSpacerItem *horizontalSpacer; 40 | QPushButton *saveButton; 41 | QSpacerItem *horizontalSpacer_4; 42 | 43 | void setupUi(QWidget *SetFilePath) 44 | { 45 | if (SetFilePath->objectName().isEmpty()) 46 | SetFilePath->setObjectName(QStringLiteral("SetFilePath")); 47 | SetFilePath->resize(337, 232); 48 | verticalLayout = new QVBoxLayout(SetFilePath); 49 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 50 | verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Fixed); 51 | 52 | verticalLayout->addItem(verticalSpacer); 53 | 54 | horizontalLayout = new QHBoxLayout(); 55 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 56 | horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 57 | 58 | horizontalLayout->addItem(horizontalSpacer_2); 59 | 60 | label = new QLabel(SetFilePath); 61 | label->setObjectName(QStringLiteral("label")); 62 | 63 | horizontalLayout->addWidget(label); 64 | 65 | filePathLine = new QLineEdit(SetFilePath); 66 | filePathLine->setObjectName(QStringLiteral("filePathLine")); 67 | 68 | horizontalLayout->addWidget(filePathLine); 69 | 70 | selectButton = new QPushButton(SetFilePath); 71 | selectButton->setObjectName(QStringLiteral("selectButton")); 72 | 73 | horizontalLayout->addWidget(selectButton); 74 | 75 | horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 76 | 77 | horizontalLayout->addItem(horizontalSpacer_3); 78 | 79 | 80 | verticalLayout->addLayout(horizontalLayout); 81 | 82 | horizontalLayout_2 = new QHBoxLayout(); 83 | horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2")); 84 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 85 | 86 | horizontalLayout_2->addItem(horizontalSpacer); 87 | 88 | saveButton = new QPushButton(SetFilePath); 89 | saveButton->setObjectName(QStringLiteral("saveButton")); 90 | 91 | horizontalLayout_2->addWidget(saveButton); 92 | 93 | horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 94 | 95 | horizontalLayout_2->addItem(horizontalSpacer_4); 96 | 97 | 98 | verticalLayout->addLayout(horizontalLayout_2); 99 | 100 | 101 | retranslateUi(SetFilePath); 102 | QObject::connect(selectButton, SIGNAL(clicked()), SetFilePath, SLOT(selectFilePath())); 103 | QObject::connect(saveButton, SIGNAL(clicked()), SetFilePath, SLOT(ClickSaveButton())); 104 | 105 | QMetaObject::connectSlotsByName(SetFilePath); 106 | } // setupUi 107 | 108 | void retranslateUi(QWidget *SetFilePath) 109 | { 110 | SetFilePath->setWindowTitle(QApplication::translate("SetFilePath", "Form", Q_NULLPTR)); 111 | label->setText(QApplication::translate("SetFilePath", "\344\270\213\350\275\275\350\267\257\345\276\204\357\274\232", Q_NULLPTR)); 112 | selectButton->setText(QApplication::translate("SetFilePath", "\351\200\211\346\213\251\350\267\257\345\276\204", Q_NULLPTR)); 113 | saveButton->setText(QApplication::translate("SetFilePath", "\344\277\235\345\255\230", Q_NULLPTR)); 114 | } // retranslateUi 115 | 116 | }; 117 | 118 | namespace Ui { 119 | class SetFilePath: public Ui_SetFilePath {}; 120 | } // namespace Ui 121 | 122 | QT_END_NAMESPACE 123 | 124 | #endif // UI_SETFILEPATH_H 125 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_Sign.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'Sign.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_SIGN_H 10 | #define UI_SIGN_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class Ui_Sign 24 | { 25 | public: 26 | QVBoxLayout *verticalLayout; 27 | QTableView *tableView; 28 | 29 | void setupUi(QWidget *Sign) 30 | { 31 | if (Sign->objectName().isEmpty()) 32 | Sign->setObjectName(QStringLiteral("Sign")); 33 | Sign->resize(400, 296); 34 | verticalLayout = new QVBoxLayout(Sign); 35 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 36 | verticalLayout->setContentsMargins(30, 40, 30, 30); 37 | tableView = new QTableView(Sign); 38 | tableView->setObjectName(QStringLiteral("tableView")); 39 | 40 | verticalLayout->addWidget(tableView); 41 | 42 | 43 | retranslateUi(Sign); 44 | 45 | QMetaObject::connectSlotsByName(Sign); 46 | } // setupUi 47 | 48 | void retranslateUi(QWidget *Sign) 49 | { 50 | Sign->setWindowTitle(QApplication::translate("Sign", "Form", Q_NULLPTR)); 51 | } // retranslateUi 52 | 53 | }; 54 | 55 | namespace Ui { 56 | class Sign: public Ui_Sign {}; 57 | } // namespace Ui 58 | 59 | QT_END_NAMESPACE 60 | 61 | #endif // UI_SIGN_H 62 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_SignShow.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'SignShow.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_SIGNSHOW_H 10 | #define UI_SIGNSHOW_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class Ui_SignShow 24 | { 25 | public: 26 | QVBoxLayout *verticalLayout; 27 | QWebEngineView *webEngineWidget; 28 | 29 | void setupUi(QWidget *SignShow) 30 | { 31 | if (SignShow->objectName().isEmpty()) 32 | SignShow->setObjectName(QStringLiteral("SignShow")); 33 | SignShow->resize(400, 300); 34 | verticalLayout = new QVBoxLayout(SignShow); 35 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 36 | webEngineWidget = new QWebEngineView(SignShow); 37 | webEngineWidget->setObjectName(QStringLiteral("webEngineWidget")); 38 | webEngineWidget->setUrl(QUrl(QStringLiteral("about:blank"))); 39 | 40 | verticalLayout->addWidget(webEngineWidget); 41 | 42 | 43 | retranslateUi(SignShow); 44 | 45 | QMetaObject::connectSlotsByName(SignShow); 46 | } // setupUi 47 | 48 | void retranslateUi(QWidget *SignShow) 49 | { 50 | SignShow->setWindowTitle(QApplication::translate("SignShow", "Form", Q_NULLPTR)); 51 | } // retranslateUi 52 | 53 | }; 54 | 55 | namespace Ui { 56 | class SignShow: public Ui_SignShow {}; 57 | } // namespace Ui 58 | 59 | QT_END_NAMESPACE 60 | 61 | #endif // UI_SIGNSHOW_H 62 | -------------------------------------------------------------------------------- /FileManagement/GeneratedFiles/ui_UploadWindow.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'UploadWindow.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.9.2 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_UPLOADWINDOW_H 10 | #define UI_UPLOADWINDOW_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | QT_BEGIN_NAMESPACE 26 | 27 | class Ui_UploadWindow 28 | { 29 | public: 30 | QVBoxLayout *verticalLayout; 31 | QSpacerItem *verticalSpacer; 32 | QHBoxLayout *horizontalLayout_6; 33 | QSpacerItem *horizontalSpacer; 34 | QLabel *Drag; 35 | QSpacerItem *horizontalSpacer_2; 36 | QHBoxLayout *horizontalLayout_5; 37 | QSpacerItem *horizontalSpacer_11; 38 | QVBoxLayout *FileListLayout; 39 | QSpacerItem *horizontalSpacer_12; 40 | QGridLayout *UploadGridLayout; 41 | QHBoxLayout *horizontalLayout; 42 | QSpacerItem *horizontalSpacer_3; 43 | QPushButton *selectBtn; 44 | QPushButton *sendBtn; 45 | QSpacerItem *horizontalSpacer_4; 46 | QSpacerItem *verticalSpacer_2; 47 | 48 | void setupUi(QWidget *UploadWindow) 49 | { 50 | if (UploadWindow->objectName().isEmpty()) 51 | UploadWindow->setObjectName(QStringLiteral("UploadWindow")); 52 | UploadWindow->resize(580, 458); 53 | UploadWindow->setMinimumSize(QSize(100, 100)); 54 | verticalLayout = new QVBoxLayout(UploadWindow); 55 | verticalLayout->setObjectName(QStringLiteral("verticalLayout")); 56 | verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); 57 | 58 | verticalLayout->addItem(verticalSpacer); 59 | 60 | horizontalLayout_6 = new QHBoxLayout(); 61 | horizontalLayout_6->setObjectName(QStringLiteral("horizontalLayout_6")); 62 | horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 63 | 64 | horizontalLayout_6->addItem(horizontalSpacer); 65 | 66 | Drag = new QLabel(UploadWindow); 67 | Drag->setObjectName(QStringLiteral("Drag")); 68 | 69 | horizontalLayout_6->addWidget(Drag); 70 | 71 | horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 72 | 73 | horizontalLayout_6->addItem(horizontalSpacer_2); 74 | 75 | 76 | verticalLayout->addLayout(horizontalLayout_6); 77 | 78 | horizontalLayout_5 = new QHBoxLayout(); 79 | horizontalLayout_5->setObjectName(QStringLiteral("horizontalLayout_5")); 80 | horizontalSpacer_11 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 81 | 82 | horizontalLayout_5->addItem(horizontalSpacer_11); 83 | 84 | FileListLayout = new QVBoxLayout(); 85 | FileListLayout->setObjectName(QStringLiteral("FileListLayout")); 86 | 87 | horizontalLayout_5->addLayout(FileListLayout); 88 | 89 | horizontalSpacer_12 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 90 | 91 | horizontalLayout_5->addItem(horizontalSpacer_12); 92 | 93 | 94 | verticalLayout->addLayout(horizontalLayout_5); 95 | 96 | UploadGridLayout = new QGridLayout(); 97 | UploadGridLayout->setObjectName(QStringLiteral("UploadGridLayout")); 98 | 99 | verticalLayout->addLayout(UploadGridLayout); 100 | 101 | horizontalLayout = new QHBoxLayout(); 102 | horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); 103 | horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 104 | 105 | horizontalLayout->addItem(horizontalSpacer_3); 106 | 107 | selectBtn = new QPushButton(UploadWindow); 108 | selectBtn->setObjectName(QStringLiteral("selectBtn")); 109 | QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); 110 | sizePolicy.setHorizontalStretch(0); 111 | sizePolicy.setVerticalStretch(0); 112 | sizePolicy.setHeightForWidth(selectBtn->sizePolicy().hasHeightForWidth()); 113 | selectBtn->setSizePolicy(sizePolicy); 114 | selectBtn->setMinimumSize(QSize(80, 30)); 115 | selectBtn->setMaximumSize(QSize(80, 30)); 116 | 117 | horizontalLayout->addWidget(selectBtn); 118 | 119 | sendBtn = new QPushButton(UploadWindow); 120 | sendBtn->setObjectName(QStringLiteral("sendBtn")); 121 | sizePolicy.setHeightForWidth(sendBtn->sizePolicy().hasHeightForWidth()); 122 | sendBtn->setSizePolicy(sizePolicy); 123 | sendBtn->setMinimumSize(QSize(80, 30)); 124 | sendBtn->setMaximumSize(QSize(80, 30)); 125 | 126 | horizontalLayout->addWidget(sendBtn); 127 | 128 | horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); 129 | 130 | horizontalLayout->addItem(horizontalSpacer_4); 131 | 132 | 133 | verticalLayout->addLayout(horizontalLayout); 134 | 135 | verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); 136 | 137 | verticalLayout->addItem(verticalSpacer_2); 138 | 139 | 140 | retranslateUi(UploadWindow); 141 | QObject::connect(selectBtn, SIGNAL(clicked()), UploadWindow, SLOT(ClickOpenButton())); 142 | QObject::connect(sendBtn, SIGNAL(clicked()), UploadWindow, SLOT(ClickSendButton())); 143 | 144 | QMetaObject::connectSlotsByName(UploadWindow); 145 | } // setupUi 146 | 147 | void retranslateUi(QWidget *UploadWindow) 148 | { 149 | UploadWindow->setWindowTitle(QApplication::translate("UploadWindow", "Form", Q_NULLPTR)); 150 | Drag->setText(QApplication::translate("UploadWindow", "TextLabel", Q_NULLPTR)); 151 | selectBtn->setText(QApplication::translate("UploadWindow", "\346\211\223\345\274\200\346\226\207\344\273\266", Q_NULLPTR)); 152 | sendBtn->setText(QApplication::translate("UploadWindow", "\345\217\221\351\200\201\346\226\207\344\273\266", Q_NULLPTR)); 153 | } // retranslateUi 154 | 155 | }; 156 | 157 | namespace Ui { 158 | class UploadWindow: public Ui_UploadWindow {}; 159 | } // namespace Ui 160 | 161 | QT_END_NAMESPACE 162 | 163 | #endif // UI_UPLOADWINDOW_H 164 | -------------------------------------------------------------------------------- /FileManagement/Login.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Login.cpp -------------------------------------------------------------------------------- /FileManagement/Login.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Login.h -------------------------------------------------------------------------------- /FileManagement/Login.qss: -------------------------------------------------------------------------------- 1 | QPushButton#m_LoginButton { 2 | color: white; 3 | background-color: rgb(14, 150, 254); 4 | border: 1px solid rgb(11, 137, 234); 5 | /*border-width: 10px; 6 | border-radius: 5px;*/ 7 | } 8 | QPushButton#m_LoginButton:hover { 9 | color: white; 10 | background-color: rgb(44, 137, 255); 11 | border: 1px solid rgb(11, 137, 234); 12 | } 13 | 14 | QPushButton#m_LoginButton:pressed { 15 | color: white; 16 | background-color: rgb(14, 135, 228); 17 | border: 1px solid rgb(12, 138, 235); 18 | padding-left: 3px; 19 | padding-top: 3px; 20 | } 21 | QPushButton#m_LoginButton { 22 | color: white; 23 | background-color: rgb(14, 150, 254); 24 | border: 1px solid rgb(11, 137, 234); 25 | /*border-width: 10px; 26 | border-radius: 5px;*/ 27 | } 28 | 29 | QPushButton#m_LoginButton:hover { 30 | color: white; 31 | background-color: rgb(44, 137, 255); 32 | border: 1px solid rgb(11, 137, 234); 33 | } 34 | 35 | QPushButton#m_LoginButton:pressed { 36 | color: white; 37 | background-color: rgb(14, 135, 228); 38 | border: 1px solid rgb(12, 138, 235); 39 | padding-left: 3px; 40 | padding-top: 3px; 41 | } 42 | 43 | QPushButton#m_RegisterButton { 44 | color: white; 45 | background-color: rgb(14, 150, 254); 46 | border: 1px solid rgb(11, 137, 234); 47 | /*border-width: 10px; 48 | border-radius: 5px;*/ 49 | } 50 | QPushButton#m_RegisterButton:hover { 51 | color: white; 52 | background-color: rgb(44, 137, 255); 53 | border: 1px solid rgb(11, 137, 234); 54 | } 55 | 56 | QPushButton#m_RegisterButton:pressed { 57 | color: white; 58 | background-color: rgb(14, 135, 228); 59 | border: 1px solid rgb(12, 138, 235); 60 | padding-left: 3px; 61 | padding-top: 3px; 62 | } 63 | 64 | -------------------------------------------------------------------------------- /FileManagement/MoneyManage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/MoneyManage.cpp -------------------------------------------------------------------------------- /FileManagement/MoneyManage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/MoneyManage.h -------------------------------------------------------------------------------- /FileManagement/MoneyManage.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | MoneyManage 4 | 5 | 6 | 7 | 0 8 | 0 9 | 727 10 | 536 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 9 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 0 31 | 32 | 33 | 34 | 35 | 0 36 | 37 | 38 | 39 | 40 | 41 | 0 42 | 0 43 | 44 | 45 | 46 | 47 | 0 48 | 30 49 | 50 | 51 | 52 | 53 | 16777215 54 | 30 55 | 56 | 57 | 58 | border-color: rgb(0, 85, 255); 59 | background-image: url(:/Resource/moneyBackground.jpg); 60 | font: 14pt "04b_21"; 61 | color: rgb(255, 255, 255); 62 | 63 | 64 | 65 | 最近收支情况 66 | 67 | 68 | Qt::AutoText 69 | 70 | 71 | 72 | 73 | 74 | 75 | 10 76 | 77 | 78 | 10 79 | 80 | 81 | 10 82 | 83 | 84 | 10 85 | 86 | 87 | 10 88 | 89 | 90 | 91 | 92 | 93 | 0 94 | 0 95 | 96 | 97 | 98 | 99 | 500 100 | 100 101 | 102 | 103 | 104 | 105 | 16777215 106 | 16777215 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | Qt::Horizontal 115 | 116 | 117 | QSizePolicy::Minimum 118 | 119 | 120 | 121 | 30 122 | 20 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | background:transparent; 131 | border:1px solid rgb(89, 153, 48); 132 | border-radius:10px; 133 | padding:10px 12px; 134 | color: green; 135 | 136 | 137 | 记账 138 | 139 | 140 | false 141 | 142 | 143 | 144 | 145 | 146 | 147 | background:transparent; 148 | border:1px solid rgb(87, 118, 255); 149 | border-radius:10px; 150 | padding:10px 12px; 151 | color: green; 152 | 153 | 154 | 查看 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | RecordButton 170 | clicked() 171 | MoneyManage 172 | clickAccountingButton() 173 | 174 | 175 | 588 176 | 271 177 | 178 | 179 | 875 180 | 168 181 | 182 | 183 | 184 | 185 | 186 | clickAccountingButton() 187 | 188 | 189 | -------------------------------------------------------------------------------- /FileManagement/MyDataBase.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/MyDataBase.db -------------------------------------------------------------------------------- /FileManagement/MyMessageBox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/MyMessageBox.cpp -------------------------------------------------------------------------------- /FileManagement/MyMessageBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/MyMessageBox.h -------------------------------------------------------------------------------- /FileManagement/MyMessageBox.qss: -------------------------------------------------------------------------------- 1 | *{font-family:Microsoft YaHei;} 2 | 3 | MessageContent 4 | { 5 | font-size:14px; 6 | } 7 | 8 | pButtonOk 9 | { 10 | color:white; 11 | background-color:rgb(14 , 150 , 254); 12 | border: 1px solid rgb(11 , 137 , 234); 13 | } 14 | 15 | pButtonOk:hover 16 | { 17 | color:white; 18 | background-color:rgb(44 , 137 , 255); 19 | border: 1px solid rgb(11 , 137 , 234); 20 | } 21 | 22 | pButtonOk:pressed 23 | { 24 | color:white; 25 | background-color:rgb(14 , 135 , 228); 26 | border: 1px solid rgb(12 , 138 , 235); 27 | padding-left:3px; 28 | padding-top:3px; 29 | } 30 | 31 | pButtonCancel 32 | { 33 | color:black; 34 | background-color:rgb(238 , 238 , 238); 35 | border: 1px solid rgb(183 , 183 , 183); 36 | } 37 | 38 | pButtonCancel:hover 39 | { 40 | color:black; 41 | background-color:rgb(228 , 240 , 250); 42 | border: 1px solid rgb(15 , 150 , 255); 43 | } 44 | 45 | pButtonCancel:pressed 46 | { 47 | color:black; 48 | background-color:rgb(204 , 228 , 247); 49 | border: 1px solid rgb(1 , 84 , 153); 50 | padding-left:3px; 51 | padding-top:3px; 52 | } 53 | 54 | inputContent 55 | { 56 | border: 1px solid rgb(195 , 195 , 195); 57 | } 58 | 59 | inputContent:hover 60 | { 61 | border: 1px solid rgb(1 , 186 , 255 ); 62 | } -------------------------------------------------------------------------------- /FileManagement/MyMessageBox.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | MyMessageBox 4 | 5 | 6 | 7 | 0 8 | 0 9 | 340 10 | 184 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | TextLabel 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 0 31 | 0 32 | 33 | 34 | 35 | <html><head/><body><p>TextLabel</p></body></html> 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Qt::Horizontal 50 | 51 | 52 | 53 | 40 54 | 20 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 0 64 | 0 65 | 66 | 67 | 68 | 69 | 70 70 | 20 71 | 72 | 73 | 74 | 75 | 70 76 | 30 77 | 78 | 79 | 80 | 81 | 82 | 83 | PushButton 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 0 92 | 0 93 | 94 | 95 | 96 | 97 | 70 98 | 20 99 | 100 | 101 | 102 | 103 | 70 104 | 30 105 | 106 | 107 | 108 | 109 | 110 | 111 | PushButton 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /FileManagement/Register.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Register.cpp -------------------------------------------------------------------------------- /FileManagement/Register.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Register.h -------------------------------------------------------------------------------- /FileManagement/Report.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "stdafx.h" 3 | #ifndef _REPORT_H_ 4 | #define _REPORT_H_ 5 | struct ReportInfo 6 | { 7 | QString reportId; 8 | QString reportName; 9 | QString reportNumber; 10 | QString reportLevel; 11 | QString reportTeacher; 12 | QString reportTerm; 13 | QString reportWeek; 14 | QString reportTime; 15 | QString reportMain; 16 | QString reportQuestionForSolve; 17 | QString reportQuestionHasSolved; 18 | QString reportQuestionFromLastWeek; 19 | QString reportYourGet; 20 | QString reportUserName; 21 | int reportUserId; 22 | }; 23 | 24 | 25 | inline QDataStream &operator>>(QDataStream &in, ReportInfo &reportInfo) 26 | { 27 | QString reportId; 28 | QString reportName; 29 | QString reportNumber; 30 | QString reportLevel; 31 | QString reportTeacher; 32 | QString reportTerm; 33 | QString reportWeek; 34 | QString reportTime; 35 | QString reportMain; 36 | QString reportQuestionForSolve; 37 | QString reportQuestionHasSolved; 38 | QString reportQuestionFromLastWeek; 39 | QString reportYourGet; 40 | QString reportUserName; 41 | int reportUserId; 42 | 43 | in >> reportId >> reportName >> reportNumber 44 | >> reportLevel >> reportTeacher >> reportTerm >> reportWeek 45 | >> reportTime>> reportMain>> reportQuestionForSolve>> reportQuestionHasSolved 46 | >> reportQuestionFromLastWeek >> reportYourGet 47 | >> reportUserName>>reportUserId; 48 | 49 | 50 | reportInfo.reportId = reportId; 51 | reportInfo.reportName = reportName; 52 | reportInfo.reportNumber = reportNumber; 53 | reportInfo.reportLevel = reportLevel; 54 | reportInfo.reportTeacher = reportTeacher; 55 | reportInfo.reportTerm = reportTerm; 56 | reportInfo.reportWeek = reportWeek; 57 | reportInfo.reportTime = reportTime; 58 | reportInfo.reportMain = reportMain; 59 | reportInfo.reportQuestionForSolve = reportQuestionForSolve; 60 | reportInfo.reportQuestionHasSolved = reportQuestionHasSolved; 61 | reportInfo.reportQuestionFromLastWeek = reportQuestionFromLastWeek; 62 | reportInfo.reportYourGet = reportYourGet; 63 | reportInfo.reportUserName = reportUserName; 64 | reportInfo.reportUserId = reportUserId; 65 | 66 | return in; 67 | } 68 | 69 | 70 | inline QDataStream &operator<<(QDataStream &out, const ReportInfo &reportInfo) 71 | { 72 | out << reportInfo.reportId << reportInfo.reportName << reportInfo.reportNumber 73 | << reportInfo.reportLevel << reportInfo.reportTeacher << reportInfo.reportTerm 74 | << reportInfo.reportWeek << reportInfo.reportTime << reportInfo.reportMain 75 | << reportInfo.reportQuestionForSolve << reportInfo.reportQuestionHasSolved 76 | << reportInfo.reportQuestionFromLastWeek << reportInfo.reportYourGet 77 | << reportInfo.reportUserName << reportInfo.reportUserId; 78 | return out; 79 | } 80 | #endif // !_REPORT_H_ 81 | -------------------------------------------------------------------------------- /FileManagement/ReportDetail.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportDetail.cpp -------------------------------------------------------------------------------- /FileManagement/ReportDetail.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportDetail.h -------------------------------------------------------------------------------- /FileManagement/ReportEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportEdit.cpp -------------------------------------------------------------------------------- /FileManagement/ReportEdit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportEdit.h -------------------------------------------------------------------------------- /FileManagement/ReportEdit.qss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportEdit.qss -------------------------------------------------------------------------------- /FileManagement/ReportLook.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportLook.cpp -------------------------------------------------------------------------------- /FileManagement/ReportLook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/ReportLook.h -------------------------------------------------------------------------------- /FileManagement/ReportLook.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ReportLook 4 | 5 | 6 | 7 | 0 8 | 0 9 | 626 10 | 471 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Qt::Horizontal 23 | 24 | 25 | 26 | 40 27 | 20 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 查看我的周报 36 | 37 | 38 | 39 | 40 | 41 | 42 | Qt::Horizontal 43 | 44 | 45 | 46 | 40 47 | 20 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 按条件查找: 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 所有 66 | 67 | 68 | 69 | 70 | 姓名 71 | 72 | 73 | 74 | 75 | 学期 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | Qt::Horizontal 89 | 90 | 91 | 92 | 40 93 | 20 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 0 105 | 0 106 | 107 | 108 | 109 | 110 | 600 111 | 400 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | LookMyReport 126 | clicked() 127 | ReportLook 128 | ClickLookMyReportButton() 129 | 130 | 131 | 117 132 | 22 133 | 134 | 135 | -67 136 | 44 137 | 138 | 139 | 140 | 141 | 142 | ClickLookMyReportButton() 143 | 144 | 145 | -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/Drag-Drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/Drag-Drop.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/download.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/exit.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/moneyManage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/moneyManage.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/reportEdit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/reportEdit.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/reportLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/reportLook.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/showFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/showFile.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/upload.png -------------------------------------------------------------------------------- /FileManagement/Resource/FunIcon/userInfo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/FunIcon/userInfo.png -------------------------------------------------------------------------------- /FileManagement/Resource/Logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/Logo.gif -------------------------------------------------------------------------------- /FileManagement/Resource/Logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/Logo.ico -------------------------------------------------------------------------------- /FileManagement/Resource/Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/Logo.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/blue.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/icon/correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/correct.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/deleteFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/deleteFile.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/downloadFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/downloadFile.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/error.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/level.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/lookReport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/lookReport.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/message_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/message_delete.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/message_tips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/message_tips.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/message_warnning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/message_warnning.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/pass.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/pwd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/pwd.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/pwd2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/pwd2.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/studentId.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/studentId.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/teacher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/teacher.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/truename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/truename.png -------------------------------------------------------------------------------- /FileManagement/Resource/icon/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/icon/user.png -------------------------------------------------------------------------------- /FileManagement/Resource/moneyBackground.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/moneyBackground.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/qss/Login.qss: -------------------------------------------------------------------------------- 1 | QPushButton#m_LoginButton { 2 | color: white; 3 | background-color: rgb(14, 150, 254); 4 | border: 1px solid rgb(11, 137, 234); 5 | /*border-width: 10px; 6 | border-radius: 5px;*/ 7 | } 8 | QPushButton#m_LoginButton:hover { 9 | color: white; 10 | background-color: rgb(44, 137, 255); 11 | border: 1px solid rgb(11, 137, 234); 12 | } 13 | 14 | QPushButton#m_LoginButton:pressed { 15 | color: white; 16 | background-color: rgb(14, 135, 228); 17 | border: 1px solid rgb(12, 138, 235); 18 | padding-left: 3px; 19 | padding-top: 3px; 20 | } 21 | -------------------------------------------------------------------------------- /FileManagement/Resource/qss/MyMessageBox.qss: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Microsoft YaHei; 3 | } 4 | 5 | QLabel#mFileName { 6 | font-size: 14px; 7 | } 8 | 9 | QPushButton#pButtonOk { 10 | color: white; 11 | background-color: rgb(14, 150, 254); 12 | border: 1px solid rgb(11, 137, 234); 13 | 14 | 15 | } 16 | 17 | QPushButton#pButtonOk:hover { 18 | color: white; 19 | background-color: rgb(44, 137, 255); 20 | border: 1px solid rgb(11, 137, 234); 21 | } 22 | 23 | QPushButton#pButtonOk:pressed { 24 | color: white; 25 | background-color: rgb(14, 135, 228); 26 | border: 1px solid rgb(12, 138, 235); 27 | padding-left: 3px; 28 | padding-top: 3px; 29 | } 30 | 31 | QPushButton#pButtonCancel { 32 | color: black; 33 | background-color: rgb(238, 238, 238); 34 | border: 1px solid rgb(183, 183, 183); 35 | } 36 | 37 | QPushButton#pButtonCancel:hover { 38 | color: black; 39 | background-color: rgb(228, 240, 250); 40 | border: 1px solid rgb(15, 150, 255); 41 | } 42 | 43 | QPushButton#pButtonCancel:pressed { 44 | color: black; 45 | background-color: rgb(204, 228, 247); 46 | border: 1px solid rgb(1, 84, 153); 47 | padding-left: 3px; 48 | padding-top: 3px; 49 | } 50 | 51 | QLineEdit#inputContent { 52 | border: 1px solid rgb(195, 195, 195); 53 | } 54 | 55 | QLineEdit#inputContent:hover { 56 | border: 1px solid rgb(1, 186, 255 ); 57 | } 58 | -------------------------------------------------------------------------------- /FileManagement/Resource/qss/MyTitle.qss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/qss/MyTitle.qss -------------------------------------------------------------------------------- /FileManagement/Resource/qss/Register.qss: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Microsoft YaHei; 3 | } 4 | 5 | QLabel { 6 | font-size: 14px; 7 | } -------------------------------------------------------------------------------- /FileManagement/Resource/qss/ReportDetail.qss: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Microsoft YaHei; 3 | } 4 | QPlainTextEdit 5 | { 6 | font-size: 14px; 7 | background:transparent; 8 | border-width:0; 9 | border-style:outset; 10 | color:black; 11 | } 12 | 13 | QLabel#reporterDetail 14 | { 15 | font-size: 20px; 16 | } 17 | QLabel#reportTime 18 | { 19 | font-size: 14px; 20 | } -------------------------------------------------------------------------------- /FileManagement/Resource/qss/ReportEdit.qss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/qss/ReportEdit.qss -------------------------------------------------------------------------------- /FileManagement/Resource/qss/ReportLook.qss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/qss/ReportLook.qss -------------------------------------------------------------------------------- /FileManagement/Resource/qss/UploadFile.qss: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Microsoft YaHei; 3 | } 4 | 5 | QLabel#mFileName{ 6 | font-size: 12px; 7 | } 8 | QPushButton#sendBtn { 9 | color: white; 10 | background-color: rgb(14, 150, 254); 11 | border: 1px solid rgb(11, 137, 234); 12 | 13 | } 14 | 15 | QPushButton#sendBtn:hover { 16 | color: white; 17 | background-color: rgb(44, 137, 255); 18 | border: 1px solid rgb(11, 137, 234); 19 | } 20 | QPushButton#sendBtn:pressed { 21 | color: white; 22 | background-color: rgb(14, 135, 228); 23 | border: 1px solid rgb(12, 138, 235); 24 | padding-left: 3px; 25 | padding-top: 3px; 26 | } 27 | QPushButton#sendBtn:!enabled{ 28 | background-color: rgb(100, 100, 100); 29 | border-style: inset; 30 | } -------------------------------------------------------------------------------- /FileManagement/Resource/qss/mainWindow.qss: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: Microsoft YaHei; 3 | } 4 | 5 | QLabel#mFileName { 6 | font-size: 14px; 7 | } 8 | 9 | QToolButton { 10 | border: 1px solid rgb(11, 137, 234); 11 | } 12 | 13 | QToolButton:hover { 14 | background-color: rgb(190, 190, 190); 15 | color: white; 16 | } 17 | 18 | QToolButton:pressed { 19 | background-color: rgb(0, 255, 255); 20 | border: 1px solid rgb(11, 137, 234); 21 | } 22 | QToolButton:checked { 23 | background-color: rgb(0, 255, 255); 24 | border: 1px solid rgb(11, 137, 234); 25 | } 26 | QLabel#titleLabel { 27 | background-image: url(:/Resource/title/gray1.jpg); 28 | } 29 | -------------------------------------------------------------------------------- /FileManagement/Resource/title/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/background.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/title/blue2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/blue2.png -------------------------------------------------------------------------------- /FileManagement/Resource/title/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/close.png -------------------------------------------------------------------------------- /FileManagement/Resource/title/gray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/gray.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/title/gray1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/gray1.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/title/max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/max.png -------------------------------------------------------------------------------- /FileManagement/Resource/title/mi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/mi.jpg -------------------------------------------------------------------------------- /FileManagement/Resource/title/min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Resource/title/min.png -------------------------------------------------------------------------------- /FileManagement/SetFilePath.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/SetFilePath.cpp -------------------------------------------------------------------------------- /FileManagement/SetFilePath.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef SETFILEPATH_H_ 3 | #define SETFILEPATH_H_ 4 | #include "stdafx.h" 5 | #include "BaseWindow.h" 6 | #include "ui_SetFilePath.h" 7 | class SetFilePath :public BaseWindow 8 | { 9 | Q_OBJECT 10 | public: 11 | SetFilePath(QWidget *parent = Q_NULLPTR); 12 | ~SetFilePath(); 13 | 14 | public slots: 15 | void selectFilePath(); 16 | void ClickSaveButton(); 17 | void defaultPath(); 18 | signals: 19 | void sendFilePath(QString); 20 | 21 | 22 | private: 23 | Ui::SetFilePath *ui; 24 | QString filePath; 25 | bool isDefualt = false; 26 | }; 27 | 28 | #endif // !SETFILEPATH_H_ 29 | 30 | 31 | -------------------------------------------------------------------------------- /FileManagement/SetFilePath.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | SetFilePath 4 | 5 | 6 | 7 | 0 8 | 0 9 | 337 10 | 232 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | Qt::Vertical 21 | 22 | 23 | QSizePolicy::Fixed 24 | 25 | 26 | 27 | 20 28 | 40 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 下载路径: 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 选择路径 62 | 63 | 64 | 65 | 66 | 67 | 68 | Qt::Horizontal 69 | 70 | 71 | 72 | 40 73 | 20 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | Qt::Horizontal 86 | 87 | 88 | 89 | 40 90 | 20 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 保存 99 | 100 | 101 | 102 | 103 | 104 | 105 | Qt::Horizontal 106 | 107 | 108 | 109 | 40 110 | 20 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | selectButton 123 | clicked() 124 | SetFilePath 125 | selectFilePath() 126 | 127 | 128 | 269 129 | 96 130 | 131 | 132 | 362 133 | 192 134 | 135 | 136 | 137 | 138 | saveButton 139 | clicked() 140 | SetFilePath 141 | ClickSaveButton() 142 | 143 | 144 | 312 145 | 180 146 | 147 | 148 | 342 149 | 255 150 | 151 | 152 | 153 | 154 | 155 | selectFilePath() 156 | ClickSaveButton() 157 | 158 | 159 | -------------------------------------------------------------------------------- /FileManagement/Sign.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Sign.cpp -------------------------------------------------------------------------------- /FileManagement/Sign.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Sign.h -------------------------------------------------------------------------------- /FileManagement/Sign.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sign 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 296 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 30 19 | 20 | 21 | 40 22 | 23 | 24 | 30 25 | 26 | 27 | 30 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /FileManagement/SignCalender.cpp: -------------------------------------------------------------------------------- 1 | #include "SignCalender.h" 2 | #include 3 | #include 4 | #include 5 | 6 | 7 | SignCalender::SignCalender(QObject *parent): QObject(parent) { 8 | dateArray.push_back("2018-03-01"); 9 | dateArray.push_back("2018-03-02"); 10 | dateArray.push_back("2018-03-04"); 11 | dateArray.push_back("2018-03-06"); 12 | } 13 | 14 | void SignCalender::receiveSignInfo(QString data) 15 | { 16 | 17 | 18 | //QStringList listNumber = data.split("#"); 19 | //for (int i = 0; i < listNumber.size(); i++) 20 | //{ 21 | // qDebug() << listNumber.at(i); 22 | // dateArray.push_back(listNumber.at(i)); 23 | //} 24 | 25 | } 26 | 27 | QString SignCalender::getInfo() const { 28 | return dateArray.join(","); 29 | } 30 | 31 | void SignCalender::setInfo(QString inf) { 32 | dateArray = inf.split(","); 33 | } 34 | 35 | void SignCalender::callFromJS(QString info) { 36 | qDebug("called"); 37 | qDebug() << info; 38 | } 39 | -------------------------------------------------------------------------------- /FileManagement/SignCalender.h: -------------------------------------------------------------------------------- 1 | #ifndef SIGNCALENDER_H_ 2 | #define SIGNCALENDER_H_ 3 | #include"stdafx.h" 4 | #include 5 | #include 6 | 7 | class SignCalender : public QObject { 8 | Q_OBJECT 9 | Q_PROPERTY(QString info MEMBER m_info READ getInfo WRITE setInfo NOTIFY infoChanged) 10 | 11 | public: 12 | explicit SignCalender(QObject *parent = 0); 13 | 14 | QString getInfo() const; 15 | void setInfo(QString inf); 16 | 17 | signals: 18 | void infoChanged(QString); 19 | 20 | public slots: 21 | void callFromJS(QString info); 22 | void receiveSignInfo(QString); 23 | 24 | private: 25 | QStringList dateArray; 26 | }; 27 | 28 | 29 | #endif // OBJECT_H 30 | -------------------------------------------------------------------------------- /FileManagement/SignShow.cpp: -------------------------------------------------------------------------------- 1 | #include "SignShow.h" 2 | 3 | 4 | 5 | SignShow::SignShow(QWidget *parent) : 6 | QWidget(parent), 7 | ui(new Ui::SignShow) 8 | { 9 | ui->setupUi(this); 10 | signCalender = new SignCalender(); 11 | ui->webEngineWidget->load(QUrl("qrc:/web/index.html")); 12 | ui->webEngineWidget->setZoomFactor(0.55); 13 | 14 | QWebChannel *channel = new QWebChannel(ui->webEngineWidget->page()); 15 | channel->registerObject("myObject", signCalender); 16 | ui->webEngineWidget->page()->setWebChannel(channel); 17 | 18 | signCalender->setProperty("info", signCalender->getInfo()); 19 | qDebug() << signCalender->getInfo(); 20 | connect(this, SIGNAL(sendMySignInfo(QString)), signCalender, SLOT(receiveSignInfo(QString))); 21 | sendMySignLook(); 22 | } 23 | 24 | 25 | SignShow::~SignShow() 26 | { 27 | 28 | } 29 | 30 | void SignShow::sendMySignLook() 31 | { 32 | QString data = "QueryMySign#" + globalUserName; 33 | tcp->tcpSocket->write(data.toUtf8()); 34 | disconnect(tcp->tcpSocket, SIGNAL(readyRead()), tcp, SLOT(readMessages())); 35 | connect(tcp->tcpSocket, SIGNAL(readyRead()),this, SLOT(showMySignLook())); 36 | } 37 | 38 | void SignShow::showMySignLook() 39 | { 40 | QByteArray dataread = tcp->tcpSocket->readAll(); 41 | QString data = QString::fromUtf8(dataread); 42 | qDebug() << data; 43 | emit sendMySignInfo(data); 44 | connect(tcp->tcpSocket, SIGNAL(readyRead()), tcp, SLOT(readMessages())); 45 | disconnect(tcp->tcpSocket, SIGNAL(readyRead()), this, SLOT(showMySignLook())); 46 | } -------------------------------------------------------------------------------- /FileManagement/SignShow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/SignShow.h -------------------------------------------------------------------------------- /FileManagement/SignShow.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | SignShow 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 300 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | 21 | about:blank 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | QWebEngineView 31 | QWidget 32 |
QtWebEngineWidgets/QWebEngineView
33 |
34 |
35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /FileManagement/TableModel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/TableModel.cpp -------------------------------------------------------------------------------- /FileManagement/TableModel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef TABLEMODEL_H 3 | #define TABLEMODEL_H 4 | 5 | #include 6 | 7 | class TableModel : public QAbstractTableModel 8 | { 9 | Q_OBJECT 10 | public: 11 | explicit TableModel(QObject *parent = 0); 12 | int rowCount(const QModelIndex &parent) const; 13 | int columnCount(const QModelIndex &parent) const; 14 | QVariant data(const QModelIndex &index, int role) const; 15 | Qt::ItemFlags flags(const QModelIndex &index) const; 16 | void setHorizontalHeader(const QStringList& headers); 17 | QVariant headerData(int section, Qt::Orientation orientation, int role) const; 18 | void setData(const QVector& data); 19 | QVector& DataVector() { return m_data; } 20 | ~TableModel(void); 21 | 22 | signals: 23 | 24 | public slots : 25 | 26 | private: 27 | QStringList m_HorizontalHeader; 28 | QVector m_data; 29 | 30 | }; 31 | 32 | #endif // TABLEMODEL_H -------------------------------------------------------------------------------- /FileManagement/Taes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/Taes.cpp -------------------------------------------------------------------------------- /FileManagement/TitleBar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/TitleBar.cpp -------------------------------------------------------------------------------- /FileManagement/TitleBar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/TitleBar.h -------------------------------------------------------------------------------- /FileManagement/UploadFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadFile.cpp -------------------------------------------------------------------------------- /FileManagement/UploadFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadFile.h -------------------------------------------------------------------------------- /FileManagement/UploadThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadThread.cpp -------------------------------------------------------------------------------- /FileManagement/UploadThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadThread.h -------------------------------------------------------------------------------- /FileManagement/UploadWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadWindow.cpp -------------------------------------------------------------------------------- /FileManagement/UploadWindow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/UploadWindow.h -------------------------------------------------------------------------------- /FileManagement/UploadWindow.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | UploadWindow 4 | 5 | 6 | 7 | 0 8 | 0 9 | 580 10 | 458 11 | 12 | 13 | 14 | 15 | 100 16 | 100 17 | 18 | 19 | 20 | Form 21 | 22 | 23 | 24 | 25 | 26 | Qt::Vertical 27 | 28 | 29 | 30 | 20 31 | 40 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Qt::Horizontal 42 | 43 | 44 | 45 | 40 46 | 20 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | TextLabel 55 | 56 | 57 | 58 | 59 | 60 | 61 | Qt::Horizontal 62 | 63 | 64 | 65 | 40 66 | 20 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | Qt::Horizontal 79 | 80 | 81 | 82 | 40 83 | 20 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | Qt::Horizontal 95 | 96 | 97 | 98 | 40 99 | 20 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | Qt::Horizontal 115 | 116 | 117 | 118 | 40 119 | 20 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 0 129 | 0 130 | 131 | 132 | 133 | 134 | 80 135 | 30 136 | 137 | 138 | 139 | 140 | 80 141 | 30 142 | 143 | 144 | 145 | 打开文件 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 0 154 | 0 155 | 156 | 157 | 158 | 159 | 80 160 | 30 161 | 162 | 163 | 164 | 165 | 80 166 | 30 167 | 168 | 169 | 170 | 发送文件 171 | 172 | 173 | 174 | 175 | 176 | 177 | Qt::Horizontal 178 | 179 | 180 | 181 | 40 182 | 20 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | Qt::Vertical 193 | 194 | 195 | 196 | 20 197 | 40 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | selectBtn 208 | clicked() 209 | UploadWindow 210 | ClickOpenButton() 211 | 212 | 213 | 122 214 | 101 215 | 216 | 217 | 231 218 | 63 219 | 220 | 221 | 222 | 223 | sendBtn 224 | clicked() 225 | UploadWindow 226 | ClickSendButton() 227 | 228 | 229 | 302 230 | 105 231 | 232 | 233 | 384 234 | 83 235 | 236 | 237 | 238 | 239 | 240 | ClickOpenButton() 241 | ClickSendButton() 242 | 243 | 244 | -------------------------------------------------------------------------------- /FileManagement/UserInformation.cpp: -------------------------------------------------------------------------------- 1 | #include "UserInformation.h" 2 | #include "MyMessageBox.h" 3 | #include "ui_UserInformation.h" 4 | #include "SignShow.h" 5 | #include 6 | #include 7 | #include "Sign.h" 8 | 9 | 10 | UserInformation::UserInformation(QWidget *parent) : 11 | QWidget(parent), 12 | ui(new Ui::UserInformation) 13 | { 14 | ui->setupUi(this); 15 | ui->cancelButton->hide(); 16 | ui->confirmButton->hide(); 17 | 18 | QPixmap pix = QPixmap("D://code/LabApp/Information/pic.jpg"); 19 | ui->picLabel->setPixmap(pix); 20 | 21 | //编辑栏初始状态不可编辑 22 | ui->nameLineEdit->setReadOnly(true); 23 | ui->IDlineEdit->setReadOnly(true); 24 | ui->phoneLineEdit->setReadOnly(true); 25 | ui->QQlineEdit->setReadOnly(true); 26 | ui->addressLineEdit->setReadOnly(true); 27 | 28 | //边框取消 29 | ui->nameLineEdit->setStyleSheet("border-style:outset"); 30 | ui->IDlineEdit->setStyleSheet("border-style:outset"); 31 | ui->phoneLineEdit->setStyleSheet("border-style:outset"); 32 | ui->QQlineEdit->setStyleSheet("border-style:outset"); 33 | ui->addressLineEdit->setStyleSheet("border-style:outset"); 34 | 35 | //connect(ui->SignButton, SIGNAL(clicked()), this, SLOT(sendSignToServer())); 36 | //connect(ui->LookSignButton, SIGNAL(clicked()), this, SLOT(showSignList())); 37 | //connect(ui->LookMySignButton, SIGNAL(clicked()), this, SLOT(showMySign())); 38 | 39 | /* connect(tcp, SIGNAL(sendDataToSign(QString)), this, SLOT(receiveDataFromClient(QString)));*/ 40 | 41 | } 42 | 43 | UserInformation::~UserInformation() 44 | { 45 | delete ui; 46 | } 47 | 48 | 49 | void UserInformation::on_alterButton_clicked() 50 | { 51 | ui->alterButton->hide();//修改按钮 52 | ui->cancelButton->show();//取消按钮 53 | ui->confirmButton->show();//确认按钮 54 | //ui->passAlterButton->hide();//密码修改按钮 55 | 56 | //显示编辑状态 57 | //ui->nameLineEdit->setReadOnly(false); 58 | ui->IDlineEdit->setReadOnly(false); 59 | ui->phoneLineEdit->setReadOnly(false); 60 | ui->QQlineEdit->setReadOnly(false); 61 | ui->addressLineEdit->setReadOnly(false); 62 | 63 | //编辑栏显示 64 | //ui->nameLineEdit->setStyleSheet("border-style:solid;border-width:1px"); 65 | ui->IDlineEdit->setStyleSheet("border-style:solid;border-width:1px"); 66 | ui->phoneLineEdit->setStyleSheet("border-style:solid;border-width:1px"); 67 | ui->QQlineEdit->setStyleSheet("border-style:solid;border-width:1px"); 68 | ui->addressLineEdit->setStyleSheet("border-style:solid;border-width:1px"); 69 | 70 | //还原编辑状态 71 | //ui->nameLineEdit->setDisabled(false); 72 | ui->IDlineEdit->setDisabled(false); 73 | ui->addressLineEdit->setDisabled(false); 74 | ui->QQlineEdit->setDisabled(false); 75 | ui->phoneLineEdit->setDisabled(false); 76 | 77 | 78 | } 79 | 80 | void UserInformation::on_confirmButton_clicked() 81 | { 82 | ui->alterButton->show(); 83 | ui->confirmButton->hide(); 84 | ui->cancelButton->hide(); 85 | 86 | ui->nameLineEdit->setReadOnly(true); 87 | ui->IDlineEdit->setReadOnly(true); 88 | ui->phoneLineEdit->setReadOnly(true); 89 | ui->QQlineEdit->setReadOnly(true); 90 | ui->addressLineEdit->setReadOnly(true); 91 | 92 | ui->nameLineEdit->setStyleSheet("border-style:outset"); 93 | ui->IDlineEdit->setStyleSheet("border-style:outset"); 94 | ui->phoneLineEdit->setStyleSheet("border-style:outset"); 95 | ui->QQlineEdit->setStyleSheet("border-style:outset"); 96 | ui->addressLineEdit->setStyleSheet("border-style:outset"); 97 | 98 | 99 | //把用户信息发给tcp,包括学号手机号和QQ还有email 100 | 101 | QString data = "alterUserInfo#" + ui->nameLineEdit->text() + "#"+ ui->IDlineEdit->text() 102 | + "#" + ui->phoneLineEdit->text() + "#" + ui->QQlineEdit->text() 103 | + "#" + ui->addressLineEdit->text(); 104 | QByteArray datasend = data.toUtf8(); 105 | qDebug() << datasend; 106 | tcp->tcpSocket->write(datasend); 107 | 108 | } 109 | 110 | void UserInformation::on_cancelButton_clicked() 111 | { 112 | ui->alterButton->show(); 113 | ui->cancelButton->hide(); 114 | ui->confirmButton->hide(); 115 | 116 | ui->nameLineEdit->setReadOnly(false); 117 | ui->nameLineEdit->setDisabled(true); 118 | //ui->nameLineEdit->setText(userName); 119 | 120 | ui->IDlineEdit->setReadOnly(false); 121 | ui->IDlineEdit->setDisabled(true); 122 | //ui->IDlineEdit->setText(studentId); 123 | 124 | ui->phoneLineEdit->setReadOnly(false); 125 | ui->phoneLineEdit->setDisabled(true); 126 | //ui->phoneLineEdit->setText(phoneNumber); 127 | 128 | ui->QQlineEdit->setReadOnly(false); 129 | ui->QQlineEdit->setDisabled(true); 130 | //ui->QQlineEdit->setText(qqNumber); 131 | 132 | ui->addressLineEdit->setReadOnly(false); 133 | ui->addressLineEdit->setDisabled(true); 134 | //ui->addressLineEdit->setText(mail); 135 | 136 | ui->nameLineEdit->setStyleSheet("border-style:outset"); 137 | ui->IDlineEdit->setStyleSheet("border-style:outset"); 138 | ui->phoneLineEdit->setStyleSheet("border-style:outset"); 139 | ui->QQlineEdit->setStyleSheet("border-style:outset"); 140 | ui->addressLineEdit->setStyleSheet("border-style:outset"); 141 | 142 | 143 | } 144 | 145 | void UserInformation::on_passAlterButton_clicked() 146 | { 147 | // ui->confirmButton->show(); 148 | // ui->cancelButton->show(); 149 | // ui->passAlterButton->hide(); 150 | } 151 | 152 | void UserInformation::sendUserInfo() 153 | { 154 | //每次打开该页面则发查询信息发过去 155 | QString data = "QueryUserInfo#" + globalUserName; 156 | QByteArray datasend = data.toLocal8Bit(); 157 | qDebug() << datasend; 158 | tcp->tcpSocket->write(datasend); 159 | 160 | //暂时取消TCP原本的验证消息 161 | disconnect(tcp->tcpSocket, SIGNAL(readyRead()), tcp, SLOT(readMessages())); 162 | connect(tcp->tcpSocket, SIGNAL(readyRead()), this, SLOT(showUserInfo())); 163 | } 164 | 165 | void UserInformation::showUserInfo() 166 | { 167 | //接受来自数据库的用户信息 168 | QByteArray dataread = tcp->tcpSocket->readAll(); 169 | QString data = QString::fromLocal8Bit(dataread); 170 | qDebug() << "the data from client: " << data; 171 | QStringList list = data.split("#"); //用#分割 172 | 173 | ui->nameLineEdit->setText(list[0]); 174 | ui->IDlineEdit->setText(list[2]); 175 | ui->phoneLineEdit->setText(list[3]); 176 | ui->QQlineEdit->setText(list[4]); 177 | ui->addressLineEdit->setText(list[5]); 178 | 179 | //用完后把连接断开 180 | connect(tcp->tcpSocket, SIGNAL(readyRead()), tcp, SLOT(readMessages())); 181 | disconnect(tcp->tcpSocket, SIGNAL(readyRead()), this, SLOT(showUserInfo())); 182 | } 183 | 184 | //void UserInformation::sendSignToServer() 185 | //{ 186 | // QString data = "InsertSign#" + globalUserName; 187 | // QByteArray datasend = data.toUtf8(); 188 | // qDebug() << datasend; 189 | // tcp->tcpSocket->write(datasend); 190 | // 191 | // 192 | //} 193 | // 194 | //void UserInformation::showSignList() 195 | //{ 196 | // Sign *sign = new Sign(this); 197 | // ui->SignLayout->addWidget(sign); 198 | // sign->show(); 199 | //} 200 | // 201 | //void UserInformation::showMySign() 202 | //{ 203 | // SignShow *sign = new SignShow(); 204 | // sign->show(); 205 | // 206 | //} 207 | // 208 | //void UserInformation::receiveDataFromClient(QString data) 209 | //{ 210 | // if (QString::compare(data, "sign_T") == 0) 211 | // { 212 | // MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("签到成功!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 213 | // 214 | // } 215 | // else if (QString::compare(data, "repeat") == 0) 216 | // { 217 | // MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("今天已经签到,请勿重复签到!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 218 | // } 219 | // else if (QString::compare(data, "notInLab") == 0) 220 | // { 221 | // MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("请回实验室签到!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 222 | // } 223 | // else if (QString::compare(data, "sign_F") == 0) 224 | // { 225 | // MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("签到失败!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 226 | // } 227 | //} -------------------------------------------------------------------------------- /FileManagement/UserInformation.h: -------------------------------------------------------------------------------- 1 | #ifndef INFORMATIOM_H 2 | #define INFORMATIOM_H 3 | 4 | #include"stdafx.h" 5 | #include"ui_UserInformation.h" 6 | #include 7 | 8 | extern TcpClient * tcp; 9 | extern QString globalUserName; 10 | 11 | namespace Ui { 12 | class UserInformation; 13 | } 14 | 15 | class UserInformation : public QWidget 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | explicit UserInformation(QWidget *parent = 0); 21 | ~UserInformation(); 22 | void sendUserInfo(); 23 | 24 | void firstLogin(); 25 | 26 | private slots: 27 | void on_alterButton_clicked(); 28 | 29 | void on_confirmButton_clicked(); 30 | 31 | void on_cancelButton_clicked(); 32 | 33 | void on_passAlterButton_clicked(); 34 | 35 | void showUserInfo(); 36 | 37 | //void sendSignToServer(); 38 | //void showSignList(); 39 | //void receiveDataFromClient(QString data); 40 | 41 | //void showMySign(); 42 | 43 | 44 | private: 45 | Ui::UserInformation *ui; 46 | QString userName; 47 | QString userPassword; 48 | QString studentId; 49 | QString phoneNumber; 50 | QString qqNumber; 51 | QString mail; 52 | QString trueName; 53 | QString term; 54 | QString level; 55 | QString teacher; 56 | 57 | 58 | }; 59 | 60 | #endif // INFORMATIOM_H 61 | -------------------------------------------------------------------------------- /FileManagement/aes.h: -------------------------------------------------------------------------------- 1 | #ifndef AES_H 2 | #define AES_H 3 | 4 | #include 5 | 6 | class AES 7 | { 8 | public: 9 | AES(unsigned char* key); 10 | virtual ~AES(); 11 | unsigned char* Cipher(unsigned char* input); 12 | unsigned char* InvCipher(unsigned char* input); 13 | void* Cipher(void* input, int length = 0); 14 | void* InvCipher(void* input, int length); 15 | 16 | void Cipher(char *input, char *output); 17 | void InvCipher(char *inut, char *output); 18 | 19 | private: 20 | unsigned char Sbox[256]; 21 | unsigned char InvSbox[256]; 22 | unsigned char w[11][4][4]; 23 | 24 | void KeyExpansion(unsigned char* key, unsigned char w[][4][4]); 25 | unsigned char FFmul(unsigned char a, unsigned char b); 26 | 27 | void SubBytes(unsigned char state[][4]); 28 | void ShiftRows(unsigned char state[][4]); 29 | void MixColumns(unsigned char state[][4]); 30 | void AddRoundKey(unsigned char state[][4], unsigned char k[][4]); 31 | 32 | void InvSubBytes(unsigned char state[][4]); 33 | void InvShiftRows(unsigned char state[][4]); 34 | void InvMixColumns(unsigned char state[][4]); 35 | 36 | int strToHex(const char *ch, char *hex); 37 | int hexToStr(const char *hex, char *ch); 38 | int ascillToValue(const char ch); 39 | char valueToHexCh(const int value); 40 | int getUCharLen(const unsigned char *uch); 41 | int strToUChar(const char *ch, unsigned char *uch); 42 | int ucharToStr(const unsigned char *uch, char *ch); 43 | int ucharToHex(const unsigned char *uch, char *hex); 44 | int hexToUChar(const char *hex, unsigned char *uch); 45 | }; 46 | 47 | #endif // AES_H 48 | -------------------------------------------------------------------------------- /FileManagement/bdchart.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/bdchart.cpp -------------------------------------------------------------------------------- /FileManagement/bdchart.h: -------------------------------------------------------------------------------- 1 | #ifndef BDCHART_H 2 | #define BDCHART_H 3 | 4 | #include 5 | #include 6 | 7 | class BDChart : public QObject 8 | { 9 | Q_OBJECT 10 | public: 11 | explicit BDChart(QObject *parent = 0); 12 | 13 | signals: 14 | void signalTest(const QByteArray &message); 15 | 16 | public slots: 17 | void slotTest(); 18 | void slot1(QString); 19 | void slotBack(); 20 | }; 21 | 22 | #endif // BDCHART_H 23 | -------------------------------------------------------------------------------- /FileManagement/jquery_data/css/qiandao_style.css: -------------------------------------------------------------------------------- 1 | *{margin:0;padding:0} 2 | li{list-style:none} 3 | img{vertical-align:top} 4 | /* 浠ヤ笂鍙悎骞� */ 5 | .test { 6 | height: 200px; 7 | width: 78%; 8 | margin-right: auto; 9 | margin-left: auto; 10 | } 11 | .clear { 12 | clear: both 13 | } 14 | .clear:after{clear:both;display:table;content:''} 15 | .qiandao-sprits{background-image:url(../images/qiandao_sprits.png);background-repeat:no-repeat} 16 | .qiandao-tran{-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;-ms-transition:all .3s ease-out} 17 | .qiandao-radius{-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px} 18 | .qiandap-box{margin:0 auto;width:70pc;height:1306px;background-color:#fff} 19 | .qiandao-con{margin:0 auto;width:680px;height:684px;background-image:url(../images/qiandao_con.jpg)} 20 | .qiandao-left{float:left;padding:20px 42px 0 39px;width:603px} 21 | .qiandao-right{float:right;padding:0 20px;width:290px} 22 | .current-date{float:left;padding-top:5px;padding-left:55px;color:#b25d06;font-size:18px} 23 | .qiandao-history{float:right;width:92px;height:36px;border-radius:4px;background-color:#b25d06;color:#fff;text-align:center;font-size:1pc;line-height:36px;cursor:pointer} 24 | .qiandao-history:hover{background-color:#9c4f01} 25 | .qiandao-top{padding-top:70px;height:13pc} 26 | .just-qiandao{margin:0 auto 20px;width:212px;height:67px;cursor:pointer} 27 | .just-qiandao.actived,.just-qiandao:active{background-position:0 -68px} 28 | .qiandao-notic{color:#b25d06;text-align:center;font-size:18px} 29 | .qiandao-rule-list{margin-bottom:35px;color:#8d8ebb;font-size:1pc;line-height:26px} 30 | .qiandao-rule-list h4{font-weight:bolder;font-size:1pc} 31 | .qiandao-main{overflow:hidden;width:603px} 32 | .qiandao-list{margin-top:76px;margin-right:-10px} 33 | .qiandao-list li{position:relative;float:left;margin:0 1px 1px 0;width:85px;height:85px;background-image:url(../images/qiandao_day.png);background-position:0 0} 34 | .qiandao-list li.date1{background-position:-430px 0} 35 | .qiandao-list li.date2{background-position:-516px 0} 36 | .qiandao-list li.date3{background-position:0 -86px} 37 | .qiandao-list li.date4{background-position:-86px -86px} 38 | .qiandao-list li.date5{background-position:-172px -86px} 39 | .qiandao-list li.date6{background-position:-258px -86px} 40 | .qiandao-list li.date7{background-position:-344px -86px} 41 | .qiandao-list li.date8{background-position:-430px -86px} 42 | .qiandao-list li.date9{background-position:-516px -86px} 43 | .qiandao-list li.date10{background-position:0 -172px} 44 | .qiandao-list li.date11{background-position:-86px -172px} 45 | .qiandao-list li.date12{background-position:-172px -172px} 46 | .qiandao-list li.date13{background-position:-258px -172px} 47 | .qiandao-list li.date14{background-position:-344px -172px} 48 | .qiandao-list li.date15{background-position:-430px -172px} 49 | .qiandao-list li.date16{background-position:-516px -172px} 50 | .qiandao-list li.date17{background-position:0 -258px} 51 | .qiandao-list li.date18{background-position:-86px -258px} 52 | .qiandao-list li.date19{background-position:-172px -258px} 53 | .qiandao-list li.date20{background-position:-258px -258px} 54 | .qiandao-list li.date21{background-position:-344px -258px} 55 | .qiandao-list li.date22{background-position:-430px -258px} 56 | .qiandao-list li.date23{background-position:-516px -258px} 57 | .qiandao-list li.date24{background-position:0 -344px} 58 | .qiandao-list li.date25{background-position:-86px -344px} 59 | .qiandao-list li.date26{background-position:-172px -344px} 60 | .qiandao-list li.date27{background-position:-258px -344px} 61 | .qiandao-list li.date28{background-position:-344px -344px} 62 | .qiandao-list li.date29{background-position:-430px -344px} 63 | .qiandao-list li.date30{background-position:-516px -344px} 64 | .qiandao-list li.date31{background-position:0 -430px} 65 | .qiandao-list li .qiandao-icon{position:absolute;top:0;left:0;z-index:2;display:none;width:85px;height:85px;background:url(../images/qiandao_icon.png) no-repeat center center} 66 | .qiandao-list li.qiandao .qiandao-icon{display:block} 67 | .qiandao-layer{position:fixed;top:0;bottom:0;left:0;z-index:888;display:none;width:100%} 68 | .qiandao-layer-bg{width:100%;height:100%;background-color:#000;opacity:.55;filter:alpha(opacity=55)} 69 | .qiandao-layer-con{position:absolute;top:50%;left:50%;z-index:999;padding-top:30px;border:3px #33b23f solid;border-radius:5px;background-color:#fff} 70 | .qiandao-history-layer .qiandao-layer-con{margin:-257px 0 0 -293px;width:586px;height:484px} 71 | .close-qiandao-layer{position:absolute;top:13px;right:13px;width:1pc;height:1pc;background-position:-228px -51px} 72 | .qiandao-history-inf{margin-top:25px;color:#666;text-align:center;font-size:14px} 73 | .qiandao-history-inf li{float:left;width:25%} 74 | .qiandao-history-inf li h4{color:#33b23f;font-size:40px;line-height:50px} 75 | .qiandao-history-table{overflow:hidden;margin:20px;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;-ms-border-radius:5px 5px 0 0} 76 | .qiandao-history-table table{width:100%;color:#666;text-align:center;font-size:1pc;border-spacing:0} 77 | .qiandao-history-table table th{width:33.3%;background-color:#f2f2f2;text-align:center;line-height:40px} 78 | .qiandao-history-table td{width:33.3%;border-bottom:1px #e5e5e5 dashed;line-height:34px} 79 | .qiandao-active .qiandao-layer-con{margin:-232px 0 0 -211px;width:422px;height:434px} 80 | .yiqiandao{margin:36px 0 0 40px;color:#666;font-size:14px;line-height:38px} 81 | .yiqiandao .yiqiandao-icon{float:left;margin:0 25px;width:178px;height:38px;background-position:-217px 0} 82 | .qiandao-jiangli{position:relative;margin:45px auto;width:335px;height:170px;background-position:0 -146px} 83 | .qiandao-jiangli span{position:absolute;top:58px;left:50px;display:block;width:178px;height:106px;color:#ff7300;text-align:center;font-weight:bolder;font-size:30px;line-height:106px} 84 | .qiandao-jiangli span em{padding-left:5px;font-style:normal;font-size:1pc} 85 | .qiandao-share{display:block;margin:60px auto 0;width:318px;height:3pc;border-radius:5px;background-color:#4ab854;color:#fff;text-align:center;text-decoration:none;font-size:18px;line-height:3pc} 86 | .qiandao-share:hover{background-color:#3e9d46} 87 | -------------------------------------------------------------------------------- /FileManagement/jquery_data/images/qiandao_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/jquery_data/images/qiandao_con.jpg -------------------------------------------------------------------------------- /FileManagement/jquery_data/images/qiandao_con1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/jquery_data/images/qiandao_con1.jpg -------------------------------------------------------------------------------- /FileManagement/jquery_data/images/qiandao_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/jquery_data/images/qiandao_day.png -------------------------------------------------------------------------------- /FileManagement/jquery_data/images/qiandao_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/jquery_data/images/qiandao_icon.png -------------------------------------------------------------------------------- /FileManagement/jquery_data/images/qiandao_sprits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/jquery_data/images/qiandao_sprits.png -------------------------------------------------------------------------------- /FileManagement/jquery_data/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 实验室签到 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |
19 |
20 |
21 |
2016年1月6日
22 |
下个月
23 |
上个月
24 |
25 |
26 |
    27 |
    28 |
    29 | 30 | 31 | 37 | 38 |
    39 |
    40 |
    41 | 42 |
    43 |
    44 | 45 |
      46 |
    • 47 |

      连续签到

      48 |

      5

      49 |
    • 50 |
    • 51 |

      本月签到

      52 |

      17

      53 |
    • 54 |
    • 55 |

      总共签到数

      56 |

      28

      57 |
    • 58 |
    • 59 |

      签到累计补助

      60 |

      30

      61 |
    • 62 |
    63 |
    64 |
    65 | 66 | 67 |
    68 |
    69 | 70 |
    71 |
    您已连续签到2天 72 |
    73 |
    74 | 20元补助 75 |
    76 | 77 |
    78 |
    79 |
    80 | 81 | 82 | 83 | 84 |
    85 |

    适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.

    86 |
    87 | 88 | 89 | -------------------------------------------------------------------------------- /FileManagement/jquery_data/js/qiandao_js.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | var dateArray = [] 3 | var currentDate = new Date() 4 | var currentYear = currentDate.getFullYear() 5 | var currentMonth = currentDate.getMonth() + 1 6 | var notifyQtChannel = null 7 | 8 | 9 | // 点击签到按钮, 设置当前日期为签到 10 | $("#js-just-qiandao").on('click', function() { 11 | $("#js-just-qiandao").addClass('actived'); 12 | showLayer("qiandao-active", signIn); 13 | dateArray.push(`${currentDate.getFullYear()}-${currentDate.getMonth() + 1}-${currentDate.getDate()}`) 14 | 15 | if (notifyQtChannel) { 16 | notifyQtChannel(dateArray.join(',')) 17 | } 18 | }) 19 | 20 | // 当点击 body 区域, 关闭 Layer 组件 21 | $("body").on("click", ".close-qiandao-layer", function() { 22 | $(this).parents(".qiandao-layer").fadeOut() 23 | }) 24 | 25 | // 绑定 Channel 26 | var webChannel = new QWebChannel(qt.webChannelTransport, function(channel) { 27 | // 已签到的日期集合 28 | var dateString = channel.objects.myObject.info || '' 29 | // 转换成数组 30 | dateArray = dateString.split(',') 31 | // 显示当前月日历 32 | showBox(currentYear, currentMonth) 33 | 34 | // 用于向 Channel 发送消息 35 | notifyQtChannel = channel.objects.myObject.callFromJS 36 | }); 37 | 38 | // 设置当前日期 39 | $(".current-date").text(`${currentDate.getFullYear()}年${currentDate.getMonth() + 1}月${currentDate.getDate()}日`); 40 | 41 | // 下个月按钮 42 | $("#js-qiandao-historys").on("click", function() { 43 | if (currentMonth === 12) { 44 | currentYear += 1 45 | currentMonth = 1 46 | } else { 47 | currentMonth += 1 48 | } 49 | 50 | showBox(currentYear, currentMonth); 51 | }) 52 | 53 | // 上个月按钮 54 | $("#js-qiandao-history").on("click", function() { 55 | if (currentMonth === 1) { 56 | currentYear -= 1 57 | currentMonth = 12 58 | } else { 59 | currentMonth -= 1 60 | } 61 | 62 | showBox(currentYear, currentMonth); 63 | }) 64 | 65 | 66 | // 在指定日期签到 67 | function signIn(dateObject) { 68 | dateObject = dateObject || new Date() 69 | $(`.date-${dateObject.getFullYear()}-${dateObject.getMonth() + 1}-${dateObject.getDate()}`).addClass('qiandao'); 70 | } 71 | 72 | // 显示 Layer 组件 73 | function showLayer(elClass, easing) { 74 | $(`.${elClass}`).fadeIn(easing) 75 | } 76 | 77 | // 显示日历 78 | function showBox(year, month) { 79 | // 获取一个月的开始是在星期几 80 | var monthFirst = new Date(year, parseInt(month - 1), 1).getDay(); 81 | // 获取当前月的天数 82 | var totalDay = (new Date(year, parseInt(month), 0)).getDate(); 83 | 84 | // 生成日历网格 85 | var _html = '' 86 | for (var i = 0; i < 42; i++) { 87 | _html += '
  • ' 88 | } 89 | $("#js-qiandao-list").html(_html) 90 | 91 | // 找到所有日期 92 | var $dateLi = $("#js-qiandao-list").find("li"); 93 | for (var i = 0; i < totalDay; ++i) { 94 | $dateLi.eq(monthFirst + i).addClass(`date-${year}-${month}-${i + 1}`); 95 | $dateLi.eq(monthFirst + i).addClass("date" + parseInt(i + 1)); 96 | } 97 | 98 | // 在这些日期设置签到标志 99 | for (var date of dateArray) { 100 | var [year, month, days] = date.split('-'); 101 | signIn(new Date(parseInt(year), parseInt(month) - 1, parseInt(days))) 102 | } 103 | }; 104 | }) 105 | -------------------------------------------------------------------------------- /FileManagement/json.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | json/chartConfig.json 4 | json/chartData.json 5 | 6 | 7 | -------------------------------------------------------------------------------- /FileManagement/json/chartConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "ChartXData": [], 3 | "Title": "", 4 | "YTitle": "", 5 | "XDisplayDataPattern": 1, 6 | "XDisplayStep": 50, 7 | "ChartType": "", 8 | "XFieldName": "TYP_DESC", 9 | "XItemNamesFormat": "", 10 | "IsSwitchXAxis": false, 11 | "ChartDataConfigs": [{ 12 | "DataValues": [], 13 | "FieldName": "ISS_VAL", 14 | "LegendLable": "发行规模(亿元)", 15 | "LegendLableFormat": "", 16 | "ChartType": "ColumnStacked", 17 | "ValueFormatString": "n2", 18 | "IsVisible": true, 19 | "UnitCategory": null, 20 | "PrevUnitFactor": null, 21 | "ShowUnitFactor": null, 22 | "ShowUnit": null, 23 | "CaptionShowType": 0, 24 | "YShaftType": "Left" 25 | }, { 26 | "DataValues": [], 27 | "FieldName": "ISS_VOL", 28 | "LegendLable": "发行只数", 29 | "LegendLableFormat": "", 30 | "ChartType": "ColumnStacked", 31 | "ValueFormatString": "n2", 32 | "IsVisible": true, 33 | "UnitCategory": null, 34 | "PrevUnitFactor": null, 35 | "ShowUnitFactor": null, 36 | "ShowUnit": null, 37 | "CaptionShowType": 0, 38 | "YShaftType": "Right" 39 | }], 40 | "Style": null, 41 | "AnnoAngle": 45.0, 42 | "ToolBarVisible": true, 43 | "LegendPosition": 3, 44 | "IsTurnXAxis": false, 45 | "XValueType": "String", 46 | "DefaultDataChartType": null 47 | } -------------------------------------------------------------------------------- /FileManagement/json/chartData.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "TABLENAME": "Data", 3 | "DATA": [{ 4 | "TYP_CODEI": 1201, 5 | "ISS_VAL": 600, 6 | "VOL_RATE": 0, 7 | "VAL_RATE": 18.1519, 8 | "ISS_VOL": 0, 9 | "TYP_DESC": "国债" 10 | }, 11 | { 12 | "TYP_CODEI": 1202, 13 | "ISS_VAL": 238.3471, 14 | "VOL_RATE": 0.3328, 15 | "VAL_RATE": 7.2108, 16 | "ISS_VOL": 11, 17 | "TYP_DESC": "地方政府债" 18 | }, 19 | { 20 | "TYP_CODEI": 1203, 21 | "ISS_VAL": 550, 22 | "VOL_RATE": 0.0605, 23 | "VAL_RATE": 16.6392, 24 | "ISS_VOL": 2, 25 | "TYP_DESC": "政策性银行债" 26 | }, 27 | { 28 | "TYP_CODEI": 1204, 29 | "ISS_VAL": 468, 30 | "VOL_RATE": 0.121, 31 | "VAL_RATE": 14.1585, 32 | "ISS_VOL": 4, 33 | "TYP_DESC": "商业银行债" 34 | }, 35 | { 36 | "TYP_CODEI": 1207, 37 | "ISS_VAL": 34, 38 | "VOL_RATE": 0.121, 39 | "VAL_RATE": 1.0286, 40 | "ISS_VOL": 4, 41 | "TYP_DESC": "普通企业债" 42 | }, 43 | { 44 | "TYP_CODEI": 1208, 45 | "ISS_VAL": 53, 46 | "VOL_RATE": 0.121, 47 | "VAL_RATE": 1.6034, 48 | "ISS_VOL": 4, 49 | "TYP_DESC": "公司债" 50 | }, 51 | { 52 | "TYP_CODEI": 1209, 53 | "ISS_VAL": 52, 54 | "VOL_RATE": 0.1513, 55 | "VAL_RATE": 1.5732, 56 | "ISS_VOL": 5, 57 | "TYP_DESC": "短期融资券" 58 | }, 59 | { 60 | "TYP_CODEI": 1210, 61 | "ISS_VAL": 114, 62 | "VOL_RATE": 0.4235, 63 | "VAL_RATE": 3.4489, 64 | "ISS_VOL": 14, 65 | "TYP_DESC": "超短期融资券" 66 | }, 67 | { 68 | "TYP_CODEI": 1215, 69 | "ISS_VAL": 54, 70 | "VOL_RATE": 0.121, 71 | "VAL_RATE": 1.6337, 72 | "ISS_VOL": 4, 73 | "TYP_DESC": "中期票据" 74 | }, 75 | { 76 | "TYP_CODEI": 1211, 77 | "ISS_VAL": 10.4, 78 | "VOL_RATE": 0.0303, 79 | "VAL_RATE": 0.3146, 80 | "ISS_VOL": 1, 81 | "TYP_DESC": "可转债" 82 | }, 83 | { 84 | "TYP_CODEI": 1223, 85 | "ISS_VAL": 15.2912, 86 | "VOL_RATE": 0.0908, 87 | "VAL_RATE": 0.4626, 88 | "ISS_VOL": 3, 89 | "TYP_DESC": "资产支持证券" 90 | }, 91 | { 92 | "TYP_CODEI": 1506, 93 | "ISS_VAL": 1116.4, 94 | "VOL_RATE": 4.8405, 95 | "VAL_RATE": 33.7746, 96 | "ISS_VOL": 160, 97 | "TYP_DESC": "同业存单" 98 | }], 99 | "STRUCTURE": { 100 | "TYP_CODEI": "Double", 101 | "ISS_VAL": "Double", 102 | "VAL_RATE": "Double", 103 | "VOL_RATE": "Double", 104 | "TYP_DESC": "String", 105 | "ISS_VOL": "Double" 106 | } 107 | }, 108 | { 109 | "TABLENAME": "Summary", 110 | "DATA": [{ 111 | "Item": "psize", 112 | "value": "200" 113 | }, 114 | { 115 | "Item": "pindex", 116 | "value": "1" 117 | }, 118 | { 119 | "Item": "pcount", 120 | "value": "1" 121 | }, 122 | { 123 | "Item": "rcount", 124 | "value": "12" 125 | }], 126 | "STRUCTURE": { 127 | "Item": "String", 128 | "value": "String" 129 | } 130 | }] -------------------------------------------------------------------------------- /FileManagement/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/main.cpp -------------------------------------------------------------------------------- /FileManagement/mystyle.qss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/mystyle.qss -------------------------------------------------------------------------------- /FileManagement/previewpage.cpp: -------------------------------------------------------------------------------- 1 | #include "previewpage.h" 2 | #include 3 | 4 | PreviewPage::PreviewPage(QObject *parent) : QWebEnginePage(parent) 5 | { 6 | 7 | } 8 | 9 | bool PreviewPage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) 10 | { 11 | Q_UNUSED(type) 12 | Q_UNUSED(isMainFrame) 13 | if(url.scheme() == QString("qrc")) return true; 14 | QDesktopServices::openUrl(url); 15 | return false; 16 | } 17 | -------------------------------------------------------------------------------- /FileManagement/previewpage.h: -------------------------------------------------------------------------------- 1 | #ifndef PREVIEWPAGE_H 2 | #define PREVIEWPAGE_H 3 | 4 | #include 5 | 6 | class PreviewPage : public QWebEnginePage 7 | { 8 | Q_OBJECT 9 | public: 10 | explicit PreviewPage(QObject *parent = 0); 11 | protected: 12 | bool acceptNavigationRequest(const QUrl&url, NavigationType type,bool isMainFrame); 13 | 14 | signals: 15 | 16 | public slots: 17 | }; 18 | 19 | #endif // PREVIEWPAGE_H 20 | -------------------------------------------------------------------------------- /FileManagement/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/resource.h -------------------------------------------------------------------------------- /FileManagement/stdafx.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | int port = 3389; 3 | //QString ip = "127.0.0.1"; 4 | QString ip = "47.100.160.51"; 5 | TcpClient *tcp; 6 | QString globalUserName; -------------------------------------------------------------------------------- /FileManagement/stdafx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define _CRT_SECURE_NO_WARNINGS 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include"tcpclient.h" 22 | 23 | using namespace std; -------------------------------------------------------------------------------- /FileManagement/tcpclient.cpp: -------------------------------------------------------------------------------- 1 | #include "tcpclient.h" 2 | #include "MyMessageBox.h" 3 | //#include "ui_tcpclient.h" 4 | // 5 | //主线程 6 | //#define ip "47.100.160.51" 7 | //#define port 3389 8 | //#define ip "127.0.0.1" 9 | //#define port 3389 10 | 11 | 12 | 13 | TcpClient::TcpClient(QObject *parent) : 14 | QObject(parent) 15 | { 16 | init(); 17 | connectServer(); 18 | } 19 | 20 | TcpClient::~TcpClient() 21 | { 22 | 23 | } 24 | 25 | void TcpClient::init() 26 | { 27 | tcpSocket = new QTcpSocket(this); 28 | connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)), 29 | this,SLOT(displayError(QAbstractSocket::SocketError))); //发生错误时执行displayError函数 30 | } 31 | 32 | void TcpClient::connectServer() 33 | { 34 | tcpSocket->abort(); //取消已有的连接 35 | tcpSocket->connectToHost(ip, port); 36 | /*if (!tcpSocket->waitForConnected(100)) 37 | reConnectToServer();*/ 38 | connect(tcpSocket, SIGNAL(connected()), this, SLOT(displayError1())); 39 | connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(readMessages())); 40 | //connect(tcpSocket, SIGNAL(disconnect()), this, SLOT(reConnectServer())); 41 | } 42 | 43 | void TcpClient::reConnectToServer() 44 | { 45 | tcpSocket->connectToHost(ip, port); 46 | if (tcpSocket->waitForConnected(3000)) 47 | { 48 | MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("网络连接成功"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 49 | } 50 | else 51 | { 52 | MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("网络连接失败,请联系管理员"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 53 | } 54 | 55 | } 56 | 57 | 58 | //void TcpClient::receiveSignalFromDown(QString msg) 59 | //{ 60 | // if(msg == "disconnect") 61 | // disconnect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readMessages())); 62 | // else 63 | // connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readMessages())); 64 | //} 65 | void TcpClient::displayError1() 66 | { 67 | qDebug() << "the server is connected!"; 68 | } 69 | 70 | void TcpClient::displayError(QAbstractSocket::SocketError) 71 | { 72 | qDebug()<errorString(); //输出出错信息 73 | 74 | if (!MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("网络连接失败!是否重连?"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL, true)) 75 | { 76 | 77 | reConnectToServer(); 78 | } 79 | } 80 | 81 | 82 | void TcpClient::readMessages() 83 | { 84 | QString data=tcpSocket->readAll(); 85 | qDebug() << "it is in client the data from server: " << data; 86 | 87 | QStringList list=data.split("#"); 88 | 89 | //验证登陆是否成功 90 | if (list[0] == "L" ) 91 | { 92 | if (list[1] == "true") 93 | { 94 | emit sendDataToLogin("T"); //将验证信息发给LOGIN 95 | qDebug() << "login is T"; 96 | } 97 | else 98 | { 99 | emit sendDataToLogin("F"); //将验证信息发给LOGIN 100 | qDebug() << "login is F"; 101 | } 102 | } 103 | //验证是否注册成功 104 | else if (list[0] == "R") 105 | { 106 | if (list[1] == "true") 107 | { 108 | emit sendDataToRegister("R_T"); 109 | qDebug() << "R is T"; 110 | } 111 | else 112 | { 113 | emit sendDataToRegister("R_F"); 114 | qDebug() << "R is F"; 115 | } 116 | } 117 | 118 | //验证用户名重复 119 | else if (list[0] == "RCU" ) 120 | { 121 | if (list[1] == "true") 122 | { 123 | emit sendDataToRegister("RCU_T"); 124 | qDebug() << "RCU is T"; 125 | } 126 | else 127 | { 128 | emit sendDataToRegister("RCU_F"); 129 | qDebug() << "RCU is F"; 130 | } 131 | } 132 | else if (list[0] == "RCS") 133 | { 134 | if (list[1] == "true") 135 | { 136 | emit sendDataToRegister("RCS_T"); 137 | qDebug() << "RCS is T"; 138 | } 139 | else 140 | { 141 | emit sendDataToRegister("RCS_F"); 142 | qDebug() << "RCS is F"; 143 | } 144 | } 145 | else if (list[0] == "updateUserInfo") 146 | { 147 | if (list[1] == "true") 148 | { 149 | MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("修改成功!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 150 | } 151 | else 152 | { 153 | MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("修改失败!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 154 | } 155 | } 156 | else if (list[0] == "deleteFile") 157 | { 158 | if (list[1] == "true") 159 | { 160 | emit sendDataToDownload("delete_T"); 161 | //MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("删除文件成功!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 162 | } 163 | else 164 | { 165 | emit sendDataToDownload("delete_F"); 166 | //MyMessageBox::showMyMessageBox(NULL, QString::fromUtf8("提示"), QString::fromUtf8("删除文件失败!"), MESSAGE_INFORMATION, BUTTON_OK_AND_CANCEL); 167 | } 168 | } 169 | else if (list[0] == "ReportEdit") 170 | { 171 | if (list[1] == "true") 172 | { 173 | emit sendDataToReportEdit("submit_T"); 174 | } 175 | else if (list[1] == "repeatTrue") 176 | { 177 | emit sendDataToReportEdit("repeat"); 178 | } 179 | else 180 | emit sendDataToReportEdit("submit_F"); 181 | } 182 | else if (list[0] == "deleteReport") 183 | { 184 | if (list[1] == "true") 185 | { 186 | emit sendDataToReportLook("delete_T"); 187 | } 188 | else 189 | { 190 | emit sendDataToReportLook("delete_F"); 191 | } 192 | } 193 | else if (list[0] == "accounting") 194 | { 195 | if (list[1] == "true") 196 | emit sendDataToAccounting("account_T"); 197 | else 198 | emit sendDataToAccounting("account_F"); 199 | } 200 | else if (list[0] == "sign") 201 | { 202 | if (list[1] == "true") 203 | emit sendDataToSign("sign_T"); 204 | else if (list[1] == "notInLab") 205 | emit sendDataToSign("notInLab"); 206 | else if (list[1] == "repeat") 207 | emit sendDataToSign("repeat"); 208 | else 209 | emit sendDataToSign("sign_F"); 210 | } 211 | 212 | else 213 | return ; 214 | } 215 | 216 | -------------------------------------------------------------------------------- /FileManagement/tcpclient.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/tcpclient.h -------------------------------------------------------------------------------- /FileManagement/web.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | web/js/echarts.min.js 4 | web/css/chart.css 5 | web/html/index.html 6 | web/js/bdchart.js 7 | 8 | 9 | -------------------------------------------------------------------------------- /FileManagement/web/css/chart.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | border: 0; 5 | } 6 | 7 | body { 8 | width: auto; 9 | height: auto; 10 | } 11 | 12 | #main { 13 | width: 800px; 14 | height: 400px; 15 | background: yellow; 16 | } -------------------------------------------------------------------------------- /FileManagement/web/css/qiandao_style.css: -------------------------------------------------------------------------------- 1 | *{margin:0;padding:0} 2 | li{list-style:none} 3 | img{vertical-align:top} 4 | /* 浠ヤ笂鍙悎骞� */ 5 | .test { 6 | height: 200px; 7 | width: 78%; 8 | margin-right: auto; 9 | margin-left: auto; 10 | } 11 | .clear { 12 | clear: both 13 | } 14 | .clear:after{clear:both;display:table;content:''} 15 | .qiandao-sprits { 16 | background-image: url(..images/qiandao_sprits.png); 17 | background-repeat: no-repeat 18 | } 19 | .qiandao-tran{-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;-ms-transition:all .3s ease-out} 20 | .qiandao-radius{-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px} 21 | .qiandap-box{margin:0 auto;width:70pc;height:1306px;background-color:#fff} 22 | .qiandao-con { 23 | margin: 0 auto; 24 | width: 680px; 25 | height: 684px; 26 | background-image: url(..images/qiandao_con.jpg) 27 | } 28 | .qiandao-left{float:left;padding:20px 42px 0 39px;width:603px} 29 | .qiandao-right{float:right;padding:0 20px;width:290px} 30 | .current-date{float:left;padding-top:5px;padding-left:55px;color:#b25d06;font-size:18px} 31 | .qiandao-history{float:right;width:92px;height:36px;border-radius:4px;background-color:#b25d06;color:#fff;text-align:center;font-size:1pc;line-height:36px;cursor:pointer} 32 | .qiandao-history:hover{background-color:#9c4f01} 33 | .qiandao-top{padding-top:70px;height:13pc} 34 | .just-qiandao{margin:0 auto 20px;width:212px;height:67px;cursor:pointer} 35 | .just-qiandao.actived,.just-qiandao:active{background-position:0 -68px} 36 | .qiandao-notic{color:#b25d06;text-align:center;font-size:18px} 37 | .qiandao-rule-list{margin-bottom:35px;color:#8d8ebb;font-size:1pc;line-height:26px} 38 | .qiandao-rule-list h4{font-weight:bolder;font-size:1pc} 39 | .qiandao-main{overflow:hidden;width:603px} 40 | .qiandao-list{margin-top:76px;margin-right:-10px} 41 | .qiandao-list li { 42 | position: relative; 43 | float: left; 44 | margin: 0 1px 1px 0; 45 | width: 85px; 46 | height: 85px; 47 | background-image: url(..images/qiandao_day.png); 48 | background-position: 0 0 49 | } 50 | .qiandao-list li.date1{background-position:-430px 0} 51 | .qiandao-list li.date2{background-position:-516px 0} 52 | .qiandao-list li.date3{background-position:0 -86px} 53 | .qiandao-list li.date4{background-position:-86px -86px} 54 | .qiandao-list li.date5{background-position:-172px -86px} 55 | .qiandao-list li.date6{background-position:-258px -86px} 56 | .qiandao-list li.date7{background-position:-344px -86px} 57 | .qiandao-list li.date8{background-position:-430px -86px} 58 | .qiandao-list li.date9{background-position:-516px -86px} 59 | .qiandao-list li.date10{background-position:0 -172px} 60 | .qiandao-list li.date11{background-position:-86px -172px} 61 | .qiandao-list li.date12{background-position:-172px -172px} 62 | .qiandao-list li.date13{background-position:-258px -172px} 63 | .qiandao-list li.date14{background-position:-344px -172px} 64 | .qiandao-list li.date15{background-position:-430px -172px} 65 | .qiandao-list li.date16{background-position:-516px -172px} 66 | .qiandao-list li.date17{background-position:0 -258px} 67 | .qiandao-list li.date18{background-position:-86px -258px} 68 | .qiandao-list li.date19{background-position:-172px -258px} 69 | .qiandao-list li.date20{background-position:-258px -258px} 70 | .qiandao-list li.date21{background-position:-344px -258px} 71 | .qiandao-list li.date22{background-position:-430px -258px} 72 | .qiandao-list li.date23{background-position:-516px -258px} 73 | .qiandao-list li.date24{background-position:0 -344px} 74 | .qiandao-list li.date25{background-position:-86px -344px} 75 | .qiandao-list li.date26{background-position:-172px -344px} 76 | .qiandao-list li.date27{background-position:-258px -344px} 77 | .qiandao-list li.date28{background-position:-344px -344px} 78 | .qiandao-list li.date29{background-position:-430px -344px} 79 | .qiandao-list li.date30{background-position:-516px -344px} 80 | .qiandao-list li.date31{background-position:0 -430px} 81 | .qiandao-list li .qiandao-icon { 82 | position: absolute; 83 | top: 0; 84 | left: 0; 85 | z-index: 2; 86 | display: none; 87 | width: 85px; 88 | height: 85px; 89 | background: url(..images/qiandao_icon.png) no-repeat center center 90 | } 91 | .qiandao-list li.qiandao .qiandao-icon{display:block} 92 | .qiandao-layer{position:fixed;top:0;bottom:0;left:0;z-index:888;display:none;width:100%} 93 | .qiandao-layer-bg{width:100%;height:100%;background-color:#000;opacity:.55;filter:alpha(opacity=55)} 94 | .qiandao-layer-con{position:absolute;top:50%;left:50%;z-index:999;padding-top:30px;border:3px #33b23f solid;border-radius:5px;background-color:#fff} 95 | .qiandao-history-layer .qiandao-layer-con{margin:-257px 0 0 -293px;width:586px;height:484px} 96 | .close-qiandao-layer{position:absolute;top:13px;right:13px;width:1pc;height:1pc;background-position:-228px -51px} 97 | .qiandao-history-inf{margin-top:25px;color:#666;text-align:center;font-size:14px} 98 | .qiandao-history-inf li{float:left;width:25%} 99 | .qiandao-history-inf li h4{color:#33b23f;font-size:40px;line-height:50px} 100 | .qiandao-history-table{overflow:hidden;margin:20px;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;-ms-border-radius:5px 5px 0 0} 101 | .qiandao-history-table table{width:100%;color:#666;text-align:center;font-size:1pc;border-spacing:0} 102 | .qiandao-history-table table th{width:33.3%;background-color:#f2f2f2;text-align:center;line-height:40px} 103 | .qiandao-history-table td{width:33.3%;border-bottom:1px #e5e5e5 dashed;line-height:34px} 104 | .qiandao-active .qiandao-layer-con{margin:-232px 0 0 -211px;width:422px;height:434px} 105 | .yiqiandao{margin:36px 0 0 40px;color:#666;font-size:14px;line-height:38px} 106 | .yiqiandao .yiqiandao-icon{float:left;margin:0 25px;width:178px;height:38px;background-position:-217px 0} 107 | .qiandao-jiangli{position:relative;margin:45px auto;width:335px;height:170px;background-position:0 -146px} 108 | .qiandao-jiangli span{position:absolute;top:58px;left:50px;display:block;width:178px;height:106px;color:#ff7300;text-align:center;font-weight:bolder;font-size:30px;line-height:106px} 109 | .qiandao-jiangli span em{padding-left:5px;font-style:normal;font-size:1pc} 110 | .qiandao-share{display:block;margin:60px auto 0;width:318px;height:3pc;border-radius:5px;background-color:#4ab854;color:#fff;text-align:center;text-decoration:none;font-size:18px;line-height:3pc} 111 | .qiandao-share:hover{background-color:#3e9d46} 112 | -------------------------------------------------------------------------------- /FileManagement/web/html/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | ECharts 6 | 7 | 8 | 9 | 10 | 11 | 12 |
    BDChart
    13 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /FileManagement/web/images/qiandao_con.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/web/images/qiandao_con.jpg -------------------------------------------------------------------------------- /FileManagement/web/images/qiandao_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/web/images/qiandao_day.png -------------------------------------------------------------------------------- /FileManagement/web/images/qiandao_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/web/images/qiandao_icon.png -------------------------------------------------------------------------------- /FileManagement/web/images/qiandao_sprits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/FileManagement/web/images/qiandao_sprits.png -------------------------------------------------------------------------------- /FileManagement/web/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 实验室签到 7 | 8 | 9 | 14 | 15 | 16 |
    17 |
    18 |
    19 |
    20 |
    21 |
    2016年1月6日
    22 |
    下个月
    23 |
    上个月
    24 |
    25 |
    26 |
      27 |
      28 |
      29 | 30 | 31 | 37 | 38 |
      39 |
      40 |
      41 | 42 |
      43 |
      44 | 45 |
        46 |
      • 47 |

        连续签到

        48 |

        5

        49 |
      • 50 |
      • 51 |

        本月签到

        52 |

        17

        53 |
      • 54 |
      • 55 |

        总共签到数

        56 |

        28

        57 |
      • 58 |
      • 59 |

        签到累计补助

        60 |

        30

        61 |
      • 62 |
      63 |
      64 |
      65 | 66 | 67 |
      68 |
      69 | 70 |
      71 |
      您已连续签到2天 72 |
      73 |
      74 | 20元补助 75 |
      76 | 77 |
      78 |
      79 |
      80 | 81 | 82 | 83 | 84 |
      85 |

      适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.

      86 |
      87 | 88 | 89 | -------------------------------------------------------------------------------- /FileManagement/web/js/bdchart.js: -------------------------------------------------------------------------------- 1 | !function() { 2 | // 基于准备好的dom,初始化echarts实例 3 | var myChart = echarts.init(document.getElementById('main')); 4 | 5 | // 指定图表的配置项和数据 6 | var option = { 7 | title: { 8 | text: 'Demo' 9 | }, 10 | tooltip: {}, 11 | legend: { 12 | data: ['销量', '最新销量', '总销量', '最新成交价格', '价格', '总价格'] 13 | }, 14 | xAxis: { 15 | data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], 16 | axisLabel: { 17 | interval: 1 18 | } 19 | }, 20 | yAxis: [{ 21 | type: 'value', 22 | name: '价格', 23 | max: 30, 24 | min: 0, 25 | positon: 'left' 26 | }, { 27 | type: 'value', 28 | name: '销量', 29 | max: 1200, 30 | min: 0, 31 | position: 'right' 32 | }], 33 | series: [{ 34 | name: "最新成交价格", 35 | type: 'line', 36 | yAxisIndex: 0, 37 | data: [5, 20, 28, 10, 10, 20] 38 | }, { 39 | name: "价格", 40 | type: 'scatter', 41 | yAxisIndex: 0, 42 | data: [3, 17, 8, 19, 14, 30] 43 | }, { 44 | name: "总价格", 45 | type: 'line', 46 | smooth: true, 47 | yAxisIndex: 0, 48 | data: [21, 15, 21, 9, 4, 28] 49 | }, { 50 | name: '销量', 51 | type: 'bar', 52 | yAxisIndex: 1, 53 | data: [50, 200, 360, 100, 100, 200] 54 | }, { 55 | name: '最新销量', 56 | type: 'bar', 57 | stack: '销量1', 58 | yAxisIndex: 1, 59 | data: [23, 34, 55, 78, 90, 200] 60 | }, { 61 | name: '总销量', 62 | type: 'bar', 63 | stack: '销量1', 64 | yAxisIndex: 1, 65 | data: [230, 340, 550, 780, 900, 200] 66 | }] 67 | }; 68 | 69 | var legendData; 70 | 71 | var option1 = { 72 | title: { 73 | text: 'Demo' 74 | }, 75 | tooltip: {}, 76 | legend: { 77 | data: [] 78 | }, 79 | xAxis: { 80 | data: [], 81 | axisLabel: { 82 | interval: 1 83 | } 84 | }, 85 | yAxis: [{ 86 | positon: 'left' 87 | }], 88 | series: [] 89 | }; 90 | // 使用刚指定的配置项和数据显示图表。 91 | myChart.setOption(option1); 92 | } -------------------------------------------------------------------------------- /FileManagement/web/js/qiandao_js.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | var dateArray = [] 3 | var currentDate = new Date() 4 | var currentYear = currentDate.getFullYear() 5 | var currentMonth = currentDate.getMonth() + 1 6 | var notifyQtChannel = null 7 | 8 | 9 | // 点击签到按钮, 设置当前日期为签到 10 | $("#js-just-qiandao").on('click', function() { 11 | $("#js-just-qiandao").addClass('actived'); 12 | showLayer("qiandao-active", signIn); 13 | dateArray.push(`${currentDate.getFullYear()}-${currentDate.getMonth() + 1}-${currentDate.getDate()}`) 14 | 15 | if (notifyQtChannel) { 16 | notifyQtChannel(dateArray.join(',')) 17 | } 18 | }) 19 | 20 | // 当点击 body 区域, 关闭 Layer 组件 21 | $("body").on("click", ".close-qiandao-layer", function() { 22 | $(this).parents(".qiandao-layer").fadeOut() 23 | }) 24 | 25 | // 绑定 Channel 26 | var webChannel = new QWebChannel(qt.webChannelTransport, function(channel) { 27 | // 已签到的日期集合 28 | var dateString = channel.objects.myObject.info || '' 29 | // 转换成数组 30 | dateArray = dateString.split(',') 31 | // 显示当前月日历 32 | showBox(currentYear, currentMonth) 33 | 34 | // 用于向 Channel 发送消息 35 | notifyQtChannel = channel.objects.myObject.callFromJS 36 | }); 37 | 38 | // 设置当前日期 39 | $(".current-date").text(`${currentDate.getFullYear()}年${currentDate.getMonth() + 1}月${currentDate.getDate()}日`); 40 | 41 | // 下个月按钮 42 | $("#js-qiandao-historys").on("click", function() { 43 | if (currentMonth === 12) { 44 | currentYear += 1 45 | currentMonth = 1 46 | } else { 47 | currentMonth += 1 48 | } 49 | 50 | showBox(currentYear, currentMonth); 51 | }) 52 | 53 | // 上个月按钮 54 | $("#js-qiandao-history").on("click", function() { 55 | if (currentMonth === 1) { 56 | currentYear -= 1 57 | currentMonth = 12 58 | } else { 59 | currentMonth -= 1 60 | } 61 | 62 | showBox(currentYear, currentMonth); 63 | }) 64 | 65 | 66 | // 在指定日期签到 67 | function signIn(dateObject) { 68 | dateObject = dateObject || new Date() 69 | $(`.date-${dateObject.getFullYear()}-${dateObject.getMonth() + 1}-${dateObject.getDate()}`).addClass('qiandao'); 70 | } 71 | 72 | // 显示 Layer 组件 73 | function showLayer(elClass, easing) { 74 | $(`.${elClass}`).fadeIn(easing) 75 | } 76 | 77 | // 显示日历 78 | function showBox(year, month) { 79 | // 获取一个月的开始是在星期几 80 | var monthFirst = new Date(year, parseInt(month - 1), 1).getDay(); 81 | // 获取当前月的天数 82 | var totalDay = (new Date(year, parseInt(month), 0)).getDate(); 83 | 84 | // 生成日历网格 85 | var _html = '' 86 | for (var i = 0; i < 42; i++) { 87 | _html += '
    • ' 88 | } 89 | $("#js-qiandao-list").html(_html) 90 | 91 | // 找到所有日期 92 | var $dateLi = $("#js-qiandao-list").find("li"); 93 | for (var i = 0; i < totalDay; ++i) { 94 | $dateLi.eq(monthFirst + i).addClass(`date-${year}-${month}-${i + 1}`); 95 | $dateLi.eq(monthFirst + i).addClass("date" + parseInt(i + 1)); 96 | } 97 | 98 | // 在这些日期设置签到标志 99 | for (var date of dateArray) { 100 | var [year, month, days] = date.split('-'); 101 | signIn(new Date(parseInt(year), parseInt(month) - 1, parseInt(days))) 102 | } 103 | }; 104 | }) 105 | -------------------------------------------------------------------------------- /FileManagement/websocketclientwrapper.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtWebChannel module of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ****************************************************************************/ 50 | 51 | #include "websocketclientwrapper.h" 52 | 53 | #include 54 | 55 | #include "websockettransport.h" 56 | 57 | /*! 58 | \brief Wrapps connected QWebSockets clients in WebSocketTransport objects. 59 | 60 | This code is all that is required to connect incoming WebSockets to the WebChannel. Any kind 61 | of remote JavaScript client that supports WebSockets can thus receive messages and access the 62 | published objects. 63 | */ 64 | 65 | QT_BEGIN_NAMESPACE 66 | 67 | /*! 68 | Construct the client wrapper with the given parent. 69 | 70 | All clients connecting to the QWebSocketServer will be automatically wrapped 71 | in WebSocketTransport objects. 72 | */ 73 | WebSocketClientWrapper::WebSocketClientWrapper(QWebSocketServer *server, QObject *parent) 74 | : QObject(parent) 75 | , m_server(server) 76 | { 77 | connect(server, &QWebSocketServer::newConnection, 78 | this, &WebSocketClientWrapper::handleNewConnection); 79 | } 80 | 81 | /*! 82 | Wrap an incoming WebSocket connection in a WebSocketTransport object. 83 | */ 84 | void WebSocketClientWrapper::handleNewConnection() 85 | { 86 | emit clientConnected(new WebSocketTransport(m_server->nextPendingConnection())); 87 | } 88 | 89 | QT_END_NAMESPACE 90 | -------------------------------------------------------------------------------- /FileManagement/websocketclientwrapper.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtWebChannel module of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ****************************************************************************/ 50 | 51 | #ifndef WEBSOCKETTRANSPORTSERVER_H 52 | #define WEBSOCKETTRANSPORTSERVER_H 53 | 54 | #include 55 | #include "websockettransport.h" 56 | 57 | QT_BEGIN_NAMESPACE 58 | 59 | class QWebSocketServer; 60 | class WebSocketTransport; 61 | 62 | class WebSocketClientWrapper : public QObject 63 | { 64 | Q_OBJECT 65 | 66 | public: 67 | WebSocketClientWrapper(QWebSocketServer *server, QObject *parent = 0); 68 | 69 | Q_SIGNALS: 70 | void clientConnected(WebSocketTransport* client); 71 | 72 | private Q_SLOTS: 73 | void handleNewConnection(); 74 | 75 | private: 76 | QWebSocketServer *m_server; 77 | }; 78 | 79 | QT_END_NAMESPACE 80 | 81 | #endif // WEBSOCKETTRANSPORTSERVER_H 82 | -------------------------------------------------------------------------------- /FileManagement/websockettransport.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtWebChannel module of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ****************************************************************************/ 50 | 51 | #include "websockettransport.h" 52 | 53 | #include 54 | #include 55 | #include 56 | 57 | #include 58 | 59 | /*! 60 | \brief QWebChannelAbstractSocket implementation that uses a QWebSocket internally. 61 | 62 | The transport delegates all messages received over the QWebSocket over its 63 | textMessageReceived signal. Analogously, all calls to sendTextMessage will 64 | be send over the QWebSocket to the remote client. 65 | */ 66 | 67 | QT_BEGIN_NAMESPACE 68 | 69 | /*! 70 | Construct the transport object and wrap the given socket. 71 | 72 | The socket is also set as the parent of the transport object. 73 | */ 74 | WebSocketTransport::WebSocketTransport(QWebSocket *socket) 75 | : QWebChannelAbstractTransport(socket) 76 | , m_socket(socket) 77 | { 78 | connect(socket, &QWebSocket::textMessageReceived, 79 | this, &WebSocketTransport::textMessageReceived); 80 | connect(socket, &QWebSocket::disconnected, 81 | this, &WebSocketTransport::deleteLater); 82 | } 83 | 84 | /*! 85 | Destroys the WebSocketTransport. 86 | */ 87 | WebSocketTransport::~WebSocketTransport() 88 | { 89 | m_socket->deleteLater(); 90 | } 91 | 92 | /*! 93 | Serialize the JSON message and send it as a text message via the WebSocket to the client. 94 | */ 95 | void WebSocketTransport::sendMessage(const QJsonObject &message) 96 | { 97 | QJsonDocument doc(message); 98 | m_socket->sendTextMessage(QString::fromUtf8(doc.toJson(QJsonDocument::Compact))); 99 | } 100 | 101 | /*! 102 | Deserialize the stringified JSON messageData and emit messageReceived. 103 | */ 104 | void WebSocketTransport::textMessageReceived(const QString &messageData) 105 | { 106 | QJsonParseError error; 107 | QJsonDocument message = QJsonDocument::fromJson(messageData.toUtf8(), &error); 108 | if (error.error) { 109 | qWarning() << "Failed to parse text message as JSON object:" << messageData 110 | << "Error is:" << error.errorString(); 111 | return; 112 | } else if (!message.isObject()) { 113 | qWarning() << "Received JSON message that is not an object: " << messageData; 114 | return; 115 | } 116 | emit messageReceived(message.object(), this); 117 | } 118 | 119 | QT_END_NAMESPACE 120 | -------------------------------------------------------------------------------- /FileManagement/websockettransport.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtWebChannel module of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ****************************************************************************/ 50 | 51 | #ifndef WEBSOCKETTRANSPORT_H 52 | #define WEBSOCKETTRANSPORT_H 53 | 54 | #include 55 | 56 | QT_BEGIN_NAMESPACE 57 | 58 | class QWebSocket; 59 | class WebSocketTransport : public QWebChannelAbstractTransport 60 | { 61 | Q_OBJECT 62 | public: 63 | explicit WebSocketTransport(QWebSocket *socket); 64 | virtual ~WebSocketTransport(); 65 | 66 | void sendMessage(const QJsonObject &message) Q_DECL_OVERRIDE; 67 | 68 | private Q_SLOTS: 69 | void textMessageReceived(const QString &message); 70 | 71 | private: 72 | QWebSocket *m_socket; 73 | }; 74 | 75 | QT_END_NAMESPACE 76 | 77 | #endif // WEBSOCKETTRANSPORT_H 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 实验室管理系统 2 | 3 | > 本来之前是做一个文件管理系统,后面发展了很多功能就叫实验室管理系统了。 4 | 5 | 这边只是客户端展示。 6 | 7 | ## 介绍 8 | 9 | 界面用的QT 5.7,之前也没接触过直接上手写了。主要是实验室几个人一起写的,研一的时候有一门课是软件实践,要求几个人组队开发软件。 10 | 11 | ## 特点 12 | 13 | - 仿MacOS界面,阴影无边框; 14 | 15 | - 充分利用面向对象编程思想,类之前的继承多态等实现较好; 16 | 17 | - 多线程下载,断点传输 18 | 19 | 可以同时下载多个文件,一开始是用TCP + 本地SQLite数据库实现,正常使用是没什么问题,但是如果客户端突然挂掉就不好记录断点。后面通过读取文件大小再计算断点发给服务端,后续计划换成http实现; 20 | 21 | - MD5加密密码,本地自动记住密码 22 | 23 | 本地通过简单的Base64加密存储密码,然后解密成密码再加密为MD5进行密码验证; 24 | 25 | - 待更新。 26 | 27 | 28 | 29 | ## 展示 30 | 31 | #### 登录界面 32 | 33 | 仿qq界面,动图实现。 34 | 35 | ![login](https://github.com/hhyvs111/FileManagement/blob/master/images/login.png) 36 | 37 | 38 | 39 | #### 注册界面 40 | 支持正则表达式有效性检验。 41 | 42 | ![rigitser](https://github.com/hhyvs111/FileManagement/blob/master/images/register.png) 43 | 44 | #### 上传文件界面 45 | 支持拖拽文件直接上传 46 | 47 | ![uplaod](https://github.com/hhyvs111/FileManagement/blob/master/images/upload.png) 48 | 49 | #### 查看文件界面 50 | 查看服务上所存有的文件。 51 | 52 | ![look](https://github.com/hhyvs111/FileManagement/blob/master/images/lookfile.png) 53 | 54 | #### 下载文件界面 55 | 56 | ![download](https://github.com/hhyvs111/FileManagement/blob/master/images/download.png) 57 | 58 | 59 | #### 周报界面 60 | 查看周报 61 | 62 | ![1](https://github.com/hhyvs111/FileManagement/blob/master/images/lookweek.png) 63 | 64 | 提交周报 65 | 66 | ![2](https://github.com/hhyvs111/FileManagement/blob/master/images/writeweek.png) 67 | 68 | 69 | #### 财务管理界面 70 | 支持导出Excel 71 | 72 | ![3](https://github.com/hhyvs111/FileManagement/blob/master/images/money.png) 73 | 74 | -------------------------------------------------------------------------------- /images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/download.png -------------------------------------------------------------------------------- /images/image-20190315142126297.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/image-20190315142126297.png -------------------------------------------------------------------------------- /images/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/login.png -------------------------------------------------------------------------------- /images/lookfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/lookfile.png -------------------------------------------------------------------------------- /images/lookweek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/lookweek.png -------------------------------------------------------------------------------- /images/money.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/money.png -------------------------------------------------------------------------------- /images/register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/register.png -------------------------------------------------------------------------------- /images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/upload.png -------------------------------------------------------------------------------- /images/writeweek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/writeweek.png -------------------------------------------------------------------------------- /images/图片1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hhyvs111/FileManagement/5fe91720737ca9f6f17bbb0e4b515011f16f21df/images/图片1.png --------------------------------------------------------------------------------