项目初始化,页面架构逻辑设计
This commit is contained in:
		
						commit
						300cc6d762
					
				
							
								
								
									
										355
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										355
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,355 @@
 | 
				
			|||||||
 | 
					# ---> VisualStudio
 | 
				
			||||||
 | 
					## Ignore Visual Studio temporary files, build results, and
 | 
				
			||||||
 | 
					## files generated by popular Visual Studio add-ons.
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files
 | 
				
			||||||
 | 
					*.rsuser
 | 
				
			||||||
 | 
					*.suo
 | 
				
			||||||
 | 
					*.user
 | 
				
			||||||
 | 
					*.userosscache
 | 
				
			||||||
 | 
					*.sln.docstates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User-specific files (MonoDevelop/Xamarin Studio)
 | 
				
			||||||
 | 
					*.userprefs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mono auto generated files
 | 
				
			||||||
 | 
					mono_crash.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build results
 | 
				
			||||||
 | 
					[Dd]ebug/
 | 
				
			||||||
 | 
					[Dd]ebugPublic/
 | 
				
			||||||
 | 
					[Rr]elease/
 | 
				
			||||||
 | 
					[Rr]eleases/
 | 
				
			||||||
 | 
					x64/
 | 
				
			||||||
 | 
					x86/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]/
 | 
				
			||||||
 | 
					[Aa][Rr][Mm]64/
 | 
				
			||||||
 | 
					bld/
 | 
				
			||||||
 | 
					[Bb]in/
 | 
				
			||||||
 | 
					[Oo]bj/
 | 
				
			||||||
 | 
					[Ll]og/
 | 
				
			||||||
 | 
					[Ll]ogs/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2015/2017 cache/options directory
 | 
				
			||||||
 | 
					.vs/
 | 
				
			||||||
 | 
					# Uncomment if you have tasks that create the project's static files in wwwroot
 | 
				
			||||||
 | 
					#wwwroot/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 2017 auto generated files
 | 
				
			||||||
 | 
					Generated\ Files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSTest test Results
 | 
				
			||||||
 | 
					[Tt]est[Rr]esult*/
 | 
				
			||||||
 | 
					[Bb]uild[Ll]og.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NUnit
 | 
				
			||||||
 | 
					*.VisualState.xml
 | 
				
			||||||
 | 
					TestResult.xml
 | 
				
			||||||
 | 
					nunit-*.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Results of an ATL Project
 | 
				
			||||||
 | 
					[Dd]ebugPS/
 | 
				
			||||||
 | 
					[Rr]eleasePS/
 | 
				
			||||||
 | 
					dlldata.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Benchmark Results
 | 
				
			||||||
 | 
					BenchmarkDotNet.Artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# .NET Core
 | 
				
			||||||
 | 
					project.lock.json
 | 
				
			||||||
 | 
					project.fragment.lock.json
 | 
				
			||||||
 | 
					artifacts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# StyleCop
 | 
				
			||||||
 | 
					StyleCopReport.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Files built by Visual Studio
 | 
				
			||||||
 | 
					*_i.c
 | 
				
			||||||
 | 
					*_p.c
 | 
				
			||||||
 | 
					*_h.h
 | 
				
			||||||
 | 
					*.ilk
 | 
				
			||||||
 | 
					*.meta
 | 
				
			||||||
 | 
					*.obj
 | 
				
			||||||
 | 
					*.iobj
 | 
				
			||||||
 | 
					*.pch
 | 
				
			||||||
 | 
					*.pdb
 | 
				
			||||||
 | 
					*.ipdb
 | 
				
			||||||
 | 
					*.pgc
 | 
				
			||||||
 | 
					*.pgd
 | 
				
			||||||
 | 
					*.rsp
 | 
				
			||||||
 | 
					*.sbr
 | 
				
			||||||
 | 
					*.tlb
 | 
				
			||||||
 | 
					*.tli
 | 
				
			||||||
 | 
					*.tlh
 | 
				
			||||||
 | 
					*.tmp
 | 
				
			||||||
 | 
					*.tmp_proj
 | 
				
			||||||
 | 
					*_wpftmp.csproj
 | 
				
			||||||
 | 
					*.log
 | 
				
			||||||
 | 
					*.vspscc
 | 
				
			||||||
 | 
					*.vssscc
 | 
				
			||||||
 | 
					.builds
 | 
				
			||||||
 | 
					*.pidb
 | 
				
			||||||
 | 
					*.svclog
 | 
				
			||||||
 | 
					*.scc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chutzpah Test files
 | 
				
			||||||
 | 
					_Chutzpah*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual C++ cache files
 | 
				
			||||||
 | 
					ipch/
 | 
				
			||||||
 | 
					*.aps
 | 
				
			||||||
 | 
					*.ncb
 | 
				
			||||||
 | 
					*.opendb
 | 
				
			||||||
 | 
					*.opensdf
 | 
				
			||||||
 | 
					*.sdf
 | 
				
			||||||
 | 
					*.cachefile
 | 
				
			||||||
 | 
					*.VC.db
 | 
				
			||||||
 | 
					*.VC.VC.opendb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio profiler
 | 
				
			||||||
 | 
					*.psess
 | 
				
			||||||
 | 
					*.vsp
 | 
				
			||||||
 | 
					*.vspx
 | 
				
			||||||
 | 
					*.sap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio Trace Files
 | 
				
			||||||
 | 
					*.e2e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TFS 2012 Local Workspace
 | 
				
			||||||
 | 
					$tf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Guidance Automation Toolkit
 | 
				
			||||||
 | 
					*.gpState
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ReSharper is a .NET coding add-in
 | 
				
			||||||
 | 
					_ReSharper*/
 | 
				
			||||||
 | 
					*.[Rr]e[Ss]harper
 | 
				
			||||||
 | 
					*.DotSettings.user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TeamCity is a build add-in
 | 
				
			||||||
 | 
					_TeamCity*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DotCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					*.dotCover
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# AxoCover is a Code Coverage Tool
 | 
				
			||||||
 | 
					.axoCover/*
 | 
				
			||||||
 | 
					!.axoCover/settings.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Coverlet is a free, cross platform Code Coverage Tool
 | 
				
			||||||
 | 
					coverage*[.json, .xml, .info]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio code coverage results
 | 
				
			||||||
 | 
					*.coverage
 | 
				
			||||||
 | 
					*.coveragexml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NCrunch
 | 
				
			||||||
 | 
					_NCrunch_*
 | 
				
			||||||
 | 
					.*crunch*.local.xml
 | 
				
			||||||
 | 
					nCrunchTemp_*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MightyMoose
 | 
				
			||||||
 | 
					*.mm.*
 | 
				
			||||||
 | 
					AutoTest.Net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Web workbench (sass)
 | 
				
			||||||
 | 
					.sass-cache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Installshield output folder
 | 
				
			||||||
 | 
					[Ee]xpress/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# DocProject is a documentation generator add-in
 | 
				
			||||||
 | 
					DocProject/buildhelp/
 | 
				
			||||||
 | 
					DocProject/Help/*.HxT
 | 
				
			||||||
 | 
					DocProject/Help/*.HxC
 | 
				
			||||||
 | 
					DocProject/Help/*.hhc
 | 
				
			||||||
 | 
					DocProject/Help/*.hhk
 | 
				
			||||||
 | 
					DocProject/Help/*.hhp
 | 
				
			||||||
 | 
					DocProject/Help/Html2
 | 
				
			||||||
 | 
					DocProject/Help/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Click-Once directory
 | 
				
			||||||
 | 
					publish/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Publish Web Output
 | 
				
			||||||
 | 
					*.[Pp]ublish.xml
 | 
				
			||||||
 | 
					*.azurePubxml
 | 
				
			||||||
 | 
					# Note: Comment the next line if you want to checkin your web deploy settings,
 | 
				
			||||||
 | 
					# but database connection strings (with potential passwords) will be unencrypted
 | 
				
			||||||
 | 
					*.pubxml
 | 
				
			||||||
 | 
					*.publishproj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Web App publish settings. Comment the next line if you want to
 | 
				
			||||||
 | 
					# checkin your Azure Web App publish settings, but sensitive information contained
 | 
				
			||||||
 | 
					# in these scripts will be unencrypted
 | 
				
			||||||
 | 
					PublishScripts/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NuGet Packages
 | 
				
			||||||
 | 
					*.nupkg
 | 
				
			||||||
 | 
					# NuGet Symbol Packages
 | 
				
			||||||
 | 
					*.snupkg
 | 
				
			||||||
 | 
					# The packages folder can be ignored because of Package Restore
 | 
				
			||||||
 | 
					**/[Pp]ackages/*
 | 
				
			||||||
 | 
					# except build/, which is used as an MSBuild target.
 | 
				
			||||||
 | 
					!**/[Pp]ackages/build/
 | 
				
			||||||
 | 
					# Uncomment if necessary however generally it will be regenerated when needed
 | 
				
			||||||
 | 
					#!**/[Pp]ackages/repositories.config
 | 
				
			||||||
 | 
					# NuGet v3's project.json files produces more ignorable files
 | 
				
			||||||
 | 
					*.nuget.props
 | 
				
			||||||
 | 
					*.nuget.targets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Build Output
 | 
				
			||||||
 | 
					csx/
 | 
				
			||||||
 | 
					*.build.csdef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Azure Emulator
 | 
				
			||||||
 | 
					ecf/
 | 
				
			||||||
 | 
					rcf/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Store app package directories and files
 | 
				
			||||||
 | 
					AppPackages/
 | 
				
			||||||
 | 
					BundleArtifacts/
 | 
				
			||||||
 | 
					Package.StoreAssociation.xml
 | 
				
			||||||
 | 
					_pkginfo.txt
 | 
				
			||||||
 | 
					*.appx
 | 
				
			||||||
 | 
					*.appxbundle
 | 
				
			||||||
 | 
					*.appxupload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio cache files
 | 
				
			||||||
 | 
					# files ending in .cache can be ignored
 | 
				
			||||||
 | 
					*.[Cc]ache
 | 
				
			||||||
 | 
					# but keep track of directories ending in .cache
 | 
				
			||||||
 | 
					!?*.[Cc]ache/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Others
 | 
				
			||||||
 | 
					ClientBin/
 | 
				
			||||||
 | 
					~$*
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					*.dbmdl
 | 
				
			||||||
 | 
					*.dbproj.schemaview
 | 
				
			||||||
 | 
					*.jfm
 | 
				
			||||||
 | 
					*.pfx
 | 
				
			||||||
 | 
					*.publishsettings
 | 
				
			||||||
 | 
					orleans.codegen.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Including strong name files can present a security risk
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/2483#issue-259490424)
 | 
				
			||||||
 | 
					#*.snk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Since there are multiple workflows, uncomment next line to ignore bower_components
 | 
				
			||||||
 | 
					# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
 | 
				
			||||||
 | 
					#bower_components/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RIA/Silverlight projects
 | 
				
			||||||
 | 
					Generated_Code/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup & report files from converting an old project file
 | 
				
			||||||
 | 
					# to a newer Visual Studio version. Backup files are not needed,
 | 
				
			||||||
 | 
					# because we have git ;-)
 | 
				
			||||||
 | 
					_UpgradeReport_Files/
 | 
				
			||||||
 | 
					Backup*/
 | 
				
			||||||
 | 
					UpgradeLog*.XML
 | 
				
			||||||
 | 
					UpgradeLog*.htm
 | 
				
			||||||
 | 
					ServiceFabricBackup/
 | 
				
			||||||
 | 
					*.rptproj.bak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SQL Server files
 | 
				
			||||||
 | 
					*.mdf
 | 
				
			||||||
 | 
					*.ldf
 | 
				
			||||||
 | 
					*.ndf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Business Intelligence projects
 | 
				
			||||||
 | 
					*.rdl.data
 | 
				
			||||||
 | 
					*.bim.layout
 | 
				
			||||||
 | 
					*.bim_*.settings
 | 
				
			||||||
 | 
					*.rptproj.rsuser
 | 
				
			||||||
 | 
					*- [Bb]ackup.rdl
 | 
				
			||||||
 | 
					*- [Bb]ackup ([0-9]).rdl
 | 
				
			||||||
 | 
					*- [Bb]ackup ([0-9][0-9]).rdl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Microsoft Fakes
 | 
				
			||||||
 | 
					FakesAssemblies/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# GhostDoc plugin setting file
 | 
				
			||||||
 | 
					*.GhostDoc.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Node.js Tools for Visual Studio
 | 
				
			||||||
 | 
					.ntvs_analysis.dat
 | 
				
			||||||
 | 
					node_modules/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 build log
 | 
				
			||||||
 | 
					*.plg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 workspace options file
 | 
				
			||||||
 | 
					*.opt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
 | 
				
			||||||
 | 
					*.vbw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio LightSwitch build output
 | 
				
			||||||
 | 
					**/*.HTMLClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.DesktopClient/ModelManifest.xml
 | 
				
			||||||
 | 
					**/*.Server/GeneratedArtifacts
 | 
				
			||||||
 | 
					**/*.Server/ModelManifest.xml
 | 
				
			||||||
 | 
					_Pvt_Extensions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Paket dependency manager
 | 
				
			||||||
 | 
					.paket/paket.exe
 | 
				
			||||||
 | 
					paket-files/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# FAKE - F# Make
 | 
				
			||||||
 | 
					.fake/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# CodeRush personal settings
 | 
				
			||||||
 | 
					.cr/personal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Python Tools for Visual Studio (PTVS)
 | 
				
			||||||
 | 
					__pycache__/
 | 
				
			||||||
 | 
					*.pyc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cake - Uncomment if you are using it
 | 
				
			||||||
 | 
					# tools/**
 | 
				
			||||||
 | 
					# !tools/packages.config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Tabs Studio
 | 
				
			||||||
 | 
					*.tss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Telerik's JustMock configuration file
 | 
				
			||||||
 | 
					*.jmconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BizTalk build output
 | 
				
			||||||
 | 
					*.btp.cs
 | 
				
			||||||
 | 
					*.btm.cs
 | 
				
			||||||
 | 
					*.odx.cs
 | 
				
			||||||
 | 
					*.xsd.cs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenCover UI analysis results
 | 
				
			||||||
 | 
					OpenCover/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Azure Stream Analytics local run output
 | 
				
			||||||
 | 
					ASALocalRun/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MSBuild Binary and Structured Log
 | 
				
			||||||
 | 
					*.binlog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# NVidia Nsight GPU debugger configuration file
 | 
				
			||||||
 | 
					*.nvuser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MFractors (Xamarin productivity tool) working folder
 | 
				
			||||||
 | 
					.mfractor/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Local History for Visual Studio
 | 
				
			||||||
 | 
					.localhistory/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BeatPulse healthcheck temp database
 | 
				
			||||||
 | 
					healthchecksdb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Backup folder for Package Reference Convert tool in Visual Studio 2017
 | 
				
			||||||
 | 
					MigrationBackup/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ionide (cross platform F# VS Code tools) working folder
 | 
				
			||||||
 | 
					.ionide/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										25
									
								
								ReportService.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ReportService.sln
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					Microsoft Visual Studio Solution File, Format Version 12.00
 | 
				
			||||||
 | 
					# Visual Studio Version 16
 | 
				
			||||||
 | 
					VisualStudioVersion = 16.0.30104.148
 | 
				
			||||||
 | 
					MinimumVisualStudioVersion = 10.0.40219.1
 | 
				
			||||||
 | 
					Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReportService", "ReportService\ReportService.csproj", "{3E4CF0D7-E242-4F61-8A02-C1B91402DCE9}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
 | 
					Global
 | 
				
			||||||
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
 | 
							Debug|Any CPU = Debug|Any CPU
 | 
				
			||||||
 | 
							Release|Any CPU = Release|Any CPU
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
 | 
							{3E4CF0D7-E242-4F61-8A02-C1B91402DCE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
				
			||||||
 | 
							{3E4CF0D7-E242-4F61-8A02-C1B91402DCE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
				
			||||||
 | 
							{3E4CF0D7-E242-4F61-8A02-C1B91402DCE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
				
			||||||
 | 
							{3E4CF0D7-E242-4F61-8A02-C1B91402DCE9}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
						GlobalSection(ExtensibilityGlobals) = postSolution
 | 
				
			||||||
 | 
							SolutionGuid = {E29A6DC7-436F-4275-96F3-F9A8E88E449D}
 | 
				
			||||||
 | 
						EndGlobalSection
 | 
				
			||||||
 | 
					EndGlobal
 | 
				
			||||||
							
								
								
									
										36
									
								
								ReportService/Controllers/HomeController.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								ReportService/Controllers/HomeController.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Diagnostics;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Logging;
 | 
				
			||||||
 | 
					using ReportService.Models;
 | 
				
			||||||
 | 
					using System.IO;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Hosting;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace ReportService.Controllers
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class HomeController:Controller
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private readonly ILogger<HomeController> _logger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public HomeController(ILogger<HomeController> logger) {
 | 
				
			||||||
 | 
					            _logger = logger;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public IActionResult Index() {
 | 
				
			||||||
 | 
					            return View();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public IActionResult Privacy() {
 | 
				
			||||||
 | 
					            return View();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [ResponseCache(Duration = 0,Location = ResponseCacheLocation.None,NoStore = true)]
 | 
				
			||||||
 | 
					        public IActionResult Error() {
 | 
				
			||||||
 | 
					            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										68
									
								
								ReportService/Controllers/api/ReportApiController.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								ReportService/Controllers/api/ReportApiController.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.IO;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Hosting;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Logging;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace ReportService.Controllers.api
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [Area("api")]
 | 
				
			||||||
 | 
					    [Route("api/[Controller]/[Action]")]
 | 
				
			||||||
 | 
					    public class ReportApiController:Controller
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private readonly ILogger<HomeController> _logger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public IWebHostEnvironment Env { get; private set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public ReportApiController(ILogger<HomeController> logger,IWebHostEnvironment env) {
 | 
				
			||||||
 | 
					            this._logger = logger;
 | 
				
			||||||
 | 
					            this.Env = env;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 获取页面模板列表
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <returns>名称列表</returns>
 | 
				
			||||||
 | 
					        public List<string> GetReportFiles() {
 | 
				
			||||||
 | 
					            var basePath = Path.Combine(Env.ContentRootPath,"rp");
 | 
				
			||||||
 | 
					            var files = Directory.GetFiles(basePath,"*.html");
 | 
				
			||||||
 | 
					            var result = new List<string>();
 | 
				
			||||||
 | 
					            foreach(var f in files) {
 | 
				
			||||||
 | 
					                var file = new System.IO.FileInfo(f);
 | 
				
			||||||
 | 
					                result.Add(file.Name.Substring(0,file.Name.IndexOf('.')));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return result;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 获取模板内容显示模板页面
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="fileName">模板文件名</param>
 | 
				
			||||||
 | 
					        /// <returns>模板内容</returns>
 | 
				
			||||||
 | 
					        public IActionResult GetHtml(string fileName) {
 | 
				
			||||||
 | 
					            var basePath = Path.Combine(this.Env.ContentRootPath,"rp",fileName + ".html");
 | 
				
			||||||
 | 
					            var f = new FileInfo(basePath);
 | 
				
			||||||
 | 
					            using(var fr = System.IO.File.OpenRead(basePath)) {
 | 
				
			||||||
 | 
					                using(var sr = new StreamReader(fr)) {
 | 
				
			||||||
 | 
					                    return Content(sr.ReadToEnd());
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 调用database执行sql语句,将结果封装为json对象返回
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="sql">要执行的sql语句</param>
 | 
				
			||||||
 | 
					        /// <returns>json对象</returns>
 | 
				
			||||||
 | 
					        public object GetResult(string sql) {
 | 
				
			||||||
 | 
					            var result = new List<dynamic> {
 | 
				
			||||||
 | 
					                new {name="n1",age=20,sex=1 },
 | 
				
			||||||
 | 
					                new {name="n2",age=30,sex=2 },
 | 
				
			||||||
 | 
					                new {name="n3",age=40,sex=1 },
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            return result;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								ReportService/Models/ErrorViewModel.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								ReportService/Models/ErrorViewModel.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace ReportService.Models
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class ErrorViewModel
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string RequestId { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										24
									
								
								ReportService/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								ReportService/Program.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Hosting;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Configuration;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Hosting;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Logging;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace ReportService
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class Program
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public static void Main(string[] args) {
 | 
				
			||||||
 | 
					            CreateHostBuilder(args).Build().Run();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static IHostBuilder CreateHostBuilder(string[] args) =>
 | 
				
			||||||
 | 
					            Host.CreateDefaultBuilder(args)
 | 
				
			||||||
 | 
					                .ConfigureWebHostDefaults(webBuilder => {
 | 
				
			||||||
 | 
					                    webBuilder.UseStartup<Startup>();
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								ReportService/Properties/launchSettings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								ReportService/Properties/launchSettings.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "iisSettings": {
 | 
				
			||||||
 | 
					    "windowsAuthentication": false,
 | 
				
			||||||
 | 
					    "anonymousAuthentication": true,
 | 
				
			||||||
 | 
					    "iisExpress": {
 | 
				
			||||||
 | 
					      "applicationUrl": "http://localhost:55961",
 | 
				
			||||||
 | 
					      "sslPort": 44336
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "profiles": {
 | 
				
			||||||
 | 
					    "IIS Express": {
 | 
				
			||||||
 | 
					      "commandName": "IISExpress",
 | 
				
			||||||
 | 
					      "environmentVariables": {
 | 
				
			||||||
 | 
					        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ReportService": {
 | 
				
			||||||
 | 
					      "commandName": "Project",
 | 
				
			||||||
 | 
					      "launchBrowser": true,
 | 
				
			||||||
 | 
					      "environmentVariables": {
 | 
				
			||||||
 | 
					        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "applicationUrl": "https://localhost:5001;http://localhost:5000"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								ReportService/ReportService.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/ReportService.csproj
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					<Project Sdk="Microsoft.NET.Sdk.Web">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <PropertyGroup>
 | 
				
			||||||
 | 
					    <TargetFramework>netcoreapp3.1</TargetFramework>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										50
									
								
								ReportService/Startup.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								ReportService/Startup.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Builder;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Hosting;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.HttpsPolicy;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Configuration;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.DependencyInjection;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.Hosting;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace ReportService
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class Startup
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public Startup(IConfiguration configuration) {
 | 
				
			||||||
 | 
					            Configuration = configuration;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public IConfiguration Configuration { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // This method gets called by the runtime. Use this method to add services to the container.
 | 
				
			||||||
 | 
					        public void ConfigureServices(IServiceCollection services) {
 | 
				
			||||||
 | 
					            services.AddControllersWithViews();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 | 
				
			||||||
 | 
					        public void Configure(IApplicationBuilder app,IWebHostEnvironment env) {
 | 
				
			||||||
 | 
					            if(env.IsDevelopment()) {
 | 
				
			||||||
 | 
					                app.UseDeveloperExceptionPage();
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                app.UseExceptionHandler("/Home/Error");
 | 
				
			||||||
 | 
					                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
 | 
				
			||||||
 | 
					                app.UseHsts();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            app.UseHttpsRedirection();
 | 
				
			||||||
 | 
					            app.UseStaticFiles();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            app.UseRouting();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            app.UseAuthorization();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            app.UseEndpoints(endpoints => {
 | 
				
			||||||
 | 
					                endpoints.MapControllerRoute(
 | 
				
			||||||
 | 
					                    name: "default",
 | 
				
			||||||
 | 
					                    pattern: "{controller=Home}/{action=Index}/{id?}");
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										30
									
								
								ReportService/Views/Home/Index.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								ReportService/Views/Home/Index.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					<div id="reportMain">
 | 
				
			||||||
 | 
					    <ul class="nav  nav-tabs">
 | 
				
			||||||
 | 
					        <li class="nav-item" v-for="m in reportList">
 | 
				
			||||||
 | 
					            <a class="nav-link" href="#" v-on:click="cli(m)">{{m}}</a>
 | 
				
			||||||
 | 
					        </li>
 | 
				
			||||||
 | 
					    </ul>
 | 
				
			||||||
 | 
					    <div id="rpPage"></div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					    var vm = new Vue({
 | 
				
			||||||
 | 
					        el: "#reportMain",
 | 
				
			||||||
 | 
					        data: {
 | 
				
			||||||
 | 
					            reportList: [],
 | 
				
			||||||
 | 
					            url: myjs.urls.files,
 | 
				
			||||||
 | 
					            fileContentUrl: myjs.urls.fileContentUrl,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        created() {
 | 
				
			||||||
 | 
					            $.get(this.url, function (d) {
 | 
				
			||||||
 | 
					                vm.reportList = d;
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        methods: {
 | 
				
			||||||
 | 
					            cli(m) {
 | 
				
			||||||
 | 
					                $.get(this.fileContentUrl, { fileName: m }, function (h) {
 | 
				
			||||||
 | 
					                    $("#rpPage").html(h);
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										6
									
								
								ReportService/Views/Home/Privacy.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ReportService/Views/Home/Privacy.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					@{
 | 
				
			||||||
 | 
					    ViewData["Title"] = "Privacy Policy";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					<h1>@ViewData["Title"]</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p>Use this page to detail your site's privacy policy.</p>
 | 
				
			||||||
							
								
								
									
										25
									
								
								ReportService/Views/Shared/Error.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ReportService/Views/Shared/Error.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					@model ErrorViewModel
 | 
				
			||||||
 | 
					@{
 | 
				
			||||||
 | 
					    ViewData["Title"] = "Error";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h1 class="text-danger">Error.</h1>
 | 
				
			||||||
 | 
					<h2 class="text-danger">An error occurred while processing your request.</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@if (Model.ShowRequestId)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    <p>
 | 
				
			||||||
 | 
					        <strong>Request ID:</strong> <code>@Model.RequestId</code>
 | 
				
			||||||
 | 
					    </p>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h3>Development Mode</h3>
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					    Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					<p>
 | 
				
			||||||
 | 
					    <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
 | 
				
			||||||
 | 
					    It can result in displaying sensitive information from exceptions to end users.
 | 
				
			||||||
 | 
					    For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
 | 
				
			||||||
 | 
					    and restarting the app.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
							
								
								
									
										46
									
								
								ReportService/Views/Shared/_Layout.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								ReportService/Views/Shared/_Layout.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="utf-8" />
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
				
			||||||
 | 
					    <title>ReportService</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="~/css/site.css" />
 | 
				
			||||||
 | 
					    <script src="~/lib/jquery/dist/jquery.min.js"></script>
 | 
				
			||||||
 | 
					    <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
 | 
				
			||||||
 | 
					    <script src="~/lib/vue/vue.min.js"></script>
 | 
				
			||||||
 | 
					    <script src="~/js/site.js" asp-append-version="true"></script>
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <header>
 | 
				
			||||||
 | 
					        <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
 | 
				
			||||||
 | 
					            <div class="container">
 | 
				
			||||||
 | 
					                <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">ReportService</a>
 | 
				
			||||||
 | 
					                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
 | 
				
			||||||
 | 
					                        aria-expanded="false" aria-label="Toggle navigation">
 | 
				
			||||||
 | 
					                    <span class="navbar-toggler-icon"></span>
 | 
				
			||||||
 | 
					                </button>
 | 
				
			||||||
 | 
					                <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
 | 
				
			||||||
 | 
					                    <ul class="navbar-nav flex-grow-1">
 | 
				
			||||||
 | 
					                        <li class="nav-item">
 | 
				
			||||||
 | 
					                            <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">报表</a>
 | 
				
			||||||
 | 
					                        </li>
 | 
				
			||||||
 | 
					                    </ul>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </nav>
 | 
				
			||||||
 | 
					    </header>
 | 
				
			||||||
 | 
					    <div class="container">
 | 
				
			||||||
 | 
					        <main role="main" class="pb-3">
 | 
				
			||||||
 | 
					            @RenderBody()
 | 
				
			||||||
 | 
					        </main>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <footer class="border-top footer text-muted">
 | 
				
			||||||
 | 
					        <div class="container">
 | 
				
			||||||
 | 
					            © 2020 - ReportService - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </footer>
 | 
				
			||||||
 | 
					    @RenderSection("Scripts",required: false)
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
 | 
				
			||||||
 | 
					<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
 | 
				
			||||||
							
								
								
									
										3
									
								
								ReportService/Views/_ViewImports.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								ReportService/Views/_ViewImports.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					@using ReportService
 | 
				
			||||||
 | 
					@using ReportService.Models
 | 
				
			||||||
 | 
					@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
 | 
				
			||||||
							
								
								
									
										3
									
								
								ReportService/Views/_ViewStart.cshtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								ReportService/Views/_ViewStart.cshtml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					@{
 | 
				
			||||||
 | 
					    Layout = "_Layout";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								ReportService/appsettings.Development.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								ReportService/appsettings.Development.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "Logging": {
 | 
				
			||||||
 | 
					    "LogLevel": {
 | 
				
			||||||
 | 
					      "Default": "Information",
 | 
				
			||||||
 | 
					      "Microsoft": "Warning",
 | 
				
			||||||
 | 
					      "Microsoft.Hosting.Lifetime": "Information"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										10
									
								
								ReportService/appsettings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								ReportService/appsettings.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "Logging": {
 | 
				
			||||||
 | 
					    "LogLevel": {
 | 
				
			||||||
 | 
					      "Default": "Information",
 | 
				
			||||||
 | 
					      "Microsoft": "Warning",
 | 
				
			||||||
 | 
					      "Microsoft.Hosting.Lifetime": "Information"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "AllowedHosts": "*"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										47
									
								
								ReportService/rp/example.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								ReportService/rp/example.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					<div id="findPerson">
 | 
				
			||||||
 | 
					    <div id="para">
 | 
				
			||||||
 | 
					        <input type="hidden" name="ProcedureName" value="example" />
 | 
				
			||||||
 | 
					        <label>姓名:<input name="name" value="" placeholder="输入姓名或留空" /></label>
 | 
				
			||||||
 | 
					        <label>地址:<input name="address" value="" placeholder="输入地址数据" /></label>
 | 
				
			||||||
 | 
					        <button id="search" v-on:click="find">查询</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div id="result" v-if="result.length > 0">
 | 
				
			||||||
 | 
					        <table class="table">
 | 
				
			||||||
 | 
					            <thead>
 | 
				
			||||||
 | 
					                <tr>
 | 
				
			||||||
 | 
					                    <td>name</td>
 | 
				
			||||||
 | 
					                    <td>age</td>
 | 
				
			||||||
 | 
					                    <td>sex</td>
 | 
				
			||||||
 | 
					                </tr>
 | 
				
			||||||
 | 
					            </thead>
 | 
				
			||||||
 | 
					            <tbody>
 | 
				
			||||||
 | 
					                <tr v-for="i in result">
 | 
				
			||||||
 | 
					                    <td>{{i.name}}</td>
 | 
				
			||||||
 | 
					                    <td>{{i.age}}</td>
 | 
				
			||||||
 | 
					                    <td>{{i.sex}}</td>
 | 
				
			||||||
 | 
					                </tr>
 | 
				
			||||||
 | 
					            </tbody>
 | 
				
			||||||
 | 
					        </table>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					    var findPerson = new Vue({
 | 
				
			||||||
 | 
					        el: "#findPerson",
 | 
				
			||||||
 | 
					        data: {
 | 
				
			||||||
 | 
					            url: myjs.urls.getresult,
 | 
				
			||||||
 | 
					            result: [],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        created() {
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        methods: {
 | 
				
			||||||
 | 
					            find() {
 | 
				
			||||||
 | 
					                var sql =myjs.createSql("#para");
 | 
				
			||||||
 | 
					                console.log(sql);
 | 
				
			||||||
 | 
					                myjs.post(this.url, { sql: this.sql }, function (d) {
 | 
				
			||||||
 | 
					                    findPerson.result = d;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										7
									
								
								ReportService/rp/模板报表.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/rp/模板报表.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					<div id="findPerson">
 | 
				
			||||||
 | 
					    <label>姓名:<input v-model="name" /></label>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										71
									
								
								ReportService/wwwroot/css/site.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								ReportService/wwwroot/css/site.css
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
 | 
				
			||||||
 | 
					for details on configuring this project to bundle and minify static web assets. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a.navbar-brand {
 | 
				
			||||||
 | 
					  white-space: normal;
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
 | 
					  word-break: break-all;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Provide sufficient contrast against white background */
 | 
				
			||||||
 | 
					a {
 | 
				
			||||||
 | 
					  color: #0366d6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.btn-primary {
 | 
				
			||||||
 | 
					  color: #fff;
 | 
				
			||||||
 | 
					  background-color: #1b6ec2;
 | 
				
			||||||
 | 
					  border-color: #1861ac;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
 | 
				
			||||||
 | 
					  color: #fff;
 | 
				
			||||||
 | 
					  background-color: #1b6ec2;
 | 
				
			||||||
 | 
					  border-color: #1861ac;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Sticky footer styles
 | 
				
			||||||
 | 
					-------------------------------------------------- */
 | 
				
			||||||
 | 
					html {
 | 
				
			||||||
 | 
					  font-size: 14px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@media (min-width: 768px) {
 | 
				
			||||||
 | 
					  html {
 | 
				
			||||||
 | 
					    font-size: 16px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.border-top {
 | 
				
			||||||
 | 
					  border-top: 1px solid #e5e5e5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.border-bottom {
 | 
				
			||||||
 | 
					  border-bottom: 1px solid #e5e5e5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.box-shadow {
 | 
				
			||||||
 | 
					  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button.accept-policy {
 | 
				
			||||||
 | 
					  font-size: 1rem;
 | 
				
			||||||
 | 
					  line-height: inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Sticky footer styles
 | 
				
			||||||
 | 
					-------------------------------------------------- */
 | 
				
			||||||
 | 
					html {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  min-height: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					  /* Margin bottom by footer height */
 | 
				
			||||||
 | 
					  margin-bottom: 60px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.footer {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  bottom: 0;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  white-space: nowrap;
 | 
				
			||||||
 | 
					  line-height: 60px; /* Vertically center the text there */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								ReportService/wwwroot/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ReportService/wwwroot/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 31 KiB  | 
							
								
								
									
										55
									
								
								ReportService/wwwroot/js/site.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								ReportService/wwwroot/js/site.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					var myjs = {
 | 
				
			||||||
 | 
					    urls: {
 | 
				
			||||||
 | 
					        files: "/api/ReportApi/getreportfiles",
 | 
				
			||||||
 | 
					        fileContentUrl: "/api/ReportApi/GetHtml",
 | 
				
			||||||
 | 
					        getresult: "api/ReportApi/GetResult",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    //定义从对象获取请求参数的方法
 | 
				
			||||||
 | 
					    getParaStr(data) {
 | 
				
			||||||
 | 
					        var arr = []
 | 
				
			||||||
 | 
					        for (const key in data) {
 | 
				
			||||||
 | 
					            arr.push(key + "=" + data[key])
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return arr.join('&')
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    //创建sql字符串
 | 
				
			||||||
 | 
					    createSql(e) {
 | 
				
			||||||
 | 
					        var pn = "";
 | 
				
			||||||
 | 
					        var paras = "";
 | 
				
			||||||
 | 
					        var ec = $(e).find("input");
 | 
				
			||||||
 | 
					        for (var i = 0; i < ec.length; i++) {
 | 
				
			||||||
 | 
					            var e = $(ec[i]);
 | 
				
			||||||
 | 
					            var n = e.attr("name");
 | 
				
			||||||
 | 
					            var v = e.attr("value");
 | 
				
			||||||
 | 
					            if (n == "ProcedureName") {
 | 
				
			||||||
 | 
					                pn = v;
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                paras = paras + " @" + n + "='" + v + "',";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return "exec " + pn + paras;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    //发送post请求,发送data数据,执行成功方法sc和失败方法ec
 | 
				
			||||||
 | 
					    post(url, data, sc, ec) {
 | 
				
			||||||
 | 
					        if (!ec) {
 | 
				
			||||||
 | 
					            ec = function (e) { showmsg(e.message); };
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        fetch(url, {
 | 
				
			||||||
 | 
					            credentials: 'same-origin',
 | 
				
			||||||
 | 
					            method: 'POST', // or 'PUT'
 | 
				
			||||||
 | 
					            body: this.getParaStr(data),
 | 
				
			||||||
 | 
					            headers: new Headers({
 | 
				
			||||||
 | 
					                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					            .then(Response => Response.json())
 | 
				
			||||||
 | 
					            .then(sc)
 | 
				
			||||||
 | 
					            .catch(ec);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    //提示消息并记录
 | 
				
			||||||
 | 
					    showmsg(msg) {
 | 
				
			||||||
 | 
					        console.log(msg);
 | 
				
			||||||
 | 
					        alert(msg);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										22
									
								
								ReportService/wwwroot/lib/bootstrap/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ReportService/wwwroot/lib/bootstrap/LICENSE
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					The MIT License (MIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright (c) 2011-2018 Twitter, Inc.
 | 
				
			||||||
 | 
					Copyright (c) 2011-2018 The Bootstrap Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 | 
					in the Software without restriction, including without limitation the rights
 | 
				
			||||||
 | 
					to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
				
			||||||
 | 
					copies of the Software, and to permit persons to whom the Software is
 | 
				
			||||||
 | 
					furnished to do so, subject to the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be included in
 | 
				
			||||||
 | 
					all copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
				
			||||||
 | 
					THE SOFTWARE.
 | 
				
			||||||
							
								
								
									
										3719
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3719
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										331
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										331
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,331 @@
 | 
				
			|||||||
 | 
					/*!
 | 
				
			||||||
 | 
					 * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
 | 
				
			||||||
 | 
					 * Copyright 2011-2019 The Bootstrap Authors
 | 
				
			||||||
 | 
					 * Copyright 2011-2019 Twitter, Inc.
 | 
				
			||||||
 | 
					 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | 
				
			||||||
 | 
					 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					*,
 | 
				
			||||||
 | 
					*::before,
 | 
				
			||||||
 | 
					*::after {
 | 
				
			||||||
 | 
					  box-sizing: border-box;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					html {
 | 
				
			||||||
 | 
					  font-family: sans-serif;
 | 
				
			||||||
 | 
					  line-height: 1.15;
 | 
				
			||||||
 | 
					  -webkit-text-size-adjust: 100%;
 | 
				
			||||||
 | 
					  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
 | 
				
			||||||
 | 
					  display: block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					  margin: 0;
 | 
				
			||||||
 | 
					  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
 | 
				
			||||||
 | 
					  font-size: 1rem;
 | 
				
			||||||
 | 
					  font-weight: 400;
 | 
				
			||||||
 | 
					  line-height: 1.5;
 | 
				
			||||||
 | 
					  color: #212529;
 | 
				
			||||||
 | 
					  text-align: left;
 | 
				
			||||||
 | 
					  background-color: #fff;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[tabindex="-1"]:focus {
 | 
				
			||||||
 | 
					  outline: 0 !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hr {
 | 
				
			||||||
 | 
					  box-sizing: content-box;
 | 
				
			||||||
 | 
					  height: 0;
 | 
				
			||||||
 | 
					  overflow: visible;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					h1, h2, h3, h4, h5, h6 {
 | 
				
			||||||
 | 
					  margin-top: 0;
 | 
				
			||||||
 | 
					  margin-bottom: 0.5rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					p {
 | 
				
			||||||
 | 
					  margin-top: 0;
 | 
				
			||||||
 | 
					  margin-bottom: 1rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					abbr[title],
 | 
				
			||||||
 | 
					abbr[data-original-title] {
 | 
				
			||||||
 | 
					  text-decoration: underline;
 | 
				
			||||||
 | 
					  -webkit-text-decoration: underline dotted;
 | 
				
			||||||
 | 
					  text-decoration: underline dotted;
 | 
				
			||||||
 | 
					  cursor: help;
 | 
				
			||||||
 | 
					  border-bottom: 0;
 | 
				
			||||||
 | 
					  -webkit-text-decoration-skip-ink: none;
 | 
				
			||||||
 | 
					  text-decoration-skip-ink: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					address {
 | 
				
			||||||
 | 
					  margin-bottom: 1rem;
 | 
				
			||||||
 | 
					  font-style: normal;
 | 
				
			||||||
 | 
					  line-height: inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ol,
 | 
				
			||||||
 | 
					ul,
 | 
				
			||||||
 | 
					dl {
 | 
				
			||||||
 | 
					  margin-top: 0;
 | 
				
			||||||
 | 
					  margin-bottom: 1rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ol ol,
 | 
				
			||||||
 | 
					ul ul,
 | 
				
			||||||
 | 
					ol ul,
 | 
				
			||||||
 | 
					ul ol {
 | 
				
			||||||
 | 
					  margin-bottom: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dt {
 | 
				
			||||||
 | 
					  font-weight: 700;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dd {
 | 
				
			||||||
 | 
					  margin-bottom: .5rem;
 | 
				
			||||||
 | 
					  margin-left: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					blockquote {
 | 
				
			||||||
 | 
					  margin: 0 0 1rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					b,
 | 
				
			||||||
 | 
					strong {
 | 
				
			||||||
 | 
					  font-weight: bolder;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					small {
 | 
				
			||||||
 | 
					  font-size: 80%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sub,
 | 
				
			||||||
 | 
					sup {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  font-size: 75%;
 | 
				
			||||||
 | 
					  line-height: 0;
 | 
				
			||||||
 | 
					  vertical-align: baseline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sub {
 | 
				
			||||||
 | 
					  bottom: -.25em;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sup {
 | 
				
			||||||
 | 
					  top: -.5em;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a {
 | 
				
			||||||
 | 
					  color: #007bff;
 | 
				
			||||||
 | 
					  text-decoration: none;
 | 
				
			||||||
 | 
					  background-color: transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a:hover {
 | 
				
			||||||
 | 
					  color: #0056b3;
 | 
				
			||||||
 | 
					  text-decoration: underline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a:not([href]):not([tabindex]) {
 | 
				
			||||||
 | 
					  color: inherit;
 | 
				
			||||||
 | 
					  text-decoration: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
 | 
				
			||||||
 | 
					  color: inherit;
 | 
				
			||||||
 | 
					  text-decoration: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a:not([href]):not([tabindex]):focus {
 | 
				
			||||||
 | 
					  outline: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre,
 | 
				
			||||||
 | 
					code,
 | 
				
			||||||
 | 
					kbd,
 | 
				
			||||||
 | 
					samp {
 | 
				
			||||||
 | 
					  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
 | 
				
			||||||
 | 
					  font-size: 1em;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre {
 | 
				
			||||||
 | 
					  margin-top: 0;
 | 
				
			||||||
 | 
					  margin-bottom: 1rem;
 | 
				
			||||||
 | 
					  overflow: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					figure {
 | 
				
			||||||
 | 
					  margin: 0 0 1rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					img {
 | 
				
			||||||
 | 
					  vertical-align: middle;
 | 
				
			||||||
 | 
					  border-style: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					svg {
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					  vertical-align: middle;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					table {
 | 
				
			||||||
 | 
					  border-collapse: collapse;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					caption {
 | 
				
			||||||
 | 
					  padding-top: 0.75rem;
 | 
				
			||||||
 | 
					  padding-bottom: 0.75rem;
 | 
				
			||||||
 | 
					  color: #6c757d;
 | 
				
			||||||
 | 
					  text-align: left;
 | 
				
			||||||
 | 
					  caption-side: bottom;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					th {
 | 
				
			||||||
 | 
					  text-align: inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					label {
 | 
				
			||||||
 | 
					  display: inline-block;
 | 
				
			||||||
 | 
					  margin-bottom: 0.5rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button {
 | 
				
			||||||
 | 
					  border-radius: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button:focus {
 | 
				
			||||||
 | 
					  outline: 1px dotted;
 | 
				
			||||||
 | 
					  outline: 5px auto -webkit-focus-ring-color;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input,
 | 
				
			||||||
 | 
					button,
 | 
				
			||||||
 | 
					select,
 | 
				
			||||||
 | 
					optgroup,
 | 
				
			||||||
 | 
					textarea {
 | 
				
			||||||
 | 
					  margin: 0;
 | 
				
			||||||
 | 
					  font-family: inherit;
 | 
				
			||||||
 | 
					  font-size: inherit;
 | 
				
			||||||
 | 
					  line-height: inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button,
 | 
				
			||||||
 | 
					input {
 | 
				
			||||||
 | 
					  overflow: visible;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button,
 | 
				
			||||||
 | 
					select {
 | 
				
			||||||
 | 
					  text-transform: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					select {
 | 
				
			||||||
 | 
					  word-wrap: normal;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button,
 | 
				
			||||||
 | 
					[type="button"],
 | 
				
			||||||
 | 
					[type="reset"],
 | 
				
			||||||
 | 
					[type="submit"] {
 | 
				
			||||||
 | 
					  -webkit-appearance: button;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button:not(:disabled),
 | 
				
			||||||
 | 
					[type="button"]:not(:disabled),
 | 
				
			||||||
 | 
					[type="reset"]:not(:disabled),
 | 
				
			||||||
 | 
					[type="submit"]:not(:disabled) {
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					button::-moz-focus-inner,
 | 
				
			||||||
 | 
					[type="button"]::-moz-focus-inner,
 | 
				
			||||||
 | 
					[type="reset"]::-moz-focus-inner,
 | 
				
			||||||
 | 
					[type="submit"]::-moz-focus-inner {
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  border-style: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input[type="radio"],
 | 
				
			||||||
 | 
					input[type="checkbox"] {
 | 
				
			||||||
 | 
					  box-sizing: border-box;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input[type="date"],
 | 
				
			||||||
 | 
					input[type="time"],
 | 
				
			||||||
 | 
					input[type="datetime-local"],
 | 
				
			||||||
 | 
					input[type="month"] {
 | 
				
			||||||
 | 
					  -webkit-appearance: listbox;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					textarea {
 | 
				
			||||||
 | 
					  overflow: auto;
 | 
				
			||||||
 | 
					  resize: vertical;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fieldset {
 | 
				
			||||||
 | 
					  min-width: 0;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  margin: 0;
 | 
				
			||||||
 | 
					  border: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					legend {
 | 
				
			||||||
 | 
					  display: block;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  max-width: 100%;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  margin-bottom: .5rem;
 | 
				
			||||||
 | 
					  font-size: 1.5rem;
 | 
				
			||||||
 | 
					  line-height: inherit;
 | 
				
			||||||
 | 
					  color: inherit;
 | 
				
			||||||
 | 
					  white-space: normal;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					progress {
 | 
				
			||||||
 | 
					  vertical-align: baseline;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[type="number"]::-webkit-inner-spin-button,
 | 
				
			||||||
 | 
					[type="number"]::-webkit-outer-spin-button {
 | 
				
			||||||
 | 
					  height: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[type="search"] {
 | 
				
			||||||
 | 
					  outline-offset: -2px;
 | 
				
			||||||
 | 
					  -webkit-appearance: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[type="search"]::-webkit-search-decoration {
 | 
				
			||||||
 | 
					  -webkit-appearance: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					::-webkit-file-upload-button {
 | 
				
			||||||
 | 
					  font: inherit;
 | 
				
			||||||
 | 
					  -webkit-appearance: button;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output {
 | 
				
			||||||
 | 
					  display: inline-block;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					summary {
 | 
				
			||||||
 | 
					  display: list-item;
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					template {
 | 
				
			||||||
 | 
					  display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[hidden] {
 | 
				
			||||||
 | 
					  display: none !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*# sourceMappingURL=bootstrap-reboot.css.map */
 | 
				
			||||||
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										8
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					/*!
 | 
				
			||||||
 | 
					 * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
 | 
				
			||||||
 | 
					 * Copyright 2011-2019 The Bootstrap Authors
 | 
				
			||||||
 | 
					 * Copyright 2011-2019 Twitter, Inc.
 | 
				
			||||||
 | 
					 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 | 
				
			||||||
 | 
					 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 | 
				
			||||||
 | 
					 */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
 | 
				
			||||||
 | 
					/*# sourceMappingURL=bootstrap-reboot.min.css.map */
 | 
				
			||||||
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										10038
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10038
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7013
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7013
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										4435
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4435
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					Copyright (c) .NET Foundation. All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licensed under the Apache License, Version 2.0 (the "License"); you may not use
 | 
				
			||||||
 | 
					these files except in compliance with the License. You may obtain a copy of the
 | 
				
			||||||
 | 
					License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unless required by applicable law or agreed to in writing, software distributed
 | 
				
			||||||
 | 
					under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 | 
				
			||||||
 | 
					CONDITIONS OF ANY KIND, either express or implied. See the License for the
 | 
				
			||||||
 | 
					specific language governing permissions and limitations under the License.
 | 
				
			||||||
							
								
								
									
										432
									
								
								ReportService/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										432
									
								
								ReportService/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,432 @@
 | 
				
			|||||||
 | 
					// Unobtrusive validation support library for jQuery and jQuery Validate
 | 
				
			||||||
 | 
					// Copyright (c) .NET Foundation. All rights reserved.
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 | 
				
			||||||
 | 
					// @version v3.2.11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
 | 
				
			||||||
 | 
					/*global document: false, jQuery: false */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(function (factory) {
 | 
				
			||||||
 | 
					    if (typeof define === 'function' && define.amd) {
 | 
				
			||||||
 | 
					        // AMD. Register as an anonymous module.
 | 
				
			||||||
 | 
					        define("jquery.validate.unobtrusive", ['jquery-validation'], factory);
 | 
				
			||||||
 | 
					    } else if (typeof module === 'object' && module.exports) {
 | 
				
			||||||
 | 
					        // CommonJS-like environments that support module.exports     
 | 
				
			||||||
 | 
					        module.exports = factory(require('jquery-validation'));
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        // Browser global
 | 
				
			||||||
 | 
					        jQuery.validator.unobtrusive = factory(jQuery);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}(function ($) {
 | 
				
			||||||
 | 
					    var $jQval = $.validator,
 | 
				
			||||||
 | 
					        adapters,
 | 
				
			||||||
 | 
					        data_validation = "unobtrusiveValidation";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function setValidationValues(options, ruleName, value) {
 | 
				
			||||||
 | 
					        options.rules[ruleName] = value;
 | 
				
			||||||
 | 
					        if (options.message) {
 | 
				
			||||||
 | 
					            options.messages[ruleName] = options.message;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function splitAndTrim(value) {
 | 
				
			||||||
 | 
					        return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function escapeAttributeValue(value) {
 | 
				
			||||||
 | 
					        // As mentioned on http://api.jquery.com/category/selectors/
 | 
				
			||||||
 | 
					        return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function getModelPrefix(fieldName) {
 | 
				
			||||||
 | 
					        return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function appendModelPrefix(value, prefix) {
 | 
				
			||||||
 | 
					        if (value.indexOf("*.") === 0) {
 | 
				
			||||||
 | 
					            value = value.replace("*.", prefix);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return value;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function onError(error, inputElement) {  // 'this' is the form element
 | 
				
			||||||
 | 
					        var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
 | 
				
			||||||
 | 
					            replaceAttrValue = container.attr("data-valmsg-replace"),
 | 
				
			||||||
 | 
					            replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        container.removeClass("field-validation-valid").addClass("field-validation-error");
 | 
				
			||||||
 | 
					        error.data("unobtrusiveContainer", container);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (replace) {
 | 
				
			||||||
 | 
					            container.empty();
 | 
				
			||||||
 | 
					            error.removeClass("input-validation-error").appendTo(container);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            error.hide();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function onErrors(event, validator) {  // 'this' is the form element
 | 
				
			||||||
 | 
					        var container = $(this).find("[data-valmsg-summary=true]"),
 | 
				
			||||||
 | 
					            list = container.find("ul");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (list && list.length && validator.errorList.length) {
 | 
				
			||||||
 | 
					            list.empty();
 | 
				
			||||||
 | 
					            container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $.each(validator.errorList, function () {
 | 
				
			||||||
 | 
					                $("<li />").html(this.message).appendTo(list);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function onSuccess(error) {  // 'this' is the form element
 | 
				
			||||||
 | 
					        var container = error.data("unobtrusiveContainer");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (container) {
 | 
				
			||||||
 | 
					            var replaceAttrValue = container.attr("data-valmsg-replace"),
 | 
				
			||||||
 | 
					                replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            container.addClass("field-validation-valid").removeClass("field-validation-error");
 | 
				
			||||||
 | 
					            error.removeData("unobtrusiveContainer");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (replace) {
 | 
				
			||||||
 | 
					                container.empty();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function onReset(event) {  // 'this' is the form element
 | 
				
			||||||
 | 
					        var $form = $(this),
 | 
				
			||||||
 | 
					            key = '__jquery_unobtrusive_validation_form_reset';
 | 
				
			||||||
 | 
					        if ($form.data(key)) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // Set a flag that indicates we're currently resetting the form.
 | 
				
			||||||
 | 
					        $form.data(key, true);
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            $form.data("validator").resetForm();
 | 
				
			||||||
 | 
					        } finally {
 | 
				
			||||||
 | 
					            $form.removeData(key);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $form.find(".validation-summary-errors")
 | 
				
			||||||
 | 
					            .addClass("validation-summary-valid")
 | 
				
			||||||
 | 
					            .removeClass("validation-summary-errors");
 | 
				
			||||||
 | 
					        $form.find(".field-validation-error")
 | 
				
			||||||
 | 
					            .addClass("field-validation-valid")
 | 
				
			||||||
 | 
					            .removeClass("field-validation-error")
 | 
				
			||||||
 | 
					            .removeData("unobtrusiveContainer")
 | 
				
			||||||
 | 
					            .find(">*")  // If we were using valmsg-replace, get the underlying error
 | 
				
			||||||
 | 
					            .removeData("unobtrusiveContainer");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function validationInfo(form) {
 | 
				
			||||||
 | 
					        var $form = $(form),
 | 
				
			||||||
 | 
					            result = $form.data(data_validation),
 | 
				
			||||||
 | 
					            onResetProxy = $.proxy(onReset, form),
 | 
				
			||||||
 | 
					            defaultOptions = $jQval.unobtrusive.options || {},
 | 
				
			||||||
 | 
					            execInContext = function (name, args) {
 | 
				
			||||||
 | 
					                var func = defaultOptions[name];
 | 
				
			||||||
 | 
					                func && $.isFunction(func) && func.apply(form, args);
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!result) {
 | 
				
			||||||
 | 
					            result = {
 | 
				
			||||||
 | 
					                options: {  // options structure passed to jQuery Validate's validate() method
 | 
				
			||||||
 | 
					                    errorClass: defaultOptions.errorClass || "input-validation-error",
 | 
				
			||||||
 | 
					                    errorElement: defaultOptions.errorElement || "span",
 | 
				
			||||||
 | 
					                    errorPlacement: function () {
 | 
				
			||||||
 | 
					                        onError.apply(form, arguments);
 | 
				
			||||||
 | 
					                        execInContext("errorPlacement", arguments);
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    invalidHandler: function () {
 | 
				
			||||||
 | 
					                        onErrors.apply(form, arguments);
 | 
				
			||||||
 | 
					                        execInContext("invalidHandler", arguments);
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    messages: {},
 | 
				
			||||||
 | 
					                    rules: {},
 | 
				
			||||||
 | 
					                    success: function () {
 | 
				
			||||||
 | 
					                        onSuccess.apply(form, arguments);
 | 
				
			||||||
 | 
					                        execInContext("success", arguments);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                attachValidation: function () {
 | 
				
			||||||
 | 
					                    $form
 | 
				
			||||||
 | 
					                        .off("reset." + data_validation, onResetProxy)
 | 
				
			||||||
 | 
					                        .on("reset." + data_validation, onResetProxy)
 | 
				
			||||||
 | 
					                        .validate(this.options);
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                validate: function () {  // a validation function that is called by unobtrusive Ajax
 | 
				
			||||||
 | 
					                    $form.validate();
 | 
				
			||||||
 | 
					                    return $form.valid();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            $form.data(data_validation, result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return result;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $jQval.unobtrusive = {
 | 
				
			||||||
 | 
					        adapters: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        parseElement: function (element, skipAttach) {
 | 
				
			||||||
 | 
					            /// <summary>
 | 
				
			||||||
 | 
					            /// Parses a single HTML element for unobtrusive validation attributes.
 | 
				
			||||||
 | 
					            /// </summary>
 | 
				
			||||||
 | 
					            /// <param name="element" domElement="true">The HTML element to be parsed.</param>
 | 
				
			||||||
 | 
					            /// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
 | 
				
			||||||
 | 
					            /// validation to the form. If parsing just this single element, you should specify true.
 | 
				
			||||||
 | 
					            /// If parsing several elements, you should specify false, and manually attach the validation
 | 
				
			||||||
 | 
					            /// to the form when you are finished. The default is false.</param>
 | 
				
			||||||
 | 
					            var $element = $(element),
 | 
				
			||||||
 | 
					                form = $element.parents("form")[0],
 | 
				
			||||||
 | 
					                valInfo, rules, messages;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!form) {  // Cannot do client-side validation without a form
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            valInfo = validationInfo(form);
 | 
				
			||||||
 | 
					            valInfo.options.rules[element.name] = rules = {};
 | 
				
			||||||
 | 
					            valInfo.options.messages[element.name] = messages = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $.each(this.adapters, function () {
 | 
				
			||||||
 | 
					                var prefix = "data-val-" + this.name,
 | 
				
			||||||
 | 
					                    message = $element.attr(prefix),
 | 
				
			||||||
 | 
					                    paramValues = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (message !== undefined) {  // Compare against undefined, because an empty message is legal (and falsy)
 | 
				
			||||||
 | 
					                    prefix += "-";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    $.each(this.params, function () {
 | 
				
			||||||
 | 
					                        paramValues[this] = $element.attr(prefix + this);
 | 
				
			||||||
 | 
					                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    this.adapt({
 | 
				
			||||||
 | 
					                        element: element,
 | 
				
			||||||
 | 
					                        form: form,
 | 
				
			||||||
 | 
					                        message: message,
 | 
				
			||||||
 | 
					                        params: paramValues,
 | 
				
			||||||
 | 
					                        rules: rules,
 | 
				
			||||||
 | 
					                        messages: messages
 | 
				
			||||||
 | 
					                    });
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $.extend(rules, { "__dummy__": true });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!skipAttach) {
 | 
				
			||||||
 | 
					                valInfo.attachValidation();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        parse: function (selector) {
 | 
				
			||||||
 | 
					            /// <summary>
 | 
				
			||||||
 | 
					            /// Parses all the HTML elements in the specified selector. It looks for input elements decorated
 | 
				
			||||||
 | 
					            /// with the [data-val=true] attribute value and enables validation according to the data-val-*
 | 
				
			||||||
 | 
					            /// attribute values.
 | 
				
			||||||
 | 
					            /// </summary>
 | 
				
			||||||
 | 
					            /// <param name="selector" type="String">Any valid jQuery selector.</param>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
 | 
				
			||||||
 | 
					            // element with data-val=true
 | 
				
			||||||
 | 
					            var $selector = $(selector),
 | 
				
			||||||
 | 
					                $forms = $selector.parents()
 | 
				
			||||||
 | 
					                    .addBack()
 | 
				
			||||||
 | 
					                    .filter("form")
 | 
				
			||||||
 | 
					                    .add($selector.find("form"))
 | 
				
			||||||
 | 
					                    .has("[data-val=true]");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $selector.find("[data-val=true]").each(function () {
 | 
				
			||||||
 | 
					                $jQval.unobtrusive.parseElement(this, true);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $forms.each(function () {
 | 
				
			||||||
 | 
					                var info = validationInfo(this);
 | 
				
			||||||
 | 
					                if (info) {
 | 
				
			||||||
 | 
					                    info.attachValidation();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters = $jQval.unobtrusive.adapters;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters.add = function (adapterName, params, fn) {
 | 
				
			||||||
 | 
					        /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
 | 
				
			||||||
 | 
					        /// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
 | 
				
			||||||
 | 
					        /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
 | 
				
			||||||
 | 
					        /// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
 | 
				
			||||||
 | 
					        /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
 | 
				
			||||||
 | 
					        /// mmmm is the parameter name).</param>
 | 
				
			||||||
 | 
					        /// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
 | 
				
			||||||
 | 
					        /// attributes into jQuery Validate rules and/or messages.</param>
 | 
				
			||||||
 | 
					        /// <returns type="jQuery.validator.unobtrusive.adapters" />
 | 
				
			||||||
 | 
					        if (!fn) {  // Called with no params, just a function
 | 
				
			||||||
 | 
					            fn = params;
 | 
				
			||||||
 | 
					            params = [];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        this.push({ name: adapterName, params: params, adapt: fn });
 | 
				
			||||||
 | 
					        return this;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters.addBool = function (adapterName, ruleName) {
 | 
				
			||||||
 | 
					        /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
 | 
				
			||||||
 | 
					        /// the jQuery Validate validation rule has no parameter values.</summary>
 | 
				
			||||||
 | 
					        /// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
 | 
				
			||||||
 | 
					        /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
 | 
				
			||||||
 | 
					        /// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
 | 
				
			||||||
 | 
					        /// of adapterName will be used instead.</param>
 | 
				
			||||||
 | 
					        /// <returns type="jQuery.validator.unobtrusive.adapters" />
 | 
				
			||||||
 | 
					        return this.add(adapterName, function (options) {
 | 
				
			||||||
 | 
					            setValidationValues(options, ruleName || adapterName, true);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
 | 
				
			||||||
 | 
					        /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
 | 
				
			||||||
 | 
					        /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
 | 
				
			||||||
 | 
					        /// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
 | 
				
			||||||
 | 
					        /// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
 | 
				
			||||||
 | 
					        /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
 | 
				
			||||||
 | 
					        /// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
 | 
				
			||||||
 | 
					        /// have a minimum value.</param>
 | 
				
			||||||
 | 
					        /// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
 | 
				
			||||||
 | 
					        /// have a maximum value.</param>
 | 
				
			||||||
 | 
					        /// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
 | 
				
			||||||
 | 
					        /// have both a minimum and maximum value.</param>
 | 
				
			||||||
 | 
					        /// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
 | 
				
			||||||
 | 
					        /// contains the minimum value. The default is "min".</param>
 | 
				
			||||||
 | 
					        /// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
 | 
				
			||||||
 | 
					        /// contains the maximum value. The default is "max".</param>
 | 
				
			||||||
 | 
					        /// <returns type="jQuery.validator.unobtrusive.adapters" />
 | 
				
			||||||
 | 
					        return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
 | 
				
			||||||
 | 
					            var min = options.params.min,
 | 
				
			||||||
 | 
					                max = options.params.max;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (min && max) {
 | 
				
			||||||
 | 
					                setValidationValues(options, minMaxRuleName, [min, max]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (min) {
 | 
				
			||||||
 | 
					                setValidationValues(options, minRuleName, min);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (max) {
 | 
				
			||||||
 | 
					                setValidationValues(options, maxRuleName, max);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters.addSingleVal = function (adapterName, attribute, ruleName) {
 | 
				
			||||||
 | 
					        /// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
 | 
				
			||||||
 | 
					        /// the jQuery Validate validation rule has a single value.</summary>
 | 
				
			||||||
 | 
					        /// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
 | 
				
			||||||
 | 
					        /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
 | 
				
			||||||
 | 
					        /// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
 | 
				
			||||||
 | 
					        /// The default is "val".</param>
 | 
				
			||||||
 | 
					        /// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
 | 
				
			||||||
 | 
					        /// of adapterName will be used instead.</param>
 | 
				
			||||||
 | 
					        /// <returns type="jQuery.validator.unobtrusive.adapters" />
 | 
				
			||||||
 | 
					        return this.add(adapterName, [attribute || "val"], function (options) {
 | 
				
			||||||
 | 
					            setValidationValues(options, ruleName || adapterName, options.params[attribute]);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $jQval.addMethod("__dummy__", function (value, element, params) {
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $jQval.addMethod("regex", function (value, element, params) {
 | 
				
			||||||
 | 
					        var match;
 | 
				
			||||||
 | 
					        if (this.optional(element)) {
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        match = new RegExp(params).exec(value);
 | 
				
			||||||
 | 
					        return (match && (match.index === 0) && (match[0].length === value.length));
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
 | 
				
			||||||
 | 
					        var match;
 | 
				
			||||||
 | 
					        if (nonalphamin) {
 | 
				
			||||||
 | 
					            match = value.match(/\W/g);
 | 
				
			||||||
 | 
					            match = match && match.length >= nonalphamin;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return match;
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ($jQval.methods.extension) {
 | 
				
			||||||
 | 
					        adapters.addSingleVal("accept", "mimtype");
 | 
				
			||||||
 | 
					        adapters.addSingleVal("extension", "extension");
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        // for backward compatibility, when the 'extension' validation method does not exist, such as with versions
 | 
				
			||||||
 | 
					        // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
 | 
				
			||||||
 | 
					        // validating the extension, and ignore mime-type validations as they are not supported.
 | 
				
			||||||
 | 
					        adapters.addSingleVal("extension", "extension", "accept");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    adapters.addSingleVal("regex", "pattern");
 | 
				
			||||||
 | 
					    adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
 | 
				
			||||||
 | 
					    adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
 | 
				
			||||||
 | 
					    adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength");
 | 
				
			||||||
 | 
					    adapters.add("equalto", ["other"], function (options) {
 | 
				
			||||||
 | 
					        var prefix = getModelPrefix(options.element.name),
 | 
				
			||||||
 | 
					            other = options.params.other,
 | 
				
			||||||
 | 
					            fullOtherName = appendModelPrefix(other, prefix),
 | 
				
			||||||
 | 
					            element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        setValidationValues(options, "equalTo", element);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    adapters.add("required", function (options) {
 | 
				
			||||||
 | 
					        // jQuery Validate equates "required" with "mandatory" for checkbox elements
 | 
				
			||||||
 | 
					        if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
 | 
				
			||||||
 | 
					            setValidationValues(options, "required", true);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
 | 
				
			||||||
 | 
					        var value = {
 | 
				
			||||||
 | 
					            url: options.params.url,
 | 
				
			||||||
 | 
					            type: options.params.type || "GET",
 | 
				
			||||||
 | 
					            data: {}
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					            prefix = getModelPrefix(options.element.name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
 | 
				
			||||||
 | 
					            var paramName = appendModelPrefix(fieldName, prefix);
 | 
				
			||||||
 | 
					            value.data[paramName] = function () {
 | 
				
			||||||
 | 
					                var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']");
 | 
				
			||||||
 | 
					                // For checkboxes and radio buttons, only pick up values from checked fields.
 | 
				
			||||||
 | 
					                if (field.is(":checkbox")) {
 | 
				
			||||||
 | 
					                    return field.filter(":checked").val() || field.filter(":hidden").val() || '';
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (field.is(":radio")) {
 | 
				
			||||||
 | 
					                    return field.filter(":checked").val() || '';
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                return field.val();
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        setValidationValues(options, "remote", value);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
 | 
				
			||||||
 | 
					        if (options.params.min) {
 | 
				
			||||||
 | 
					            setValidationValues(options, "minlength", options.params.min);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (options.params.nonalphamin) {
 | 
				
			||||||
 | 
					            setValidationValues(options, "nonalphamin", options.params.nonalphamin);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (options.params.regex) {
 | 
				
			||||||
 | 
					            setValidationValues(options, "regex", options.params.regex);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    adapters.add("fileextensions", ["extensions"], function (options) {
 | 
				
			||||||
 | 
					        setValidationValues(options, "extension", options.params.extensions);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $(function () {
 | 
				
			||||||
 | 
					        $jQval.unobtrusive.parse(document);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return $jQval.unobtrusive;
 | 
				
			||||||
 | 
					}));
 | 
				
			||||||
							
								
								
									
										5
									
								
								ReportService/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								ReportService/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										22
									
								
								ReportService/wwwroot/lib/jquery-validation/LICENSE.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ReportService/wwwroot/lib/jquery-validation/LICENSE.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					The MIT License (MIT)
 | 
				
			||||||
 | 
					=====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright Jörn Zaefferer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 | 
					in the Software without restriction, including without limitation the rights
 | 
				
			||||||
 | 
					to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
				
			||||||
 | 
					copies of the Software, and to permit persons to whom the Software is
 | 
				
			||||||
 | 
					furnished to do so, subject to the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be included in
 | 
				
			||||||
 | 
					all copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
				
			||||||
 | 
					THE SOFTWARE.
 | 
				
			||||||
							
								
								
									
										1158
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/additional-methods.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1158
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/additional-methods.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/additional-methods.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/additional-methods.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1601
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/jquery.validate.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1601
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/jquery.validate.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								ReportService/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										36
									
								
								ReportService/wwwroot/lib/jquery/LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								ReportService/wwwroot/lib/jquery/LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					Copyright JS Foundation and other contributors, https://js.foundation/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This software consists of voluntary contributions made by many
 | 
				
			||||||
 | 
					individuals. For exact contribution history, see the revision history
 | 
				
			||||||
 | 
					available at https://github.com/jquery/jquery
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following license applies to all parts of this software except as
 | 
				
			||||||
 | 
					documented below:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					====
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining
 | 
				
			||||||
 | 
					a copy of this software and associated documentation files (the
 | 
				
			||||||
 | 
					"Software"), to deal in the Software without restriction, including
 | 
				
			||||||
 | 
					without limitation the rights to use, copy, modify, merge, publish,
 | 
				
			||||||
 | 
					distribute, sublicense, and/or sell copies of the Software, and to
 | 
				
			||||||
 | 
					permit persons to whom the Software is furnished to do so, subject to
 | 
				
			||||||
 | 
					the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be
 | 
				
			||||||
 | 
					included in all copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 | 
				
			||||||
 | 
					EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 | 
				
			||||||
 | 
					MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 | 
				
			||||||
 | 
					NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 | 
				
			||||||
 | 
					LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 | 
				
			||||||
 | 
					OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 | 
				
			||||||
 | 
					WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					====
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All files located in the node_modules and external directories are
 | 
				
			||||||
 | 
					externally maintained libraries used by this software which have their
 | 
				
			||||||
 | 
					own licenses; we recommend you read them, as their terms may differ from
 | 
				
			||||||
 | 
					the terms above.
 | 
				
			||||||
							
								
								
									
										10364
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10364
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.min.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ReportService/wwwroot/lib/jquery/dist/jquery.min.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										11972
									
								
								ReportService/wwwroot/lib/vue/vue.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11972
									
								
								ReportService/wwwroot/lib/vue/vue.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6
									
								
								ReportService/wwwroot/lib/vue/vue.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ReportService/wwwroot/lib/vue/vue.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user