Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Kane Wang | 5765a4b411 | |
Kane Wang | 6406fe1784 | |
Kane Wang | dc162b3180 |
|
@ -1,53 +1,162 @@
|
||||||
# ---> Java
|
#.idea/
|
||||||
# Compiled class file
|
.vs/
|
||||||
*.class
|
x64/
|
||||||
|
out/
|
||||||
|
ipch/
|
||||||
|
win32/
|
||||||
|
win64/
|
||||||
|
Debug/
|
||||||
|
Release/
|
||||||
|
GeneratedFiles/
|
||||||
|
*.~sql
|
||||||
|
*.~pck
|
||||||
|
*.~*
|
||||||
|
*.pkg
|
||||||
|
*.suo
|
||||||
|
*.sdf
|
||||||
|
*.opensdf
|
||||||
|
*.db
|
||||||
|
*.obj
|
||||||
|
workspace.xml
|
||||||
|
Browse.VC.opendb
|
||||||
|
# ---> C++
|
||||||
|
# Prerequisites
|
||||||
|
*.d
|
||||||
|
|
||||||
# Log file
|
# Compiled Object files
|
||||||
*.log
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
# BlueJ files
|
# Precompiled Headers
|
||||||
*.ctxt
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
# Mobile Tools for Java (J2ME)
|
# Compiled Dynamic libraries
|
||||||
.mtj.tmp/
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
# Package Files #
|
# Fortran module files
|
||||||
*.jar
|
*.mod
|
||||||
*.war
|
*.smod
|
||||||
*.nar
|
|
||||||
*.ear
|
|
||||||
*.zip
|
|
||||||
*.tar.gz
|
|
||||||
*.rar
|
|
||||||
|
|
||||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
# Compiled Static libraries
|
||||||
hs_err_pid*
|
*.lai
|
||||||
replay_pid*
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
# ---> Maven
|
# Executables
|
||||||
target/
|
*.exe
|
||||||
pom.xml.tag
|
*.out
|
||||||
pom.xml.releaseBackup
|
*.app
|
||||||
pom.xml.versionsBackup
|
|
||||||
pom.xml.next
|
|
||||||
release.properties
|
|
||||||
dependency-reduced-pom.xml
|
|
||||||
buildNumber.properties
|
|
||||||
.mvn/timing.properties
|
|
||||||
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
|
|
||||||
.mvn/wrapper/maven-wrapper.jar
|
|
||||||
|
|
||||||
# Eclipse m2e generated files
|
# ---> C
|
||||||
# Eclipse Core
|
# Prerequisites
|
||||||
.project
|
*.d
|
||||||
# JDT-specific (Eclipse Java Development Tools)
|
|
||||||
.classpath
|
# Object files
|
||||||
|
*.o
|
||||||
|
*.ko
|
||||||
|
*.obj
|
||||||
|
*.elf
|
||||||
|
|
||||||
|
# Linker output
|
||||||
|
*.ilk
|
||||||
|
*.map
|
||||||
|
*.exp
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
*.lib
|
||||||
|
*.a
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
|
||||||
|
# Shared objects (inc. Windows DLLs)
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
*.i*86
|
||||||
|
*.x86_64
|
||||||
|
*.hex
|
||||||
|
|
||||||
|
# Debug files
|
||||||
|
*.dSYM/
|
||||||
|
*.su
|
||||||
|
*.idb
|
||||||
|
*.pdb
|
||||||
|
|
||||||
|
# Kernel Module Compile Results
|
||||||
|
*.mod*
|
||||||
|
*.cmd
|
||||||
|
.tmp_versions/
|
||||||
|
modules.order
|
||||||
|
Module.symvers
|
||||||
|
Mkfile.old
|
||||||
|
dkms.conf
|
||||||
|
|
||||||
|
# ---> CMake
|
||||||
|
CMakeLists.txt.user
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
CMakeScripts
|
||||||
|
Testing
|
||||||
|
Makefile
|
||||||
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
compile_commands.json
|
||||||
|
CTestTestfile.cmake
|
||||||
|
_deps
|
||||||
|
|
||||||
|
# ---> Vim
|
||||||
|
# Swap
|
||||||
|
[._]*.s[a-v][a-z]
|
||||||
|
!*.svg # comment out if you don't need vector files
|
||||||
|
[._]*.sw[a-p]
|
||||||
|
[._]s[a-rt-v][a-z]
|
||||||
|
[._]ss[a-gi-z]
|
||||||
|
[._]sw[a-p]
|
||||||
|
|
||||||
|
# Session
|
||||||
|
Session.vim
|
||||||
|
Sessionx.vim
|
||||||
|
|
||||||
|
# Temporary
|
||||||
|
.netrwhist
|
||||||
|
*~
|
||||||
|
# Auto-generated tag files
|
||||||
|
tags
|
||||||
|
# Persistent undo
|
||||||
|
[._]*.un~
|
||||||
|
|
||||||
|
# ---> VisualStudioCode
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
# ---> VisualStudio
|
# ---> VisualStudio
|
||||||
## Ignore Visual Studio temporary files, build results, and
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
## files generated by popular Visual Studio add-ons.
|
## files generated by popular Visual Studio add-ons.
|
||||||
##
|
##
|
||||||
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
|
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||||
|
|
||||||
# User-specific files
|
# User-specific files
|
||||||
*.rsuser
|
*.rsuser
|
||||||
|
@ -136,7 +245,6 @@ StyleCopReport.xml
|
||||||
*.tmp_proj
|
*.tmp_proj
|
||||||
*_wpftmp.csproj
|
*_wpftmp.csproj
|
||||||
*.log
|
*.log
|
||||||
*.tlog
|
|
||||||
*.vspscc
|
*.vspscc
|
||||||
*.vssscc
|
*.vssscc
|
||||||
.builds
|
.builds
|
||||||
|
@ -340,17 +448,6 @@ node_modules/
|
||||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
*.vbw
|
*.vbw
|
||||||
|
|
||||||
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
|
||||||
*.vbp
|
|
||||||
|
|
||||||
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
|
||||||
*.dsw
|
|
||||||
*.dsp
|
|
||||||
|
|
||||||
# Visual Studio 6 technical files
|
|
||||||
*.ncb
|
|
||||||
*.aps
|
|
||||||
|
|
||||||
# Visual Studio LightSwitch build output
|
# Visual Studio LightSwitch build output
|
||||||
**/*.HTMLClient/GeneratedArtifacts
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
**/*.DesktopClient/GeneratedArtifacts
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
@ -407,9 +504,6 @@ ASALocalRun/
|
||||||
# Local History for Visual Studio
|
# Local History for Visual Studio
|
||||||
.localhistory/
|
.localhistory/
|
||||||
|
|
||||||
# Visual Studio History (VSHistory) files
|
|
||||||
.vshistory/
|
|
||||||
|
|
||||||
# BeatPulse healthcheck temp database
|
# BeatPulse healthcheck temp database
|
||||||
healthchecksdb
|
healthchecksdb
|
||||||
|
|
||||||
|
@ -422,376 +516,3 @@ MigrationBackup/
|
||||||
# Fody - auto-generated XML schema
|
# Fody - auto-generated XML schema
|
||||||
FodyWeavers.xsd
|
FodyWeavers.xsd
|
||||||
|
|
||||||
# VS Code files for those working on multiple tools
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
*.code-workspace
|
|
||||||
|
|
||||||
# Local History for Visual Studio Code
|
|
||||||
.history/
|
|
||||||
|
|
||||||
# Windows Installer files from build outputs
|
|
||||||
*.cab
|
|
||||||
*.msi
|
|
||||||
*.msix
|
|
||||||
*.msm
|
|
||||||
*.msp
|
|
||||||
|
|
||||||
# JetBrains Rider
|
|
||||||
*.sln.iml
|
|
||||||
|
|
||||||
# ---> VisualStudioCode
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
!.vscode/*.code-snippets
|
|
||||||
|
|
||||||
# Local History for Visual Studio Code
|
|
||||||
.history/
|
|
||||||
|
|
||||||
# Built Visual Studio Code Extensions
|
|
||||||
*.vsix
|
|
||||||
|
|
||||||
# ---> C++
|
|
||||||
# Prerequisites
|
|
||||||
*.d
|
|
||||||
|
|
||||||
# Compiled Object files
|
|
||||||
*.slo
|
|
||||||
*.lo
|
|
||||||
*.o
|
|
||||||
*.obj
|
|
||||||
|
|
||||||
# Precompiled Headers
|
|
||||||
*.gch
|
|
||||||
*.pch
|
|
||||||
|
|
||||||
# Compiled Dynamic libraries
|
|
||||||
*.so
|
|
||||||
*.dylib
|
|
||||||
*.dll
|
|
||||||
|
|
||||||
# Fortran module files
|
|
||||||
*.mod
|
|
||||||
*.smod
|
|
||||||
|
|
||||||
# Compiled Static libraries
|
|
||||||
*.lai
|
|
||||||
*.la
|
|
||||||
*.a
|
|
||||||
*.lib
|
|
||||||
|
|
||||||
# Executables
|
|
||||||
*.exe
|
|
||||||
*.out
|
|
||||||
*.app
|
|
||||||
|
|
||||||
# ---> Python
|
|
||||||
# Byte-compiled / optimized / DLL files
|
|
||||||
__pycache__/
|
|
||||||
*.py[cod]
|
|
||||||
*$py.class
|
|
||||||
|
|
||||||
# C extensions
|
|
||||||
*.so
|
|
||||||
|
|
||||||
# Distribution / packaging
|
|
||||||
.Python
|
|
||||||
build/
|
|
||||||
develop-eggs/
|
|
||||||
dist/
|
|
||||||
downloads/
|
|
||||||
eggs/
|
|
||||||
.eggs/
|
|
||||||
lib/
|
|
||||||
lib64/
|
|
||||||
parts/
|
|
||||||
sdist/
|
|
||||||
var/
|
|
||||||
wheels/
|
|
||||||
share/python-wheels/
|
|
||||||
*.egg-info/
|
|
||||||
.installed.cfg
|
|
||||||
*.egg
|
|
||||||
MANIFEST
|
|
||||||
|
|
||||||
# PyInstaller
|
|
||||||
# Usually these files are written by a python script from a template
|
|
||||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
||||||
*.manifest
|
|
||||||
*.spec
|
|
||||||
|
|
||||||
# Installer logs
|
|
||||||
pip-log.txt
|
|
||||||
pip-delete-this-directory.txt
|
|
||||||
|
|
||||||
# Unit test / coverage reports
|
|
||||||
htmlcov/
|
|
||||||
.tox/
|
|
||||||
.nox/
|
|
||||||
.coverage
|
|
||||||
.coverage.*
|
|
||||||
.cache
|
|
||||||
nosetests.xml
|
|
||||||
coverage.xml
|
|
||||||
*.cover
|
|
||||||
*.py,cover
|
|
||||||
.hypothesis/
|
|
||||||
.pytest_cache/
|
|
||||||
cover/
|
|
||||||
|
|
||||||
# Translations
|
|
||||||
*.mo
|
|
||||||
*.pot
|
|
||||||
|
|
||||||
# Django stuff:
|
|
||||||
*.log
|
|
||||||
local_settings.py
|
|
||||||
db.sqlite3
|
|
||||||
db.sqlite3-journal
|
|
||||||
|
|
||||||
# Flask stuff:
|
|
||||||
instance/
|
|
||||||
.webassets-cache
|
|
||||||
|
|
||||||
# Scrapy stuff:
|
|
||||||
.scrapy
|
|
||||||
|
|
||||||
# Sphinx documentation
|
|
||||||
docs/_build/
|
|
||||||
|
|
||||||
# PyBuilder
|
|
||||||
.pybuilder/
|
|
||||||
target/
|
|
||||||
|
|
||||||
# Jupyter Notebook
|
|
||||||
.ipynb_checkpoints
|
|
||||||
|
|
||||||
# IPython
|
|
||||||
profile_default/
|
|
||||||
ipython_config.py
|
|
||||||
|
|
||||||
# pyenv
|
|
||||||
# For a library or package, you might want to ignore these files since the code is
|
|
||||||
# intended to run in multiple environments; otherwise, check them in:
|
|
||||||
# .python-version
|
|
||||||
|
|
||||||
# pipenv
|
|
||||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
||||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
||||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
||||||
# install all needed dependencies.
|
|
||||||
#Pipfile.lock
|
|
||||||
|
|
||||||
# poetry
|
|
||||||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
||||||
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
||||||
# commonly ignored for libraries.
|
|
||||||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
||||||
#poetry.lock
|
|
||||||
|
|
||||||
# pdm
|
|
||||||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
||||||
#pdm.lock
|
|
||||||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
||||||
# in version control.
|
|
||||||
# https://pdm.fming.dev/#use-with-ide
|
|
||||||
.pdm.toml
|
|
||||||
|
|
||||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
||||||
__pypackages__/
|
|
||||||
|
|
||||||
# Celery stuff
|
|
||||||
celerybeat-schedule
|
|
||||||
celerybeat.pid
|
|
||||||
|
|
||||||
# SageMath parsed files
|
|
||||||
*.sage.py
|
|
||||||
|
|
||||||
# Environments
|
|
||||||
.env
|
|
||||||
.venv
|
|
||||||
env/
|
|
||||||
venv/
|
|
||||||
ENV/
|
|
||||||
env.bak/
|
|
||||||
venv.bak/
|
|
||||||
|
|
||||||
# Spyder project settings
|
|
||||||
.spyderproject
|
|
||||||
.spyproject
|
|
||||||
|
|
||||||
# Rope project settings
|
|
||||||
.ropeproject
|
|
||||||
|
|
||||||
# mkdocs documentation
|
|
||||||
/site
|
|
||||||
|
|
||||||
# mypy
|
|
||||||
.mypy_cache/
|
|
||||||
.dmypy.json
|
|
||||||
dmypy.json
|
|
||||||
|
|
||||||
# Pyre type checker
|
|
||||||
.pyre/
|
|
||||||
|
|
||||||
# pytype static type analyzer
|
|
||||||
.pytype/
|
|
||||||
|
|
||||||
# Cython debug symbols
|
|
||||||
cython_debug/
|
|
||||||
|
|
||||||
# PyCharm
|
|
||||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
||||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
||||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
||||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
||||||
#.idea/
|
|
||||||
|
|
||||||
# ---> Eclipse
|
|
||||||
.metadata
|
|
||||||
bin/
|
|
||||||
tmp/
|
|
||||||
*.tmp
|
|
||||||
*.bak
|
|
||||||
*.swp
|
|
||||||
*~.nib
|
|
||||||
local.properties
|
|
||||||
.settings/
|
|
||||||
.loadpath
|
|
||||||
.recommenders
|
|
||||||
|
|
||||||
# External tool builders
|
|
||||||
.externalToolBuilders/
|
|
||||||
|
|
||||||
# Locally stored "Eclipse launch configurations"
|
|
||||||
*.launch
|
|
||||||
|
|
||||||
# PyDev specific (Python IDE for Eclipse)
|
|
||||||
*.pydevproject
|
|
||||||
|
|
||||||
# CDT-specific (C/C++ Development Tooling)
|
|
||||||
.cproject
|
|
||||||
|
|
||||||
# CDT- autotools
|
|
||||||
.autotools
|
|
||||||
|
|
||||||
# Java annotation processor (APT)
|
|
||||||
.factorypath
|
|
||||||
|
|
||||||
# PDT-specific (PHP Development Tools)
|
|
||||||
.buildpath
|
|
||||||
|
|
||||||
# sbteclipse plugin
|
|
||||||
.target
|
|
||||||
|
|
||||||
# Tern plugin
|
|
||||||
.tern-project
|
|
||||||
|
|
||||||
# TeXlipse plugin
|
|
||||||
.texlipse
|
|
||||||
|
|
||||||
# STS (Spring Tool Suite)
|
|
||||||
.springBeans
|
|
||||||
|
|
||||||
# Code Recommenders
|
|
||||||
.recommenders/
|
|
||||||
|
|
||||||
# Annotation Processing
|
|
||||||
.apt_generated/
|
|
||||||
.apt_generated_test/
|
|
||||||
|
|
||||||
# Scala IDE specific (Scala & Java development for Eclipse)
|
|
||||||
.cache-main
|
|
||||||
.scala_dependencies
|
|
||||||
.worksheet
|
|
||||||
|
|
||||||
# Uncomment this line if you wish to ignore the project description file.
|
|
||||||
# Typically, this file would be tracked if it contains build/dependency configurations:
|
|
||||||
#.project
|
|
||||||
|
|
||||||
# ---> JetBrains
|
|
||||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
||||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
||||||
|
|
||||||
# User-specific stuff
|
|
||||||
.idea/**/workspace.xml
|
|
||||||
.idea/**/tasks.xml
|
|
||||||
.idea/**/usage.statistics.xml
|
|
||||||
.idea/**/dictionaries
|
|
||||||
.idea/**/shelf
|
|
||||||
|
|
||||||
# AWS User-specific
|
|
||||||
.idea/**/aws.xml
|
|
||||||
|
|
||||||
# Generated files
|
|
||||||
.idea/**/contentModel.xml
|
|
||||||
|
|
||||||
# Sensitive or high-churn files
|
|
||||||
.idea/**/dataSources/
|
|
||||||
.idea/**/dataSources.ids
|
|
||||||
.idea/**/dataSources.local.xml
|
|
||||||
.idea/**/sqlDataSources.xml
|
|
||||||
.idea/**/dynamic.xml
|
|
||||||
.idea/**/uiDesigner.xml
|
|
||||||
.idea/**/dbnavigator.xml
|
|
||||||
|
|
||||||
# Gradle
|
|
||||||
.idea/**/gradle.xml
|
|
||||||
.idea/**/libraries
|
|
||||||
|
|
||||||
# Gradle and Maven with auto-import
|
|
||||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
||||||
# since they will be recreated, and may cause churn. Uncomment if using
|
|
||||||
# auto-import.
|
|
||||||
# .idea/artifacts
|
|
||||||
# .idea/compiler.xml
|
|
||||||
# .idea/jarRepositories.xml
|
|
||||||
# .idea/modules.xml
|
|
||||||
# .idea/*.iml
|
|
||||||
# .idea/modules
|
|
||||||
# *.iml
|
|
||||||
# *.ipr
|
|
||||||
|
|
||||||
# CMake
|
|
||||||
cmake-build-*/
|
|
||||||
|
|
||||||
# Mongo Explorer plugin
|
|
||||||
.idea/**/mongoSettings.xml
|
|
||||||
|
|
||||||
# File-based project format
|
|
||||||
*.iws
|
|
||||||
|
|
||||||
# IntelliJ
|
|
||||||
out/
|
|
||||||
|
|
||||||
# mpeltonen/sbt-idea plugin
|
|
||||||
.idea_modules/
|
|
||||||
|
|
||||||
# JIRA plugin
|
|
||||||
atlassian-ide-plugin.xml
|
|
||||||
|
|
||||||
# Cursive Clojure plugin
|
|
||||||
.idea/replstate.xml
|
|
||||||
|
|
||||||
# SonarLint plugin
|
|
||||||
.idea/sonarlint/
|
|
||||||
|
|
||||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
||||||
com_crashlytics_export_strings.xml
|
|
||||||
crashlytics.properties
|
|
||||||
crashlytics-build.properties
|
|
||||||
fabric.properties
|
|
||||||
|
|
||||||
# Editor-based Rest Client
|
|
||||||
.idea/httpRequests
|
|
||||||
|
|
||||||
# Android studio 3.1+ serialized cache file
|
|
||||||
.idea/caches/build_file_checksums.ser
|
|
||||||
|
|
||||||
*.~*
|
|
13
README.md
13
README.md
|
@ -1,10 +1,3 @@
|
||||||
<!--
|
# car_dealer_util
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-09-28 10:04:24
|
车商渠道数据管理工具。
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-09-28 10:06:04
|
|
||||||
* @FilePath: \undefinedd:\develop\cpicxim\car_dealer_util\README.md
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
|
@ -1,4 +1,4 @@
|
||||||
#include <libxl.h>
|
#include <libxl.h>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include "LoadFromExcel.h"
|
#include "LoadFromExcel.h"
|
||||||
#include "../../excel/excel.h"
|
#include "../../excel/excel.h"
|
||||||
|
@ -76,10 +76,14 @@ const wchar_t * pwszRepairRecommandationCaption[] = {
|
||||||
L"报案号",
|
L"报案号",
|
||||||
L"推荐车商代码",
|
L"推荐车商代码",
|
||||||
L"推荐车商名称",
|
L"推荐车商名称",
|
||||||
|
L"机构",
|
||||||
L"出险日期",
|
L"出险日期",
|
||||||
L"车牌号",
|
L"车牌号",
|
||||||
L"品牌名称",
|
L"品牌名称",
|
||||||
L"短信类型",
|
L"短信类型",
|
||||||
|
L"接收人"
|
||||||
|
L"手机号"
|
||||||
|
L"短信内容"
|
||||||
L"发送时间",
|
L"发送时间",
|
||||||
L"数据来源",
|
L"数据来源",
|
||||||
};
|
};
|
||||||
|
@ -784,18 +788,18 @@ void LoadRepairRecommandationFromXlsx( const std::wstring &
|
||||||
//起始列索引
|
//起始列索引
|
||||||
int colunmIndex = pSheet->firstCol();
|
int colunmIndex = pSheet->firstCol();
|
||||||
|
|
||||||
wstring branchName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring branchName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex, true );
|
||||||
wstring orderNo = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring orderNo = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+1, true );
|
||||||
wstring orderType = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring orderType = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+2, true );
|
||||||
wstring notifyNo = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring notifyNo = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+3, true );
|
||||||
wstring RecommandCarDealerCode = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring RecommandCarDealerCode = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+4, true );
|
||||||
wstring RecommandCarDealerName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring RecommandCarDealerName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+5, true );
|
||||||
wstring damageDate = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring damageDate = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+7, true );
|
||||||
wstring plateNumber = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring plateNumber = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+8, true );
|
||||||
wstring brandName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring brandName = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+9, true );
|
||||||
wstring messageType = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring messageType = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+10, true );
|
||||||
wstring messageSendingDate = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring messageSendingDate = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+14, true );
|
||||||
wstring dataSource = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
|
wstring dataSource = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex+15, true );
|
||||||
|
|
||||||
//空行跳过
|
//空行跳过
|
||||||
if ( notifyNo.empty() == true )
|
if ( notifyNo.empty() == true )
|
||||||
|
@ -1072,7 +1076,7 @@ void LoadNewRepairMonitorReportFromXlsx( const std::wstring &
|
||||||
* \param pszCaptionFormat
|
* \param pszCaptionFormat
|
||||||
* \return
|
* \return
|
||||||
************************************************/
|
************************************************/
|
||||||
bool checkExcelFileFormat( Book * pBook, int sheetIndex, int captionRowIndex, const wchar_t * pszCaptionFormat[], int captionCount )
|
/*bool checkExcelFileFormat( Book * pBook, int sheetIndex, int captionRowIndex, const wchar_t * pszCaptionFormat[], int captionCount )
|
||||||
{
|
{
|
||||||
if ( pBook == nullptr )
|
if ( pBook == nullptr )
|
||||||
{
|
{
|
||||||
|
@ -1103,4 +1107,4 @@ bool checkExcelFileFormat( Book * pBook, int sheetIndex, int captionRowIndex, co
|
||||||
}
|
}
|
||||||
|
|
||||||
return isEqual;
|
return isEqual;
|
||||||
}
|
}*/
|
||||||
|
|
|
@ -163,3 +163,41 @@ libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook, const std::ws
|
||||||
|
|
||||||
return pSheet;
|
return pSheet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool checkExcelFileFormat(Book* pBook,
|
||||||
|
int sheetIndex,
|
||||||
|
int captionRowIndex,
|
||||||
|
const wchar_t* pszCaptionFormat[],
|
||||||
|
int captionCount)
|
||||||
|
{
|
||||||
|
if (pBook == nullptr)
|
||||||
|
{
|
||||||
|
throw logic_error("Excel文件指针为空!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sheetIndex < 0 || captionRowIndex < 0)
|
||||||
|
{
|
||||||
|
throw logic_error("标题行参数错误!");
|
||||||
|
}
|
||||||
|
|
||||||
|
Sheet* pSheet = pBook->getSheet(sheetIndex);
|
||||||
|
int captionIndex = 0;
|
||||||
|
bool isEqual = true;
|
||||||
|
|
||||||
|
while (captionIndex < captionCount)
|
||||||
|
{
|
||||||
|
const wchar_t* pwszCaption = pSheet->readStr(captionRowIndex, captionIndex);
|
||||||
|
|
||||||
|
if (wcscmp(pwszCaption, pszCaptionFormat[captionIndex]) != 0)
|
||||||
|
{
|
||||||
|
isEqual = false;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
captionIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isEqual;
|
||||||
|
}
|
|
@ -1,6 +1,4 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#ifndef EXCEL_H_
|
|
||||||
#define EXCEL_H_
|
|
||||||
|
|
||||||
#include <libxl.h>
|
#include <libxl.h>
|
||||||
|
|
||||||
|
@ -31,7 +29,20 @@ std::wstring ReadCellStringFromXlsx( libxl::IBookT<wchar_t> * pBook,
|
||||||
* \param sheetName
|
* \param sheetName
|
||||||
* \return
|
* \return
|
||||||
************************************************/
|
************************************************/
|
||||||
libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook, const std::wstring & sheetName );
|
libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook,
|
||||||
|
const std::wstring & sheetName );
|
||||||
|
|
||||||
|
/************************************************
|
||||||
#endif
|
* \brief 核对excel表格的内容,根据pszCaptionFormat参数提供的表头数组来核对
|
||||||
|
* \param pBook excel文件指针
|
||||||
|
* \param sheetIndex 要核对的sheet索引
|
||||||
|
* \param captionRowIndex 标题行索引
|
||||||
|
* \param pszCaptionFormat 包含标题内容的字符串数组
|
||||||
|
* \param captionCount 标题数量
|
||||||
|
* \return
|
||||||
|
************************************************/
|
||||||
|
bool checkExcelFileFormat( libxl::Book * pBook,
|
||||||
|
int sheetIndex,
|
||||||
|
int captionRowIndex,
|
||||||
|
const wchar_t * pszCaptionFormat[],
|
||||||
|
int captionCount );
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <cwchar>
|
||||||
|
#include "excel_util.h"
|
||||||
|
|
||||||
|
using namespace libxl;
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
bool checkExcelFileFormat( Book * pBook,
|
||||||
|
int sheetIndex,
|
||||||
|
int captionRowIndex,
|
||||||
|
const wchar_t * pszCaptionFormat[],
|
||||||
|
int captionCount )
|
||||||
|
{
|
||||||
|
if ( pBook == nullptr )
|
||||||
|
{
|
||||||
|
throw logic_error( "Excel文件指针为空!" );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( sheetIndex < 0 || captionRowIndex < 0 )
|
||||||
|
{
|
||||||
|
throw logic_error( "标题行参数错误!" );
|
||||||
|
}
|
||||||
|
|
||||||
|
Sheet * pSheet = pBook->getSheet( sheetIndex );
|
||||||
|
int captionIndex = 0;
|
||||||
|
bool isEqual = true;
|
||||||
|
|
||||||
|
while ( captionIndex < captionCount )
|
||||||
|
{
|
||||||
|
const wchar_t * pwszCaption = pSheet->readStr( captionRowIndex, captionIndex );
|
||||||
|
|
||||||
|
if ( wcscmp( pwszCaption, pszCaptionFormat[captionIndex] ) != 0 )
|
||||||
|
{
|
||||||
|
isEqual = false;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
captionIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isEqual;
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <libxl.h>
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************
|
||||||
|
* \brief 核对excel表格的内容,根据pszCaptionFormat参数提供的表头数组来核对
|
||||||
|
* \param pBook excel文件指针
|
||||||
|
* \param sheetIndex 要核对的sheet索引
|
||||||
|
* \param captionRowIndex 标题行索引
|
||||||
|
* \param pszCaptionFormat 包含标题内容的字符串数组
|
||||||
|
* \param captionCount 标题数量
|
||||||
|
* \return
|
||||||
|
************************************************/
|
||||||
|
bool checkExcelFileFormat( libxl::Book * pBook,
|
||||||
|
int sheetIndex,
|
||||||
|
int captionRowIndex,
|
||||||
|
const wchar_t * pszCaptionFormat[],
|
||||||
|
int captionCount );
|
||||||
|
|
||||||
|
/************************************************
|
||||||
|
* \brief 通过名称获取sheet
|
||||||
|
* \param sheetName
|
||||||
|
* \return
|
||||||
|
************************************************/
|
||||||
|
libxl::Sheet* getXlsxSheetByName(libxl::IBookT<wchar_t>* pBook, const std::wstring& sheetName);
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
"extends": [
|
|
||||||
"development"
|
|
||||||
],
|
|
||||||
"hints": {
|
|
||||||
"axe/forms": [
|
|
||||||
"default",
|
|
||||||
{
|
|
||||||
"label": "off"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"no-inline-styles": "off"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"name": "Win32",
|
|
||||||
"includePath": [
|
|
||||||
"${workspaceFolder}/**"
|
|
||||||
],
|
|
||||||
"defines": [
|
|
||||||
"_DEBUG",
|
|
||||||
"UNICODE",
|
|
||||||
"_UNICODE"
|
|
||||||
],
|
|
||||||
"compilerPath": "C:\\Strawberry\\c\\bin\\gcc.exe",
|
|
||||||
"cStandard": "gnu17",
|
|
||||||
"cppStandard": "gnu++14",
|
|
||||||
"intelliSenseMode": "windows-gcc-x64"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"version": 4
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"java.configuration.updateBuildConfiguration": "automatic",
|
|
||||||
"java.compile.nullAnalysis.mode": "automatic"
|
|
||||||
}
|
|
|
@ -1,106 +0,0 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>com.cpic.xim</groupId>
|
|
||||||
<artifactId>cardealer</artifactId>
|
|
||||||
<packaging>war</packaging>
|
|
||||||
<version>1.0</version>
|
|
||||||
<name>车商渠道工具</name>
|
|
||||||
<url>http://maven.apache.org</url>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
<version>3.8.1</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework</groupId>
|
|
||||||
<artifactId>spring-webmvc</artifactId>
|
|
||||||
<version>5.3.23</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.oracle</groupId>
|
|
||||||
<artifactId>ojdbc8</artifactId>
|
|
||||||
<version>19.3.0.0.0</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.servlet</groupId>
|
|
||||||
<artifactId>javax.servlet-api</artifactId>
|
|
||||||
<version>4.0.1</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.validation</groupId>
|
|
||||||
<artifactId>validation-api</artifactId>
|
|
||||||
<version>2.0.1.Final</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.hibernate</groupId>
|
|
||||||
<artifactId>hibernate-validator</artifactId>
|
|
||||||
<version>7.0.1.Final</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- jackson -->
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
|
||||||
<artifactId>jackson-databind</artifactId>
|
|
||||||
<version>2.13.4</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
|
||||||
<artifactId>jackson-core</artifactId>
|
|
||||||
<version>2.13.4</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
|
||||||
<artifactId>jackson-annotations</artifactId>
|
|
||||||
<version>2.13.4</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-io</groupId>
|
|
||||||
<artifactId>commons-io</artifactId>
|
|
||||||
<version>2.11.0</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-fileupload</groupId>
|
|
||||||
<artifactId>commons-fileupload</artifactId>
|
|
||||||
<version>1.4</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.annotation</groupId>
|
|
||||||
<artifactId>javax.annotation-api</artifactId>
|
|
||||||
<version>1.3.2</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<finalName>cardealer</finalName>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-war-plugin</artifactId>
|
|
||||||
<version>3.2.2</version>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
|
||||||
<java.version>1.8</java.version>
|
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
</project>
|
|
|
@ -1,40 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 10:23:32
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-31 15:11:40
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\data\importer\CarDealerDataImport.java
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.controllers.data.importer;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@ResponseBody
|
|
||||||
@RequestMapping( path = "/data/import/")
|
|
||||||
public class CarDealerDataImport
|
|
||||||
{
|
|
||||||
@RequestMapping( "/importcardealer.do")
|
|
||||||
public ImportResult importCarDealer( @RequestBody ImportRequest importRequest )
|
|
||||||
{
|
|
||||||
ArrayList<RecordErrorMessage> recordErrorMessages = new ArrayList<RecordErrorMessage>();
|
|
||||||
ImportResult result = new ImportResult();
|
|
||||||
|
|
||||||
result.setFileName( "测试文件" );
|
|
||||||
result.setFilePath( "测试" );
|
|
||||||
result.setMessage( "测试" );
|
|
||||||
result.setSuccess( true );
|
|
||||||
result.setRecordErrorMessages( recordErrorMessages );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 11:16:22
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-31 15:29:26
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\data\importer\importRequest.java
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.controllers.data.importer;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
public class ImportRequest
|
|
||||||
{
|
|
||||||
public ImportRequest()
|
|
||||||
{}
|
|
||||||
|
|
||||||
public ImportRequest( String filePath, String tableName)
|
|
||||||
{
|
|
||||||
this.filePath = filePath;
|
|
||||||
this.tableName = tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFilePath()
|
|
||||||
{
|
|
||||||
return filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFilePath( String filePath )
|
|
||||||
{
|
|
||||||
this.filePath = filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTableName()
|
|
||||||
{
|
|
||||||
return tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTableName( String tableName )
|
|
||||||
{
|
|
||||||
this.tableName = tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString()
|
|
||||||
{
|
|
||||||
return "{ \"file_path\":\"" + filePath + "\", \"table_name\":\"" + tableName + "\"}";
|
|
||||||
}
|
|
||||||
|
|
||||||
@JsonProperty( "file_path")
|
|
||||||
private String filePath;
|
|
||||||
|
|
||||||
@JsonProperty( "table_name")
|
|
||||||
private String tableName;
|
|
||||||
}
|
|
|
@ -1,86 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 10:31:35
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-31 10:43:12
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\data\importer\ImportResult.java
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.controllers.data.importer;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
public class ImportResult
|
|
||||||
{
|
|
||||||
ImportResult()
|
|
||||||
{}
|
|
||||||
|
|
||||||
public String getFileName()
|
|
||||||
{
|
|
||||||
return fileName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFileName( String fileName )
|
|
||||||
{
|
|
||||||
this.fileName = fileName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFilePath()
|
|
||||||
{
|
|
||||||
return filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFilePath( String filePath )
|
|
||||||
{
|
|
||||||
this.filePath = filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSuccess()
|
|
||||||
{
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSuccess( boolean success )
|
|
||||||
{
|
|
||||||
this.success = success;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMessage()
|
|
||||||
{
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMessage( String message )
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<RecordErrorMessage> getRecordErrorMessages()
|
|
||||||
{
|
|
||||||
return recordErrorMessages;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecordErrorMessages( ArrayList<RecordErrorMessage> recordErrorMessages )
|
|
||||||
{
|
|
||||||
this.recordErrorMessages = recordErrorMessages;
|
|
||||||
}
|
|
||||||
|
|
||||||
@JsonProperty( "file_name")
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
@JsonProperty( "file_path")
|
|
||||||
private String filePath;
|
|
||||||
|
|
||||||
@JsonProperty( "success")
|
|
||||||
private boolean success;
|
|
||||||
|
|
||||||
@JsonProperty( "message")
|
|
||||||
private String message;
|
|
||||||
|
|
||||||
@JsonProperty( "record_error_messages")
|
|
||||||
private ArrayList<RecordErrorMessage> recordErrorMessages;
|
|
||||||
}
|
|
|
@ -1,102 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 10:48:29
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-31 15:29:24
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\data\importer\RecordErrorMessage.java
|
|
||||||
* @Description: 存放导入数据记录结果的对象.
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
package com.cpic.xim.car_dealer.controllers.data.importer;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.*;;
|
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* 存放导入数据记录结果的对象.
|
|
||||||
*****************************************************/
|
|
||||||
public class RecordErrorMessage
|
|
||||||
{
|
|
||||||
public RecordErrorMessage()
|
|
||||||
{}
|
|
||||||
|
|
||||||
public RecordErrorMessage( int rowIndex, String message)
|
|
||||||
{
|
|
||||||
this.rowIndex = rowIndex;
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public int getRowIndex()
|
|
||||||
{
|
|
||||||
return rowIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRowIndex( int rowIndex )
|
|
||||||
{
|
|
||||||
this.rowIndex = rowIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMessage()
|
|
||||||
{
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMessage( String message )
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode()
|
|
||||||
{
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + rowIndex;
|
|
||||||
result = prime * result + ((message == null) ? 0 : message.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals( Object obj )
|
|
||||||
{
|
|
||||||
if ( this == obj)
|
|
||||||
return true;
|
|
||||||
if ( obj == null)
|
|
||||||
return false;
|
|
||||||
if ( getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
RecordErrorMessage other = (RecordErrorMessage) obj;
|
|
||||||
if ( rowIndex != other.rowIndex)
|
|
||||||
return false;
|
|
||||||
if ( message == null)
|
|
||||||
{
|
|
||||||
if ( other.message != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !message.equals( other.message ))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString()
|
|
||||||
{
|
|
||||||
return "importRecordErrorMessage [rowIndex=" + rowIndex + ", message=" + message + "]";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据的行id。
|
|
||||||
*/
|
|
||||||
@JsonProperty( "row_index")
|
|
||||||
private int rowIndex;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入时的错误信息。
|
|
||||||
*/
|
|
||||||
@JsonProperty( "message")
|
|
||||||
private String message;
|
|
||||||
}
|
|
|
@ -1,104 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-09-28 15:47:02
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-12-15 17:45:18
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\fileupload\FileUploadController.java
|
|
||||||
* @Description: 用于实现跨域功能的过滤器对象。
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.controllers.fileupload;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.channels.IllegalSelectorException;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import org.springframework.context.annotation.Scope;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@Scope( "session")
|
|
||||||
@RequestMapping( path = "/upload")
|
|
||||||
public class FileUploadController
|
|
||||||
{
|
|
||||||
// @PostConstruct
|
|
||||||
// public void init()
|
|
||||||
// {
|
|
||||||
// // WebApplicationContext webApplicationContext =
|
|
||||||
// // ContextLoader.getCurrentWebApplicationContext();
|
|
||||||
// // ServletContext servletContext = webApplicationContext.getServletContext();
|
|
||||||
// // String realPath = servletContext.getRealPath( "" );
|
|
||||||
|
|
||||||
// // System.out.println( realPath );
|
|
||||||
// }
|
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* 接收上传文件,并保存到临时目录:
|
|
||||||
* 1、临时目录下再用sessionID作为子目录保存文件。
|
|
||||||
* 2、保存时不更改文件名,会覆盖同名文件。
|
|
||||||
* 3、MultipartFile参数形参名称必须和请求form中file标签的name属性一致,否则值为null。
|
|
||||||
* 4、返回值为接收结果和文件保存路径。
|
|
||||||
* @param request 请求对象。
|
|
||||||
* @param response 响应对象。
|
|
||||||
* @param uploadFile 文件上传对象,形参名称要和请求参数中file标签的name属性一致,否则值为null。
|
|
||||||
* @return FileUploadResult 文件上传结果,会被转换成json。
|
|
||||||
*****************************************************/
|
|
||||||
@RequestMapping( path = "/upload_file.do")
|
|
||||||
@ResponseBody
|
|
||||||
public FileUploadResult uploadFile( HttpServletRequest request, HttpServletResponse response,
|
|
||||||
MultipartFile uploadFile ) throws IllegalSelectorException, IOException
|
|
||||||
{
|
|
||||||
FileUploadResult result = new FileUploadResult();
|
|
||||||
String sessionID = request.getSession().getId();
|
|
||||||
|
|
||||||
|
|
||||||
if ( uploadFile == null)
|
|
||||||
{
|
|
||||||
result.setSuccess( false );
|
|
||||||
result.setMessage( "请用于上传文件!" );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( uploadFile.isEmpty())
|
|
||||||
{
|
|
||||||
result.setSuccess( false );
|
|
||||||
result.setMessage( "上传空文件!" );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 使用sessionID来作为存放的目录
|
|
||||||
String rootPath = request.getServletContext().getRealPath( "/temp/upload/" + sessionID );
|
|
||||||
String fileName = uploadFile.getOriginalFilename();
|
|
||||||
|
|
||||||
File destFile = new File( rootPath, fileName );
|
|
||||||
|
|
||||||
// 判断路径是否存在,不存在就创建。
|
|
||||||
if ( !destFile.getParentFile().exists())
|
|
||||||
{
|
|
||||||
// 创建路径
|
|
||||||
if ( !destFile.getParentFile().mkdirs())
|
|
||||||
{
|
|
||||||
// 如果创建路径失败
|
|
||||||
result.setSuccess( false );
|
|
||||||
result.setMessage( "创建存放路径失败,请联系开发人员!" );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uploadFile.transferTo( destFile );
|
|
||||||
|
|
||||||
result.setSuccess( true );
|
|
||||||
result.setFilePath( destFile.getPath() );
|
|
||||||
result.setMessage( "上传成功!" );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,62 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-09-28 23:43:42
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-09-29 22:29:13
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\fileupload\FileUploadResult.java
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.controllers.fileupload;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @
|
|
||||||
*/
|
|
||||||
public class FileUploadResult
|
|
||||||
{
|
|
||||||
@JsonProperty( "is_success" )
|
|
||||||
private boolean isSuccess;
|
|
||||||
|
|
||||||
@JsonProperty( "file_path" )
|
|
||||||
private String filePath;
|
|
||||||
|
|
||||||
@JsonProperty( "message" )
|
|
||||||
private String message;
|
|
||||||
|
|
||||||
public FileUploadResult()
|
|
||||||
{}
|
|
||||||
|
|
||||||
public boolean getIsSuccess()
|
|
||||||
{
|
|
||||||
return isSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSuccess( boolean isSuccess )
|
|
||||||
{
|
|
||||||
this.isSuccess = isSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFilePath()
|
|
||||||
{
|
|
||||||
return filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFilePath( String filePath )
|
|
||||||
{
|
|
||||||
this.filePath = filePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMessage()
|
|
||||||
{
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMessage( String message )
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-09 09:32:33
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-09 10:38:24
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\filters\CrosFilter.java
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
package com.cpic.xim.car_dealer.filters;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import javax.servlet.Filter;
|
|
||||||
import javax.servlet.FilterChain;
|
|
||||||
import javax.servlet.ServletException;
|
|
||||||
import javax.servlet.ServletRequest;
|
|
||||||
import javax.servlet.ServletResponse;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用于实现CROS功能的过滤器.
|
|
||||||
*/
|
|
||||||
public class CrosFilter implements Filter
|
|
||||||
{
|
|
||||||
/*****************************************************
|
|
||||||
* 用于实现CROS功能的过滤器,直接获取请求头的Origin参数,
|
|
||||||
* 作为响应头的 Access-Control—Allow-Origin 的值。
|
|
||||||
* @param req 请求对象
|
|
||||||
* @param resp 响应对象
|
|
||||||
* @param chain servlet容器传递的filter链
|
|
||||||
*****************************************************/
|
|
||||||
@Override
|
|
||||||
public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
|
|
||||||
throws ServletException, IOException
|
|
||||||
{
|
|
||||||
HttpServletRequest request = (HttpServletRequest) req;
|
|
||||||
HttpServletResponse response = (HttpServletResponse) resp;
|
|
||||||
String originHeader = request.getHeader( "Origin" );
|
|
||||||
|
|
||||||
response.setHeader( "Access-Control-Allow-Origin", originHeader );
|
|
||||||
response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" );
|
|
||||||
response.setHeader( "Access-Control-Max-Age", "0" );
|
|
||||||
response.setHeader( "Access-Control-Allow-Headers",
|
|
||||||
"Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );
|
|
||||||
response.setHeader( "Access-Control-Allow-Credentials", "true" );
|
|
||||||
response.setHeader( "XDomainRequestAllowed", "1" );
|
|
||||||
response.setHeader( "XDomainRequestAllowed", "1" );
|
|
||||||
|
|
||||||
chain.doFilter( request, response );
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-10 09:00:18
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-10 09:03:53
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\models\data_structure\CarDealer.java
|
|
||||||
* @Description: 车商对象
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.models.data.structure;
|
|
||||||
|
|
||||||
public class CarDealer
|
|
||||||
{
|
|
||||||
|
|
||||||
public CarDealer( String carDealerName, String carDealerCode)
|
|
||||||
{
|
|
||||||
this.carDealerName = carDealerName;
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCarDealerName()
|
|
||||||
{
|
|
||||||
return carDealerName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCarDealerName( String carDealerName )
|
|
||||||
{
|
|
||||||
this.carDealerName = carDealerName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCarDealerCode()
|
|
||||||
{
|
|
||||||
return carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCarDealerCode( String carDealerCode )
|
|
||||||
{
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode()
|
|
||||||
{
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((carDealerName == null) ? 0 : carDealerName.hashCode());
|
|
||||||
result = prime * result + ((carDealerCode == null) ? 0 : carDealerCode.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals( Object obj )
|
|
||||||
{
|
|
||||||
if ( this == obj)
|
|
||||||
return true;
|
|
||||||
if ( obj == null)
|
|
||||||
return false;
|
|
||||||
if ( getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
CarDealer other = (CarDealer) obj;
|
|
||||||
if ( carDealerName == null)
|
|
||||||
{
|
|
||||||
if ( other.carDealerName != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !carDealerName.equals( other.carDealerName ))
|
|
||||||
return false;
|
|
||||||
if ( carDealerCode == null)
|
|
||||||
{
|
|
||||||
if ( other.carDealerCode != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !carDealerCode.equals( other.carDealerCode ))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private String carDealerName; // 车商名称
|
|
||||||
private String carDealerCode; // 车商代码
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,196 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-10 09:05:22
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-10 09:18:56
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\models\data_structure\CarDealerAchievement.java
|
|
||||||
* @Description: 车商业绩表
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.models.data.structure;
|
|
||||||
|
|
||||||
public class CarDealerAchievement
|
|
||||||
{
|
|
||||||
public CarDealerAchievement( String theYear, String theMonth, String carDealerCode,
|
|
||||||
double checkedAchievement, int policyAmount, int cpicAmount, int piccAmount,
|
|
||||||
int pinganAmount, int othersAmount)
|
|
||||||
{
|
|
||||||
this.theYear = theYear;
|
|
||||||
this.theMonth = theMonth;
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
this.checkedAchievement = checkedAchievement;
|
|
||||||
this.policyAmount = policyAmount;
|
|
||||||
this.cpicAmount = cpicAmount;
|
|
||||||
this.piccAmount = piccAmount;
|
|
||||||
this.pinganAmount = pinganAmount;
|
|
||||||
this.othersAmount = othersAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTheYear()
|
|
||||||
{
|
|
||||||
return theYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTheYear( String theYear )
|
|
||||||
{
|
|
||||||
this.theYear = theYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTheMonth()
|
|
||||||
{
|
|
||||||
return theMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTheMonth( String theMonth )
|
|
||||||
{
|
|
||||||
this.theMonth = theMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCarDealerCode()
|
|
||||||
{
|
|
||||||
return carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCarDealerCode( String carDealerCode )
|
|
||||||
{
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public double getCheckedAchievement()
|
|
||||||
{
|
|
||||||
return checkedAchievement;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCheckedAchievement( double checkedAchievement )
|
|
||||||
{
|
|
||||||
this.checkedAchievement = checkedAchievement;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPolicyAmount()
|
|
||||||
{
|
|
||||||
return policyAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPolicyAmount( int policyAmount )
|
|
||||||
{
|
|
||||||
this.policyAmount = policyAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCpicAmount()
|
|
||||||
{
|
|
||||||
return cpicAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCpicAmount( int cpicAmount )
|
|
||||||
{
|
|
||||||
this.cpicAmount = cpicAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPiccAmount()
|
|
||||||
{
|
|
||||||
return piccAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPiccAmount( int piccAmount )
|
|
||||||
{
|
|
||||||
this.piccAmount = piccAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPinganAmount()
|
|
||||||
{
|
|
||||||
return pinganAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPinganAmount( int pinganAmount )
|
|
||||||
{
|
|
||||||
this.pinganAmount = pinganAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getOthersAmount()
|
|
||||||
{
|
|
||||||
return othersAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOthersAmount( int othersAmount )
|
|
||||||
{
|
|
||||||
this.othersAmount = othersAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode()
|
|
||||||
{
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((theYear == null) ? 0 : theYear.hashCode());
|
|
||||||
result = prime * result + ((theMonth == null) ? 0 : theMonth.hashCode());
|
|
||||||
result = prime * result + ((carDealerCode == null) ? 0 : carDealerCode.hashCode());
|
|
||||||
long temp;
|
|
||||||
temp = Double.doubleToLongBits( checkedAchievement );
|
|
||||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
|
||||||
result = prime * result + policyAmount;
|
|
||||||
result = prime * result + cpicAmount;
|
|
||||||
result = prime * result + piccAmount;
|
|
||||||
result = prime * result + pinganAmount;
|
|
||||||
result = prime * result + othersAmount;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals( Object obj )
|
|
||||||
{
|
|
||||||
if ( this == obj)
|
|
||||||
return true;
|
|
||||||
if ( obj == null)
|
|
||||||
return false;
|
|
||||||
if ( getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
CarDealerAchievement other = (CarDealerAchievement) obj;
|
|
||||||
if ( theYear == null)
|
|
||||||
{
|
|
||||||
if ( other.theYear != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !theYear.equals( other.theYear ))
|
|
||||||
return false;
|
|
||||||
if ( theMonth == null)
|
|
||||||
{
|
|
||||||
if ( other.theMonth != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !theMonth.equals( other.theMonth ))
|
|
||||||
return false;
|
|
||||||
if ( carDealerCode == null)
|
|
||||||
{
|
|
||||||
if ( other.carDealerCode != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !carDealerCode.equals( other.carDealerCode ))
|
|
||||||
return false;
|
|
||||||
if ( Double.doubleToLongBits( checkedAchievement ) != Double
|
|
||||||
.doubleToLongBits( other.checkedAchievement ))
|
|
||||||
return false;
|
|
||||||
if ( policyAmount != other.policyAmount)
|
|
||||||
return false;
|
|
||||||
if ( cpicAmount != other.cpicAmount)
|
|
||||||
return false;
|
|
||||||
if ( piccAmount != other.piccAmount)
|
|
||||||
return false;
|
|
||||||
if ( pinganAmount != other.pinganAmount)
|
|
||||||
return false;
|
|
||||||
if ( othersAmount != other.othersAmount)
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private String theYear;
|
|
||||||
private String theMonth;
|
|
||||||
private String carDealerCode;
|
|
||||||
private double checkedAchievement;
|
|
||||||
private int policyAmount;
|
|
||||||
private int cpicAmount;
|
|
||||||
private int piccAmount;
|
|
||||||
private int pinganAmount;
|
|
||||||
private int othersAmount;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,201 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-10 09:22:06
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-10 09:37:54
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\models\data\structure\CarDealerScheme.java
|
|
||||||
* @Description: 车商方案表
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cpic.xim.car_dealer.models.data.structure;
|
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* 车商方案表
|
|
||||||
* @author Kane
|
|
||||||
* @version 1.0
|
|
||||||
*****************************************************/
|
|
||||||
public class CarDealerScheme
|
|
||||||
{
|
|
||||||
public CarDealerScheme( String theYear, String theMonth, String carDealerCode,
|
|
||||||
String manHourPrice, String partPrice, String claimSupport, String scheme,
|
|
||||||
String isQualified)
|
|
||||||
{
|
|
||||||
this.theYear = theYear;
|
|
||||||
this.theMonth = theMonth;
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
this.manHourPrice = manHourPrice;
|
|
||||||
this.partPrice = partPrice;
|
|
||||||
this.claimSupport = claimSupport;
|
|
||||||
this.scheme = scheme;
|
|
||||||
this.isQualified = isQualified;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTheYear()
|
|
||||||
{
|
|
||||||
return theYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTheYear( String theYear )
|
|
||||||
{
|
|
||||||
this.theYear = theYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTheMonth()
|
|
||||||
{
|
|
||||||
return theMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTheMonth( String theMonth )
|
|
||||||
{
|
|
||||||
this.theMonth = theMonth;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCarDealerCode()
|
|
||||||
{
|
|
||||||
return carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCarDealerCode( String carDealerCode )
|
|
||||||
{
|
|
||||||
this.carDealerCode = carDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getManHourPrice()
|
|
||||||
{
|
|
||||||
return manHourPrice;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setManHourPrice( String manHourPrice )
|
|
||||||
{
|
|
||||||
this.manHourPrice = manHourPrice;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPartPrice()
|
|
||||||
{
|
|
||||||
return partPrice;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPartPrice( String partPrice )
|
|
||||||
{
|
|
||||||
this.partPrice = partPrice;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getClaimSupport()
|
|
||||||
{
|
|
||||||
return claimSupport;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClaimSupport( String claimSupport )
|
|
||||||
{
|
|
||||||
this.claimSupport = claimSupport;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getScheme()
|
|
||||||
{
|
|
||||||
return scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setScheme( String scheme )
|
|
||||||
{
|
|
||||||
this.scheme = scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsQualified()
|
|
||||||
{
|
|
||||||
return isQualified;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsQualified( String isQualified )
|
|
||||||
{
|
|
||||||
this.isQualified = isQualified;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode()
|
|
||||||
{
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((theYear == null) ? 0 : theYear.hashCode());
|
|
||||||
result = prime * result + ((theMonth == null) ? 0 : theMonth.hashCode());
|
|
||||||
result = prime * result + ((carDealerCode == null) ? 0 : carDealerCode.hashCode());
|
|
||||||
result = prime * result + ((manHourPrice == null) ? 0 : manHourPrice.hashCode());
|
|
||||||
result = prime * result + ((partPrice == null) ? 0 : partPrice.hashCode());
|
|
||||||
result = prime * result + ((claimSupport == null) ? 0 : claimSupport.hashCode());
|
|
||||||
result = prime * result + ((scheme == null) ? 0 : scheme.hashCode());
|
|
||||||
result = prime * result + ((isQualified == null) ? 0 : isQualified.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals( Object obj )
|
|
||||||
{
|
|
||||||
if ( this == obj)
|
|
||||||
return true;
|
|
||||||
if ( obj == null)
|
|
||||||
return false;
|
|
||||||
if ( getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
CarDealerScheme other = (CarDealerScheme) obj;
|
|
||||||
if ( theYear == null)
|
|
||||||
{
|
|
||||||
if ( other.theYear != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !theYear.equals( other.theYear ))
|
|
||||||
return false;
|
|
||||||
if ( theMonth == null)
|
|
||||||
{
|
|
||||||
if ( other.theMonth != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !theMonth.equals( other.theMonth ))
|
|
||||||
return false;
|
|
||||||
if ( carDealerCode == null)
|
|
||||||
{
|
|
||||||
if ( other.carDealerCode != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !carDealerCode.equals( other.carDealerCode ))
|
|
||||||
return false;
|
|
||||||
if ( manHourPrice == null)
|
|
||||||
{
|
|
||||||
if ( other.manHourPrice != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !manHourPrice.equals( other.manHourPrice ))
|
|
||||||
return false;
|
|
||||||
if ( partPrice == null)
|
|
||||||
{
|
|
||||||
if ( other.partPrice != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !partPrice.equals( other.partPrice ))
|
|
||||||
return false;
|
|
||||||
if ( claimSupport == null)
|
|
||||||
{
|
|
||||||
if ( other.claimSupport != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !claimSupport.equals( other.claimSupport ))
|
|
||||||
return false;
|
|
||||||
if ( scheme == null)
|
|
||||||
{
|
|
||||||
if ( other.scheme != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !scheme.equals( other.scheme ))
|
|
||||||
return false;
|
|
||||||
if ( isQualified == null)
|
|
||||||
{
|
|
||||||
if ( other.isQualified != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !isQualified.equals( other.isQualified ))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String theYear;
|
|
||||||
private String theMonth;
|
|
||||||
private String carDealerCode;
|
|
||||||
private String manHourPrice;
|
|
||||||
private String partPrice;
|
|
||||||
private String claimSupport; // 理赔支持
|
|
||||||
private String scheme;
|
|
||||||
private String isQualified; // 是否达成预期
|
|
||||||
};
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,555 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-10 14:45:30
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-10 14:47:45
|
|
||||||
* @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\models\data\structure\RepairOrder.java
|
|
||||||
* @Description: 送返修工单表
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
package com.cpic.xim.car_dealer.models.data.structure;
|
|
||||||
|
|
||||||
/*****************************************************
|
|
||||||
* 送返修工单表
|
|
||||||
* @author Kane
|
|
||||||
* @version 1.0
|
|
||||||
*****************************************************/
|
|
||||||
public class RepairOrder
|
|
||||||
{
|
|
||||||
|
|
||||||
public RepairOrder( String branchName, String orderNo, String orderType, String notifyNo,
|
|
||||||
String damageArea, String damageDate, String generatingDate, String policyNo,
|
|
||||||
String policyNoJQX, String plateNumber, String brandName, String isInsuranceObject,
|
|
||||||
String isSuccess, String recommandDealerCode, String recommandDealerName,
|
|
||||||
String recommandDealerCodeInNotify, String recommandDealerNameInNotify,
|
|
||||||
String recommandDealerNameInSurvey, String agentName, String surveyor, String checkDate,
|
|
||||||
String repairingStartDate, String repairingFinishDate, String status, String lostItemID,
|
|
||||||
String surveyorRecommandStatus)
|
|
||||||
{
|
|
||||||
this.branchName = branchName;
|
|
||||||
this.orderNo = orderNo;
|
|
||||||
this.orderType = orderType;
|
|
||||||
this.notifyNo = notifyNo;
|
|
||||||
this.damageArea = damageArea;
|
|
||||||
this.damageDate = damageDate;
|
|
||||||
this.generatingDate = generatingDate;
|
|
||||||
this.policyNo = policyNo;
|
|
||||||
this.policyNoJQX = policyNoJQX;
|
|
||||||
this.plateNumber = plateNumber;
|
|
||||||
this.brandName = brandName;
|
|
||||||
this.isInsuranceObject = isInsuranceObject;
|
|
||||||
this.isSuccess = isSuccess;
|
|
||||||
this.recommandDealerCode = recommandDealerCode;
|
|
||||||
this.recommandDealerName = recommandDealerName;
|
|
||||||
this.recommandDealerCodeInNotify = recommandDealerCodeInNotify;
|
|
||||||
this.recommandDealerNameInNotify = recommandDealerNameInNotify;
|
|
||||||
this.recommandDealerNameInSurvey = recommandDealerNameInSurvey;
|
|
||||||
this.agentName = agentName;
|
|
||||||
this.surveyor = surveyor;
|
|
||||||
this.checkDate = checkDate;
|
|
||||||
this.repairingStartDate = repairingStartDate;
|
|
||||||
this.repairingFinishDate = repairingFinishDate;
|
|
||||||
this.status = status;
|
|
||||||
this.lostItemID = lostItemID;
|
|
||||||
this.surveyorRecommandStatus = surveyorRecommandStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBranchName()
|
|
||||||
{
|
|
||||||
return branchName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBranchName( String branchName )
|
|
||||||
{
|
|
||||||
this.branchName = branchName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrderNo()
|
|
||||||
{
|
|
||||||
return orderNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrderNo( String orderNo )
|
|
||||||
{
|
|
||||||
this.orderNo = orderNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrderType()
|
|
||||||
{
|
|
||||||
return orderType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrderType( String orderType )
|
|
||||||
{
|
|
||||||
this.orderType = orderType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNotifyNo()
|
|
||||||
{
|
|
||||||
return notifyNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNotifyNo( String notifyNo )
|
|
||||||
{
|
|
||||||
this.notifyNo = notifyNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDamageArea()
|
|
||||||
{
|
|
||||||
return damageArea;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDamageArea( String damageArea )
|
|
||||||
{
|
|
||||||
this.damageArea = damageArea;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDamageDate()
|
|
||||||
{
|
|
||||||
return damageDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDamageDate( String damageDate )
|
|
||||||
{
|
|
||||||
this.damageDate = damageDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getGeneratingDate()
|
|
||||||
{
|
|
||||||
return generatingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGeneratingDate( String generatingDate )
|
|
||||||
{
|
|
||||||
this.generatingDate = generatingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPolicyNo()
|
|
||||||
{
|
|
||||||
return policyNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPolicyNo( String policyNo )
|
|
||||||
{
|
|
||||||
this.policyNo = policyNo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPolicyNoJQX()
|
|
||||||
{
|
|
||||||
return policyNoJQX;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPolicyNoJQX( String policyNoJQX )
|
|
||||||
{
|
|
||||||
this.policyNoJQX = policyNoJQX;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPlateNumber()
|
|
||||||
{
|
|
||||||
return plateNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPlateNumber( String plateNumber )
|
|
||||||
{
|
|
||||||
this.plateNumber = plateNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBrandName()
|
|
||||||
{
|
|
||||||
return brandName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBrandName( String brandName )
|
|
||||||
{
|
|
||||||
this.brandName = brandName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsInsuranceObject()
|
|
||||||
{
|
|
||||||
return isInsuranceObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsInsuranceObject( String isInsuranceObject )
|
|
||||||
{
|
|
||||||
this.isInsuranceObject = isInsuranceObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsSuccess()
|
|
||||||
{
|
|
||||||
return isSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsSuccess( String isSuccess )
|
|
||||||
{
|
|
||||||
this.isSuccess = isSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecommandDealerCode()
|
|
||||||
{
|
|
||||||
return recommandDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecommandDealerCode( String recommandDealerCode )
|
|
||||||
{
|
|
||||||
this.recommandDealerCode = recommandDealerCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecommandDealerName()
|
|
||||||
{
|
|
||||||
return recommandDealerName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecommandDealerName( String recommandDealerName )
|
|
||||||
{
|
|
||||||
this.recommandDealerName = recommandDealerName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecommandDealerCodeInNotify()
|
|
||||||
{
|
|
||||||
return recommandDealerCodeInNotify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecommandDealerCodeInNotify( String recommandDealerCodeInNotify )
|
|
||||||
{
|
|
||||||
this.recommandDealerCodeInNotify = recommandDealerCodeInNotify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecommandDealerNameInNotify()
|
|
||||||
{
|
|
||||||
return recommandDealerNameInNotify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecommandDealerNameInNotify( String recommandDealerNameInNotify )
|
|
||||||
{
|
|
||||||
this.recommandDealerNameInNotify = recommandDealerNameInNotify;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecommandDealerNameInSurvey()
|
|
||||||
{
|
|
||||||
return recommandDealerNameInSurvey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecommandDealerNameInSurvey( String recommandDealerNameInSurvey )
|
|
||||||
{
|
|
||||||
this.recommandDealerNameInSurvey = recommandDealerNameInSurvey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getAgentName()
|
|
||||||
{
|
|
||||||
return agentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAgentName( String agentName )
|
|
||||||
{
|
|
||||||
this.agentName = agentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSurveyor()
|
|
||||||
{
|
|
||||||
return surveyor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSurveyor( String surveyor )
|
|
||||||
{
|
|
||||||
this.surveyor = surveyor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCheckDate()
|
|
||||||
{
|
|
||||||
return checkDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCheckDate( String checkDate )
|
|
||||||
{
|
|
||||||
this.checkDate = checkDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRepairingStartDate()
|
|
||||||
{
|
|
||||||
return repairingStartDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepairingStartDate( String repairingStartDate )
|
|
||||||
{
|
|
||||||
this.repairingStartDate = repairingStartDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRepairingFinishDate()
|
|
||||||
{
|
|
||||||
return repairingFinishDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepairingFinishDate( String repairingFinishDate )
|
|
||||||
{
|
|
||||||
this.repairingFinishDate = repairingFinishDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStatus()
|
|
||||||
{
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus( String status )
|
|
||||||
{
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLostItemID()
|
|
||||||
{
|
|
||||||
return lostItemID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLostItemID( String lostItemID )
|
|
||||||
{
|
|
||||||
this.lostItemID = lostItemID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSurveyorRecommandStatus()
|
|
||||||
{
|
|
||||||
return surveyorRecommandStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSurveyorRecommandStatus( String surveyorRecommandStatus )
|
|
||||||
{
|
|
||||||
this.surveyorRecommandStatus = surveyorRecommandStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode()
|
|
||||||
{
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((branchName == null) ? 0 : branchName.hashCode());
|
|
||||||
result = prime * result + ((orderNo == null) ? 0 : orderNo.hashCode());
|
|
||||||
result = prime * result + ((orderType == null) ? 0 : orderType.hashCode());
|
|
||||||
result = prime * result + ((notifyNo == null) ? 0 : notifyNo.hashCode());
|
|
||||||
result = prime * result + ((damageArea == null) ? 0 : damageArea.hashCode());
|
|
||||||
result = prime * result + ((damageDate == null) ? 0 : damageDate.hashCode());
|
|
||||||
result = prime * result + ((generatingDate == null) ? 0 : generatingDate.hashCode());
|
|
||||||
result = prime * result + ((policyNo == null) ? 0 : policyNo.hashCode());
|
|
||||||
result = prime * result + ((policyNoJQX == null) ? 0 : policyNoJQX.hashCode());
|
|
||||||
result = prime * result + ((plateNumber == null) ? 0 : plateNumber.hashCode());
|
|
||||||
result = prime * result + ((brandName == null) ? 0 : brandName.hashCode());
|
|
||||||
result = prime * result + ((isInsuranceObject == null) ? 0 : isInsuranceObject.hashCode());
|
|
||||||
result = prime * result + ((isSuccess == null) ? 0 : isSuccess.hashCode());
|
|
||||||
result = prime * result
|
|
||||||
+ ((recommandDealerCode == null) ? 0 : recommandDealerCode.hashCode());
|
|
||||||
result = prime * result
|
|
||||||
+ ((recommandDealerName == null) ? 0 : recommandDealerName.hashCode());
|
|
||||||
result = prime * result + ((recommandDealerCodeInNotify == null) ? 0
|
|
||||||
: recommandDealerCodeInNotify.hashCode());
|
|
||||||
result = prime * result + ((recommandDealerNameInNotify == null) ? 0
|
|
||||||
: recommandDealerNameInNotify.hashCode());
|
|
||||||
result = prime * result + ((recommandDealerNameInSurvey == null) ? 0
|
|
||||||
: recommandDealerNameInSurvey.hashCode());
|
|
||||||
result = prime * result + ((agentName == null) ? 0 : agentName.hashCode());
|
|
||||||
result = prime * result + ((surveyor == null) ? 0 : surveyor.hashCode());
|
|
||||||
result = prime * result + ((checkDate == null) ? 0 : checkDate.hashCode());
|
|
||||||
result = prime * result
|
|
||||||
+ ((repairingStartDate == null) ? 0 : repairingStartDate.hashCode());
|
|
||||||
result = prime * result
|
|
||||||
+ ((repairingFinishDate == null) ? 0 : repairingFinishDate.hashCode());
|
|
||||||
result = prime * result + ((status == null) ? 0 : status.hashCode());
|
|
||||||
result = prime * result + ((lostItemID == null) ? 0 : lostItemID.hashCode());
|
|
||||||
result = prime * result
|
|
||||||
+ ((surveyorRecommandStatus == null) ? 0 : surveyorRecommandStatus.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals( Object obj )
|
|
||||||
{
|
|
||||||
if ( this == obj)
|
|
||||||
return true;
|
|
||||||
if ( obj == null)
|
|
||||||
return false;
|
|
||||||
if ( getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
RepairOrder other = (RepairOrder) obj;
|
|
||||||
if ( branchName == null)
|
|
||||||
{
|
|
||||||
if ( other.branchName != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !branchName.equals( other.branchName ))
|
|
||||||
return false;
|
|
||||||
if ( orderNo == null)
|
|
||||||
{
|
|
||||||
if ( other.orderNo != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !orderNo.equals( other.orderNo ))
|
|
||||||
return false;
|
|
||||||
if ( orderType == null)
|
|
||||||
{
|
|
||||||
if ( other.orderType != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !orderType.equals( other.orderType ))
|
|
||||||
return false;
|
|
||||||
if ( notifyNo == null)
|
|
||||||
{
|
|
||||||
if ( other.notifyNo != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !notifyNo.equals( other.notifyNo ))
|
|
||||||
return false;
|
|
||||||
if ( damageArea == null)
|
|
||||||
{
|
|
||||||
if ( other.damageArea != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !damageArea.equals( other.damageArea ))
|
|
||||||
return false;
|
|
||||||
if ( damageDate == null)
|
|
||||||
{
|
|
||||||
if ( other.damageDate != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !damageDate.equals( other.damageDate ))
|
|
||||||
return false;
|
|
||||||
if ( generatingDate == null)
|
|
||||||
{
|
|
||||||
if ( other.generatingDate != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !generatingDate.equals( other.generatingDate ))
|
|
||||||
return false;
|
|
||||||
if ( policyNo == null)
|
|
||||||
{
|
|
||||||
if ( other.policyNo != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !policyNo.equals( other.policyNo ))
|
|
||||||
return false;
|
|
||||||
if ( policyNoJQX == null)
|
|
||||||
{
|
|
||||||
if ( other.policyNoJQX != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !policyNoJQX.equals( other.policyNoJQX ))
|
|
||||||
return false;
|
|
||||||
if ( plateNumber == null)
|
|
||||||
{
|
|
||||||
if ( other.plateNumber != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !plateNumber.equals( other.plateNumber ))
|
|
||||||
return false;
|
|
||||||
if ( brandName == null)
|
|
||||||
{
|
|
||||||
if ( other.brandName != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !brandName.equals( other.brandName ))
|
|
||||||
return false;
|
|
||||||
if ( isInsuranceObject == null)
|
|
||||||
{
|
|
||||||
if ( other.isInsuranceObject != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !isInsuranceObject.equals( other.isInsuranceObject ))
|
|
||||||
return false;
|
|
||||||
if ( isSuccess == null)
|
|
||||||
{
|
|
||||||
if ( other.isSuccess != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !isSuccess.equals( other.isSuccess ))
|
|
||||||
return false;
|
|
||||||
if ( recommandDealerCode == null)
|
|
||||||
{
|
|
||||||
if ( other.recommandDealerCode != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !recommandDealerCode.equals( other.recommandDealerCode ))
|
|
||||||
return false;
|
|
||||||
if ( recommandDealerName == null)
|
|
||||||
{
|
|
||||||
if ( other.recommandDealerName != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !recommandDealerName.equals( other.recommandDealerName ))
|
|
||||||
return false;
|
|
||||||
if ( recommandDealerCodeInNotify == null)
|
|
||||||
{
|
|
||||||
if ( other.recommandDealerCodeInNotify != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !recommandDealerCodeInNotify.equals( other.recommandDealerCodeInNotify ))
|
|
||||||
return false;
|
|
||||||
if ( recommandDealerNameInNotify == null)
|
|
||||||
{
|
|
||||||
if ( other.recommandDealerNameInNotify != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !recommandDealerNameInNotify.equals( other.recommandDealerNameInNotify ))
|
|
||||||
return false;
|
|
||||||
if ( recommandDealerNameInSurvey == null)
|
|
||||||
{
|
|
||||||
if ( other.recommandDealerNameInSurvey != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !recommandDealerNameInSurvey.equals( other.recommandDealerNameInSurvey ))
|
|
||||||
return false;
|
|
||||||
if ( agentName == null)
|
|
||||||
{
|
|
||||||
if ( other.agentName != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !agentName.equals( other.agentName ))
|
|
||||||
return false;
|
|
||||||
if ( surveyor == null)
|
|
||||||
{
|
|
||||||
if ( other.surveyor != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !surveyor.equals( other.surveyor ))
|
|
||||||
return false;
|
|
||||||
if ( checkDate == null)
|
|
||||||
{
|
|
||||||
if ( other.checkDate != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !checkDate.equals( other.checkDate ))
|
|
||||||
return false;
|
|
||||||
if ( repairingStartDate == null)
|
|
||||||
{
|
|
||||||
if ( other.repairingStartDate != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !repairingStartDate.equals( other.repairingStartDate ))
|
|
||||||
return false;
|
|
||||||
if ( repairingFinishDate == null)
|
|
||||||
{
|
|
||||||
if ( other.repairingFinishDate != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !repairingFinishDate.equals( other.repairingFinishDate ))
|
|
||||||
return false;
|
|
||||||
if ( status == null)
|
|
||||||
{
|
|
||||||
if ( other.status != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !status.equals( other.status ))
|
|
||||||
return false;
|
|
||||||
if ( lostItemID == null)
|
|
||||||
{
|
|
||||||
if ( other.lostItemID != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !lostItemID.equals( other.lostItemID ))
|
|
||||||
return false;
|
|
||||||
if ( surveyorRecommandStatus == null)
|
|
||||||
{
|
|
||||||
if ( other.surveyorRecommandStatus != null)
|
|
||||||
return false;
|
|
||||||
} else if ( !surveyorRecommandStatus.equals( other.surveyorRecommandStatus ))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String branchName;
|
|
||||||
private String orderNo;
|
|
||||||
private String orderType;
|
|
||||||
private String notifyNo;
|
|
||||||
private String damageArea;
|
|
||||||
private String damageDate;
|
|
||||||
private String generatingDate;
|
|
||||||
private String policyNo;
|
|
||||||
private String policyNoJQX;
|
|
||||||
private String plateNumber;
|
|
||||||
private String brandName;
|
|
||||||
private String isInsuranceObject;
|
|
||||||
private String isSuccess;
|
|
||||||
private String recommandDealerCode;
|
|
||||||
private String recommandDealerName;
|
|
||||||
private String recommandDealerCodeInNotify;
|
|
||||||
private String recommandDealerNameInNotify;
|
|
||||||
private String recommandDealerNameInSurvey;
|
|
||||||
private String agentName;
|
|
||||||
private String surveyor; // 查勘员
|
|
||||||
private String checkDate;
|
|
||||||
private String repairingStartDate;
|
|
||||||
private String repairingFinishDate;
|
|
||||||
private String status;
|
|
||||||
private String lostItemID;
|
|
||||||
private String surveyorRecommandStatus;
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"appName": "车商渠道管理工具",
|
|
||||||
"db_config": {
|
|
||||||
"userName": "car_dealer",
|
|
||||||
"password": "Cpic123456"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
|
|
||||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
|
|
||||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
|
|
||||||
|
|
||||||
<context:component-scan base-package="com.cpic.xim" />
|
|
||||||
<mvc:annotation-driven />
|
|
||||||
<mvc:default-servlet-handler />
|
|
||||||
|
|
||||||
<!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
|
|
||||||
<property name="prefix" value="/WEB-INF/jsp/" />
|
|
||||||
<property name="suffix" value=".jsp" />
|
|
||||||
</bean> -->
|
|
||||||
|
|
||||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
|
||||||
<property name="defaultEncoding" value="UTF-8" />
|
|
||||||
<property name="maxUploadSize" value="-1" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
</beans>
|
|
|
@ -1,29 +0,0 @@
|
||||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
|
|
||||||
|
|
||||||
<display-name>Archetype Created Web Application</display-name>
|
|
||||||
|
|
||||||
<!-- springMVC -->
|
|
||||||
<servlet>
|
|
||||||
<servlet-name>springmvc</servlet-name>
|
|
||||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
|
||||||
<init-param>
|
|
||||||
<param-name>contextConfigLocation</param-name>
|
|
||||||
<param-value>classpath:spring.xml</param-value>
|
|
||||||
</init-param>
|
|
||||||
<load-on-startup>1</load-on-startup>
|
|
||||||
</servlet>
|
|
||||||
<servlet-mapping>
|
|
||||||
<servlet-name>springmvc</servlet-name>
|
|
||||||
<url-pattern>*.do</url-pattern>
|
|
||||||
</servlet-mapping>
|
|
||||||
|
|
||||||
<filter>
|
|
||||||
<filter-name>cros-filter</filter-name>
|
|
||||||
<filter-class>com.cpic.xim.car_dealer.filters.CrosFilter</filter-class>
|
|
||||||
</filter>
|
|
||||||
<filter-mapping>
|
|
||||||
<filter-name>cros-filter</filter-name>
|
|
||||||
<url-pattern>*.do</url-pattern>
|
|
||||||
</filter-mapping>
|
|
||||||
|
|
||||||
</web-app>
|
|
|
@ -1,68 +0,0 @@
|
||||||
html {
|
|
||||||
--backupground-color: #f7f7f7;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root,
|
|
||||||
#app {
|
|
||||||
height: 100vh;
|
|
||||||
width: 100vw;
|
|
||||||
position: fixed;
|
|
||||||
padding: 50px;
|
|
||||||
/* font-size: 0; */
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root,
|
|
||||||
#app * + * {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
background-color: steelblue;
|
|
||||||
border: none;
|
|
||||||
height: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.test {
|
|
||||||
width: 110vw;
|
|
||||||
height: 100vh;
|
|
||||||
border: 1px solid red;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
padding: 5px 10px;
|
|
||||||
background-color: var(--btn-color-red);
|
|
||||||
color: var(--btn-font-color);
|
|
||||||
width: 10em;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.25em;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
button + button {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active {
|
|
||||||
background-color: var(--btn-font-color);
|
|
||||||
color: var(--btn-color-red);
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
border: none;
|
|
||||||
outline: solid 2px #e56651;
|
|
||||||
font-size: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 2rem;
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
#app {
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
padding: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
flex-basis: 50px;
|
|
||||||
border: 1px solid red;
|
|
||||||
max-height: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main {
|
|
||||||
flex-grow: 1;
|
|
||||||
border: 1px solid red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer {
|
|
||||||
flex-basis: 100px;
|
|
||||||
max-height: 100px;
|
|
||||||
border: 1px solid red;
|
|
||||||
}
|
|
|
@ -1,349 +0,0 @@
|
||||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
||||||
|
|
||||||
/* Document
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the line height in all browsers.
|
|
||||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
line-height: 1.15; /* 1 */
|
|
||||||
-webkit-text-size-adjust: 100%; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sections
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the margin in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the `main` element consistently in IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the font size and margin on `h1` elements within `section` and
|
|
||||||
* `article` contexts in Chrome, Firefox, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
|
||||||
margin: 0.67em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grouping content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in Firefox.
|
|
||||||
* 2. Show the overflow in Edge and IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
hr {
|
|
||||||
box-sizing: content-box; /* 1 */
|
|
||||||
height: 0; /* 1 */
|
|
||||||
overflow: visible; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
pre {
|
|
||||||
font-family: monospace, monospace; /* 1 */
|
|
||||||
font-size: 1em; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text-level semantics
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the gray background on active links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Remove the bottom border in Chrome 57-
|
|
||||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: none; /* 1 */
|
|
||||||
text-decoration: underline; /* 2 */
|
|
||||||
text-decoration: underline dotted; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace; /* 1 */
|
|
||||||
font-size: 1em; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font size in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
|
||||||
* all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Embedded content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the border on images inside links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
img {
|
|
||||||
border-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Change the font styles in all browsers.
|
|
||||||
* 2. Remove the margin in Firefox and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
font-family: inherit; /* 1 */
|
|
||||||
font-size: 100%; /* 1 */
|
|
||||||
line-height: 1.15; /* 1 */
|
|
||||||
margin: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the overflow in IE.
|
|
||||||
* 1. Show the overflow in Edge.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input { /* 1 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
|
||||||
* 1. Remove the inheritance of text transform in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
select { /* 1 */
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
[type="button"],
|
|
||||||
[type="reset"],
|
|
||||||
[type="submit"] {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner border and padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
[type="button"]::-moz-focus-inner,
|
|
||||||
[type="reset"]::-moz-focus-inner,
|
|
||||||
[type="submit"]::-moz-focus-inner {
|
|
||||||
border-style: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Restore the focus styles unset by the previous rule.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button:-moz-focusring,
|
|
||||||
[type="button"]:-moz-focusring,
|
|
||||||
[type="reset"]:-moz-focusring,
|
|
||||||
[type="submit"]:-moz-focusring {
|
|
||||||
outline: 1px dotted ButtonText;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
padding: 0.35em 0.75em 0.625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the text wrapping in Edge and IE.
|
|
||||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
|
||||||
* 3. Remove the padding so developers are not caught out when they zero out
|
|
||||||
* `fieldset` elements in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
legend {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
color: inherit; /* 2 */
|
|
||||||
display: table; /* 1 */
|
|
||||||
max-width: 100%; /* 1 */
|
|
||||||
padding: 0; /* 3 */
|
|
||||||
white-space: normal; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
|
||||||
*/
|
|
||||||
|
|
||||||
progress {
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the default vertical scrollbar in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in IE 10.
|
|
||||||
* 2. Remove the padding in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="checkbox"],
|
|
||||||
[type="radio"] {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="number"]::-webkit-inner-spin-button,
|
|
||||||
[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the odd appearance in Chrome and Safari.
|
|
||||||
* 2. Correct the outline style in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"] {
|
|
||||||
-webkit-appearance: textfield; /* 1 */
|
|
||||||
outline-offset: -2px; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner padding in Chrome and Safari on macOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
* 2. Change font properties to `inherit` in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
|
||||||
-webkit-appearance: button; /* 1 */
|
|
||||||
font: inherit; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interactive
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
details {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
summary {
|
|
||||||
display: list-item;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
.panel {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main_form {
|
|
||||||
height: 50vh;
|
|
||||||
width: 50vw;
|
|
||||||
border: 1px solid red;
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
:root {
|
|
||||||
font-size: 1em;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
*,
|
|
||||||
*::before,
|
|
||||||
*::after {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
box-sizing: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pointer {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
a,
|
|
||||||
p {
|
|
||||||
padding: 5rem;
|
|
||||||
border: 1px solid red;
|
|
||||||
line-height: 2rem;
|
|
||||||
margin: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.warp_test {
|
|
||||||
width: 5rem;
|
|
||||||
border: 1px solid red;
|
|
||||||
}
|
|
||||||
|
|
||||||
ol,
|
|
||||||
li {
|
|
||||||
background-color: cornflowerblue;
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-09-29 16:33:30
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-11 10:08:30
|
|
||||||
* @FilePath: \car_dealer\src\main\webapp\file_upload.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>上传文件测试!</title>
|
|
||||||
<link rel="stylesheet" href="css/root.css" />
|
|
||||||
<link rel="stylesheet" href="css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="css/kane.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
|
||||||
<form
|
|
||||||
action="http://localhost:8080/cardealer/upload.do"
|
|
||||||
id="uploadform"
|
|
||||||
enctype="multipart/form-data"
|
|
||||||
method="post"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="file"
|
|
||||||
name="uploadFile"
|
|
||||||
id="upload"
|
|
||||||
style="display: none"
|
|
||||||
onchange="fileUploadChange()"
|
|
||||||
/>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
value="12345"
|
|
||||||
name="test"
|
|
||||||
style="display: none"
|
|
||||||
/>
|
|
||||||
</form>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
id="upload_text"
|
|
||||||
readonly
|
|
||||||
onclick="upload.click()"
|
|
||||||
/>
|
|
||||||
<button id="btnUpload">上传</button>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
//const reqeustURL = "upload/upload_file.do";
|
|
||||||
const reqeustURL =
|
|
||||||
"http://localhost:8080/cardealer/upload/upload_file.do";
|
|
||||||
const btnUpload = document.getElementById("btnUpload");
|
|
||||||
|
|
||||||
function fileUploadChange() {
|
|
||||||
document.getElementById("upload_text").value =
|
|
||||||
document.getElementById("upload").value;
|
|
||||||
}
|
|
||||||
|
|
||||||
btnUpload.onclick = function (event) {
|
|
||||||
const uploadForm = document.getElementById("uploadform");
|
|
||||||
const form = new FormData(uploadForm);
|
|
||||||
|
|
||||||
const xhr = new XMLHttpRequest();
|
|
||||||
|
|
||||||
//处理进度
|
|
||||||
xhr.upload.onprogress = function (event) {
|
|
||||||
if (event.lengthComputable) {
|
|
||||||
let percent = Math.round(
|
|
||||||
(event.loaded * 100) / event.total,
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log("上传进度:" + percent);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//传送完成
|
|
||||||
xhr.onload = function (event) {
|
|
||||||
console.log(xhr.responseText);
|
|
||||||
|
|
||||||
let result = JSON.parse(xhr.responseText);
|
|
||||||
|
|
||||||
console.log(result);
|
|
||||||
};
|
|
||||||
|
|
||||||
xhr.open("post", reqeustURL, true);
|
|
||||||
xhr.send(form);
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
</html>
|
|
|
@ -1,37 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-19 09:59:34
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-19 17:21:25
|
|
||||||
* @FilePath: \car_dealer\src\main\webapp\test.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Document</title>
|
|
||||||
<link rel="stylesheet" href="css/root.css" />
|
|
||||||
<link rel="stylesheet" href="css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="css/kane.css" />
|
|
||||||
<link rel="stylesheet" href="css/test.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="root">
|
|
||||||
<!-- <div><a>测试的文本!!!!</a> <a>第二行文本!!!</a></div>
|
|
||||||
<div class="warp_test"></div> -->
|
|
||||||
<ol>
|
|
||||||
<li>测试</li>
|
|
||||||
<li>测试</li>
|
|
||||||
<li>测试</li>
|
|
||||||
<li>测试</li>
|
|
||||||
<li>测试</li>
|
|
||||||
<li>测试</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,23 +0,0 @@
|
||||||
<%-- /*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-21 00:14:43
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-21 00:16:48
|
|
||||||
* @FilePath: \car_dealer\src\main\webapp\test.jsp
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/ --%>
|
|
||||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"extends": [
|
|
||||||
"development"
|
|
||||||
],
|
|
||||||
"hints": {
|
|
||||||
"axe/forms": [
|
|
||||||
"default",
|
|
||||||
{
|
|
||||||
"label": "off"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compat-api/css": [
|
|
||||||
"default",
|
|
||||||
{
|
|
||||||
"ignore": [
|
|
||||||
"-webkit-text-size-adjust"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"highest-available-document-mode": "off"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-12 23:32:20
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-16 11:08:23
|
|
||||||
* @FilePath: \car_dealer\css\app.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
@import url("colors.css");
|
|
||||||
|
|
||||||
body {
|
|
||||||
background-color: var(--backupground-color);
|
|
||||||
padding: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
background-color: #fff;
|
|
||||||
width: 25rem;
|
|
||||||
margin: 0px auto;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 14:38:45
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-01 11:01:28
|
|
||||||
* @FilePath: \car_dealer\css\axios\axios.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
html {
|
|
||||||
--border-color: #efefef;
|
|
||||||
--hr-color: #efefef;
|
|
||||||
--backupground-color: #f8f8f8;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
|
|
||||||
--light-shadow: #cfcfcf;
|
|
||||||
--dark-shadow: #afafaf;
|
|
||||||
|
|
||||||
--scrollbar-backupground-color: #cfcfcf7f;
|
|
||||||
--scrollbar-track-color: #f7f7f700;
|
|
||||||
|
|
||||||
--font-color: #486171ff;
|
|
||||||
|
|
||||||
color: var(--font-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
line-height: 2rem;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 隐藏上传文件 */
|
|
||||||
input[type="file"] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main_plane {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
width: 20rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main_plane > * + * {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-12 23:20:29
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-12 23:45:27
|
|
||||||
* @FilePath: \car_dealer\css\button.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
@import url("colors.css");
|
|
||||||
|
|
||||||
button {
|
|
||||||
padding: 5px 10px;
|
|
||||||
background-color: var(--btn-color-red);
|
|
||||||
color: var(--btn-font-color);
|
|
||||||
width: 10em;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.25em;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
text-align: center;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 用于按钮点击时样式切换。 */
|
|
||||||
button:active {
|
|
||||||
background-color: var(--btn-font-color);
|
|
||||||
color: var(--btn-color-red);
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-12 23:22:59
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-16 15:26:04
|
|
||||||
* @FilePath: \car_dealer\css\colors.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
--backupground-color: #f4f5f7ff;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
|
|
||||||
--input-focus-color: #e56651;
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* devanagari */
|
|
||||||
@font-face {
|
|
||||||
font-family: "Poppins";
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(../fonts/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format("woff2");
|
|
||||||
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8,
|
|
||||||
U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
|
||||||
}
|
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: "Poppins";
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(../fonts/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format("woff2");
|
|
||||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
|
|
||||||
U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: "Poppins";
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
font-display: swap;
|
|
||||||
src: url(../fonts/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format("woff2");
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
||||||
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212,
|
|
||||||
U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-12 08:49:14
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-12 23:34:06
|
|
||||||
* @FilePath: \car_dealer\css\kane.css
|
|
||||||
* @Description: vue学习用的样式表!
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
--backupground-color: #f4f5f7ff;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root,
|
|
||||||
#app {
|
|
||||||
padding: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
background-color: steelblue;
|
|
||||||
border: none;
|
|
||||||
height: 3px;
|
|
||||||
/* width: 100% */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .test {
|
|
||||||
width : 110vw;
|
|
||||||
height : 100vh;
|
|
||||||
border : 1px solid red;
|
|
||||||
overflow : auto;
|
|
||||||
} */
|
|
||||||
|
|
||||||
input[type="text"] {
|
|
||||||
border: none;
|
|
||||||
outline: solid 2px #e56651;
|
|
||||||
/* font-size: 2rem; */
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 2rem;
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
|
@ -1,156 +0,0 @@
|
||||||
html {
|
|
||||||
--backupground-color: #f7f7f7;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: yunfengfeiyunti;
|
|
||||||
src: url(../fonts/YunFengfeiyunti.TTF);
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: jinghongtifan;
|
|
||||||
src: url(../fonts/FZZJ-JHTJF.TTF);
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: "Poppins", sans-serif;
|
|
||||||
padding: 0px;
|
|
||||||
overflow-x: hidden;
|
|
||||||
min-width: 1280px;
|
|
||||||
/* -ms-overflow-style: none; */
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login_box {
|
|
||||||
box-shadow: 0px 0px 10px #bbb;
|
|
||||||
/* border-radius: 5px; */
|
|
||||||
position: fixed;
|
|
||||||
height: 100vh;
|
|
||||||
width: 400px;
|
|
||||||
top: 0vh;
|
|
||||||
right: 50px;
|
|
||||||
background-color: #ffffffcf;
|
|
||||||
z-index: 10;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login_box img {
|
|
||||||
height: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login_box h2 {
|
|
||||||
margin: 15px 0px;
|
|
||||||
font-size: 2.9rem;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-div {
|
|
||||||
position: relative;
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 7% 93%;
|
|
||||||
grid-gap: 5px;
|
|
||||||
margin: 0px 0px 5px 0;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.i {
|
|
||||||
color: #b9b9b9;
|
|
||||||
font-family: "Font Awesome 5 Free";
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-div > div {
|
|
||||||
/* 相对定位 */
|
|
||||||
/* position: relative; */
|
|
||||||
/* height: 45px; */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .input-div > div > h5 {
|
|
||||||
|
|
||||||
position: absolute;
|
|
||||||
left: 10px;
|
|
||||||
top: 50%;
|
|
||||||
transform: translateY(-50%);
|
|
||||||
color: #999;
|
|
||||||
font-size: 18px;
|
|
||||||
transition: 0.3s;
|
|
||||||
} */
|
|
||||||
|
|
||||||
.fa-user::before {
|
|
||||||
content: "\f007";
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-div > div > input {
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
height: 2rem;
|
|
||||||
padding: 0px 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_login {
|
|
||||||
/* display: inline; */
|
|
||||||
width: 40%;
|
|
||||||
height: 50px;
|
|
||||||
border-radius: 25px;
|
|
||||||
outline: none;
|
|
||||||
border: none;
|
|
||||||
background-image: linear-gradient(to right, #32be8f, #32b39f, #32be8f);
|
|
||||||
background-size: 200%;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
color: #fff;
|
|
||||||
font-family: "Poppins", sans-serif;
|
|
||||||
text-transform: uppercase;
|
|
||||||
margin: 1rem auto;
|
|
||||||
/* 鼠标放上变小手 */
|
|
||||||
cursor: pointer;
|
|
||||||
/* transition: 0.1s; */
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_login:active {
|
|
||||||
background-color: var(--btn-font-color);
|
|
||||||
background-image: none;
|
|
||||||
color: var(--btn-color-red);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
position: absolute;
|
|
||||||
font-family: "jinghongtifan";
|
|
||||||
font-size: 60px;
|
|
||||||
color: #f00;
|
|
||||||
top: 5vh;
|
|
||||||
left: 10vw;
|
|
||||||
height: 2em;
|
|
||||||
width: 10em;
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dash_box {
|
|
||||||
position: relative;
|
|
||||||
min-height: 120vh;
|
|
||||||
width: 100vw;
|
|
||||||
background-color: #ddd;
|
|
||||||
z-index: 0;
|
|
||||||
background-image: url("../img/login/login_bg_06.jpg");
|
|
||||||
background-position: right;
|
|
||||||
background-size: cover;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
|
@ -1,379 +0,0 @@
|
||||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
||||||
|
|
||||||
/* Document
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the line height in all browsers.
|
|
||||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
line-height: 1.15;
|
|
||||||
/* 1 */
|
|
||||||
-webkit-text-size-adjust: 100%;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sections
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the margin in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the `main` element consistently in IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the font size and margin on `h1` elements within `section` and
|
|
||||||
* `article` contexts in Chrome, Firefox, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
|
||||||
margin: 0.67em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grouping content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in Firefox.
|
|
||||||
* 2. Show the overflow in Edge and IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
hr {
|
|
||||||
box-sizing: content-box;
|
|
||||||
/* 1 */
|
|
||||||
height: 0;
|
|
||||||
/* 1 */
|
|
||||||
overflow: visible;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
pre {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
/* 1 */
|
|
||||||
font-size: 1em;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text-level semantics
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the gray background on active links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Remove the bottom border in Chrome 57-
|
|
||||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: none;
|
|
||||||
/* 1 */
|
|
||||||
text-decoration: underline;
|
|
||||||
/* 2 */
|
|
||||||
text-decoration: underline dotted;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
/* 1 */
|
|
||||||
font-size: 1em;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font size in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
|
||||||
* all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Embedded content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the border on images inside links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
img {
|
|
||||||
border-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Change the font styles in all browsers.
|
|
||||||
* 2. Remove the margin in Firefox and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
font-family: inherit;
|
|
||||||
/* 1 */
|
|
||||||
font-size: 100%;
|
|
||||||
/* 1 */
|
|
||||||
line-height: 1.15;
|
|
||||||
/* 1 */
|
|
||||||
margin: 0;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the overflow in IE.
|
|
||||||
* 1. Show the overflow in Edge.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input {
|
|
||||||
/* 1 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
|
||||||
* 1. Remove the inheritance of text transform in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
select {
|
|
||||||
/* 1 */
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
[type="button"],
|
|
||||||
[type="reset"],
|
|
||||||
[type="submit"] {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner border and padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
[type="button"]::-moz-focus-inner,
|
|
||||||
[type="reset"]::-moz-focus-inner,
|
|
||||||
[type="submit"]::-moz-focus-inner {
|
|
||||||
border-style: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Restore the focus styles unset by the previous rule.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button:-moz-focusring,
|
|
||||||
[type="button"]:-moz-focusring,
|
|
||||||
[type="reset"]:-moz-focusring,
|
|
||||||
[type="submit"]:-moz-focusring {
|
|
||||||
outline: 1px dotted ButtonText;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
padding: 0.35em 0.75em 0.625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the text wrapping in Edge and IE.
|
|
||||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
|
||||||
* 3. Remove the padding so developers are not caught out when they zero out
|
|
||||||
* `fieldset` elements in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
legend {
|
|
||||||
box-sizing: border-box;
|
|
||||||
/* 1 */
|
|
||||||
color: inherit;
|
|
||||||
/* 2 */
|
|
||||||
display: table;
|
|
||||||
/* 1 */
|
|
||||||
max-width: 100%;
|
|
||||||
/* 1 */
|
|
||||||
padding: 0;
|
|
||||||
/* 3 */
|
|
||||||
white-space: normal;
|
|
||||||
/* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
|
||||||
*/
|
|
||||||
|
|
||||||
progress {
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the default vertical scrollbar in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in IE 10.
|
|
||||||
* 2. Remove the padding in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="checkbox"],
|
|
||||||
[type="radio"] {
|
|
||||||
box-sizing: border-box;
|
|
||||||
/* 1 */
|
|
||||||
padding: 0;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="number"]::-webkit-inner-spin-button,
|
|
||||||
[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the odd appearance in Chrome and Safari.
|
|
||||||
* 2. Correct the outline style in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"] {
|
|
||||||
-webkit-appearance: textfield;
|
|
||||||
/* 1 */
|
|
||||||
outline-offset: -2px;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner padding in Chrome and Safari on macOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
* 2. Change font properties to `inherit` in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
/* 1 */
|
|
||||||
font: inherit;
|
|
||||||
/* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interactive
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
details {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
summary {
|
|
||||||
display: list-item;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
:root {
|
|
||||||
font-size: 1em;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
*,
|
|
||||||
*::before,
|
|
||||||
*::after {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
box-sizing: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pointer {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
button {
|
|
||||||
clip: rect(0, 0, 0, 0);
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 20px;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.father {
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 1px solid red;
|
|
||||||
}
|
|
||||||
|
|
||||||
.son {
|
|
||||||
border: 1px solid blue;
|
|
||||||
height: 100%;
|
|
||||||
/* margin: 0px 20px; */
|
|
||||||
width: 300px;
|
|
||||||
}
|
|
|
@ -1,195 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-21 16:39:27
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-03 23:48:28
|
|
||||||
* @FilePath: \car_dealer\css\todo-list\to-list.css
|
|
||||||
* @Description: 用于待办事项页面的css!
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
--border-color: #efefef;
|
|
||||||
--hr-color: #efefef;
|
|
||||||
--backupground-color: #f4f5f7ff;
|
|
||||||
--plane-color: #ffffff;
|
|
||||||
--btn-color-blue: #307dbe;
|
|
||||||
--btn-color-yellow: #f7b24d;
|
|
||||||
--btn-color-green: #5bad60;
|
|
||||||
--btn-color-red: #e56651;
|
|
||||||
--btn-font-color: #fff;
|
|
||||||
|
|
||||||
--light-shadow: #cfcfcf;
|
|
||||||
--dark-shadow: #afafaf;
|
|
||||||
|
|
||||||
--scrollbar-backupground-color: #cfcfcf7f;
|
|
||||||
--scrollbar-track-color: #f7f7f700;
|
|
||||||
|
|
||||||
--font-color: #486171ff;
|
|
||||||
|
|
||||||
color: var(--font-color);
|
|
||||||
background-color: var(--backupground-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.border {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
border-radius: 5px;
|
|
||||||
background-color: var(--plane-color);
|
|
||||||
width: 30rem;
|
|
||||||
padding: 1em;
|
|
||||||
box-shadow: 0px 0px 10px var(--light-shadow);
|
|
||||||
}
|
|
||||||
|
|
||||||
.border:hover {
|
|
||||||
box-shadow: 0px 0px 10px var(--dark-shadow);
|
|
||||||
transition: box-shadow 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .add_todo {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .add_todo > button {
|
|
||||||
margin-left: 5px;
|
|
||||||
flex-basis: 4rem;
|
|
||||||
flex-grow: 0;
|
|
||||||
font-size: 1rem;
|
|
||||||
height: 2.3rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .add_todo > input {
|
|
||||||
flex-shrink: auto;
|
|
||||||
flex-grow: 1;
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 2rem;
|
|
||||||
padding: 0 5px;
|
|
||||||
margin: 0px;
|
|
||||||
outline-color: var(--border-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
border: none;
|
|
||||||
margin-top: 1rem;
|
|
||||||
background-color: var(--border-color);
|
|
||||||
height: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list {
|
|
||||||
margin-top: calc(1rem - 1px);
|
|
||||||
margin-bottom: calc(1rem - 1px);
|
|
||||||
height: 12.34rem;
|
|
||||||
overflow-y: overlay;
|
|
||||||
padding-top: 1px;
|
|
||||||
padding-bottom: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.todo_list::-webkit-scrollbar {
|
|
||||||
width: 0.75rem;
|
|
||||||
cursor: pointer;
|
|
||||||
/* height: 100px; */
|
|
||||||
}
|
|
||||||
|
|
||||||
.todo_list::-webkit-scrollbar-thumb {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.todo_list:hover::-webkit-scrollbar-thumb {
|
|
||||||
border-radius: 10px;
|
|
||||||
-webkit-box-shadow: inset 0 0 5px var(--scrollbar-track-color);
|
|
||||||
box-shadow: 0 0 5px var(--scrollbar-track-color);
|
|
||||||
background: var(--scrollbar-backupground-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .todo_list:hover::-webkit-scrollbar-track {
|
|
||||||
-webkit-box-shadow: inset 0 0 5px var(--scrollbar-backupground-color);
|
|
||||||
box-shadow: 0 0 5px var(--scrollbar-backupground-color);
|
|
||||||
border-radius: 10px;
|
|
||||||
background: var(--scrollbar-track-color);
|
|
||||||
} */
|
|
||||||
|
|
||||||
.border > .todo_list > * + * {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list div {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list div > input[type="checkbox"] {
|
|
||||||
flex-grow: 0;
|
|
||||||
outline: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list div * + * {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list span {
|
|
||||||
flex-grow: 1;
|
|
||||||
border-bottom: 1px solid var(--border-color);
|
|
||||||
height: 1.25rem;
|
|
||||||
vertical-align: center;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
padding-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list input {
|
|
||||||
flex-grow: 1;
|
|
||||||
font-size: 1rem;
|
|
||||||
/* line-height: 1.5rem; */
|
|
||||||
padding: 5px 5px;
|
|
||||||
margin: 0px 0px 0px 5px;
|
|
||||||
outline-color: var(--border-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list button {
|
|
||||||
flex-grow: 0;
|
|
||||||
font-size: 1rem;
|
|
||||||
width: 4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .todo_list input {
|
|
||||||
outline: 1px solid var(--border-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .tools {
|
|
||||||
margin-top: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.border > .tools > p {
|
|
||||||
text-align: right;
|
|
||||||
margin: 0px 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#message_border {
|
|
||||||
position: fixed;
|
|
||||||
display: none;
|
|
||||||
left: 0px;
|
|
||||||
top: 0px;
|
|
||||||
right: 0px;
|
|
||||||
bottom: 0px;
|
|
||||||
background-color: rgba(128, 128, 128, 0.8);
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message_box {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
background-color: var(--backupground-color);
|
|
||||||
padding: 2rem;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message_box > button {
|
|
||||||
padding: 0.5rem 2rem;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-14 10:50:51
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-14 11:44:15
|
|
||||||
* @FilePath: \car_dealer\css\表单\表单.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
|
|
||||||
@import url("../colors.css");
|
|
||||||
|
|
||||||
#app {
|
|
||||||
padding: 15px;
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 4rem auto;
|
|
||||||
/* grid-template-rows: repeat(3, 1.5rem); */
|
|
||||||
grid-auto-rows: 2rem;
|
|
||||||
grid-gap: 0.5rem;
|
|
||||||
place-items: center center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app > * + * {
|
|
||||||
/* margin-top: 15px; */
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid-left {
|
|
||||||
/* display: inline-block; */
|
|
||||||
/* grid-column: 1/2; */
|
|
||||||
/* place-self: end; */
|
|
||||||
text-align: right;
|
|
||||||
line-height: 2rem;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid-left + input {
|
|
||||||
height: 1.8rem;
|
|
||||||
width: 100%;
|
|
||||||
outline-color: #f4f5f7;
|
|
||||||
border: 1px solid #f4f5f7;
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid-left + input:focus {
|
|
||||||
outline: 2px solid #e56651;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cell-gender {
|
|
||||||
display: flex;
|
|
||||||
justify-content: left;
|
|
||||||
align-items: center;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
<svg id="457bf273-24a3-4fd8-a857-e9b918267d6a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="698" height="698" viewBox="0 0 698 698"><defs><linearGradient id="b247946c-c62f-4d08-994a-4c3d64e1e98f" x1="349" y1="698" x2="349" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" stop-opacity="0.25"/><stop offset="0.54" stop-color="gray" stop-opacity="0.12"/><stop offset="1" stop-color="gray" stop-opacity="0.1"/></linearGradient></defs><title>profile pic</title><g opacity="0.5"><circle cx="349" cy="349" r="349" fill="url(#b247946c-c62f-4d08-994a-4c3d64e1e98f)"/></g><circle cx="349.68" cy="346.77" r="341.64" fill="#f5f5f5"/><path d="M601,790.76a340,340,0,0,0,187.79-56.2c-12.59-68.8-60.5-72.72-60.5-72.72H464.09s-45.21,3.71-59.33,67A340.07,340.07,0,0,0,601,790.76Z" transform="translate(-251 -101)" fill="#38d39f"/><circle cx="346.37" cy="339.57" r="164.9" fill="#333"/><path d="M293.15,476.92H398.81a0,0,0,0,1,0,0v84.53A52.83,52.83,0,0,1,346,614.28h0a52.83,52.83,0,0,1-52.83-52.83V476.92a0,0,0,0,1,0,0Z" opacity="0.1"/><path d="M296.5,473h99a3.35,3.35,0,0,1,3.35,3.35v81.18A52.83,52.83,0,0,1,346,610.37h0a52.83,52.83,0,0,1-52.83-52.83V476.35A3.35,3.35,0,0,1,296.5,473Z" fill="#fdb797"/><path d="M544.34,617.82a152.07,152.07,0,0,0,105.66.29v-13H544.34Z" transform="translate(-251 -101)" opacity="0.1"/><circle cx="346.37" cy="372.44" r="151.45" fill="#fdb797"/><path d="M489.49,335.68S553.32,465.24,733.37,390l-41.92-65.73-74.31-26.67Z" transform="translate(-251 -101)" opacity="0.1"/><path d="M489.49,333.78s63.83,129.56,243.88,54.3l-41.92-65.73-74.31-26.67Z" transform="translate(-251 -101)" fill="#333"/><path d="M488.93,325a87.49,87.49,0,0,1,21.69-35.27c29.79-29.45,78.63-35.66,103.68-69.24,6,9.32,1.36,23.65-9,27.65,24-.16,51.81-2.26,65.38-22a44.89,44.89,0,0,1-7.57,47.4c21.27,1,44,15.4,45.34,36.65.92,14.16-8,27.56-19.59,35.68s-25.71,11.85-39.56,14.9C608.86,369.7,462.54,407.07,488.93,325Z" transform="translate(-251 -101)" fill="#333"/><ellipse cx="194.86" cy="372.3" rx="14.09" ry="26.42" fill="#fdb797"/><ellipse cx="497.8" cy="372.3" rx="14.09" ry="26.42" fill="#fdb797"/></svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 245 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.5 MiB |
Binary file not shown.
Before Width: | Height: | Size: 1.0 MiB |
Binary file not shown.
Before Width: | Height: | Size: 670 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.8 MiB |
|
@ -1,38 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-11 22:49:54
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-14 17:24:05
|
|
||||||
* @FilePath: \car_dealer\index.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Document</title>
|
|
||||||
<link rel="stylesheet" href="css/root.css" />
|
|
||||||
<link rel="stylesheet" href="css/normalize.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="outter">
|
|
||||||
<p class="inner">测试</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<style>
|
|
||||||
.outter {
|
|
||||||
border: 1px solid red;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inner {
|
|
||||||
display: inline;
|
|
||||||
width: 150px;
|
|
||||||
border: 1px solid green;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</html>
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,62 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-11 23:19:28
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-12 20:49:35
|
|
||||||
* @FilePath: \car_dealer\login.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>登录</title>
|
|
||||||
<link href="css/fonts.css" rel="stylesheet" />
|
|
||||||
<link rel="stylesheet" href="css/root.css" />
|
|
||||||
<link rel="stylesheet" href="css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="css/login.css" />
|
|
||||||
<script src="https://kit.fontawesome.com/a81368914c.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="dash_box">
|
|
||||||
<div class="title_box">
|
|
||||||
<!-- <h1>車商渠道</h1> -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="login_box">
|
|
||||||
<form>
|
|
||||||
<img src="img/login/avatar.svg" alt="" />
|
|
||||||
<h2>欢迎</h2>
|
|
||||||
<div class="input-div user">
|
|
||||||
<div class="i">
|
|
||||||
<i class="fas fa-user"></i>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<!-- <h5>用户名</h5> -->
|
|
||||||
<input type="text" placeholder="请输入P13账号" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="input-div user">
|
|
||||||
<div class="i">
|
|
||||||
<i class="fa fa-lock"></i>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<!-- <h5>密码</h5> -->
|
|
||||||
<input
|
|
||||||
type="password"
|
|
||||||
name=""
|
|
||||||
id=""
|
|
||||||
placeholder="密码"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- <button class="btn_login">登录</button> -->
|
|
||||||
</form>
|
|
||||||
<button class="btn_login">登录</button>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,30 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-19 22:46:18
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-19 23:38:21
|
|
||||||
* @FilePath: \car_dealer\test.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="zh-cn">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>测试css</title>
|
|
||||||
<!-- <link rel="stylesheet" href="css/root.css" /> -->
|
|
||||||
<!-- <link rel="stylesheet" href="css/normalize.css" /> -->
|
|
||||||
<link rel="stylesheet" href="css/kane.css" />
|
|
||||||
<link rel="stylesheet" href="css/test.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="root">
|
|
||||||
<div class="father">
|
|
||||||
<div class="son"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,103 +0,0 @@
|
||||||
<table align="center" style="width: 215px;">
|
|
||||||
<tbody>
|
|
||||||
<tr class="firstRow">
|
|
||||||
<td align="center" style="-ms-word-break: break-all;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a href="http://newoa.hq.cpic.com/" target="_Blank"><img alt=""
|
|
||||||
src="/images/portal/1.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://newoa.hq.cpic.com/" target="_Blank"><span style="color:#000000;"><span
|
|
||||||
style="font-size: 12px;">太保e办1.0</span> </span> </a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 89px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a href="http://mailoa7.hq.cpic.com/mail/empmail.nsf/cxxx?openform"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/7.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://mailoa7.hq.cpic.com/mail/empmail.nsf/cxxx?openform" target="_Blank"><span
|
|
||||||
style="color:#000000;"><span style="font-size: 12px;">董事长邮箱</span> </span> </a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 60px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://xcoa-gp21oa.group.cpic.com/wui/index.html#/main/workflow/add?menuIds=1,12&menuPathIds=1,12&_key=4556on"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/1.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://xcoa-gp21oa.group.cpic.com/wui/index.html#/main/workflow/add?menuIds=1,12&menuPathIds=1,12&_key=4556on"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">新建流程</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="firstRow">
|
|
||||||
<td align="center" style="width: 60px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://xcoa-gp21oa.group.cpic.com/spa/meeting/static/index.html#/main/meeting/RoomPlan?canEdit=1"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/8.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://xcoa-gp21oa.group.cpic.com/spa/meeting/static/index.html#/main/meeting/RoomPlan?canEdit=1"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">会议室预定</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 89px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://xcoa-gp21oa.group.cpic.com/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/99068?_key=z1z8ru"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/8.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://xcoa-gp21oa.group.cpic.com/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/99068?_key=z1z8ru"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">个人名片</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 60px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a href="http://trippc.hq.cpic.com/taibao-pc/users/loginPage.do"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/4.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://trippc.hq.cpic.com/taibao-pc/users/loginPage.do" target="_Blank"><span
|
|
||||||
style="color:#000000;"><span style="font-size: 12px;">太保e行</span> </span> </a></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="firstRow">
|
|
||||||
<td align="center" style="-ms-word-break: break-all;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://xcoa-gp21oa.group.cpic.com/spa/document/static/index.html#/main/document/search?eid=1481&tabid=9&redictFrom=more&_key=yw4d6i"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/1.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://xcoa-gp21oa.group.cpic.com/spa/document/static/index.html#/main/document/search?eid=1481&tabid=9&redictFrom=more&_key=yw4d6i"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">办事指南</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 89px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://21.10.0.67/caf-cxhg-web/com.cpic.caf.main.view.caseLibrary.caseSearch.d"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/16.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://21.10.0.67/caf-cxhg-web/com.cpic.caf.main.view.caseLibrary.caseSearch.d"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">合规e查</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 60px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a href="/spa/portal/static/index.html#/main/portal/portal-1321-1"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/7.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="/spa/portal/static/index.html#/main/portal/portal-1321-1" target="_Blank"><span
|
|
||||||
style="color:#000000;"><span style="font-size: 12px;">IT热线</span> </span> </a></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="firstRow">
|
|
||||||
<td align="center" style="-ms-word-break: break-all;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://10.187.28.129:8080/xm/servlet/SkipJspServlet?cmd=message_all&id=000325&info=QC9bKmwCMOItJatSmkD5EQq46uLDeLJ5nX-qq8xAY4A&idCard=lZsIq4st6PfvratOk5C_rTRiA7X2PdjvrDNZt5kCwlM&mobile=5A07ebGbeA8URvr842Ei8A&name=%E4%BA%8E%E5%BD%AC&cpicuid=yubin-033&unitCode=2030100&sign=9dbb28ed96215ea502875ec1c195d846a93ab796"
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/1.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://10.187.28.129:8080/xm/servlet/SkipJspServlet?cmd=message_all&id=000325&info=QC9bKmwCMOItJatSmkD5EQq46uLDeLJ5nX-qq8xAY4A&idCard=lZsIq4st6PfvratOk5C_rTRiA7X2PdjvrDNZt5kCwlM&mobile=5A07ebGbeA8URvr842Ei8A&name=%E4%BA%8E%E5%BD%AC&cpicuid=yubin-033&unitCode=2030100&sign=9dbb28ed96215ea502875ec1c195d846a93ab796"
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">厦分民意箱</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
<td align="center" style="width: 60px;" valign="middle" width="60">
|
|
||||||
<p style="text-align:center"><a
|
|
||||||
href="http://10.187.28.129:8080/crm/servlet/Innovateservlet?cmd=innovateMainManager&org_id="
|
|
||||||
target="_Blank"><img alt="" src="/images/portal/7.png" /> </a></p>
|
|
||||||
|
|
||||||
<p><a href="http://10.187.28.129:8080/crm/servlet/Innovateservlet?cmd=innovateMainManager&org_id="
|
|
||||||
target="_Blank"><span style="color:#000000;"><span style="font-size: 12px;">创新天地</span> </span>
|
|
||||||
</a></p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
|
@ -1,113 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-31 13:11:55
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-01 09:54:11
|
|
||||||
* @FilePath: \car_dealer\vue\axios.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>axios</title>
|
|
||||||
<link rel="stylesheet" href="../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../css/kane.css" />
|
|
||||||
<link rel="stylesheet" href="../css/axios/axios.css" />
|
|
||||||
<script src="../js/axios/1.1.3/axios.js"></script>
|
|
||||||
<script src="../js/vue/vue.global.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="content">
|
|
||||||
<div id="app">
|
|
||||||
<div class="main_plane">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="file_name"
|
|
||||||
id="file_name"
|
|
||||||
readonly
|
|
||||||
onclick="selectFile()"
|
|
||||||
/>
|
|
||||||
<button type="button" @click="onUploadFile()">上传</button>
|
|
||||||
<input
|
|
||||||
type="file"
|
|
||||||
name="uploadFile"
|
|
||||||
id="fileupload"
|
|
||||||
onchange="onFileuploadChange()"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
const UPLOAD_FILE_URL =
|
|
||||||
"http://localhost:8080/cardealer/upload/upload_file.do";
|
|
||||||
const IMPORT_CARDEALER_URL =
|
|
||||||
"http://localhost:8080/cardealer/data/import/importcardealer.do";
|
|
||||||
|
|
||||||
function selectFile() {
|
|
||||||
const upload_file = document.getElementById("fileupload");
|
|
||||||
const file_name = document.getElementById("file_name");
|
|
||||||
|
|
||||||
upload_file.click();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onFileuploadChange() {
|
|
||||||
const upload_file = document.getElementById("fileupload");
|
|
||||||
const file_name = document.getElementById("file_name");
|
|
||||||
|
|
||||||
file_name.value = upload_file.value;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
const app = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
test: "测试this!",
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
onUploadFile: function () {
|
|
||||||
let param = {
|
|
||||||
file_path: "file path",
|
|
||||||
table_name: "车商表",
|
|
||||||
};
|
|
||||||
|
|
||||||
axios
|
|
||||||
.post(IMPORT_CARDEALER_URL, param)
|
|
||||||
.then((response) => {
|
|
||||||
console.log(response.data);
|
|
||||||
console.log(response);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
//先检查response,看看是否因为状态码不是200
|
|
||||||
if (error.response) {
|
|
||||||
console.log(error.response.data);
|
|
||||||
console.log(error.response.status);
|
|
||||||
}
|
|
||||||
//没有收到响应,就检查request
|
|
||||||
else if (error.request) {
|
|
||||||
console.log(error.request);
|
|
||||||
}
|
|
||||||
//如果request也为undefined,说明是引擎抛出了异常
|
|
||||||
else {
|
|
||||||
console.log(error.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.config.productionTip = false;
|
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
|
||||||
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
</html>
|
|
|
@ -1,104 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-02 11:22:37
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-07 16:45:06
|
|
||||||
* @FilePath: \car_dealer\vue\keypath.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>keypath测试</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div>a<div>b</div>c</div>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
const keypathReg = /[^\w.$]/;
|
|
||||||
|
|
||||||
let a = {
|
|
||||||
b: {
|
|
||||||
c: {
|
|
||||||
d: 100,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
function parsePath(path) {
|
|
||||||
if (keypathReg.test(path)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const segments = path.split(".");
|
|
||||||
|
|
||||||
return function (obj) {
|
|
||||||
console.log(segments);
|
|
||||||
for (let i = 0; i < segments.length; i++) {
|
|
||||||
// console.log(segments.length);
|
|
||||||
|
|
||||||
if (!obj) {
|
|
||||||
//如果obj没有值,就返回
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
obj = obj[segments[i]];
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
let obj = parsePath("b.c.d");
|
|
||||||
|
|
||||||
console.log(obj.call(a, a));
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
class Dep {
|
|
||||||
constructor() { }
|
|
||||||
|
|
||||||
depend() { }
|
|
||||||
|
|
||||||
notify() { }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* data 要添加响应式的对象
|
|
||||||
* key 要设置为响应式的属性
|
|
||||||
* val 属性的值
|
|
||||||
*/
|
|
||||||
function defineReactive(data, key, val) {
|
|
||||||
if (typeof val === "Object ") {
|
|
||||||
}
|
|
||||||
|
|
||||||
let dep = new Dep();
|
|
||||||
|
|
||||||
Object.defineProperty(data, key, {
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true,
|
|
||||||
get: function () {
|
|
||||||
dep.depend();
|
|
||||||
|
|
||||||
return val;
|
|
||||||
},
|
|
||||||
set: function (newVal) {
|
|
||||||
if (val === newVal) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
val = newVal;
|
|
||||||
|
|
||||||
dep.notify();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -1,213 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-21 16:36:51
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-01 17:48:11
|
|
||||||
* @FilePath: \car_dealer\vue\todo-list.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>待办任务</title>
|
|
||||||
<link rel="stylesheet" href="../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../css/kane.css" />
|
|
||||||
<link rel="stylesheet" href="../css/todo-list/to-list.css" />
|
|
||||||
<script src="../js/vue/vue.global.js"></script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
|
||||||
<div id="message_border">
|
|
||||||
<div class="message_box">
|
|
||||||
<span>{{errorMessage}}</span>
|
|
||||||
<button type="button" @click="closeMessageBox()">
|
|
||||||
关闭
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
<h1>{{title}}</h1>
|
|
||||||
<div class="border">
|
|
||||||
<div class="add_todo">
|
|
||||||
<input type="text" v-model="todo_text" placeholder="请输入待办事项" />
|
|
||||||
<button type="button" @click="showMessageBox()">
|
|
||||||
添加
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<div class="todo_list">
|
|
||||||
<div v-for="(item,index) in todo_list" :key="index">
|
|
||||||
<input type="checkbox" v-model="todo_list[index].selected" />
|
|
||||||
<span v-show="!item.edit">{{item.todo_text}}</span>
|
|
||||||
<input type="text" v-show="item.edit" v-model="item.todo_text" />
|
|
||||||
<button type="button" v-on:click="editTodo(index,event)">
|
|
||||||
修改
|
|
||||||
</button>
|
|
||||||
<button type="button" @click="removeTodo(index)">
|
|
||||||
删除
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
<div class="tools">
|
|
||||||
<p class="summary">总计:{{totalTodos}}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
const app = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
title: "待办任务",
|
|
||||||
errorMessage: "奇怪的错误!",
|
|
||||||
todo_text: "",
|
|
||||||
todo_list: [
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "回家",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: true,
|
|
||||||
todo_text: "吃饭",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "洗澡",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "玩游戏",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "回家",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: true,
|
|
||||||
todo_text: "吃饭",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "洗澡",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "玩游戏",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "回家",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: true,
|
|
||||||
todo_text: "吃饭",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "洗澡",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "玩游戏",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "回家",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: true,
|
|
||||||
todo_text: "吃饭",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "洗澡",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "玩游戏",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "回家",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: true,
|
|
||||||
todo_text: "吃饭",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "洗澡",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selected: false,
|
|
||||||
todo_text: "玩游戏",
|
|
||||||
edit: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
addTodo() { },
|
|
||||||
editTodo(index, event) {
|
|
||||||
console.log(index);
|
|
||||||
console.log(event);
|
|
||||||
|
|
||||||
this.todo_list[index].edit = !this.todo_list[index].edit;
|
|
||||||
},
|
|
||||||
removeTodo(index) {
|
|
||||||
this.todo_list.splice(index, 1);
|
|
||||||
},
|
|
||||||
showMessageBox() {
|
|
||||||
const message = document.getElementById("message_border");
|
|
||||||
|
|
||||||
message.style["display"] = "flex";
|
|
||||||
},
|
|
||||||
closeMessageBox() {
|
|
||||||
const message = document.getElementById("message_border");
|
|
||||||
|
|
||||||
message.style["display"] = "none";
|
|
||||||
},
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
totalTodos: {
|
|
||||||
get() {
|
|
||||||
return this.todo_list.length;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -1,84 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-10-20 15:07:59
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-10-21 16:29:39
|
|
||||||
* @FilePath: \car_dealer\vue\vue_01.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>vue3入门</title>
|
|
||||||
<link rel="stylesheet" href="../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../css/kane.css" />
|
|
||||||
<script src="../js/vue/vue.global.js"></script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
|
||||||
<div class="content">
|
|
||||||
<h1>{{title}}</h1>
|
|
||||||
<h1>{{count}}</h1>
|
|
||||||
<button type="button" v-on:click="addCount()">计数器</button>
|
|
||||||
<button type="button" v-on:click="switchButton()">
|
|
||||||
{{btn_title}}
|
|
||||||
</button>
|
|
||||||
<hr />
|
|
||||||
<h1>测试列表渲染</h1>
|
|
||||||
<h3>员工数量:{{stuffCount}}</h3>
|
|
||||||
<table>
|
|
||||||
<tr v-for="(stuff,index) in stuff_list" v-bind:key="index">
|
|
||||||
<td>{{index+1}}</td>
|
|
||||||
<td>{{stuff.name}}</td>
|
|
||||||
<td>{{stuff.age}}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<hr />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
const app = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
title: "vue3 入门!",
|
|
||||||
count: 0,
|
|
||||||
btn_title: "走你",
|
|
||||||
btn_switch: true,
|
|
||||||
stuff_list: [
|
|
||||||
{ name: "kane1", age: "40" },
|
|
||||||
{ name: "kane2", age: "41" },
|
|
||||||
{ name: "kane3", age: "42" },
|
|
||||||
{ name: "kane4", age: "43" },
|
|
||||||
{ name: "kane5", age: "44" },
|
|
||||||
],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
addCount() {
|
|
||||||
this.count++;
|
|
||||||
},
|
|
||||||
switchButton() {
|
|
||||||
this.btn_switch = !this.btn_switch;
|
|
||||||
this.btn_title = this.btn_switch ? "走你!" : "滚";
|
|
||||||
},
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
stuffCount() {
|
|
||||||
return this.stuff_list.length;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
|
||||||
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
</html>
|
|
|
@ -1,81 +0,0 @@
|
||||||
/*
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-16 10:58:30
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-16 14:38:15
|
|
||||||
* @FilePath: \car_dealer\vue\注册\css\main.css
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
*/
|
|
||||||
@import url("../../../css/colors.css");
|
|
||||||
|
|
||||||
html {
|
|
||||||
--text-border-color: #f4f5f7ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app {
|
|
||||||
width: 20rem;
|
|
||||||
background-color: #fff;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
padding: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app > div {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* #app input {
|
|
||||||
margin-top: 0.25rem;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
} */
|
|
||||||
|
|
||||||
#app input[type="text"] {
|
|
||||||
margin-top: 0.25rem;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
width: 100%;
|
|
||||||
height: 2rem;
|
|
||||||
line-height: 1.5rem;
|
|
||||||
padding: 2px 1rem;
|
|
||||||
border: 1px solid #f4f5f7ff;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app input[type="text"]:focus {
|
|
||||||
border: none;
|
|
||||||
outline: 2px solid var(--input-focus-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#app > * + * {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pianhao {
|
|
||||||
display: flex;
|
|
||||||
justify-content: left;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: 0.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pianhao label {
|
|
||||||
line-height: 0.8rem;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
background-color: var(--btn-color-red);
|
|
||||||
color: var(--btn-font-color);
|
|
||||||
border: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
width: 10rem;
|
|
||||||
padding: 0.5rem 1rem;
|
|
||||||
margin-top: 25px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active {
|
|
||||||
color: var(--btn-color-red);
|
|
||||||
background-color: var(--btn-font-color);
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-16 10:50:27
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-16 15:07:29
|
|
||||||
* @FilePath: \car_dealer\vue\注册\signup.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>注册</title>
|
|
||||||
<link rel="stylesheet" href="../../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../../css/app.css" />
|
|
||||||
<link rel="stylesheet" href="css/main.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="content">
|
|
||||||
<div id="app">
|
|
||||||
<h5>加入我们,一起创造美好世界</h5>
|
|
||||||
<h1>创建你的账号</h1>
|
|
||||||
<div>
|
|
||||||
<h6>用户名 *</h6>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
v-model.lazy.trim="signupInfo.username"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h6>邮箱地址</h6>
|
|
||||||
<input type="text" v-model.lazy.trim="signupInfo.email" />
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h6>密码*</h6>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
v-model.lazy.trim="signupInfo.password"
|
|
||||||
/>
|
|
||||||
<h6>请确认密码长度需要大于6位</h6>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h6>偏好设置</h6>
|
|
||||||
<div class="pianhao">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
id="sendUpdateMail"
|
|
||||||
v-model="signupInfo.sendUpdateMail"
|
|
||||||
/>
|
|
||||||
<label for="sendUpdateMail"> 接收更新邮件</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button type="button" @click="doSignup()">创建账号</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script src="../../js/axios/1.1.3/axios.js"></script>
|
|
||||||
<script src="../../js/vue/vue.global.js"></script>
|
|
||||||
<script>
|
|
||||||
const app = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
signupInfo: {
|
|
||||||
username: "",
|
|
||||||
email: "",
|
|
||||||
password: "",
|
|
||||||
sendUpdateMail: false,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
doSignup() {
|
|
||||||
let json = "";
|
|
||||||
|
|
||||||
if (
|
|
||||||
this.signupInfo.username.length != 0 &&
|
|
||||||
this.signupInfo.password.length != 0
|
|
||||||
) {
|
|
||||||
try {
|
|
||||||
json = JSON.stringify(this.signupInfo);
|
|
||||||
} catch (exception) {
|
|
||||||
console.log(exception.message);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(json);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
</html>
|
|
|
@ -1,61 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-18 16:07:50
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-18 16:27:14
|
|
||||||
* @FilePath: \car_dealer\vue\自定义组件\component.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>自定义组件</title>
|
|
||||||
<link rel="stylesheet" href="../../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../../css/app.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="content">
|
|
||||||
<div id="app">
|
|
||||||
<my-component title="测试" v-model="count"></my-component>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script src="../../js/vue/vue.global.js"></script>
|
|
||||||
<script>
|
|
||||||
const root = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
count: 0,
|
|
||||||
value: "",
|
|
||||||
};
|
|
||||||
},
|
|
||||||
};
|
|
||||||
const component = {
|
|
||||||
template:
|
|
||||||
"<div><button @click='doClick($event)'>{{title}}</button></div>",
|
|
||||||
props: ["title", "modelValue"],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
count: 0,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
doClick(event) {
|
|
||||||
this.count++;
|
|
||||||
|
|
||||||
this.$emit("update:modelValue", this.count);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const vm = Vue.createApp(root);
|
|
||||||
vm.component("my-component", component);
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
</html>
|
|
|
@ -1,88 +0,0 @@
|
||||||
<!--
|
|
||||||
* @Author: Kane
|
|
||||||
* @Date: 2022-11-12 23:21:53
|
|
||||||
* @LastEditors: Kane
|
|
||||||
* @LastEditTime: 2022-11-14 16:25:35
|
|
||||||
* @FilePath: \car_dealer\vue\表单.html
|
|
||||||
* @Description:
|
|
||||||
*
|
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>表单</title>
|
|
||||||
<link rel="stylesheet" href="../css/root.css" />
|
|
||||||
<link rel="stylesheet" href="../css/normalize.css" />
|
|
||||||
<link rel="stylesheet" href="../css/button.css" />
|
|
||||||
<link rel="stylesheet" href="../css/app.css" />
|
|
||||||
<link rel="stylesheet" href="../css/表单/表单.css" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="content">
|
|
||||||
<div id="app">
|
|
||||||
<p class="grid-left">用户名:</p>
|
|
||||||
<input
|
|
||||||
class="grid-right"
|
|
||||||
type="text"
|
|
||||||
placeholder=""
|
|
||||||
v-model="account.username"
|
|
||||||
/>
|
|
||||||
<p class="grid-left">密码:</p>
|
|
||||||
<input type="password" v-model="account.password" />
|
|
||||||
<p class="grid-left">性别:</p>
|
|
||||||
<div class="cell-gender">
|
|
||||||
<input
|
|
||||||
type="radio"
|
|
||||||
name="gender"
|
|
||||||
id="male"
|
|
||||||
value="male"
|
|
||||||
v-model="account.gender"
|
|
||||||
/><label for="male">男</label>
|
|
||||||
<input
|
|
||||||
type="radio"
|
|
||||||
name="gender"
|
|
||||||
id="female"
|
|
||||||
value="female"
|
|
||||||
v-model="account.gender"
|
|
||||||
/><label for="female">女</label>
|
|
||||||
</div>
|
|
||||||
<p class="grid-left">年龄:</p>
|
|
||||||
<input type="number" v-model.number="account.age" />
|
|
||||||
<p class="grid-left">水果:</p>
|
|
||||||
<select name="fruit" id="fruit" v-model="account.fruits">
|
|
||||||
<option disabled value="">喜欢的水果</option>
|
|
||||||
<option v-for="fruit in fruits" v-bind:value="fruit">
|
|
||||||
{{fruit}}
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
<script src="../js/vue/vue.global.js"></script>
|
|
||||||
<script src="../js/axios/1.1.3/axios.js"></script>
|
|
||||||
<script>
|
|
||||||
const app = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
account: {
|
|
||||||
username: "",
|
|
||||||
password: "",
|
|
||||||
gender: "",
|
|
||||||
age: "",
|
|
||||||
hobbies: [],
|
|
||||||
fruits: "",
|
|
||||||
},
|
|
||||||
fruits: ["香蕉", "梨子", "苹果"],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
|
||||||
vm.mount("#app");
|
|
||||||
</script>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue