业务查询系统
This commit is contained in:
parent
16894fde8e
commit
1582ffb68d
|
@ -8,13 +8,13 @@
|
||||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
<outputRelativeToContentRoot value="true" />
|
<outputRelativeToContentRoot value="true" />
|
||||||
<module name="reggie_take_out" />
|
<module name="reggie_take_out" />
|
||||||
<module name="FWManage" />
|
<module name="JIALDemo" />
|
||||||
</profile>
|
</profile>
|
||||||
</annotationProcessing>
|
</annotationProcessing>
|
||||||
</component>
|
</component>
|
||||||
<component name="JavacSettings">
|
<component name="JavacSettings">
|
||||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||||
<module name="FWManage" options="-parameters" />
|
<module name="JIALDemo" options="-parameters" />
|
||||||
<module name="reggie_take_out" options="-parameters" />
|
<module name="reggie_take_out" options="-parameters" />
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="JpaBuddyIdeaProjectConfig">
|
<component name="JpaBuddyIdeaProjectConfig">
|
||||||
|
<option name="defaultUnitInitialized" value="true" />
|
||||||
<option name="renamerInitialized" value="true" />
|
<option name="renamerInitialized" value="true" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -8,7 +8,7 @@
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="jbr-11" project-jdk-type="JavaSDK" />
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
<option name="id" value="jpab" />
|
<option name="id" value="jpab" />
|
||||||
</component>
|
</component>
|
||||||
|
|
1
bin
1
bin
|
@ -1 +0,0 @@
|
||||||
Subproject commit a69a346804bec6f22ca7e5bd7cf006997f7bdaa4
|
|
|
@ -0,0 +1,196 @@
|
||||||
|
2024-01-11 08:16:08.949 INFO 3284 --- [main] com.JIAL.JIALApplication : Starting JIALApplication using Java 1.8.0_341 on LAPTOP-JIAL with PID 3284 (D:\JIAL\JavaProject\JIALDemo\target\classes started by JIAL in D:\JIAL\JavaProject\JIALDemo)
|
||||||
|
2024-01-11 08:16:08.958 INFO 3284 --- [main] com.JIAL.JIALApplication : The following profiles are active: ss
|
||||||
|
2024-01-11 08:16:25.172 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:16:40.184 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:16:55.703 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:17:11.221 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:17:26.737 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:17:42.250 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:17:57.771 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:18:13.279 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:18:28.799 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:18:44.307 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:18:59.828 ERROR 3284 --- [Druid-ConnectionPool-Create-1510312933] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
||||||
|
2024-01-11 08:19:13.647 INFO 15636 --- [main] com.JIAL.JIALApplication : Starting JIALApplication using Java 1.8.0_341 on LAPTOP-JIAL with PID 15636 (D:\JIAL\JavaProject\JIALDemo\target\classes started by JIAL in D:\JIAL\JavaProject\JIALDemo)
|
||||||
|
2024-01-11 08:19:13.648 INFO 15636 --- [main] com.JIAL.JIALApplication : The following profiles are active: ss
|
||||||
|
2024-01-11 08:19:29.653 ERROR 15636 --- [Druid-ConnectionPool-Create-277155095] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;, errorCode 0, state 08S01
|
||||||
|
|
||||||
|
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.9.230 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:237)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:288)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2466)
|
||||||
|
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:676)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2957)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2628)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2471)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1470)
|
||||||
|
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:915)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
|
||||||
|
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
|
||||||
|
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
33
pom.xml
33
pom.xml
|
@ -124,6 +124,39 @@
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<version>4.10</version>
|
<version>4.10</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Spring Data JPA -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- SQL Server JDBC 驱动 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.microsoft.sqlserver</groupId>
|
||||||
|
<artifactId>mssql-jdbc</artifactId>
|
||||||
|
<version>9.4.0.jre8</version> <!-- 使用最新版本 -->
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Hibernate -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.hibernate</groupId>
|
||||||
|
<artifactId>hibernate-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 数据库驱动,根据您使用的数据库选择合适的依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.h2database</groupId>
|
||||||
|
<artifactId>h2</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zaxxer</groupId>
|
||||||
|
<artifactId>HikariCP</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
package com.JIAL.FMSystem.utils;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.testng.annotations.Test;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ClassName TestUtils
|
|
||||||
* @Description TODO
|
|
||||||
* @Author JIAL
|
|
||||||
* @Date 2023/12/24 11:35
|
|
||||||
* @Version 1.0
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
@Slf4j
|
|
||||||
public class TestUtils {
|
|
||||||
|
|
||||||
public void Test() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.JIAL.FMSystem;
|
package com.JIAL;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.web.servlet.ServletComponentScan;
|
import org.springframework.boot.web.servlet.ServletComponentScan;
|
||||||
|
@ -10,9 +11,9 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@ServletComponentScan
|
@ServletComponentScan
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
public class FWApplication {
|
public class JIALApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(FWApplication.class,args);
|
SpringApplication.run(JIALApplication.class,args);
|
||||||
log.info("项目启动成功...");
|
log.info("项目启动成功...");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,13 +1,12 @@
|
||||||
package com.JIAL.FMSystem.controller;
|
package com.JIAL.backend.controller;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.service.FileService;
|
import com.JIAL.backend.service.FileService;
|
||||||
import com.JIAL.FMSystem.vo.FileVO;
|
import com.JIAL.backend.vo.FileVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,16 +1,9 @@
|
||||||
package com.JIAL.FMSystem.controller;
|
package com.JIAL.backend.controller;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.common.R;
|
import com.JIAL.backend.dto.HearCaseInMenuDto;
|
||||||
import com.JIAL.FMSystem.dto.HearCaseInMenuDto;
|
import com.JIAL.backend.entity.*;
|
||||||
import com.JIAL.FMSystem.entity.*;
|
import com.JIAL.backend.service.HearCaseService;
|
||||||
import com.JIAL.FMSystem.mapper.HearCaseMapper;
|
import com.JIAL.common.R;
|
||||||
import com.JIAL.FMSystem.service.DefendantService;
|
|
||||||
import com.JIAL.FMSystem.service.HearCaseService;
|
|
||||||
import com.JIAL.FMSystem.service.UserService;
|
|
||||||
import com.JIAL.FMSystem.service.impl.HearCaseServiceImpl;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -19,12 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName HeraCaseController
|
* @ClassName HeraCaseController
|
||||||
* @Description 审理案件控制类
|
* @Description 审理案件控制类
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.controller;
|
package com.JIAL.backend.controller;
|
||||||
|
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@ -1,10 +1,9 @@
|
||||||
package com.JIAL.FMSystem.controller;
|
package com.JIAL.backend.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.JIAL.FMSystem.common.R;
|
import com.JIAL.common.R;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
import com.JIAL.backend.entity.User;
|
||||||
import com.JIAL.FMSystem.service.UserService;
|
import com.JIAL.backend.service.UserService;
|
||||||
import com.JIAL.FMSystem.utils.ValidateCodeUtils;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
@ -13,9 +12,6 @@ import org.springframework.util.DigestUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/user")
|
@RequestMapping("/user")
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.dto;
|
package com.JIAL.backend.dto;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.entity;
|
package com.JIAL.backend.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Defendant;
|
import com.JIAL.backend.entity.Defendant;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.HearCase;
|
import com.JIAL.backend.entity.HearCaseDefendant;
|
||||||
import com.JIAL.FMSystem.entity.HearCaseDefendant;
|
|
||||||
import com.github.yulichang.base.MPJBaseMapper;
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.HearCase;
|
import com.JIAL.backend.entity.HearCase;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.github.yulichang.base.MPJBaseMapper;
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.HearCaseDefendant;
|
import com.JIAL.backend.entity.HearCasePlaintiff;
|
||||||
import com.JIAL.FMSystem.entity.HearCasePlaintiff;
|
|
||||||
import com.github.yulichang.base.MPJBaseMapper;
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Plaintiff;
|
import com.JIAL.backend.entity.Plaintiff;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.JIAL.FMSystem.mapper;
|
package com.JIAL.backend.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
import com.JIAL.backend.entity.User;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.service;
|
package com.JIAL.backend.service;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Defendant;
|
import com.JIAL.backend.entity.Defendant;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.service;
|
package com.JIAL.backend.service;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.vo.FileVO;
|
import com.JIAL.backend.vo.FileVO;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
|
@ -1,10 +1,8 @@
|
||||||
package com.JIAL.FMSystem.service;
|
package com.JIAL.backend.service;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.dto.HearCaseInMenuDto;
|
import com.JIAL.backend.dto.HearCaseInMenuDto;
|
||||||
import com.JIAL.FMSystem.entity.HearCase;
|
import com.JIAL.backend.entity.HearCase;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.github.yulichang.base.MPJBaseService;
|
import com.github.yulichang.base.MPJBaseService;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.service;
|
package com.JIAL.backend.service;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Plaintiff;
|
import com.JIAL.backend.entity.Plaintiff;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,7 +1,7 @@
|
||||||
package com.JIAL.FMSystem.service;
|
package com.JIAL.backend.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
import com.JIAL.backend.entity.User;
|
||||||
|
|
||||||
public interface UserService extends IService<User> {
|
public interface UserService extends IService<User> {
|
||||||
}
|
}
|
|
@ -1,11 +1,8 @@
|
||||||
package com.JIAL.FMSystem.service.impl;
|
package com.JIAL.backend.service.impl;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Defendant;
|
import com.JIAL.backend.entity.Defendant;
|
||||||
import com.JIAL.FMSystem.entity.HearCase;
|
import com.JIAL.backend.mapper.DefendantMapper;
|
||||||
import com.JIAL.FMSystem.mapper.DefendantMapper;
|
import com.JIAL.backend.service.DefendantService;
|
||||||
import com.JIAL.FMSystem.mapper.HearCaseMapper;
|
|
||||||
import com.JIAL.FMSystem.service.DefendantService;
|
|
||||||
import com.JIAL.FMSystem.service.HearCaseService;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
|
@ -1,7 +1,7 @@
|
||||||
package com.JIAL.FMSystem.service.impl;
|
package com.JIAL.backend.service.impl;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.service.FileService;
|
import com.JIAL.backend.service.FileService;
|
||||||
import com.JIAL.FMSystem.vo.FileVO;
|
import com.JIAL.backend.vo.FileVO;
|
||||||
import org.apache.tomcat.util.http.fileupload.IOUtils;
|
import org.apache.tomcat.util.http.fileupload.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
|
@ -1,21 +1,15 @@
|
||||||
package com.JIAL.FMSystem.service.impl;
|
package com.JIAL.backend.service.impl;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.dto.HearCaseInMenuDto;
|
import com.JIAL.backend.dto.HearCaseInMenuDto;
|
||||||
import com.JIAL.FMSystem.entity.HearCase;
|
import com.JIAL.backend.entity.HearCase;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
import com.JIAL.backend.mapper.HearCaseMapper;
|
||||||
import com.JIAL.FMSystem.mapper.HearCaseMapper;
|
import com.JIAL.backend.service.HearCaseService;
|
||||||
import com.JIAL.FMSystem.mapper.UserMapper;
|
|
||||||
import com.JIAL.FMSystem.service.HearCaseService;
|
|
||||||
import com.JIAL.FMSystem.service.UserService;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName HearCaseServiceImpl
|
* @ClassName HearCaseServiceImpl
|
||||||
* @Description TODO
|
* @Description TODO
|
|
@ -1,8 +1,8 @@
|
||||||
package com.JIAL.FMSystem.service.impl;
|
package com.JIAL.backend.service.impl;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.entity.Plaintiff;
|
import com.JIAL.backend.entity.Plaintiff;
|
||||||
import com.JIAL.FMSystem.mapper.PlaintiffMapper;
|
import com.JIAL.backend.mapper.PlaintiffMapper;
|
||||||
import com.JIAL.FMSystem.service.PlaintiffService;
|
import com.JIAL.backend.service.PlaintiffService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.JIAL.FMSystem.service.impl;
|
package com.JIAL.backend.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.JIAL.FMSystem.entity.User;
|
import com.JIAL.backend.entity.User;
|
||||||
import com.JIAL.FMSystem.mapper.UserMapper;
|
import com.JIAL.backend.mapper.UserMapper;
|
||||||
import com.JIAL.FMSystem.service.UserService;
|
import com.JIAL.backend.service.UserService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.vo;
|
package com.JIAL.backend.vo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName FileVO
|
* @ClassName FileVO
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基于ThreadLocal封装工具类,用户保存和获取当前登录用户id
|
* 基于ThreadLocal封装工具类,用户保存和获取当前登录用户id
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义业务异常类
|
* 自定义业务异常类
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.common;
|
package com.JIAL.common;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.config;
|
package com.JIAL.config;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
@ -1,6 +1,6 @@
|
||||||
package com.JIAL.FMSystem.config;
|
package com.JIAL.config;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.common.JacksonObjectMapper;
|
import com.JIAL.common.JacksonObjectMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.http.converter.HttpMessageConverter;
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
|
@ -26,6 +26,8 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
|
||||||
registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
|
registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
|
||||||
registry.addResourceHandler("/plugins/**").addResourceLocations("classpath:/plugins/");
|
registry.addResourceHandler("/plugins/**").addResourceLocations("classpath:/plugins/");
|
||||||
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||||
|
registry.addResourceHandler("/blog/**").addResourceLocations("classpath:/blog/");
|
||||||
|
registry.addResourceHandler("/bizquery/**").addResourceLocations("classpath:/bizquery/");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -0,0 +1,90 @@
|
||||||
|
package com.JIAL.demo.bizquery.controller;
|
||||||
|
|
||||||
|
import com.JIAL.common.R;
|
||||||
|
import com.JIAL.demo.bizquery.dto.Biz;
|
||||||
|
import com.JIAL.demo.bizquery.service.BizService;
|
||||||
|
import com.JIAL.utils.StringUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName BizController
|
||||||
|
* @Description 业务查询的controller类
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/8 8:54
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@Slf4j
|
||||||
|
@RequestMapping("/bizquery")
|
||||||
|
public class BizController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
BizService bizService;
|
||||||
|
|
||||||
|
@PostMapping("list")
|
||||||
|
public R<List<Biz>> queryBizList(@RequestParam("name") String name) {
|
||||||
|
log.info("开始调用sql----------------------");
|
||||||
|
log.info(name);
|
||||||
|
|
||||||
|
log.info(String.valueOf(bizService == null));
|
||||||
|
List<Biz> resultList = bizService.queryBizListByName(name);
|
||||||
|
|
||||||
|
log.info(resultList.toString());
|
||||||
|
return R.success(resultList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("detail")
|
||||||
|
public R<Map<String, String>> queryBizDetail(@RequestParam("kunnr") String kunnr, @RequestParam("name") String name,
|
||||||
|
@RequestParam("time") String time) {
|
||||||
|
//根据传入的时间前后获取格式化后的时间
|
||||||
|
LocalDate currentDate = LocalDate.now();
|
||||||
|
LocalDate manipulatedDate;
|
||||||
|
String yearAgoFormat;
|
||||||
|
//通过传入的过去时间值来格式化对应的日期
|
||||||
|
switch (time) {
|
||||||
|
case "1":
|
||||||
|
manipulatedDate = currentDate.minusYears(1);
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
manipulatedDate = currentDate.minusYears(2);
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
manipulatedDate = currentDate.minusYears(3);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
manipulatedDate = currentDate;
|
||||||
|
}
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||||
|
|
||||||
|
//当前日期和之前的日期格式化
|
||||||
|
yearAgoFormat = manipulatedDate.format(formatter);
|
||||||
|
//获取最近发货日期,最近下单日期,最近报价日期,处理的业务员数量
|
||||||
|
String latestShippingDate = StringUtils.getDefaultIfNull(bizService.queryLatestShippingDate(kunnr, yearAgoFormat), "0");
|
||||||
|
String latestOrderDate = StringUtils.getDefaultIfNull(bizService.queryLatestOrderDate(kunnr, yearAgoFormat), "0");
|
||||||
|
String latestQuotationDate = StringUtils.getDefaultIfNull(bizService.queryLatestQuotationDate(name), "0");
|
||||||
|
String salespersonCount = StringUtils.getDefaultIfNull(bizService.querySalespersonCount(kunnr, yearAgoFormat), "0");
|
||||||
|
|
||||||
|
log.info("latestShippingDate:" + latestShippingDate + "latestOrderDate:" + latestOrderDate +
|
||||||
|
"latestQuotationDate:" + latestQuotationDate + "salespersonCount" + salespersonCount);
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, String> resultMap = new HashMap<>();
|
||||||
|
resultMap.put("latestShippingDate", "0".equals(latestShippingDate) ? latestShippingDate : StringUtils.formatDateString(latestShippingDate, "yyyyMMdd", "yyyy-MM-dd"));
|
||||||
|
resultMap.put("latestOrderDate", "0".equals(latestOrderDate) ? latestOrderDate : StringUtils.formatDateString(latestOrderDate, "yyyyMMdd", "yyyy-MM-dd"));
|
||||||
|
resultMap.put("latestQuotationDate", "0".equals(latestQuotationDate) ? latestQuotationDate : StringUtils.formatDateString(latestQuotationDate, "yyyy-MM-dd HH:mm:ss.SS", "yyyy-MM-dd"));
|
||||||
|
resultMap.put("salespersonCount", salespersonCount );
|
||||||
|
|
||||||
|
log.info("Received request with parameter: {}", "开始写日志文件");
|
||||||
|
return R.success(resultMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.JIAL.demo.bizquery.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName Biz
|
||||||
|
* @Description 业务查询列表结果返回
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/8 10:08
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Biz implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String kunnr;
|
||||||
|
|
||||||
|
private String name1;
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.JIAL.demo.bizquery.mapper;
|
||||||
|
|
||||||
|
import com.JIAL.demo.bizquery.dto.Biz;
|
||||||
|
import com.alibaba.druid.support.logging.LogFactory;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import sun.rmi.runtime.Log;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName BizMapper
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/8 10:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
@Repository
|
||||||
|
public interface BizMapper {
|
||||||
|
@Select("select kunnr,name1 from openquery(hana2,'select top 10 * from SAPHANADB.kna1 where name1 like ''%${name}%'' and name1 not like ''冻结''')")
|
||||||
|
List<Biz> queryBizListByName(String name);
|
||||||
|
|
||||||
|
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.likp where kunnr = ''${kunnr}'' and erdat >= ''${time}''')")
|
||||||
|
String queryLatestShippingDate(String kunnr, String time);
|
||||||
|
|
||||||
|
@Select("select * from openquery(hana2,'select max(erdat) from SAPHANADB.vbak where kunnr = ''${kunnr}'' and erdat >= ''${time}''')")
|
||||||
|
String queryLatestOrderDate(String kunnr, String time);
|
||||||
|
|
||||||
|
@Select("select * from \n" +
|
||||||
|
"openquery(hana2,'select count(distinct b.kunnr) from SAPHANADB.vbak as a inner join SAPHANADB.vbpa as b \n" +
|
||||||
|
"on a.vbeln = b.vbeln where a.kunnr = ''${kunnr}'' and b.PARVW = ''Z1'' and a.erdat >= ''${time}''')")
|
||||||
|
String querySalespersonCount(String kunnr, String time);
|
||||||
|
|
||||||
|
@Select("select max(create_time_0) from [JNERP].[jn_erp].[dbo].[CRM_MESSAGE] where client_name_0 = '${name}'")
|
||||||
|
String queryLatestQuotationDate(String name);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.JIAL.demo.bizquery.service;
|
||||||
|
|
||||||
|
import com.JIAL.demo.bizquery.dto.Biz;
|
||||||
|
import com.github.yulichang.base.MPJBaseService;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName BizService
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/8 10:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface BizService {
|
||||||
|
|
||||||
|
List<Biz> queryBizListByName(String name);
|
||||||
|
|
||||||
|
String queryLatestShippingDate(String kunnr, String time);
|
||||||
|
|
||||||
|
String queryLatestOrderDate(String kunnr, String time);
|
||||||
|
|
||||||
|
String querySalespersonCount(String kunnr, String time);
|
||||||
|
|
||||||
|
String queryLatestQuotationDate(String name);
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
package com.JIAL.demo.bizquery.service.impl;
|
||||||
|
|
||||||
|
import com.JIAL.demo.bizquery.dto.Biz;
|
||||||
|
import com.JIAL.demo.bizquery.mapper.BizMapper;
|
||||||
|
import com.JIAL.demo.bizquery.service.BizService;
|
||||||
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName BizServiceImpl
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/8 10:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class BizServiceImpl implements BizService {
|
||||||
|
@Autowired
|
||||||
|
BizMapper bizMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryBizListByName
|
||||||
|
* @description 根据名称模糊查询获取列表
|
||||||
|
* @author JIAL
|
||||||
|
* @param: name
|
||||||
|
* @updateTime 2024/1/9 13:20
|
||||||
|
* @return: java.util.List<com.JIAL.demo.bizquery.dto.Biz>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Biz> queryBizListByName(String name) {
|
||||||
|
return bizMapper.queryBizListByName(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryLatestShippingDate
|
||||||
|
* @description 根据客户编号和时间获取最近发货日期
|
||||||
|
* @author JIAL
|
||||||
|
* @param: kunnr
|
||||||
|
* @param: time
|
||||||
|
* @updateTime 2024/1/9 13:21
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String queryLatestShippingDate(String kunnr, String time) {
|
||||||
|
return bizMapper.queryLatestShippingDate(kunnr, time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryLatestOrderDate
|
||||||
|
* @description 根据客户编号和时间获取最近下单日期
|
||||||
|
* @author JIAL
|
||||||
|
* @param: kunnr
|
||||||
|
* @param: time
|
||||||
|
* @updateTime 2024/1/9 13:35
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String queryLatestOrderDate(String kunnr, String time) {
|
||||||
|
return bizMapper.queryLatestOrderDate(kunnr, time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title querySalespersonCount
|
||||||
|
* @description 根据客户编号和时间获取最近跟进的业务员数量
|
||||||
|
* @author JIAL
|
||||||
|
* @param: kunnr
|
||||||
|
* @param: time
|
||||||
|
* @updateTime 2024/1/9 13:36
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String querySalespersonCount(String kunnr, String time) {
|
||||||
|
return bizMapper.querySalespersonCount(kunnr, time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryLatestQuotationDate
|
||||||
|
* @description 根据客户名称获取最近报价日期
|
||||||
|
* @author JIAL
|
||||||
|
* @param: name
|
||||||
|
* @updateTime 2024/1/9 13:38
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String queryLatestQuotationDate(String name) {
|
||||||
|
return bizMapper.queryLatestQuotationDate(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,8 +1,6 @@
|
||||||
package com.JIAL.FMSystem.API.juheshuju.weather;
|
package com.JIAL.demo.index.API.juheshuju.weather;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
package com.JIAL.FMSystem.controller;
|
package com.JIAL.demo.index.controller;
|
||||||
|
|
||||||
import com.JIAL.FMSystem.API.juheshuju.weather.WeatherDao;
|
import com.JIAL.demo.index.API.juheshuju.weather.WeatherDao;
|
||||||
import com.JIAL.FMSystem.common.R;
|
import com.JIAL.common.R;
|
||||||
import com.JIAL.FMSystem.utils.HttpUtils;
|
import com.JIAL.utils.HttpUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.sf.json.JSONObject;
|
import net.sf.json.JSONObject;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -33,15 +34,15 @@ public class APIController {
|
||||||
@Value("${POST_TYPE_COD}")
|
@Value("${POST_TYPE_COD}")
|
||||||
private String POST_TYPE_CODE;
|
private String POST_TYPE_CODE;
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(APIController.class);
|
||||||
|
|
||||||
|
@GetMapping ("/weather")
|
||||||
@PostMapping ("/weather")
|
|
||||||
public R<WeatherDao> queryWeather(@RequestParam("cityName") String cityName) {
|
public R<WeatherDao> queryWeather(@RequestParam("cityName") String cityName) {
|
||||||
Map<String, Object> params = new HashMap<>();//组合参数
|
Map<String, Object> params = new HashMap<>();//组合参数
|
||||||
params.put("city", cityName);
|
params.put("city", cityName);
|
||||||
params.put("key", weather_API_KEY);
|
params.put("key", weather_API_KEY);
|
||||||
String queryParams = HttpUtils.urlEncode(params);
|
String queryParams = HttpUtils.urlEncode(params);
|
||||||
|
logger.info("Received request with parameter: {}", cityName);
|
||||||
String response = HttpUtils.doPost(weather_API_URL, queryParams, POST_TYPE_CODE);
|
String response = HttpUtils.doPost(weather_API_URL, queryParams, POST_TYPE_CODE);
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObject = JSONObject.fromObject(response);
|
JSONObject jsonObject = JSONObject.fromObject(response);
|
|
@ -1,8 +1,8 @@
|
||||||
package com.JIAL.FMSystem.filter;
|
package com.JIAL.filter;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.JIAL.FMSystem.common.BaseContext;
|
import com.JIAL.common.BaseContext;
|
||||||
import com.JIAL.FMSystem.common.R;
|
import com.JIAL.common.R;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.util.AntPathMatcher;
|
import org.springframework.util.AntPathMatcher;
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@ public class LoginCheckFilter implements Filter{
|
||||||
|
|
||||||
//定义需要处理的请求路径
|
//定义需要处理的请求路径
|
||||||
String[] urls = new String[]{
|
String[] urls = new String[]{
|
||||||
"/user/login",
|
/* "/user/login",
|
||||||
"/user/logout",
|
"/user/logout",
|
||||||
"/backend/**",
|
"/backend/**",
|
||||||
"/user/sendMsg",
|
"/user/sendMsg",*/
|
||||||
};
|
};
|
||||||
|
|
||||||
//2、判断本次请求是否需要处理
|
//2、判断本次请求是否需要处理
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.utils;
|
package com.JIAL.utils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.utils;
|
package com.JIAL.utils;
|
||||||
|
|
||||||
import com.aliyuncs.DefaultAcsClient;
|
import com.aliyuncs.DefaultAcsClient;
|
||||||
import com.aliyuncs.IAcsClient;
|
import com.aliyuncs.IAcsClient;
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.JIAL.utils;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName StringUtils
|
||||||
|
* @Description 处理字符串的工具类
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/1/9 14:02
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class StringUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title getDefaultIfNull
|
||||||
|
* @description 判断传入的字符串是否为null,如果为null则赋值为提供的默认值
|
||||||
|
* @author JIAL
|
||||||
|
* @param: value
|
||||||
|
* @param: defaultValue
|
||||||
|
* @updateTime 2024/1/9 14:03
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
public static String getDefaultIfNull(String value, String defaultValue) {
|
||||||
|
return Optional.ofNullable(value).orElse(defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title formatDateString
|
||||||
|
* @description 格式化传入的日期字符串
|
||||||
|
* @author JIAL
|
||||||
|
* @param: inputString 传入字符串
|
||||||
|
* @param: inputFormat 指定传入的格式 yyyyMMdd
|
||||||
|
* @param: outputFormat 指定输出的格式 yyyy-MM-dd
|
||||||
|
* @updateTime 2024/1/9 14:39
|
||||||
|
* @return: java.lang.String
|
||||||
|
*/
|
||||||
|
public static String formatDateString(String inputString, String inputFormat, String outputFormat) {
|
||||||
|
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern(inputFormat);
|
||||||
|
LocalDate date = LocalDate.parse(inputString, inputFormatter);
|
||||||
|
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern(outputFormat);
|
||||||
|
return date.format(outputFormatter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.JIAL.FMSystem.utils;
|
package com.JIAL.utils;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
#应用的名称,可选
|
||||||
|
name: JIALDev
|
||||||
|
datasource:
|
||||||
|
druid:
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3306/fwsystem?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
|
||||||
|
username: root
|
||||||
|
password: 123456
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-request-size: 10MB
|
||||||
|
|
||||||
|
mybatis-plus:
|
||||||
|
configuration:
|
||||||
|
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
||||||
|
map-underscore-to-camel-case: true
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
global-config:
|
||||||
|
db-config:
|
||||||
|
id-type: ASSIGN_ID
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
#应用的名称,可选
|
||||||
|
name: JIALDev
|
||||||
|
datasource:
|
||||||
|
druid:
|
||||||
|
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||||
|
url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;
|
||||||
|
username: sa
|
||||||
|
password: Itcenter110-
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-request-size: 10MB
|
||||||
|
|
||||||
|
logging:
|
||||||
|
level:
|
||||||
|
root: warn
|
||||||
|
com.JIAL: info
|
||||||
|
file:
|
||||||
|
name: logs/JIAL-ss.log
|
||||||
|
|
||||||
|
mybatis-plus:
|
||||||
|
configuration:
|
||||||
|
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
||||||
|
map-underscore-to-camel-case: true
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
global-config:
|
||||||
|
db-config:
|
||||||
|
id-type: ASSIGN_ID
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,5 @@
|
||||||
server:
|
|
||||||
port: 8080
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
thymeleaf:
|
||||||
#应用的名称,可选
|
mode: HTML
|
||||||
name: FWDev
|
profiles:
|
||||||
datasource:
|
active: ss
|
||||||
druid:
|
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
||||||
url: jdbc:mysql://localhost:3306/fwsystem?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
|
|
||||||
username: root
|
|
||||||
password: 123456
|
|
||||||
servlet:
|
|
||||||
multipart:
|
|
||||||
max-file-size: 10MB
|
|
||||||
max-request-size: 10MB
|
|
||||||
|
|
||||||
mybatis-plus:
|
|
||||||
configuration:
|
|
||||||
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
|
||||||
map-underscore-to-camel-case: true
|
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
|
||||||
global-config:
|
|
||||||
db-config:
|
|
||||||
id-type: ASSIGN_ID
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,351 +0,0 @@
|
||||||
.selectInput {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
min-width: 100px;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect {
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 10px;
|
|
||||||
border-radius: 3px;
|
|
||||||
border: solid 1px #FF903D;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
background: #fff;
|
|
||||||
top: 50px;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect .items {
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
line-height: 35px;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect .none {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hearCase-add-app .uploadImg .el-form-item__label::before{
|
|
||||||
content: '*';
|
|
||||||
color: #F56C6C;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hearCase-add-app .plaintiff .el-form-item__label::before{
|
|
||||||
content: '*';
|
|
||||||
color: #F56C6C;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiff .el-input {
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .el-input-number__increase {
|
|
||||||
border-left: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
.addPlaintiff .el-input-number__decrease {
|
|
||||||
border-right: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
.addPlaintiff input {
|
|
||||||
border: 1px solid #ffe1ca;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table {
|
|
||||||
border: solid 1px #EBEEF5;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table th {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table td {
|
|
||||||
padding: 7px 0;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .searchPlaintiff {
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 20px;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .el-dialog__body {
|
|
||||||
padding: 0;
|
|
||||||
border-bottom: solid 1px #ccc;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .el-dialog__footer {
|
|
||||||
padding-top: 27px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiff {
|
|
||||||
width: 777px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .addBut {
|
|
||||||
background: #ffc200;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0px 20px;
|
|
||||||
border-radius: 3px;
|
|
||||||
line-height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 4px;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
.addPlaintiff .content {
|
|
||||||
background: #fafafb;
|
|
||||||
padding: 20px;
|
|
||||||
border: solid 1px #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon {
|
|
||||||
padding: 0 20px;
|
|
||||||
display: flex;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont {
|
|
||||||
display: flex;
|
|
||||||
border-right: solid 2px #E4E7ED;
|
|
||||||
width: 60%;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabBut {
|
|
||||||
width: 110px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabBut span {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
border-right: solid 2px #f4f4f4;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .act {
|
|
||||||
border-color: #FFC200 !important;
|
|
||||||
color: #FFC200 !important;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList {
|
|
||||||
flex: 1;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table {
|
|
||||||
border: solid 1px #f4f4f4;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items {
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
padding: 0 10px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .el-checkbox, .addPlaintiffCon .leftCont .tabList .table .items .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .item {
|
|
||||||
display: flex;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .item span {
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont {
|
|
||||||
width: 40%;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item {
|
|
||||||
box-shadow: 0px 1px 4px 3px rgba(0, 0, 0, 0.03);
|
|
||||||
display: flex;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-radius: 6px;
|
|
||||||
color: #818693;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item span:first-child {
|
|
||||||
text-align: left;
|
|
||||||
color: #20232A;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .price {
|
|
||||||
display: inline-block;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .del {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .del img {
|
|
||||||
position: relative;
|
|
||||||
top: 5px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiffCon .el-checkbox__label{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.addDefendant .el-input {
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .el-input-number__increase {
|
|
||||||
border-left: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .el-input-number__decrease {
|
|
||||||
border-right: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant input {
|
|
||||||
border: 1px solid #ffe1ca;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table {
|
|
||||||
border: solid 1px #EBEEF5;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table th {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table td {
|
|
||||||
padding: 7px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .searchDefendant {
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .el-dialog__body {
|
|
||||||
padding: 0;
|
|
||||||
border-bottom: solid 1px #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .el-dialog__footer {
|
|
||||||
padding-top: 27px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant {
|
|
||||||
width: 777px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .addBut {
|
|
||||||
background: #ffc200;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0px 20px;
|
|
||||||
border-radius: 3px;
|
|
||||||
line-height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 4px;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .content {
|
|
||||||
background: #fafafb;
|
|
||||||
padding: 20px;
|
|
||||||
border: solid 1px #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon {
|
|
||||||
padding: 0 20px;
|
|
||||||
display: flex;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont {
|
|
||||||
display: flex;
|
|
||||||
border-right: solid 2px #E4E7ED;
|
|
||||||
width: 60%;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabBut {
|
|
||||||
width: 110px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabBut span {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
border-right: solid 2px #f4f4f4;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .act {
|
|
||||||
border-color: #FFC200 !important;
|
|
||||||
color: #FFC200 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList {
|
|
||||||
flex: 1;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table {
|
|
||||||
border: solid 1px #f4f4f4;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items {
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
padding: 0 10px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .el-checkbox,
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .item {
|
|
||||||
display: flex;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .item span {
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont {
|
|
||||||
width: 40%;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item {
|
|
||||||
box-shadow: 0px 1px 4px 3px rgba(0, 0, 0, 0.03);
|
|
||||||
display: flex;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-radius: 6px;
|
|
||||||
color: #818693;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item span:first-child {
|
|
||||||
text-align: left;
|
|
||||||
color: #20232A;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .price {
|
|
||||||
display: inline-block;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .del {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .del img {
|
|
||||||
position: relative;
|
|
||||||
top: 5px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container {
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
width: 80%;
|
||||||
|
height: 100vh;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.table-box {
|
||||||
|
margin: 30px 20px 60px 20px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-box .el-input {
|
||||||
|
margin-right: 30px;
|
||||||
|
width: 220px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-table {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-table .el-table__row {
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog {
|
||||||
|
width : 100%;
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>客户跟踪查询</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/JNlogo.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container" id="index-app">
|
||||||
|
<div class="center-container">
|
||||||
|
<el-form class="table-box">
|
||||||
|
<el-form-item>
|
||||||
|
<el-input v-model="var1" placeholder="请输入客户名称" maxlength="20" type="text" auto-complete="off" clearable>
|
||||||
|
</el-input>
|
||||||
|
<el-select v-model="timeValue" placeholder="请选择时间">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-button type="primary" @click="queryList">点击查询</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
border
|
||||||
|
row-height="30px">
|
||||||
|
<el-table-column
|
||||||
|
prop="kunnr"
|
||||||
|
label="客户编号">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="name1"
|
||||||
|
label="客户名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
|
||||||
|
<template>
|
||||||
|
<el-descriptions :column="1" :label-style="LS" border>
|
||||||
|
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="目前在跟踪的业务员数量" :span="2">{{detail.salespersonCount}}</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<script src="js/index.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
var1 : "",
|
||||||
|
options: [
|
||||||
|
{value: '1', label: '一年以内'},
|
||||||
|
{value: '2', label: '两年以内'},
|
||||||
|
{value: '3', label: '三年以内'},
|
||||||
|
],
|
||||||
|
timeValue: '1',
|
||||||
|
tableData: null,
|
||||||
|
gridData: "",
|
||||||
|
dialogTableVisible: false,
|
||||||
|
LS: {
|
||||||
|
'color': '#000',
|
||||||
|
'text-align': 'left',
|
||||||
|
'font-weight': '600',
|
||||||
|
'height': '40px',
|
||||||
|
'background-color': '#d6dbe1',
|
||||||
|
'min-width' : '50px',
|
||||||
|
'width': '150px',
|
||||||
|
'word-break': 'keep-all',
|
||||||
|
'whiteSpace': 'pre-wrap'
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
latestOrderDate: '',
|
||||||
|
latestShippingDate: '',
|
||||||
|
salespersonCount: '',
|
||||||
|
latestQuotationDate: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
handleClick(row) {
|
||||||
|
console.log(row.kunnr)
|
||||||
|
console.log(row.name1)
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
name : row.name1,
|
||||||
|
kunnr : row.kunnr,
|
||||||
|
time : this.timeValue
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
queryDetailByParams(params).then(res => {
|
||||||
|
if (String(res.code) === '1') {
|
||||||
|
console.log(res.data)
|
||||||
|
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
|
||||||
|
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
|
||||||
|
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
|
||||||
|
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
|
||||||
|
this.dialogTableVisible = true
|
||||||
|
},
|
||||||
|
|
||||||
|
queryList() {
|
||||||
|
console.log("开始调用查询")
|
||||||
|
const name = this.var1
|
||||||
|
console.log("名称+" + name)
|
||||||
|
const params = {
|
||||||
|
name : name
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
|
||||||
|
if(this.var1 !== "") {
|
||||||
|
queryListByName(params).then(res => {
|
||||||
|
if (String(res.code) === '1') {
|
||||||
|
console.log(res.data)
|
||||||
|
this.tableData = res.data || []
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
this.$message('请输入客户名称进行查询');
|
||||||
|
this.tableData = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,15 @@
|
||||||
|
const queryListByName = (params) => {
|
||||||
|
return $axios({
|
||||||
|
url: '/bizquery/list',
|
||||||
|
method: 'post',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryDetailByParams = (params) => {
|
||||||
|
return $axios({
|
||||||
|
url: '/bizquery/detail',
|
||||||
|
method: 'post',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
.el-menu-demo {
|
||||||
|
background-color: transparent; /* 背景透明 */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center; /* 菜单项水平居中 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-demo .el-submenu,
|
||||||
|
.el-menu-demo .el-menu-item {
|
||||||
|
margin: 0; /* 去除默认的 margin */
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-demo .el-submenu .el-menu {
|
||||||
|
background-color: transparent; /* 子菜单背景透明 */
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
.container {
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-box {
|
||||||
|
position: absolute;
|
||||||
|
top: 120px;
|
||||||
|
left: 460px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-box .el-card {
|
||||||
|
background-color: rgba(255, 255, 255, 0.6);
|
||||||
|
height: 400px;
|
||||||
|
width: 600px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form {
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 400px;
|
||||||
|
top: 50px;
|
||||||
|
left: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form .el-form-item {
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 隐藏右侧显示密码按钮 */
|
||||||
|
.el-input__password + .el-input__suffix {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-card .button-box {
|
||||||
|
position: relative;
|
||||||
|
top: 30px;
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>博客首页</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/avatar.jpg" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/style/css/main.css">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="index-app" class="container">
|
||||||
|
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
||||||
|
<el-submenu index="1">
|
||||||
|
<template slot="title">我的工作台</template>
|
||||||
|
<el-menu-item index="1-1">选项1</el-menu-item>
|
||||||
|
<el-menu-item index="1-2">选项2</el-menu-item>
|
||||||
|
<el-menu-item index="1-3">选项3</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
<el-menu-item index="2">工作中心</el-menu-item>
|
||||||
|
<el-menu-item index="3">消息中心</el-menu-item>
|
||||||
|
<el-menu-item index="4">账号管理</a></el-menu-item>
|
||||||
|
</el-menu>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/static/style/js/main.js"></script>
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleOpen(key, keyPath) {
|
||||||
|
console.log(key, keyPath);
|
||||||
|
},
|
||||||
|
handleClose(key, keyPath) {
|
||||||
|
console.log(key, keyPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,109 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-cmn-Hans">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>博客登录界面</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/avatar.jpg" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/style/css/main.css">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/login.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" id="login-app">
|
||||||
|
|
||||||
|
<div class="login-box">
|
||||||
|
<el-card>
|
||||||
|
<el-form ref="loginForm" :model="loginForm" style="user-select: none;" :rules="rules">
|
||||||
|
<el-form-item prop="username">
|
||||||
|
<el-input v-model="loginForm.username" placeholder="请输入用户名" maxlength="20" type="text" auto-complete="off" clearable>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="password">
|
||||||
|
<el-input v-model="loginForm.password" show-password placeholder="请输入密码" clearable maxlength="32">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<div class="button-box">
|
||||||
|
<el-button type="text" style="margin-right: 100px; font-size: 20px" @click="login">登录</el-button>
|
||||||
|
<el-button type="text" style="font-size: 20px; color: #8c939d" @click="register">注册</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 底部footer -->
|
||||||
|
<el-footer class="footer-container" style="position: absolute; top: 640px; left: 550px; ">
|
||||||
|
<!-- 办案信息展示区域 -->
|
||||||
|
<div class="case-info" >
|
||||||
|
<!-- 在这里绑定Vue数据来展示办案信息 -->
|
||||||
|
<div>Designed by JIAL 2023. Permission granted for redistribution.</div>
|
||||||
|
<div><a style="text-decoration:none; color: #999" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=64020202000218&token=4adb4592-9573-41b6-ab1c-a23850030e0d" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;" target="_blank" >宁公网安备 64020202000218号</a></div>
|
||||||
|
<div><a style="text-decoration:none; color: #999" href="https://beian.miit.gov.cn/?token=4adb4592-9573-41b6-ab1c-a23850030e0d#/Integrated/index" target="_blank" >宁ICP备2022000681号</a></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</el-footer>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript" src="/static/style/js/main.js"></script>
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<!-- import JavaScript -->
|
||||||
|
<script src="js/login.js"></script>
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#login-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loginForm: {
|
||||||
|
username: "",
|
||||||
|
password: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
username: [
|
||||||
|
{ required: true, message: '请输入用户名', trigger: 'blur' },
|
||||||
|
{ pattern: /^[a-zA-Z0-9]{1,8}$/, message: '用户名只能为字母和数字,且不超过8位', trigger: 'blur' },
|
||||||
|
// 其他验证规则可以根据需要添加
|
||||||
|
],
|
||||||
|
password: [
|
||||||
|
{ required: true, message: '请输入密码', trigger: 'blur' },
|
||||||
|
{ pattern: /^[a-zA-Z0-9_]{1,20}$/, message: '密码只能为字母、数字和下划线,且不超过20位', trigger: 'blur' },
|
||||||
|
// 其他验证规则可以根据需要添加
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
login() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
register() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<!--包含Spring boot对logback日志的默认配置-->
|
||||||
|
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
|
||||||
|
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
|
||||||
|
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
|
||||||
|
|
||||||
|
<!--重写了Spring Boot框架 org/springframework/boot/logging/logback/file-appender.xml 配置-->
|
||||||
|
<appender name="TIME_FILE"
|
||||||
|
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||||||
|
</encoder>
|
||||||
|
<file>${LOG_FILE}</file>
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>
|
||||||
|
<!--
|
||||||
|
Spring Boot默认情况下,日志文件10M时,会切分日志文件,这样设置日志文件会在100M时切分日志
|
||||||
|
-->
|
||||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||||
|
<maxFileSize>10MB</maxFileSize>
|
||||||
|
</timeBasedFileNamingAndTriggeringPolicy>
|
||||||
|
|
||||||
|
</rollingPolicy>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root level="INFO">
|
||||||
|
<appender-ref ref="CONSOLE" />
|
||||||
|
<appender-ref ref="TIME_FILE" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
|
<!--
|
||||||
|
1、继承Spring boot logback设置(可以在appliaction.yml或者application.properties设置logging.*属性)
|
||||||
|
2、重写了默认配置,设置日志文件大小在100MB时,按日期切分日志,切分后目录:
|
||||||
|
|
||||||
|
blog.2017-08-01.0 80MB
|
||||||
|
blog.2017-08-01.1 10MB
|
||||||
|
blog.2017-08-02.0 56MB
|
||||||
|
blog.2017-08-03.0 53MB
|
||||||
|
......
|
||||||
|
-->
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
|
@ -0,0 +1,213 @@
|
||||||
|
.container {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 160px;
|
||||||
|
right: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clock-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
width: 200px;
|
||||||
|
height: 100px;
|
||||||
|
left: -340px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.clock-wrapper .el-card {
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: rgba(255, 255, 255, 0.1); /* 透明度 */
|
||||||
|
margin: 20px auto;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.weather-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
left: 700px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .weather-title {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .weather-title .el-input {
|
||||||
|
width: 90px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .el-card {
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
width: 300px;
|
||||||
|
height: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .el-card .weather-info {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .el-card .weather-info div {
|
||||||
|
font-size: 15px;
|
||||||
|
margin: 10px 20px 10px 25px;
|
||||||
|
color: #666; /* 文本颜色可调节 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-wrapper .weather-title .el-input__inner {
|
||||||
|
height: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
width: 430px;
|
||||||
|
top: 140px;
|
||||||
|
left: -440px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-wrapper .el-calendar {
|
||||||
|
background-color: rgba(255, 255, 255, 0.3); /* 设置背景透明度 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-wrapper .el-calendar .el-calendar-day {
|
||||||
|
font-size:10px; /* 设置字体大小,根据需要调整 */
|
||||||
|
height: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-button-group>.el-button {
|
||||||
|
width: 60px;
|
||||||
|
background-color: rgba(255, 255, 255, 0.3); /* 设置背景透明度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**隐藏上一月、本月、下一月*/
|
||||||
|
.el-calendar__button-group {
|
||||||
|
left: 240px;
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
/*display: none;*/
|
||||||
|
}
|
||||||
|
/**月份居中*/
|
||||||
|
.el-calendar__title {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
}
|
||||||
|
/**日期div的样式*/
|
||||||
|
.el-calendar-table tr td:first-child {
|
||||||
|
border-left: 0px;
|
||||||
|
}
|
||||||
|
.el-calendar-table td {
|
||||||
|
min-height: 0px;
|
||||||
|
min-width: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
.el-calendar-table td.is-selected {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
.el-calendar-table .el-calendar-day {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.el-calendar-table .el-calendar-day > div {
|
||||||
|
height: 104px;
|
||||||
|
}
|
||||||
|
/**日期div的样式-公历*/
|
||||||
|
.el-calendar-table .el-calendar-day > div .solar {
|
||||||
|
padding-top: 0px;
|
||||||
|
}
|
||||||
|
/**日期div的样式-农历*/
|
||||||
|
.el-calendar-table .el-calendar-day > div .lunar {
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
/**日期div的样式-选中*/
|
||||||
|
.el-calendar-table .el-calendar-day > div.selected {
|
||||||
|
background-color: #fef2f2;
|
||||||
|
border: 3px solid #fb0;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**本月周末设置为红色*/
|
||||||
|
.el-calendar-table .current:nth-last-child(-n+2) .solar {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
/**本月农历设置为灰色*/
|
||||||
|
.el-calendar-table .current .lunar {
|
||||||
|
color: #606266;
|
||||||
|
}
|
||||||
|
/**本月农历节日设置为红色*/
|
||||||
|
.el-calendar-table .current .lunar.festival {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
/**禁用点击效果*/
|
||||||
|
/*.el-calendar-table td {*/
|
||||||
|
/*pointer-events: none;*/
|
||||||
|
/*}*/
|
||||||
|
|
||||||
|
.clock-digits {
|
||||||
|
font-size: 40px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
float: left;
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 15px;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
background: rgba(0,149,255,.1);
|
||||||
|
color: #6F8EC5;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bio {
|
||||||
|
color: rgba(51,51,51,0.54);
|
||||||
|
margin-top: 8px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bio > span {
|
||||||
|
font-weight: 300;
|
||||||
|
letter-spacing: 1.4px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 1s .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bio > span.emphasis {
|
||||||
|
font-size: 20px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bio.ready > span {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-container {
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
|
@ -12,220 +12,6 @@ html,body {
|
||||||
overflow-y:hidden;
|
overflow-y:hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar {
|
|
||||||
border-radius: 50%;
|
|
||||||
width: 160px;
|
|
||||||
right: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clock-wrapper {
|
|
||||||
position: absolute;
|
|
||||||
width: 200px;
|
|
||||||
height: 100px;
|
|
||||||
left: -340px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.clock-wrapper .el-card {
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: rgba(255, 255, 255, 0.1); /* 透明度 */
|
|
||||||
margin: 20px auto;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.weather-wrapper {
|
|
||||||
position: absolute;
|
|
||||||
left: 700px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .weather-title {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .weather-title .el-input {
|
|
||||||
width: 90px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .el-card {
|
|
||||||
background-color: rgba(255, 255, 255, 0.1);
|
|
||||||
width: 300px;
|
|
||||||
height: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .el-card .weather-info {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .el-card .weather-info div {
|
|
||||||
font-size: 15px;
|
|
||||||
margin: 10px 20px 10px 25px;
|
|
||||||
color: #666; /* 文本颜色可调节 */
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-wrapper .weather-title .el-input__inner {
|
|
||||||
height: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-wrapper {
|
|
||||||
position: absolute;
|
|
||||||
width: 430px;
|
|
||||||
top: 140px;
|
|
||||||
left: -440px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-wrapper .el-calendar {
|
|
||||||
background-color: rgba(255, 255, 255, 0.3); /* 设置背景透明度 */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-wrapper .el-calendar .el-calendar-day {
|
|
||||||
font-size:10px; /* 设置字体大小,根据需要调整 */
|
|
||||||
height: 55px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-button-group>.el-button {
|
|
||||||
width: 60px;
|
|
||||||
background-color: rgba(255, 255, 255, 0.3); /* 设置背景透明度 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**隐藏上一月、本月、下一月*/
|
|
||||||
.el-calendar__button-group {
|
|
||||||
left: 240px;
|
|
||||||
position: absolute;
|
|
||||||
|
|
||||||
/*display: none;*/
|
|
||||||
}
|
|
||||||
/**月份居中*/
|
|
||||||
.el-calendar__title {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
}
|
|
||||||
/**日期div的样式*/
|
|
||||||
.el-calendar-table tr td:first-child {
|
|
||||||
border-left: 0px;
|
|
||||||
}
|
|
||||||
.el-calendar-table td {
|
|
||||||
min-height: 0px;
|
|
||||||
min-width: 0px;
|
|
||||||
border-right: 0px;
|
|
||||||
}
|
|
||||||
.el-calendar-table td.is-selected {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
.el-calendar-table .el-calendar-day {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.el-calendar-table .el-calendar-day > div {
|
|
||||||
height: 104px;
|
|
||||||
}
|
|
||||||
/**日期div的样式-公历*/
|
|
||||||
.el-calendar-table .el-calendar-day > div .solar {
|
|
||||||
padding-top: 0px;
|
|
||||||
}
|
|
||||||
/**日期div的样式-农历*/
|
|
||||||
.el-calendar-table .el-calendar-day > div .lunar {
|
|
||||||
padding-top: 8px;
|
|
||||||
}
|
|
||||||
/**日期div的样式-选中*/
|
|
||||||
.el-calendar-table .el-calendar-day > div.selected {
|
|
||||||
background-color: #fef2f2;
|
|
||||||
border: 3px solid #fb0;
|
|
||||||
border-radius: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**本月周末设置为红色*/
|
|
||||||
.el-calendar-table .current:nth-last-child(-n+2) .solar {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
/**本月农历设置为灰色*/
|
|
||||||
.el-calendar-table .current .lunar {
|
|
||||||
color: #606266;
|
|
||||||
}
|
|
||||||
/**本月农历节日设置为红色*/
|
|
||||||
.el-calendar-table .current .lunar.festival {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
/**禁用点击效果*/
|
|
||||||
/*.el-calendar-table td {*/
|
|
||||||
/*pointer-events: none;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.clock-digits {
|
|
||||||
font-size: 40px;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
|
||||||
float: left;
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 15px;
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
::selection {
|
|
||||||
background: rgba(0,149,255,.1);
|
|
||||||
color: #6F8EC5;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bio {
|
|
||||||
color: rgba(51,51,51,0.54);
|
|
||||||
margin-top: 8px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bio > span {
|
|
||||||
font-weight: 300;
|
|
||||||
letter-spacing: 1.4px;
|
|
||||||
opacity: 0;
|
|
||||||
transition: all 1s .5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bio > span.emphasis {
|
|
||||||
font-size: 20px;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bio.ready > span {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-container {
|
|
||||||
position: relative;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const getWeatherInfo = (params) => {
|
const getWeatherInfo = (params) => {
|
||||||
return $axios({
|
return $axios({
|
||||||
url: '/api/weather',
|
url: '/api/weather',
|
||||||
method: 'post',
|
method: 'get',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
|
@ -2,15 +2,16 @@
|
||||||
<html lang="zh-cmn-Hans">
|
<html lang="zh-cmn-Hans">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>JIAL个人主页</title>
|
<title>云霄雨霁</title>
|
||||||
<meta name="author" content="iami">
|
<meta name="author" content="JIAL">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<meta name="HandheldFriendly" content="true">
|
<meta name="HandheldFriendly" content="true">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
<link rel="stylesheet" type="text/css" href="../static/style/css/main.css">
|
<link rel="stylesheet" type="text/css" href="/static/style/css/main.css">
|
||||||
<link rel="icon" href="../static/image/avatar.jpg" type="image/x-icon">
|
<link rel="stylesheet" type="text/css" href="/static/style/css/index.css">
|
||||||
|
<link rel="icon" href="/static/image/avatar.jpg" type="image/x-icon">
|
||||||
<!-- import CSS -->
|
<!-- import CSS -->
|
||||||
<link rel="stylesheet" href="../plugins/element-ui/index.css">
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container" id="index-app">
|
<div class="container" id="index-app">
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-container">
|
<div class="content-container">
|
||||||
<img class="avatar" src="../static/image/avatar.jpg"/>
|
<img class="avatar" src="/static/image/avatar.jpg"/>
|
||||||
<div class="text part1">
|
<div class="text part1">
|
||||||
<div>
|
<div>
|
||||||
<span class="letter"><div class="character">J</div> <span></span></span>
|
<span class="letter"><div class="character">J</div> <span></span></span>
|
||||||
|
@ -112,7 +113,7 @@
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://leetcode.cn/" target="_blank">
|
<a href="https://leetcode.cn/" target="_blank">
|
||||||
<img width="50px" src="../static/image/leetcode.png"/>
|
<img width="50px" src="/static/image/leetcode.png"/>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -136,7 +137,7 @@
|
||||||
</div>
|
</div>
|
||||||
</el-footer>
|
</el-footer>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="../static/style/js/main.js"></script>
|
<script type="text/javascript" src="/static/style/js/main.js"></script>
|
||||||
<!-- import Vue before Element -->
|
<!-- import Vue before Element -->
|
||||||
<script src="../plugins/vue/vue.js"></script>
|
<script src="../plugins/vue/vue.js"></script>
|
||||||
<!-- import JavaScript -->
|
<!-- import JavaScript -->
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
#应用的名称,可选
|
||||||
|
name: JIALDev
|
||||||
|
datasource:
|
||||||
|
druid:
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3306/fwsystem?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
|
||||||
|
username: root
|
||||||
|
password: 123456
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-request-size: 10MB
|
||||||
|
|
||||||
|
mybatis-plus:
|
||||||
|
configuration:
|
||||||
|
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
||||||
|
map-underscore-to-camel-case: true
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
global-config:
|
||||||
|
db-config:
|
||||||
|
id-type: ASSIGN_ID
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
#应用的名称,可选
|
||||||
|
name: JIALDev
|
||||||
|
datasource:
|
||||||
|
druid:
|
||||||
|
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||||
|
url: jdbc:sqlserver://192.168.9.230:1433;databaseName=ERP;Encrypt=false;TrustServerCertificate=true;
|
||||||
|
username: sa
|
||||||
|
password: Itcenter110-
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-request-size: 10MB
|
||||||
|
|
||||||
|
logging:
|
||||||
|
level:
|
||||||
|
root: warn
|
||||||
|
com.JIAL: info
|
||||||
|
file:
|
||||||
|
name: logs/JIAL-ss.log
|
||||||
|
|
||||||
|
mybatis-plus:
|
||||||
|
configuration:
|
||||||
|
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
||||||
|
map-underscore-to-camel-case: true
|
||||||
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||||
|
global-config:
|
||||||
|
db-config:
|
||||||
|
id-type: ASSIGN_ID
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,5 @@
|
||||||
server:
|
|
||||||
port: 8080
|
|
||||||
spring:
|
spring:
|
||||||
application:
|
thymeleaf:
|
||||||
#应用的名称,可选
|
mode: HTML
|
||||||
name: FWDev
|
profiles:
|
||||||
datasource:
|
active: ss
|
||||||
druid:
|
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
|
||||||
url: jdbc:mysql://localhost:3306/fwsystem?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
|
|
||||||
username: root
|
|
||||||
password: 123456
|
|
||||||
servlet:
|
|
||||||
multipart:
|
|
||||||
max-file-size: 10MB
|
|
||||||
max-request-size: 10MB
|
|
||||||
|
|
||||||
mybatis-plus:
|
|
||||||
configuration:
|
|
||||||
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
|
|
||||||
map-underscore-to-camel-case: true
|
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
|
||||||
global-config:
|
|
||||||
db-config:
|
|
||||||
id-type: ASSIGN_ID
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,351 +0,0 @@
|
||||||
.selectInput {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
min-width: 100px;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect {
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 10px;
|
|
||||||
border-radius: 3px;
|
|
||||||
border: solid 1px #FF903D;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
background: #fff;
|
|
||||||
top: 50px;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect .items {
|
|
||||||
cursor: pointer;
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
line-height: 35px;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.selectInput .flavorSelect .none {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hearCase-add-app .uploadImg .el-form-item__label::before{
|
|
||||||
content: '*';
|
|
||||||
color: #F56C6C;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hearCase-add-app .plaintiff .el-form-item__label::before{
|
|
||||||
content: '*';
|
|
||||||
color: #F56C6C;
|
|
||||||
margin-right: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiff .el-input {
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .el-input-number__increase {
|
|
||||||
border-left: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
.addPlaintiff .el-input-number__decrease {
|
|
||||||
border-right: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
.addPlaintiff input {
|
|
||||||
border: 1px solid #ffe1ca;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table {
|
|
||||||
border: solid 1px #EBEEF5;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table th {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.addPlaintiff .table td {
|
|
||||||
padding: 7px 0;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .searchPlaintiff {
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 20px;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .el-dialog__body {
|
|
||||||
padding: 0;
|
|
||||||
border-bottom: solid 1px #ccc;
|
|
||||||
}
|
|
||||||
.addPlaintiffList .el-dialog__footer {
|
|
||||||
padding-top: 27px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiff {
|
|
||||||
width: 777px;
|
|
||||||
}
|
|
||||||
.addPlaintiff .addBut {
|
|
||||||
background: #ffc200;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0px 20px;
|
|
||||||
border-radius: 3px;
|
|
||||||
line-height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 4px;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
.addPlaintiff .content {
|
|
||||||
background: #fafafb;
|
|
||||||
padding: 20px;
|
|
||||||
border: solid 1px #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon {
|
|
||||||
padding: 0 20px;
|
|
||||||
display: flex;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont {
|
|
||||||
display: flex;
|
|
||||||
border-right: solid 2px #E4E7ED;
|
|
||||||
width: 60%;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabBut {
|
|
||||||
width: 110px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabBut span {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
border-right: solid 2px #f4f4f4;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .act {
|
|
||||||
border-color: #FFC200 !important;
|
|
||||||
color: #FFC200 !important;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList {
|
|
||||||
flex: 1;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table {
|
|
||||||
border: solid 1px #f4f4f4;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items {
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
padding: 0 10px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .el-checkbox, .addPlaintiffCon .leftCont .tabList .table .items .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .item {
|
|
||||||
display: flex;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .leftCont .tabList .table .items .item span {
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont {
|
|
||||||
width: 40%;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item {
|
|
||||||
box-shadow: 0px 1px 4px 3px rgba(0, 0, 0, 0.03);
|
|
||||||
display: flex;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-radius: 6px;
|
|
||||||
color: #818693;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item span:first-child {
|
|
||||||
text-align: left;
|
|
||||||
color: #20232A;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .price {
|
|
||||||
display: inline-block;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .del {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.addPlaintiffCon .ritCont .item .del img {
|
|
||||||
position: relative;
|
|
||||||
top: 5px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addPlaintiffCon .el-checkbox__label{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.addDefendant .el-input {
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .el-input-number__increase {
|
|
||||||
border-left: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .el-input-number__decrease {
|
|
||||||
border-right: solid 1px #FFE1CA;
|
|
||||||
background: #fff3ea;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant input {
|
|
||||||
border: 1px solid #ffe1ca;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table {
|
|
||||||
border: solid 1px #EBEEF5;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table th {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .table td {
|
|
||||||
padding: 7px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .searchDefendant {
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .el-dialog__body {
|
|
||||||
padding: 0;
|
|
||||||
border-bottom: solid 1px #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantList .el-dialog__footer {
|
|
||||||
padding-top: 27px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant {
|
|
||||||
width: 777px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .addBut {
|
|
||||||
background: #ffc200;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0px 20px;
|
|
||||||
border-radius: 3px;
|
|
||||||
line-height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 4px;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendant .content {
|
|
||||||
background: #fafafb;
|
|
||||||
padding: 20px;
|
|
||||||
border: solid 1px #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon {
|
|
||||||
padding: 0 20px;
|
|
||||||
display: flex;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont {
|
|
||||||
display: flex;
|
|
||||||
border-right: solid 2px #E4E7ED;
|
|
||||||
width: 60%;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabBut {
|
|
||||||
width: 110px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabBut span {
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
border-right: solid 2px #f4f4f4;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .act {
|
|
||||||
border-color: #FFC200 !important;
|
|
||||||
color: #FFC200 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList {
|
|
||||||
flex: 1;
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table {
|
|
||||||
border: solid 1px #f4f4f4;
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items {
|
|
||||||
border-bottom: solid 1px #f4f4f4;
|
|
||||||
padding: 0 10px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .el-checkbox,
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .item {
|
|
||||||
display: flex;
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .leftCont .tabList .table .items .item span {
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont {
|
|
||||||
width: 40%;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item {
|
|
||||||
box-shadow: 0px 1px 4px 3px rgba(0, 0, 0, 0.03);
|
|
||||||
display: flex;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 10px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-radius: 6px;
|
|
||||||
color: #818693;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item span:first-child {
|
|
||||||
text-align: left;
|
|
||||||
color: #20232A;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .price {
|
|
||||||
display: inline-block;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .del {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .ritCont .item .del img {
|
|
||||||
position: relative;
|
|
||||||
top: 5px;
|
|
||||||
width: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addDefendantCon .el-checkbox__label {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-container {
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
width: 80%;
|
||||||
|
height: 100vh;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.table-box {
|
||||||
|
margin: 30px 20px 60px 20px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-box .el-input {
|
||||||
|
margin-right: 30px;
|
||||||
|
width: 220px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-table {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-table .el-table__row {
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-dialog {
|
||||||
|
width : 100%;
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>客户跟踪查询</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/JNlogo.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container" id="index-app">
|
||||||
|
<div class="center-container">
|
||||||
|
<el-form class="table-box">
|
||||||
|
<el-form-item>
|
||||||
|
<el-input v-model="var1" placeholder="请输入客户名称" maxlength="20" type="text" auto-complete="off" clearable>
|
||||||
|
</el-input>
|
||||||
|
<el-select v-model="timeValue" placeholder="请选择时间">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-button type="primary" @click="queryList">点击查询</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
border
|
||||||
|
row-height="30px">
|
||||||
|
<el-table-column
|
||||||
|
prop="kunnr"
|
||||||
|
label="客户编号">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="name1"
|
||||||
|
label="客户名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="handleClick(scope.row)" type="text">查看</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<el-dialog title="详细情况" :visible.sync="dialogTableVisible">
|
||||||
|
<template>
|
||||||
|
<el-descriptions :column="1" :label-style="LS" border>
|
||||||
|
<el-descriptions-item label="最近下单日期">{{detail.latestOrderDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="最近发货日期">{{detail.latestShippingDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="最近报价日期">{{detail.latestQuotationDate}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="目前在跟踪的业务员数量" :span="2">{{detail.salespersonCount}}</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<script src="js/index.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
var1 : "",
|
||||||
|
options: [
|
||||||
|
{value: '1', label: '一年以内'},
|
||||||
|
{value: '2', label: '两年以内'},
|
||||||
|
{value: '3', label: '三年以内'},
|
||||||
|
],
|
||||||
|
timeValue: '1',
|
||||||
|
tableData: null,
|
||||||
|
gridData: "",
|
||||||
|
dialogTableVisible: false,
|
||||||
|
LS: {
|
||||||
|
'color': '#000',
|
||||||
|
'text-align': 'left',
|
||||||
|
'font-weight': '600',
|
||||||
|
'height': '40px',
|
||||||
|
'background-color': '#d6dbe1',
|
||||||
|
'min-width' : '50px',
|
||||||
|
'width': '150px',
|
||||||
|
'word-break': 'keep-all',
|
||||||
|
'whiteSpace': 'pre-wrap'
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
latestOrderDate: '',
|
||||||
|
latestShippingDate: '',
|
||||||
|
salespersonCount: '',
|
||||||
|
latestQuotationDate: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
handleClick(row) {
|
||||||
|
console.log(row.kunnr)
|
||||||
|
console.log(row.name1)
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
name : row.name1,
|
||||||
|
kunnr : row.kunnr,
|
||||||
|
time : this.timeValue
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
queryDetailByParams(params).then(res => {
|
||||||
|
if (String(res.code) === '1') {
|
||||||
|
console.log(res.data)
|
||||||
|
this.detail.latestOrderDate = res.data.latestOrderDate !== '0' ? res.data.latestOrderDate : '无数据';
|
||||||
|
this.detail.salespersonCount = res.data.salespersonCount !== '0' ? res.data.salespersonCount : '无数据';
|
||||||
|
this.detail.latestQuotationDate = res.data.latestQuotationDate !== '0' ? res.data.latestQuotationDate : '无数据';
|
||||||
|
this.detail.latestShippingDate = res.data.latestShippingDate !== '0' ? res.data.latestShippingDate : '无数据';
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
|
||||||
|
this.dialogTableVisible = true
|
||||||
|
},
|
||||||
|
|
||||||
|
queryList() {
|
||||||
|
console.log("开始调用查询")
|
||||||
|
const name = this.var1
|
||||||
|
console.log("名称+" + name)
|
||||||
|
const params = {
|
||||||
|
name : name
|
||||||
|
}
|
||||||
|
console.log(params)
|
||||||
|
|
||||||
|
if(this.var1 !== "") {
|
||||||
|
queryListByName(params).then(res => {
|
||||||
|
if (String(res.code) === '1') {
|
||||||
|
console.log(res.data)
|
||||||
|
this.tableData = res.data || []
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
this.$message('请输入客户名称进行查询');
|
||||||
|
this.tableData = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,15 @@
|
||||||
|
const queryListByName = (params) => {
|
||||||
|
return $axios({
|
||||||
|
url: '/bizquery/list',
|
||||||
|
method: 'post',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryDetailByParams = (params) => {
|
||||||
|
return $axios({
|
||||||
|
url: '/bizquery/detail',
|
||||||
|
method: 'post',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
.el-menu-demo {
|
||||||
|
background-color: transparent; /* 背景透明 */
|
||||||
|
display: flex;
|
||||||
|
justify-content: center; /* 菜单项水平居中 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-demo .el-submenu,
|
||||||
|
.el-menu-demo .el-menu-item {
|
||||||
|
margin: 0; /* 去除默认的 margin */
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-demo .el-submenu .el-menu {
|
||||||
|
background-color: transparent; /* 子菜单背景透明 */
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
.container {
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-box {
|
||||||
|
position: absolute;
|
||||||
|
top: 120px;
|
||||||
|
left: 460px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-box .el-card {
|
||||||
|
background-color: rgba(255, 255, 255, 0.6);
|
||||||
|
height: 400px;
|
||||||
|
width: 600px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form {
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 400px;
|
||||||
|
top: 50px;
|
||||||
|
left: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-form .el-form-item {
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 隐藏右侧显示密码按钮 */
|
||||||
|
.el-input__password + .el-input__suffix {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.el-card .button-box {
|
||||||
|
position: relative;
|
||||||
|
top: 30px;
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>博客首页</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/avatar.jpg" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/style/css/main.css">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="index-app" class="container">
|
||||||
|
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
||||||
|
<el-submenu index="1">
|
||||||
|
<template slot="title">我的工作台</template>
|
||||||
|
<el-menu-item index="1-1">选项1</el-menu-item>
|
||||||
|
<el-menu-item index="1-2">选项2</el-menu-item>
|
||||||
|
<el-menu-item index="1-3">选项3</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
|
<el-menu-item index="2">工作中心</el-menu-item>
|
||||||
|
<el-menu-item index="3">消息中心</el-menu-item>
|
||||||
|
<el-menu-item index="4">账号管理</a></el-menu-item>
|
||||||
|
</el-menu>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/static/style/js/main.js"></script>
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#index-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleOpen(key, keyPath) {
|
||||||
|
console.log(key, keyPath);
|
||||||
|
},
|
||||||
|
handleClose(key, keyPath) {
|
||||||
|
console.log(key, keyPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,109 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-cmn-Hans">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>博客登录界面</title>
|
||||||
|
<meta name="author" content="JIAL">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<meta name="HandheldFriendly" content="true">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||||
|
<link rel="icon" href="/static/image/avatar.jpg" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/style/css/main.css">
|
||||||
|
<link rel="stylesheet" href="/plugins/element-ui/index.css">
|
||||||
|
<!-- import CSS -->
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/login.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container" id="login-app">
|
||||||
|
|
||||||
|
<div class="login-box">
|
||||||
|
<el-card>
|
||||||
|
<el-form ref="loginForm" :model="loginForm" style="user-select: none;" :rules="rules">
|
||||||
|
<el-form-item prop="username">
|
||||||
|
<el-input v-model="loginForm.username" placeholder="请输入用户名" maxlength="20" type="text" auto-complete="off" clearable>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="password">
|
||||||
|
<el-input v-model="loginForm.password" show-password placeholder="请输入密码" clearable maxlength="32">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<div class="button-box">
|
||||||
|
<el-button type="text" style="margin-right: 100px; font-size: 20px" @click="login">登录</el-button>
|
||||||
|
<el-button type="text" style="font-size: 20px; color: #8c939d" @click="register">注册</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 底部footer -->
|
||||||
|
<el-footer class="footer-container" style="position: absolute; top: 640px; left: 550px; ">
|
||||||
|
<!-- 办案信息展示区域 -->
|
||||||
|
<div class="case-info" >
|
||||||
|
<!-- 在这里绑定Vue数据来展示办案信息 -->
|
||||||
|
<div>Designed by JIAL 2023. Permission granted for redistribution.</div>
|
||||||
|
<div><a style="text-decoration:none; color: #999" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=64020202000218&token=4adb4592-9573-41b6-ab1c-a23850030e0d" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;" target="_blank" >宁公网安备 64020202000218号</a></div>
|
||||||
|
<div><a style="text-decoration:none; color: #999" href="https://beian.miit.gov.cn/?token=4adb4592-9573-41b6-ab1c-a23850030e0d#/Integrated/index" target="_blank" >宁ICP备2022000681号</a></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</el-footer>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript" src="/static/style/js/main.js"></script>
|
||||||
|
<script src="/plugins/vue/vue.js"></script>
|
||||||
|
<script src="/plugins/element-ui/index.js"></script>
|
||||||
|
<script src="/plugins/calendar/calendar.js"></script>
|
||||||
|
<script src="/plugins/axios/axios.min.js"></script>
|
||||||
|
<script src="/plugins/axios/request.js"></script>
|
||||||
|
<!-- import JavaScript -->
|
||||||
|
<script src="js/login.js"></script>
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#login-app',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loginForm: {
|
||||||
|
username: "",
|
||||||
|
password: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
username: [
|
||||||
|
{ required: true, message: '请输入用户名', trigger: 'blur' },
|
||||||
|
{ pattern: /^[a-zA-Z0-9]{1,8}$/, message: '用户名只能为字母和数字,且不超过8位', trigger: 'blur' },
|
||||||
|
// 其他验证规则可以根据需要添加
|
||||||
|
],
|
||||||
|
password: [
|
||||||
|
{ required: true, message: '请输入密码', trigger: 'blur' },
|
||||||
|
{ pattern: /^[a-zA-Z0-9_]{1,20}$/, message: '密码只能为字母、数字和下划线,且不超过20位', trigger: 'blur' },
|
||||||
|
// 其他验证规则可以根据需要添加
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async init () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
login() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
register() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue