Compare commits
2 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
1178486ed4 | 1 week ago |
|
|
a97a65c493 | 2 weeks ago |
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KubernetesApiProvider"><![CDATA[{}]]></component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="openjdk-21" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
@ -1,31 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="hospital-SpringMVCProject-Tomcat" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" activateToolWindowBeforeRun="false">
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="C:/Program Files/Java/jdk1.8.0_xxx" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="INCLUDE_PROVIDED_SCOPE" value="true" />
|
||||
<option name="UPDATE_ON_FRAME_DEACTIVATION" value="true" />
|
||||
<option name="UPDATE_CLASSES_ON_FRAME_DEACTIVATION" value="true" />
|
||||
<option name="SHOW_DIALOG_ON_UPDATE" value="true" />
|
||||
<TomcatServer>
|
||||
<option name="name" value="Tomcat 9.0" />
|
||||
<option name="host" value="localhost" />
|
||||
<option name="port" value="8080" />
|
||||
<option name="adminPort" value="8005" />
|
||||
<option name="workingDir" value="$PROJECT_DIR$/hospital-SpringMVCProject" />
|
||||
</TomcatServer>
|
||||
<predefined_log_file enabled="true" filter="true" template="Tomcat Localhost Log" />
|
||||
<predefined_log_file enabled="true" filter="true" template="Tomcat Catalina Log" />
|
||||
<predefined_log_file enabled="false" filter="true" template="Tomcat Manager Log" />
|
||||
<predefined_log_file enabled="false" filter="true" template="Tomcat Host Manager Log" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
<deployment>
|
||||
<artifact artifact_name="hospital-SpringMVCProject:Web exploded" name="hospital-SpringMVCProject:Web exploded">
|
||||
<settings>
|
||||
<option name="contextPath" value="/" />
|
||||
</settings>
|
||||
</artifact>
|
||||
</deployment>
|
||||
</configuration>
|
||||
</component>
|
||||
@ -1,135 +0,0 @@
|
||||
# 医院临床系统 - 命令行部署指南
|
||||
|
||||
## 概述
|
||||
本项目提供了多个命令行工具来帮助您管理和部署医院临床系统。
|
||||
|
||||
## 可用脚本
|
||||
|
||||
### 1. cleanup_and_deploy.bat
|
||||
**功能**: 一键清理和部署项目
|
||||
- 清理空的构建目录 (out, target)
|
||||
- 执行 Maven clean
|
||||
- 编译项目
|
||||
- 打包 WAR 文件
|
||||
- 显示部署信息
|
||||
|
||||
**使用方法**:
|
||||
```cmd
|
||||
cleanup_and_deploy.bat
|
||||
```
|
||||
|
||||
### 2. deploy_config.bat
|
||||
**功能**: 交互式部署配置工具
|
||||
- 查看当前部署配置
|
||||
- 修改 Tomcat 部署路径
|
||||
- 修改 WAR 包名称
|
||||
- 清理并重新打包
|
||||
- 使用嵌入式 Tomcat 运行
|
||||
|
||||
**使用方法**:
|
||||
```cmd
|
||||
deploy_config.bat
|
||||
```
|
||||
|
||||
### 3. deploy_manager.ps1
|
||||
**功能**: PowerShell 版本的部署管理工具(推荐)
|
||||
- 更友好的用户界面
|
||||
- 查看所有部署配置
|
||||
- 清理构建目录
|
||||
- 修改部署路径和 WAR 名称
|
||||
- 编译、打包项目
|
||||
- 启动嵌入式 Tomcat
|
||||
- 显示项目结构
|
||||
|
||||
**使用方法**:
|
||||
```powershell
|
||||
.\deploy_manager.ps1
|
||||
```
|
||||
|
||||
如果无法运行 PowerShell 脚本,可能需要先执行:
|
||||
```powershell
|
||||
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
|
||||
```
|
||||
|
||||
## 常见操作示例
|
||||
|
||||
### 修改部署根目录
|
||||
1. 运行 `deploy_config.bat` 或 `deploy_manager.ps1`
|
||||
2. 选择"修改部署路径"选项
|
||||
3. 输入新的路径,例如:
|
||||
- `/` - 根路径
|
||||
- `/hospital` - 默认路径
|
||||
- `/myapp` - 自定义路径
|
||||
|
||||
### 清理多余文件
|
||||
运行 `cleanup_and_deploy.bat` 会自动清理:
|
||||
- 根目录下的 out 文件夹
|
||||
- 各项目下的 out 和 target 文件夹
|
||||
- Maven 构建产物
|
||||
|
||||
### 快速打包
|
||||
```cmd
|
||||
cd hospital
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
### 启动测试服务器
|
||||
```cmd
|
||||
cd hospital
|
||||
mvn tomcat7:run
|
||||
```
|
||||
|
||||
## 部署配置说明
|
||||
|
||||
当前配置在 `hospital/pom.xml` 中:
|
||||
|
||||
```xml
|
||||
<build>
|
||||
<finalName>hospital</finalName> <!-- WAR 包名称 -->
|
||||
...
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<version>2.2</version>
|
||||
<configuration>
|
||||
<port>8080</port> <!-- Tomcat 端口 -->
|
||||
<path>/hospital</path> <!-- 部署路径 -->
|
||||
<uriEncoding>UTF-8</uriEncoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
```
|
||||
|
||||
## 访问地址
|
||||
|
||||
部署成功后,根据配置访问:
|
||||
- 默认: http://localhost:8080/hospital
|
||||
- 根路径: http://localhost:8080/
|
||||
- 自定义: http://localhost:8080/your-path
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 确保已安装 Maven 并配置到环境变量
|
||||
2. 确保已安装 JDK 1.8 或更高版本
|
||||
3. 修改 pom.xml 前会自动备份为 pom.xml.bak
|
||||
4. 清理操作会删除构建产物,不会影响源代码
|
||||
5. 首次运行可能需要下载依赖,请保持网络连接
|
||||
|
||||
## 故障排除
|
||||
|
||||
### Maven 命令找不到
|
||||
- 检查 Maven 是否正确安装
|
||||
- 确认 MAVEN_HOME 环境变量已设置
|
||||
- 确认 %MAVEN_HOME%\bin 已添加到 PATH
|
||||
|
||||
### 编译失败
|
||||
- 检查 Java 版本是否为 1.8+
|
||||
- 清理后重新编译: `mvn clean compile`
|
||||
- 检查网络连接以下载依赖
|
||||
|
||||
### WAR 包无法部署
|
||||
- 检查 web.xml 配置是否正确
|
||||
- 确认所有依赖都已包含
|
||||
- 查看 Tomcat 日志获取详细错误信息
|
||||
@ -1,2 +0,0 @@
|
||||
# MyBatisProject
|
||||
|
||||
@ -1,8 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE configuration
|
||||
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<!-- mybatis全局配置文件 -->
|
||||
<configuration>
|
||||
|
||||
</configuration>
|
||||
、
|
||||
@ -1,17 +0,0 @@
|
||||
package com.ssm.controller;
|
||||
|
||||
import com.ssm.entity.Product;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/product")
|
||||
public class FirstController {
|
||||
|
||||
@RequestMapping("/newadd")
|
||||
public String addProduct(Product product, Model model) {
|
||||
model.addAttribute("product", product);
|
||||
return "showProduct";
|
||||
}
|
||||
}
|
||||
@ -1,88 +0,0 @@
|
||||
package com.ssm.entity;
|
||||
|
||||
public class Product {
|
||||
private Integer productId;
|
||||
private String productName;
|
||||
private Integer isHot;
|
||||
private Double marketPrice;
|
||||
private Double salePrice;
|
||||
private String productImage;
|
||||
private String categoryName;
|
||||
private String productDesc;
|
||||
private String shelfDate;
|
||||
|
||||
public Product() {
|
||||
}
|
||||
|
||||
public Integer getProductId() {
|
||||
return productId;
|
||||
}
|
||||
|
||||
public void setProductId(Integer productId) {
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
public String getProductName() {
|
||||
return productName;
|
||||
}
|
||||
|
||||
public void setProductName(String productName) {
|
||||
this.productName = productName;
|
||||
}
|
||||
|
||||
public Integer getIsHot() {
|
||||
return isHot;
|
||||
}
|
||||
|
||||
public void setIsHot(Integer isHot) {
|
||||
this.isHot = isHot;
|
||||
}
|
||||
|
||||
public Double getMarketPrice() {
|
||||
return marketPrice;
|
||||
}
|
||||
|
||||
public void setMarketPrice(Double marketPrice) {
|
||||
this.marketPrice = marketPrice;
|
||||
}
|
||||
|
||||
public Double getSalePrice() {
|
||||
return salePrice;
|
||||
}
|
||||
|
||||
public void setSalePrice(Double salePrice) {
|
||||
this.salePrice = salePrice;
|
||||
}
|
||||
|
||||
public String getProductImage() {
|
||||
return productImage;
|
||||
}
|
||||
|
||||
public void setProductImage(String productImage) {
|
||||
this.productImage = productImage;
|
||||
}
|
||||
|
||||
public String getCategoryName() {
|
||||
return categoryName;
|
||||
}
|
||||
|
||||
public void setCategoryName(String categoryName) {
|
||||
this.categoryName = categoryName;
|
||||
}
|
||||
|
||||
public String getProductDesc() {
|
||||
return productDesc;
|
||||
}
|
||||
|
||||
public void setProductDesc(String productDesc) {
|
||||
this.productDesc = productDesc;
|
||||
}
|
||||
|
||||
public String getShelfDate() {
|
||||
return shelfDate;
|
||||
}
|
||||
|
||||
public void setShelfDate(String shelfDate) {
|
||||
this.shelfDate = shelfDate;
|
||||
}
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>商品信息</title>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Success!</h3>
|
||||
<p>商品名称: ${product.productName}</p>
|
||||
<p>是否热门: ${product.isHot}</p>
|
||||
<p>市场价格: ${product.marketPrice}</p>
|
||||
<p>销售价格: ${product.salePrice}</p>
|
||||
<p>商品图片: ${product.productImage}</p>
|
||||
<p>分类名称: ${product.categoryName}</p>
|
||||
<p>商品描述: ${product.productDesc}</p>
|
||||
<p>上架日期: ${product.shelfDate}</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,61 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>添加商品</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="${pageContext.request.contextPath}/product/newadd" method="post">
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="productId">商品编号:</label></td>
|
||||
<td><input type="text" id="productId" name="productId" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productName">商品名称:</label></td>
|
||||
<td><input type="text" id="productName" name="productName" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="isHot">是否热门:</label></td>
|
||||
<td>
|
||||
<select id="isHot" name="isHot">
|
||||
<option value="1">是</option>
|
||||
<option value="0">否</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="marketPrice">市场价格:</label></td>
|
||||
<td><input type="text" id="marketPrice" name="marketPrice" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="salePrice">销售价格:</label></td>
|
||||
<td><input type="text" id="salePrice" name="salePrice" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productImage">商品图片:</label></td>
|
||||
<td><input type="file" id="productImage" name="productImage" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="categoryName">分类名称:</label></td>
|
||||
<td><input type="text" id="categoryName" name="categoryName" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productDesc">商品描述:</label></td>
|
||||
<td><textarea id="productDesc" name="productDesc" rows="5" cols="30"></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="shelfDate">上架日期:</label></td>
|
||||
<td><input type="text" id="shelfDate" name="shelfDate" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">
|
||||
<input type="reset" value="重置" />
|
||||
<input type="submit" value="添加" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,2 +0,0 @@
|
||||
# SpringProject
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
# SSMProject-initial
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
driver=com.mysql.cj.jdbc.Driver
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?serverTimezone=Asia/Shanghai
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?useSSL=false&serverTimezone=Asia/Shanghai
|
||||
user=root
|
||||
password=root
|
||||
@ -1,4 +1,4 @@
|
||||
driver=com.mysql.cj.jdbc.Driver
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?serverTimezone=Asia/Shanghai
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?useSSL=false&serverTimezone=Asia/Shanghai
|
||||
user=root
|
||||
password=root
|
||||
@ -1,64 +0,0 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
|
||||
|
||||
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
|
||||
|
||||
############################################################
|
||||
# Handler specific properties.
|
||||
# Describes specific configuration info for Handlers.
|
||||
############################################################
|
||||
|
||||
1catalina.org.apache.juli.FileHandler.level = FINE
|
||||
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||
1catalina.org.apache.juli.FileHandler.prefix = catalina.
|
||||
|
||||
2localhost.org.apache.juli.FileHandler.level = FINE
|
||||
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||
2localhost.org.apache.juli.FileHandler.prefix = localhost.
|
||||
|
||||
3manager.org.apache.juli.FileHandler.level = FINE
|
||||
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||
3manager.org.apache.juli.FileHandler.prefix = manager.
|
||||
|
||||
4host-manager.org.apache.juli.FileHandler.level = FINE
|
||||
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
|
||||
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
|
||||
|
||||
java.util.logging.ConsoleHandler.level = FINE
|
||||
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
|
||||
|
||||
|
||||
############################################################
|
||||
# Facility specific properties.
|
||||
# Provides extra control for each logger.
|
||||
############################################################
|
||||
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
|
||||
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
|
||||
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
|
||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
|
||||
|
||||
# For example, set the org.apache.catalina.util.LifecycleBase logger to log
|
||||
# each component that extends LifecycleBase changing state:
|
||||
#org.apache.catalina.util.LifecycleBase.level = FINE
|
||||
|
||||
# To see debug messages in TldLocationsCache, uncomment the following line:
|
||||
#org.apache.jasper.compiler.TldLocationsCache.level = FINE
|
||||
@ -1,26 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<tomcat-users>
|
||||
<!--
|
||||
<role rolename="tomcat"/>
|
||||
<role rolename="role1"/>
|
||||
<user username="tomcat" password="tomcat" roles="tomcat"/>
|
||||
<user username="both" password="tomcat" roles="tomcat,role1"/>
|
||||
<user username="role1" password="tomcat" roles="role1"/>
|
||||
-->
|
||||
</tomcat-users>
|
||||
File diff suppressed because it is too large
Load Diff
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.
@ -1,590 +1,213 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #FFFFFF;
|
||||
margin-left: 0px;
|
||||
margin-top: 0px;
|
||||
margin-right: 0px;
|
||||
margin-bottom: 0px;
|
||||
background: linear-gradient(135deg, #f9fafb 0%, #e5e7eb 100%);
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
color: #1f2937;
|
||||
}
|
||||
td,select {
|
||||
font-size: 12px;
|
||||
|
||||
td, select {
|
||||
font-size: 14px;
|
||||
color: #374151;
|
||||
}
|
||||
|
||||
A.cl:link {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:none;
|
||||
font-size: 14px;
|
||||
color: #3b82f6;
|
||||
text-decoration: none;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
A.cl:visited {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:none;
|
||||
font-size: 14px;
|
||||
color: #3b82f6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
A.cl:hover {
|
||||
font-size:12px;
|
||||
color: #cc0000;
|
||||
text-decoration:underline;
|
||||
font-size: 14px;
|
||||
color: #1d4ed8;
|
||||
text-decoration: underline;
|
||||
}
|
||||
A.cl_01:link {
|
||||
font-size:12px;
|
||||
color: #000066;
|
||||
text-decoration:none;
|
||||
|
||||
.top {
|
||||
padding: 18px 32px;
|
||||
font-weight: 700;
|
||||
font-size: 24px;
|
||||
background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
A.cl_01:visited {
|
||||
font-size:12px;
|
||||
color: #000066;
|
||||
text-decoration:none;
|
||||
|
||||
.bt_01 {
|
||||
line-height: 1.6;
|
||||
color: #ffffff;
|
||||
padding-left: 20px;
|
||||
padding-bottom: 12px;
|
||||
}
|
||||
A.cl_01:hover {
|
||||
font-size:12px;
|
||||
color: #0066CC;
|
||||
text-decoration:underline;
|
||||
|
||||
.button {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
margin: 4px;
|
||||
padding: 8px 20px;
|
||||
border: none;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
border-radius: 8px;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 4px 6px -1px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
.bt_01 {
|
||||
line-height: 155%;
|
||||
color: #FFFFFF;
|
||||
padding-left: 15px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.box04 {
|
||||
font-size: 12px;
|
||||
padding-top: 7px;
|
||||
padding-left: 16px;
|
||||
background-color: #88A5DF;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-style: solid;
|
||||
border-right-style: solid;
|
||||
border-bottom-style: solid;
|
||||
border-left-style: solid;
|
||||
border-top-color: #7798DC;
|
||||
border-right-color: #2C416B;
|
||||
border-bottom-color: #2C416B;
|
||||
border-left-color: #7798DC;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
.box01 {
|
||||
font-size: 12px;
|
||||
color: #000000;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-right-style: solid;
|
||||
border-bottom-style: solid;
|
||||
border-left-style: solid;
|
||||
border-top-color: #EDF8FF;
|
||||
border-right-color: #8099B2;
|
||||
border-bottom-color: #8099B2;
|
||||
border-left-color: #EDF8FF;
|
||||
background-color: #B2CFED;
|
||||
padding-top: 7px;
|
||||
padding-left: 16px;
|
||||
border-top-style: solid;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
.box05 {
|
||||
font-size: 12px;
|
||||
padding-top: 5px;
|
||||
padding-left: 30px;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-color: #B2CFED;
|
||||
border-right-width: 1px;
|
||||
border-right-style: solid;
|
||||
border-right-color: #F4F9FF;
|
||||
padding-bottom: 3px;
|
||||
background-color: #EDF8FF;
|
||||
}
|
||||
.box06 {
|
||||
font-size: 12px;
|
||||
background-color: #EDF6FF;
|
||||
padding-top: 5px;
|
||||
padding-left: 30px;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-color: #ADAEAD;
|
||||
padding-bottom: 3px;
|
||||
|
||||
.button:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 12px rgba(102, 126, 234, 0.4);
|
||||
}
|
||||
.bottom {
|
||||
color: #000066;
|
||||
|
||||
.button_ok, .button_save {
|
||||
background: linear-gradient(135deg, #10b981 0%, #059669 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.3);
|
||||
}
|
||||
A.cl_02:link {
|
||||
font-size:12px;
|
||||
color: #CC0000;
|
||||
text-decoration:underline;
|
||||
|
||||
.button_cancel, .button_close {
|
||||
background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(107, 114, 128, 0.3);
|
||||
}
|
||||
A.cl_02:visited {
|
||||
font-size:12px;
|
||||
color: #CC0000;
|
||||
text-decoration:underline;
|
||||
|
||||
.button_del {
|
||||
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.3);
|
||||
}
|
||||
A.cl_02:hover {
|
||||
font-size:12px;
|
||||
color: #CC0000;
|
||||
text-decoration:none;
|
||||
|
||||
.button_add {
|
||||
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
|
||||
}
|
||||
.top {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 2px;
|
||||
font-weight: bold;
|
||||
background-color: #AFD1F3;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-style: solid;
|
||||
border-right-style: solid;
|
||||
border-bottom-style: solid;
|
||||
border-left-style: solid;
|
||||
border-top-color: #E3EFFB;
|
||||
border-right-color: #7990A8;
|
||||
border-bottom-color: #7990A8;
|
||||
border-left-color: #E3EFFB;
|
||||
}
|
||||
.ta_01 {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 2px;
|
||||
padding-right: 2px;
|
||||
padding-left: 3px;
|
||||
line-height: 135%;
|
||||
|
||||
.button_modi {
|
||||
background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.3);
|
||||
}
|
||||
|
||||
A:link {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:none;
|
||||
.button_search {
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(139, 92, 246, 0.3);
|
||||
}
|
||||
A:visited {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:none;
|
||||
}
|
||||
A.eq:hover {
|
||||
font-size:12px;
|
||||
color: #0066FF;
|
||||
text-decoration:underline;
|
||||
}
|
||||
A.eq:link {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
A.eq:visited {
|
||||
font-size:12px;
|
||||
color: #000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
A.eq:hover {
|
||||
font-size:12px;
|
||||
color: #0066FF;
|
||||
text-decoration:underline;
|
||||
|
||||
.button_view {
|
||||
background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
|
||||
color: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(6, 182, 212, 0.3);
|
||||
}
|
||||
.bg {
|
||||
border-top:0px ;
|
||||
border-left:0px ;
|
||||
border-right:0px ;
|
||||
border-bottom: solid 1px gray;
|
||||
background-color: #FBFDFF;
|
||||
height:21px ;
|
||||
width:150px;
|
||||
|
||||
.box01, .box04 {
|
||||
font-size: 14px;
|
||||
padding: 12px 24px;
|
||||
background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
|
||||
border: 1px solid #e5e7eb;
|
||||
border-radius: 12px;
|
||||
margin: 12px;
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.button {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 0px 2px 0px 2px;
|
||||
border: 1px solid #8AA2CC;
|
||||
color: #333333;
|
||||
cursor: hand;
|
||||
/*
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
*/
|
||||
height: 18px;
|
||||
}
|
||||
.button_ok {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_ok.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_cancel {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_cancel.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_help {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_help.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_exit {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_search.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
.button_search {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_exit.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
|
||||
.box05, .box06 {
|
||||
font-size: 14px;
|
||||
padding: 10px 24px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
background: #ffffff;
|
||||
}
|
||||
.button_view {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_view.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
|
||||
.bg {
|
||||
border: 2px solid #e5e7eb;
|
||||
border-radius: 8px;
|
||||
background-color: #ffffff;
|
||||
height: 36px;
|
||||
width: 180px;
|
||||
padding: 0 12px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
.button_add {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_add.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
|
||||
.bg:focus {
|
||||
border-color: #667eea;
|
||||
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
|
||||
outline: none;
|
||||
}
|
||||
.button_del {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_del.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_print {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_print.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
|
||||
.grouptitle {
|
||||
background: linear-gradient(135deg, #f9fafb 0%, #e5e7eb 100%);
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
padding: 12px 20px;
|
||||
border-radius: 8px;
|
||||
margin: 8px 0;
|
||||
}
|
||||
.button_modi {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_modi.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_save {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_save.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_alert {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_alert.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_clock {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_clock.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_close {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_close.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_phone01 {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/button_phone01.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.button_dire {
|
||||
background-color: #DAE6FF;
|
||||
margin: 1px;
|
||||
padding: 2px 4px 2px 10px;
|
||||
border: 1px solid #8AA2CC;
|
||||
background-attachment: fixed;
|
||||
background-image: url(../images/hotel_dire_arrowc.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
color: #2F3F5B;
|
||||
cursor: hand;
|
||||
text-align: right;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
right: 0px;
|
||||
bottom: 10px;
|
||||
clip: rect(10px 10px 10px 10px);
|
||||
height: 20px;
|
||||
}
|
||||
.NextLine
|
||||
{
|
||||
word-break:break-all;word-wrap:break-word;
|
||||
}
|
||||
.test
|
||||
{
|
||||
BACKGROUND-IMAGE: url(../images/aaa.gif); HEIGHT: 25px;
|
||||
|
||||
}
|
||||
.optionOff
|
||||
{
|
||||
color:#909090;
|
||||
background-image:url(../images/optionbgOff.gif);
|
||||
background-position:right;
|
||||
background-repeat:no-repeat;
|
||||
border-left:1px solid #a0a0a0;
|
||||
text-align:center;
|
||||
width:110px;
|
||||
cursor:hand;
|
||||
}
|
||||
.optionOn {
|
||||
color:#1E6BAE;
|
||||
background-image:url(../images/optionbgOn.gif);
|
||||
background-position:right;
|
||||
background-repeat:no-repeat;
|
||||
border-left:1px solid #808080;
|
||||
text-align:center;
|
||||
font-weight:bold;
|
||||
width:110px;
|
||||
cursor:hand;
|
||||
}
|
||||
.optionOff A,.optionOff A:link,.optionOff A:visited,.optionOff A:hover,.optionOff A:active {
|
||||
color:#909090;
|
||||
text-decoration:none;
|
||||
}
|
||||
.optionOn A,.optionOn A:link,.optionOn A:visited,.optionOn A:hover,.optionOn A:active {
|
||||
color:#1E6BAE;
|
||||
text-decoration:none;
|
||||
|
||||
.sep1 {
|
||||
padding: 0;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
height: 4px;
|
||||
border-radius: 2px;
|
||||
margin: 16px 0;
|
||||
}
|
||||
|
||||
.NextLine {
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.tbodyhidden {
|
||||
display:none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.xscroll {
|
||||
overflow-x:auto;
|
||||
height:auto;
|
||||
SCROLLBAR-FACE-COLOR: #E0F0FC;
|
||||
SCROLLBAR-SHADOW-COLOR: #EAF5FD;
|
||||
SCROLLBAR-3DLIGHT-COLOR: #808080;
|
||||
SCROLLBAR-ARROW-COLOR: #808080;
|
||||
SCROLLBAR-DARKSHADOW-COLOR:#808080;
|
||||
buttonface: #666666;
|
||||
overflow-x: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.xscrollhidden {
|
||||
overflow-x:auto;
|
||||
display:none;
|
||||
SCROLLBAR-FACE-COLOR: #E0F0FC;
|
||||
SCROLLBAR-SHADOW-COLOR: #EAF5FD;
|
||||
SCROLLBAR-3DLIGHT-COLOR: #808080;
|
||||
SCROLLBAR-ARROW-COLOR: #808080;
|
||||
SCROLLBAR-DARKSHADOW-COLOR:#808080;
|
||||
buttonface: #666666;
|
||||
overflow-x: auto;
|
||||
display: none;
|
||||
}
|
||||
.sep1 {
|
||||
padding:0px;
|
||||
background-color:#AFD1F3;
|
||||
|
||||
.bodyscroll {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.grouptitle {
|
||||
background-color:#E0F0FC;
|
||||
color: #5580D7;
|
||||
|
||||
.bottom {
|
||||
color: #4b5563;
|
||||
padding: 16px 24px;
|
||||
background: #f9fafb;
|
||||
border-top: 1px solid #e5e7eb;
|
||||
}
|
||||
.bodyscroll {
|
||||
SCROLLBAR-FACE-COLOR: #f6f6f6;
|
||||
SCROLLBAR-SHADOW-COLOR: #8099B2;
|
||||
SCROLLBAR-3DLIGHT-COLOR: #8099B2;
|
||||
SCROLLBAR-ARROW-COLOR: #8099B2;
|
||||
SCROLLBAR-DARKSHADOW-COLOR:#cccccc;
|
||||
buttonface: #f6f6f6;
|
||||
|
||||
A:link {
|
||||
font-size: 14px;
|
||||
color: #3b82f6;
|
||||
text-decoration: none;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
A:visited {
|
||||
font-size: 14px;
|
||||
color: #3b82f6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
A:hover {
|
||||
color: #1d4ed8;
|
||||
}
|
||||
|
||||
@ -1,29 +1,49 @@
|
||||
|
||||
.dtree {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
color: #fff;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #e5e7eb;
|
||||
white-space: nowrap;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.dtree img {
|
||||
border: 0px;
|
||||
vertical-align: middle;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.dtree a {
|
||||
color: #333;
|
||||
color: #a5b4fc;
|
||||
text-decoration: none;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.dtree a.node, .dtree a.nodeSel {
|
||||
white-space: nowrap;
|
||||
padding: 1px 2px 1px 2px;
|
||||
padding: 10px 16px;
|
||||
border-radius: 8px;
|
||||
display: inline-block;
|
||||
margin: 4px 0;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.dtree a.node:hover, .dtree a.nodeSel:hover {
|
||||
color: #333;
|
||||
text-decoration: underline;
|
||||
|
||||
.dtree a.node:hover {
|
||||
color: #ffffff;
|
||||
background: rgba(102, 126, 234, 0.2);
|
||||
}
|
||||
|
||||
.dtree a.nodeSel {
|
||||
background-color: #fff;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
|
||||
.dtree a.nodeSel:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.dtree .clip {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,67 +1,298 @@
|
||||
@CHARSET "UTF-8";
|
||||
@charset "UTF-8";
|
||||
|
||||
table {
|
||||
border-collapse: collapse; /* 合并为单一的边框线 */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
table.tb td {
|
||||
padding: 7px;
|
||||
/* border: 1px solid green; */
|
||||
border: 1px solid #D1D1D1;
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
min-height: 100vh;
|
||||
color: #1f2937;
|
||||
font-size: 14px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.a {
|
||||
height: 20px;
|
||||
margin-top: 20px;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 16px;
|
||||
padding: 24px 32px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
|
||||
margin-bottom: 24px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.b {
|
||||
float: left;
|
||||
margin-left: 50px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.c {
|
||||
float: left;
|
||||
padding-left: 490px;
|
||||
.input1 {
|
||||
height: 44px;
|
||||
width: 320px;
|
||||
border: 2px solid #e5e7eb;
|
||||
border-radius: 12px;
|
||||
padding: 0 18px;
|
||||
font-size: 15px;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
outline: none;
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.input1:focus {
|
||||
border-color: #667eea;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.search-btn {
|
||||
height: 44px;
|
||||
padding: 0 28px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
box-shadow: 0 4px 14px rgba(102, 126, 234, 0.4);
|
||||
}
|
||||
|
||||
.search-btn:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.5);
|
||||
}
|
||||
|
||||
.search-btn:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.add-btn {
|
||||
height: 44px;
|
||||
padding: 0 28px;
|
||||
background: linear-gradient(135deg, #10b981 0%, #059669 100%);
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
|
||||
}
|
||||
|
||||
.add-btn:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 25px rgba(16, 185, 129, 0.5);
|
||||
}
|
||||
|
||||
.add-btn:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.refresh-btn {
|
||||
height: 44px;
|
||||
width: 44px;
|
||||
background: #ffffff;
|
||||
border: 2px solid #e5e7eb;
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
color: #6b7280;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.refresh-btn:hover {
|
||||
background: #f9fafb;
|
||||
color: #667eea;
|
||||
border-color: #667eea;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.d {
|
||||
margin-top: 28px;
|
||||
/* background-color: #ECF5FF; */
|
||||
width: 97%;
|
||||
margin-left: 16px;
|
||||
text-align: center;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.input1 {
|
||||
height: 30px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.input2 {
|
||||
height: 38px;
|
||||
width: 69px;
|
||||
background-color: #0f83c7;
|
||||
color: white;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.input3 {
|
||||
height: 38px;
|
||||
width: 75px;
|
||||
margin-left: 14px;
|
||||
background-color: #0f83c7;
|
||||
color: white;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.c td input {
|
||||
height: 38px;
|
||||
width: 90px;
|
||||
background-color: #149ff0;
|
||||
color: white;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.table-container {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
.data-table {
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
background: #ffffff;
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.data-table thead tr {
|
||||
background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
|
||||
}
|
||||
|
||||
.data-table thead th {
|
||||
padding: 18px 16px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.data-table tbody tr {
|
||||
border-bottom: 1px solid #f3f4f6;
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.data-table tbody tr:hover {
|
||||
background: linear-gradient(90deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
|
||||
transform: scale(1.005);
|
||||
}
|
||||
|
||||
.data-table tbody tr:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.data-table tbody td {
|
||||
padding: 18px 16px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
color: #4b5563;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.data-table tbody td:first-child {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 10px 20px;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
margin: 0 3px;
|
||||
min-width: 80px;
|
||||
letter-spacing: 0.3px;
|
||||
}
|
||||
|
||||
.btn:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.btn:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.btn-edit {
|
||||
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
|
||||
color: #fff;
|
||||
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
|
||||
}
|
||||
|
||||
.btn-edit:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
|
||||
}
|
||||
|
||||
.btn-view {
|
||||
background: linear-gradient(135deg, #10b981 0%, #059669 100%);
|
||||
color: #fff;
|
||||
box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
|
||||
}
|
||||
|
||||
.btn-view:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
|
||||
}
|
||||
|
||||
.btn-delete {
|
||||
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
|
||||
color: #fff;
|
||||
box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
|
||||
}
|
||||
|
||||
.btn-delete:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
|
||||
}
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
padding: 24px 32px;
|
||||
gap: 10px;
|
||||
background: #f9fafb;
|
||||
border-top: 1px solid #f3f4f6;
|
||||
}
|
||||
|
||||
.pagination-info {
|
||||
color: #6b7280;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.page-link {
|
||||
padding: 10px 16px;
|
||||
border: 2px solid #e5e7eb;
|
||||
border-radius: 10px;
|
||||
text-decoration: none;
|
||||
color: #4b5563;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.page-link:hover {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: #fff;
|
||||
border-color: transparent;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
|
||||
.currentPage {
|
||||
padding: 10px 16px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
|
||||
@ -1,4 +1,66 @@
|
||||
body {background-color: #fff;margin: 0px;text-align:left;}
|
||||
td {font-size:12px;color:#303030;line-height:20px;}
|
||||
a:link,a:visited {color:#012F68;text-decoration: none;}
|
||||
a:hover {color: #406EA8;text-decoration:none}
|
||||
@charset "UTF-8";
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
td {
|
||||
font-size: 14px;
|
||||
color: #f3f4f6;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
color: #a5b4fc;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tree {
|
||||
padding: 20px 16px;
|
||||
}
|
||||
|
||||
.treeNode {
|
||||
padding: 10px 16px;
|
||||
margin: 4px 0;
|
||||
border-radius: 10px;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.treeNode:hover {
|
||||
background: rgba(102, 126, 234, 0.2);
|
||||
transform: translateX(4px);
|
||||
}
|
||||
|
||||
.treeNode.selected {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
|
||||
.treeNode a {
|
||||
color: #e5e7eb;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.treeNode.selected a {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,18 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xmlns:mvc="http://www.springframework.org/schema/mvc"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
|
||||
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xmlns:mvc="http://www.springframework.org/schema/mvc"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
|
||||
|
||||
<context:component-scan base-package="com.ssm.controller"/>
|
||||
<context:component-scan base-package="com.ssm" use-default-filters="false">
|
||||
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
|
||||
</context:component-scan>
|
||||
|
||||
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
|
||||
<property name="prefix" value="/WEB-INF/jsp/"></property>
|
||||
<property name="suffix" value=".jsp"></property>
|
||||
<property name="contentType" value="text/html;charset=UTF-8"></property>
|
||||
</bean>
|
||||
|
||||
<mvc:annotation-driven/>
|
||||
<mvc:annotation-driven>
|
||||
<mvc:message-converters register-defaults="true">
|
||||
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
|
||||
<property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
|
||||
</bean>
|
||||
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
|
||||
</mvc:message-converters>
|
||||
</mvc:annotation-driven>
|
||||
|
||||
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
|
||||
<property name="prefix" value="/WEB-INF/view/"/>
|
||||
<property name="suffix" value=".jsp"/>
|
||||
<mvc:default-servlet-handler/>
|
||||
|
||||
<mvc:resources mapping="/static/**" location="/static/"/>
|
||||
<mvc:resources mapping="/css/**" location="/css/"/>
|
||||
<mvc:resources mapping="/js/**" location="/js/"/>
|
||||
<mvc:resources mapping="/images/**" location="/images/"/>
|
||||
|
||||
<bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
|
||||
</bean>
|
||||
|
||||
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
|
||||
<property name="maxUploadSize" value="5242880"/>
|
||||
<property name="defaultEncoding" value="UTF-8"/>
|
||||
</bean>
|
||||
|
||||
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
|
||||
<property name="defaultErrorView" value="error"/>
|
||||
<property name="exceptionAttribute" value="exception"/>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
@ -1,19 +0,0 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>商品信息</title>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Success!</h3>
|
||||
<p>商品名称: ${product.productName}</p>
|
||||
<p>是否热门: ${product.isHot}</p>
|
||||
<p>市场价格: ${product.marketPrice}</p>
|
||||
<p>销售价格: ${product.salePrice}</p>
|
||||
<p>商品图片: ${product.productImage}</p>
|
||||
<p>分类名称: ${product.categoryName}</p>
|
||||
<p>商品描述: ${product.productDesc}</p>
|
||||
<p>上架日期: ${product.shelfDate}</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,61 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>添加商品</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="${pageContext.request.contextPath}/product/newadd" method="post">
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="productId">商品编号:</label></td>
|
||||
<td><input type="text" id="productId" name="productId" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productName">商品名称:</label></td>
|
||||
<td><input type="text" id="productName" name="productName" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="isHot">是否热门:</label></td>
|
||||
<td>
|
||||
<select id="isHot" name="isHot">
|
||||
<option value="1">是</option>
|
||||
<option value="0">否</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="marketPrice">市场价格:</label></td>
|
||||
<td><input type="text" id="marketPrice" name="marketPrice" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="salePrice">销售价格:</label></td>
|
||||
<td><input type="text" id="salePrice" name="salePrice" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productImage">商品图片:</label></td>
|
||||
<td><input type="file" id="productImage" name="productImage" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="categoryName">分类名称:</label></td>
|
||||
<td><input type="text" id="categoryName" name="categoryName" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="productDesc">商品描述:</label></td>
|
||||
<td><textarea id="productDesc" name="productDesc" rows="5" cols="30"></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="shelfDate">上架日期:</label></td>
|
||||
<td><input type="text" id="shelfDate" name="shelfDate" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">
|
||||
<input type="reset" value="重置" />
|
||||
<input type="submit" value="添加" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</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.
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.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
driver=com.mysql.cj.jdbc.Driver
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?serverTimezone=Asia/Shanghai
|
||||
url=jdbc:mysql://localhost:3306/ssm_farm?useSSL=false&serverTimezone=Asia/Shanghai
|
||||
user=root
|
||||
password=root
|
||||
Loading…
Reference in new issue